Commit Graph

52 Commits

Author SHA1 Message Date
Carsten Haitzler ee061acfb5 oops - fix :)
SVN revision: 5761
2001-12-09 08:36:31 +00:00
Carsten Haitzler f6f41ce6c1 offline working... woo.. woo..
SVN revision: 5372
2001-09-24 21:14:56 +00:00
Carsten Haitzler 42ca47106d and no more printf's
SVN revision: 5268
2001-08-24 05:15:16 +00:00
Carsten Haitzler 0d7a6252be oooops.. i forgot one lump of logic for adding new object if currently the
object inthe evas are in layers above the new one.. fix fix oops.. that was
a silly bug... :)

and well.. while i was at it.. some actual code in the render extension
support in the render engine in evas.. it onyl does image objects right
now.. and it doesnt do it very optimally.. consider that engine a work in
progres.. i'm finding what does and doesnt work well in the render extension
and noticing some holes in it... this one wont be ready any time soon
though... and the gl engine is still about 10 times faster on the same
hardware... and in theory both are hardware accelerated...
anyway only time will tell. the render extension doesnt do image
transforms.. so this wont help speed it up at all that much :(


SVN revision: 5267
2001-08-24 04:37:44 +00:00
Carsten Haitzler 55bba3ab5e optimize! software enigne image objects will keep a pre-scaled copy IF:
1. they are rendered completely unclipped by clip obejcts or edges of the
canvas for more than 16 iterations at the same size with no border scaling
2. it will throw thme out if things chnage
3. it will share image objects only of original size :)


SVN revision: 5139
2001-08-13 09:15:04 +00:00
Carsten Haitzler bf4d95b694 now that was just silly.. evas shoudl have used the visual and colormap u
provided regardless of its own suggestions


SVN revision: 4987
2001-07-26 03:31:03 +00:00
Carsten Haitzler 28fe60de06 oops printf.. remove
SVN revision: 4855
2001-06-22 17:08:06 +00:00
Carsten Haitzler 8605282e70 oops double scaling for viewport - fix fix fix :)
SVN revision: 4850
2001-06-22 02:27:03 +00:00
Carsten Haitzler 4981c16a2a oops - didnt translate viewport for obj's other than images
SVN revision: 4837
2001-06-19 03:02:54 +00:00
Carsten Haitzler 9413312693 and that woudl fix a segv problem.. wheee..
SVN revision: 4667
2001-04-21 18:55:56 +00:00
Carsten Haitzler 50855cb22d fix that minor oversight for scaled ouput evases...
SVN revision: 4643
2001-04-17 07:42:52 +00:00
Carsten Haitzler 411ec99a57 image cache for eva sis preciselyu that.. cache. image and font data are
kept resident as long as the obejct has been rendered at leats once AND it
is still within the viewport of the output of the evas and it is still
visible. if it does not meet these conditiosn it gets put into "Cache" and
only then does cache become an issue. the chancges were nice and small to do
this :)


SVN revision: 4634
2001-04-16 18:38:22 +00:00
Carsten Haitzler 84d24d28da 1. optimize evas lists a bit by keeping a "last" pointer
2. fix rendering - forgot to scale output of primitives other than images when
viewport not 1:1 with window
3. up to 0.0.5


