Comments (5)
I would find this feature very useful.
The best option to implement it would probably be librsvg because it's quite popular and feature complete. However it comes with many dependencies to GNOME libraries like Cairo and GLib.
Alternatively nanosvg could be considered but its features, especially rasterization, isn't as good as in librsvg. I believe that in this case image quality and correctness is more important than code size.
There are some other libraries out there but these two look like the only complete and active ones. There are naturally other open source implementations but they are not available as simple standalone libraries.
Of course the whole SVG support could be an optional feature or even support multiple libraries.
from imv.
👍
from imv.
SVG is a very tempting format to support. I don't have any plans to implement support for multiple back ends in imv, but I'd consider patches.
This could be done in two parts:
1. Wrapping existing use of FIBITMAP
in a struct.
- Updating
imv_loader
to return the new struct - Updating
imv_texture
to load the struct - Providing a function to properly destroy the struct
2. Creating a loader interface
- Adapting the existing one to be the 'FreeImage' loader.
- Have a table/list of loaders, routing to them based on file type.
- Implement new loaders (one for SVG, etc.)
This raises the possibility to escape GPLv2 long term too. At present there have been 10 code contributors since being forced to license GPLv2, 5 of whom I know would agree to MIT licensing of their contributions, or have already done so. 4 of the other contributors only have one line changes.
Getting proper authorisation shouldn't be an issue.
from imv.
I've merged changes to master that resolve this issue: Support for multiple backends, with a librsvg backend.
from imv.
Thanks!
from imv.
Related Issues (20)
- Multiline overlay text HOT 3
- Unable to redner BIG png image HOT 11
- No longer builds with -Dlibrsvg=disabled due to missing libm for exp()
- Launching imv displays a black window
- image list HOT 1
- Fullscreen + reset/center key binding with shrink scaling mode
- Add option to launch imv with the initial image's width and height
- imv unable to open huge images HOT 1
- broken link prevents loading some images from the directory HOT 1
- Slow zoom speed on large images HOT 2
- wayland: committing resized buffer is delayed HOT 1
- Please cut a new release HOT 1
- Padding for the overlay
- Mouse cursor state not set when entering window
- recursively configuration option is unknown
- full-core usage on wayland compositor exit
- scientific tif options?
- Shutdown errors on arch linux / sway
- Weird/laggy mouse movement
- Imv-wayland on enlightenment wayland session.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from imv.