1999-08-01 15:14:11 -07:00
|
|
|
Imlib 2.0 pre pre pre pre alpha toy code...
|
|
|
|
|
1999-09-12 18:56:57 -07:00
|
|
|
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 :)
|
|
|
|
|
1999-08-01 15:14:11 -07:00
|
|
|
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
|
1999-09-12 18:56:57 -07:00
|
|
|
cp jepg.so ~/.loaders/image
|
1999-08-01 15:14:11 -07:00
|
|
|
|
|
|
|
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.
|
1999-09-12 18:56:57 -07:00
|
|
|
you also installed the jpage loader :)
|
|
|
|
|
1999-08-01 15:14:11 -07:00
|
|
|
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 :)
|
1999-09-12 18:56:57 -07:00
|
|
|
* more loader / saver modules for ppm, pgm, pgm, xpm, tiff etc...
|
1999-08-01 15:14:11 -07:00
|
|
|
* 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!
|
|
|
|
|
|
|
|
|
|
|
|
|