SVN revision: 4592
2001-04-12 17:54:51 +00:00
Carsten Haitzler 4324beef71 dont allow viewport or render size to be < 1x1
SVN revision: 4513
2001-04-06 01:57:49 +00:00
Carsten Haitzler 0e6f590af7 oops - again.. over-optimize
SVN revision: 4259
2001-02-20 00:49:16 +00:00
Carsten Haitzler a59517b166 oops- over optimized so that it didnt actually render some changes :) fixed
SVN revision: 4254
2001-02-19 19:38:47 +00:00
Carsten Haitzler d6f9deb7ad damnit... the more i use evas the more i optimize it... ok - more
optimizations for special cases (rectangles that onyl change size or
location have only their detlas redrawn - not the whole rect, and the same
with images who share common global tile start and size parapeters for the
image...) this is getting quite fast now :) rememeber you only really see
the speedups in software.. hardware is so dispicably fast you never notice :(


SVN revision: 4252
2001-02-19 09:27:59 +00:00
Carsten Haitzler f1d5f4f049 more optimizations in render function
SVN revision: 4237
2001-02-17 08:10:30 +00:00
Carsten Haitzler d02e5fd9e4 evas.m4
SVN revision: 4150
2001-01-25 21:56:04 +00:00
Mandrake 72d8d91f3c More updates to make this compile without having Mesa installed.
SVN revision: 4085
2001-01-03 06:04:56 +00:00
Carsten Haitzler ce2f4fe9f1 * rewrote GL engine for evas - vast speed improvements and cleanliness
improvements - MUCH better
* fixed imlib and x11 engines - much faster x11 engine. much better imlib
engine
* added clipping ability to evas (you can clip one object by another for now
only rectangles are supported)
* you will need to use cvs imlib2 - i fixed the clipping in it to apply to
images, text and gradients too.
* almost done with x11 engine - just fonts to go (mostly done)
* clipping rects rgba color modifies what they clip
* gl, imlib and x11 engines modified to do clipping
* still need to add border scaling supporty to gl engine
* maybe some other stuff i don't remember - i've been sick over christmas


SVN revision: 4039
2000-12-27 20:51:39 +00:00
Carsten Haitzler 1175ab0854 and return valid info when theres nothngi to do... :)
SVN revision: 3941
2000-12-02 02:49:51 +00:00
Carsten Haitzler 7badc56fdb add new render call that returns the updates that got rendered :)
SVN revision: 3940
2000-12-02 02:21:07 +00:00
Carsten Haitzler 92e9ebd222 fix "special case" for rectangles - property chnage parameter wasnt being set
in some cases.


SVN revision: 3761
2000-10-28 18:03:39 +00:00
Carsten Haitzler 61f9e4f648 raster: special case optimization for retcangle objects... since they are a
solid color - if you move or resize a rect and it doesnt change color, or
stakcing or visability - it only changes size and/or location, i do an XOR on
the update rectangles (this is a logical geometric XOR) and only update those
rectangles... why do this? see efm with the selection rectangle? it re-renders
the entire rectangle area - even only the edges change while you drag it around
so this special casing in evas would handle that and optimize.


SVN revision: 3690
2000-10-22 19:14:22 +00:00
Carsten Haitzler 8a740e5fa4 stubs for Xfree86 Render extension support. STUBS only now. will get filled in
as soon as i have this puppy installed and working


SVN revision: 3651
2000-10-18 00:48:25 +00:00
Carsten Haitzler 2779c6f133 image renderer works withotu needing display info
SVN revision: 3627
2000-10-15 18:51:38 +00:00
Carsten Haitzler 28920da8b3 region obscuring code. this should provide for apps using evas to indicate
whihc retcangles of the evas are completely obsucred by covering windows
so evas doesn't render things it doesn't need to (ie they can't be seen).


SVN revision: 3619
2000-10-15 03:11:11 +00:00
Carsten Haitzler 53b3a6face start of polygon drawing support...
SVN revision: 3574
2000-10-12 00:26:34 +00:00
Carsten Haitzler c6e5ed3a1d some basic start on documentation....what's happening to me? all this
documentation? :)


SVN revision: 3554
2000-09-27 15:14:06 +00:00
Carsten Haitzler 289117a952 privatise data structs for evas... much cleaner. all structs are now internal
so you cant look into them. all defines now become enums too - cleaner. no
more bypassing the api is possible :)

also added better checks and --with- stuff for imlib2, gl and ttf


SVN revision: 3548
2000-09-26 19:16:48 +00:00
Carsten Haitzler 240dc97f4c x11 engine code added - only partially works
SVN revision: 3503
2000-09-17 06:30:44 +00:00
Carsten Haitzler ff01c864a4 allow color allocation policy to be set in evas
SVN revision: 3473
2000-09-15 15:04:48 +00:00
Carsten Haitzler e2ffcf313c dissalow resizing for line and text objects - doesnt make sense -
change the font or string to resize text, and chnage line coords.

