3 ms·
Here is AzPainter — obscure image editor for painters with PSD-format support & modern UI, written in pure C with own GUI toolkit on top of X11.[0] Few years a
by app4soft 7y ago
Here is AzPainter — obscure image editor for painters with PSD-format support & modern UI, written in pure C with own GUI toolkit on top of X11.[0]
Few years ago it fully rewritten from C++ to C.
[0] https://github.com/Symbian9/azpainter https://github.com/Symbian9/azpainter
- squarefoot 7y agoThanks for the link! I just installed it on my i5 Thinkpad. I can't test filters and more complex stuff right now, but it loads super fast, like 150 ms uncached, and probably less than 50 ms when cached. I'm curious if there is other software around rewritten in pure C. It would likely be a huge task not worth the effort, but I can't but imagine the speed and size gains by rewriting say Firefox or Libreoffice.
- app4soft 7y ago> I'm curious if there is other software around rewritten in pure C. Can't answer for now, but check next awesome lists: • AWESOME C — https://github.com/Bfgeshka/awesome-c https://github.com/Bfgeshka/awesome-c • AWESOME C — https://github.com/kozross/awesome-c https://github.com/kozross/awesome-c | mirror — https://notabug.org/koz.ross/awesome-c https://notabug.org/koz.ross/awesome-c • AWESOME C — https://github.com/aleksandar-todorovic/awesome-c https://github.com/aleksandar-todorovic/awesome-c ∗ AWESOME C++ — https://github.com/fffaraz/awesome-cpp https://github.com/fffaraz/awesome-cpp
- aninteger 7y agoI think what squarefoot is looking for is lightweight (tiny?) C apps that have limited abstraction layers. For example, Gtk+, which is pure C, is no longer considered lightweight. It was with Gtk+ 1.2 because GTK was just a small wrapper around X11 in the 1.x days. That is what AzPainter is. AzPainter basically depends on xlib, xft/freetype, and some image libraries (libpng, libjpeg). Modern C apps with a GUI typically build on GTK but that toolkit has become massive. Modern GTK3 apps are built on top of dbus, pango, atk, cairo. This is not necessarily a bad thing though and libraries like ATK provide accessibility which is important. At the time GTK+ was created the competing toolkit at the time, under Unix, was Motif and it had the nickname "bloatif". Now we've reached a point where GTK3 is much much larger and "bloated" than a 2019 Motif application. If we include C++ the Qt and WxWidgets toolkits are also massive. FLTK is still a lightweight option though.
- squarefoot 7y ago"I think what squarefoot is looking for is lightweight (tiny?) C apps that have limited abstraction layers. For example, Gtk+, which is pure C, is no longer considered lightweight." Yes, I was also meaning the ui, which in this one is amazingly fast. I tried a few filters and they seem fast too, but being not a gfx expert I have no way to judge. But the ui is incredible; same speed on my home PC which has a mechanical disk. Making an external library of its gui primitives and functions could be an interesting project to be used on small embedded boards.
- app4soft 7y ago> Making an external library of its gui primitives and functions could be an interesting project to be used on small embedded boards. Think, AzPainter itself already could be used on small embedded boards ;) For source code of AzPainter's `mlib` toolkit look here: - https://github.com/Symbian9/azpainter/tree/master/mlib https://github.com/Symbian9/azpainter/tree/master/mlib Since AzPainter v2.1.3, `mlib` sources shipped with AzPainter now licensed under GPLv3 terms, but there is AzPainter theme editor (older `mlib` minimal demo app) which sources licensed under BSD terms: - http://azsky2.html.xdomain.jp/linux/mthemeeditor.html http://azsky2.html.xdomain.jp/linux/mthemeeditor.html Also, there are few other apps based on `mlib` toolkit - http://azsky2.html.xdomain.jp/linux/azpainterb.html http://azsky2.html.xdomain.jp/linux/azpainterb.html - http://azsky2.html.xdomain.jp/linux/azcomicv.html http://azsky2.html.xdomain.jp/linux/azcomicv.html - http://azsky2.html.xdomain.jp/linux/aobook.html http://azsky2.html.xdomain.jp/linux/aobook.html