64 lines
2.6 KiB
Plaintext
64 lines
2.6 KiB
Plaintext
Imlib 2.0 pre pre pre pre alpha toy code...
|
|
|
|
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
|
|
|
|
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.
|
|
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)
|
|
* nice api for the actual library with context-like system (the api you see
|
|
here is actually going to be the internal api for imlib - a level down from
|
|
what api the user actually gets to see & use - all access to image data will
|
|
be goverend by going thru the api too rather than just snarfing structure
|
|
memebrs)
|
|
* a new name for imlib2.0 - 2.0 just sounds boring :)
|
|
* more loader / saver modules for jpeg, 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!
|
|
|
|
|
|
|