-
Notifications
You must be signed in to change notification settings - Fork 625
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use external PNG crate. #418
Conversation
Note this is WIP. I will move the png crate to PistonDevelopers before merging. |
:( According to one of the Servo devs (don't remember who exactly), using C code defeats the purpose of using image in the first place. |
Servo already depends on flate2. At least @kmcallister seemed to be fine with it. |
@nwin You are awesome! |
Having a pure rust implementation for most things would be preferable in my opinion. Edit for more explanation: It wouldn't be an "Imaging library written in Rust" anymore. That it's in Rust and not something else should in my opinion be considered an important feature. For some platforms, dependency management to C isn't that easy. Especially on Windows, C libraries tend to cause nightmares. Next to that, replacing the Rust implementation with a binding to a C one removes the benefit Rust gives with the safety guarantees. Edit 2: It seems I partly misunderstood what this is doing and what's bringing the C code in play. My bad for not doing proper research before commenting. Still, my problem with it stands that a C dependency would cause more problems than it's worth. |
@LaylConway See #419 |
Image::png is now just a little layer over an external codec crate.
So the updated PNG crate now uses flate2 only for encoding. |
Image::png is now just a little layer over an external codec crate.
Closes #390 #300 #400 #414