On Fri, 2 Jul 2004 16:58:41 +0200 "Nemec, Bernhard"
<[EMAIL PROTECTED]> babbled:

> Hi,
> 
> i'm writing an application which uses evas to display a gui on an embedded
> system.
> 
> Now I'm using a list of lines to draw a curve of measurement values, but
> evas_render takes more and more time as more lines are added to the canvas.
> I'm therefore looking for an alternative way of drawing a simple curve in
> evas. Is it possible to somehow draw the lines into a buffer (kind of a
> bitmap image) instead of keeping them as evas_objects, so they wouldn't be
> added to the list of objects that evas_render has to go through in every
> invocation?

yes. evas_object_image_*
you can get access to the pixel data of the image and fill it yourself. its all
ARGB (from high to low byte, read on a per-32bit word basis - same format imlib2
uses and most PC gfx cards)

using lots of lines will slow down - object handling overhead for evas can get
very high once you hit a few thousand objects... :(

> I also considered using polygons for a moment, but after looking at the
> code, I think they will also take more and more time to render as more
> points are added.

though less overhead than lots of line objects - a lot less.

> I very much hope to find a solution to this, because I very much like the
> functionality offered by evas for my project.

evas can also be extended - the objects are modular (in a way) in that an object
type in evas provides some basic methods to evas (like a paint method, pre/post
render methods, free meothod etc.) take a look at the simpler objects like line,
rectangle, etc. they are very simple and are all in 1 file
(evas/src/lib/canvas/evas_object_line.c). as you can see it creates an empty
object type then calls the init function to fill the object with that specific
type's internals. it shouldn't be hard to make a "polyline" or "curve" object
and build it from your own basics and then include it as a "first class" object
in evas. i plan on eventually expanding the list of first class objects in evas
- jose gonzales is working right now on code for anti-aliases polygons, lines
and circles/arcs. i'd want splines/curves too and add radial gradients as well. 
filter objects are on my list (blur, sharpen, etc.) and more.

if you make such a first-class object it will make your own code simpler (all
you do now is feed a list of points into the object one - by one - like the
polygon object) and the object does the rest. :)

> Any thoughts are very welcome.
> 
> Thanks,
> Bernhard
> 
> 
> -------------------------------------------------------
> This SF.Net email is sponsored by BEA Weblogic Workshop
> FREE Java Enterprise J2EE developer tools!
> Get your free copy of BEA WebLogic Workshop 8.1 today.
> http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click
> _______________________________________________
> enlightenment-users mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/enlightenment-users
> 


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    [EMAIL PROTECTED]
熊耳 - 車君 (数田)                  [EMAIL PROTECTED]
Tokyo, Japan (東京 日本)


-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click
_______________________________________________
enlightenment-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-users

Reply via email to