add ability for color settings to apply to image objects too (image colors get
multiplid by color set on image - 255, 255, 255, 255 is "normal" so it's fast
path rendering - all other colors go thru color modifiers in the imlib engines
and gl handles it int he gl engine. if alpha is 0 the object draw is aborted
immediately for fast path.


SVN revision: 3468
2000-09-15 13:49:14 +00:00
Carsten Haitzler a751ec1b21 we have a new rendering target for evas - an imlib image buffer.
it will render to a virtual image buffer just like it would to a window.
the logic works the exact same way as a window - it wil lonly render the rects
that changed. if a rect chnaged it expects that rect to have been cleared and
will blend the canvas ontop of the image - so you can use it to augment the
current image contents (though they will be permenantly modified). This is
specifically designed for doing things like rendering a canvas to be saved
to an image file.

WHEEEEEEEE :)


SVN revision: 3460
2000-09-13 22:36:46 +00:00
Carsten Haitzler 738f9d5fea slight stakcing chnage redraw problem - didnt queue a redraw if stacking
changed (ie raise or lower)


SVN revision: 3288
2000-08-31 23:30:54 +00:00
Carsten Haitzler afe928e120 missing border attribute setting on render.
SVN revision: 3272
2000-08-28 23:40:38 +00:00
Carsten Haitzler 0fb877cf9f add some more query calls.
SVN revision: 3226
2000-08-22 07:02:35 +00:00
Carsten Haitzler e37fccc450 event system works - callbakcs happen.. WOOHOO :)
SVN revision: 3193
2000-08-20 21:49:41 +00:00
Carsten Haitzler 056e350668 api filled out much better now........ infact... i'm almost done :)
SVN revision: 3186
2000-08-20 07:13:31 +00:00
Carsten Haitzler 0a73a07edf gradients added and work
SVN revision: 3114
2000-08-14 06:37:51 +00:00
Carsten Haitzler 842031ebaa lines and rectangles work. woop! :)
SVN revision: 3113
2000-08-14 05:41:56 +00:00
Carsten Haitzler c64671e765 text objects work! dude! like totally! :)
SVN revision: 3112
2000-08-14 03:23:46 +00:00
Carsten Haitzler 331b113f4d evas detects gl and build in gl backend optionally if it finds it. evas will
fall back to stfware imlib2 rendering if an app requests GL rendering..


SVN revision: 3111
2000-08-14 00:14:22 +00:00
Carsten Haitzler bcb7bcea6c dont need bits code.. that will go in another lib - higher level than a canvas
item IMHO


SVN revision: 3110
2000-08-13 22:57:22 +00:00
Carsten Haitzler fc068cdd82 eas now handles fill params for image. tile and offset of image to be filled
within an image object. just a conveneint tile & svcale and offset fill method
for programs.


SVN revision: 3109
2000-08-13 22:45:48 +00:00
Carsten Haitzler 95353b03d2 a bit cleaner now too :)
SVN revision: 3097
2000-08-13 06:10:02 +00:00
Carsten Haitzler a5ba53be87 cleaner use func pointers for rendering backend funcs - too much copy & paste
SVN revision: 3096
2000-08-13 06:06:43 +00:00
Carsten Haitzler cda8d8b1b8 fix trails
SVN revision: 3091
2000-08-11 08:32:03 +00:00
Carsten Haitzler 73de169494 wooooo!
core bits of evas api actually do stuff now.. evas test it beginning to use them
if you want to have ann ide how easy it is to use evas as a rendeirng engine
just look at evas_test.. notice the evas setup is just a few calls (create,
set the output drawable, the output size of the window and the viewport into
the evas's virtual world - the its a mater of creating a few objects
and notice the main loo ONLy does 2 things - move the objects then call
render - evas will optimize to only render the bits that changed all for you.
there's a lot fo thank;less nasty state chekcing code just for this.
i'm going to have to write a lot fo it - image obejcts only done sofar.
you cant do anytign except move and resize them and add them and show and hide
them. freeing them wont work. layers dont work. no api to set performance cache
or to access it. fill modes for images dont work either nor is there an api
to set an images border scaling)


SVN revision: 3090
2000-08-11 07:47:52 +00:00