legacy-imlib2/README

82 lines
3.0 KiB
Plaintext
Raw Normal View History

Imlib 2.0 pre pre pre pre alpha toy code...
the wuick way:
./configure
mkdir ~/.loaders
mkdir ~/.loaders/image
make install
(ignore the make failed error - thats fine)
./imlib2
you'll get a window up with a big bg and little igns in an array - they
follow your mouse around..
notice....
alpha-blended shadow on top & leftof window
notice soft shadows under icons
notice the speed :)
notice that imlib si actually re-loadng ALL of these images continuously
from disk (just alook at the code) (well ok not the bg one) - the image
caching works and is taken full advantage of .. its also delayed loading -
it'll only decode the data to images you need :)
WARNING!
this isn't even a library yet - it's a single program thats modularised to
become a librayr once it's all debugged.
what you DO have here is:
color allocation & adjustment code - if in 8bbp or less it will cose the
larges colorcube it can that fits in your available colormap space - right
now the code uses the default colormap, but if you look at color.c carefully
you'll see the code will not be hard to change (have prefercnes as to size
of colorcube etc.)
does alpha blending onto any X drawable with any colormap.
does ``high quality'' rendering with dithering available for all modes up to
16bpp (1bpp, 8bpp, 15bpp, 16bpp).
probably has nasty endianess problems.
has VERY VERY VERY fast rendering code.
has anti-aliased scaling up and down code.
has a modularised loader system (works right now - but still possible
changes might have to be made)
simple to get this going:
mkdir ~/.loaders
mkdir ~/.loaders/image
cp png.so ~/.loaders/image
cp jepg.so ~/.loaders/image
you just installed the png loader - it's theonly one i've written and it
isnt very good (comments in code - load.c) but it works.
you also installed the jpage loader :)
the laoder system automagically updates yhe loaders were you to dump new
files there or overwrite the old ones to any program RUNTIME will pick up
the new code.. :) you dont even have to restart the program.. OOH what joy :)
the image caching is all there and the pixmap caching backend is there too.
there is nothign to generate pixmaps yet - that has yet to come (it will use
the rendering code in rend.c).
things that still need to be worked on:
* colormodifiers (to do gamma etc. correction - need to develop a new system
wherby i can uniquely tag pixmaps with a colormodifier ID for caching
properly).
* border scaling - you know - like E does now for buttons etc.
* saving functions
* image manipulation funcitons (flip, rotate, scale etc of original data)
* a new name for imlib2.0 - 2.0 just sounds boring :)
* more loader / saver modules for ppm, pgm, pgm, xpm, tiff etc...
* RGBA drawing area - basically a RGBA buffer with RGBA buffer ops written
(copyarea, poasteimage, fillrect, drawline, drawtext etc. so you can have a
little virtual RGBA framebuffer - also will include rectangle os ineterst
updating mechanism (so anly the parts of the RGBA buffer that were drawn to
are drawn and updated to the scren).
* more flim!