From: Daniel S. <sno...@op...> - 2004-03-15 07:11:37
|
I've run into a small problem using ecore_evas and not entirely sure of the best approach to take on it. I dont know how many of you are actively using it, but here's to hoping at least one or two of you are :) Problem: Need to refresh (return it to its original state after creating and moving many evas objects around on it) the window. Old solution: The original program was using the X libraries for window creation and event handling, so to refresh the window, I simply free'd the evas I was painting on, created a new evas for the window and ran the initial setup routine (add background/borders/title etc). No problem here. Since then I've altered it so window creation and event handling is done by ecore_evas. Now I've noticed that initialising an ecore_evas window creates both window and evas at the same time - you only get one evas for the window and when you free that evas, you can't easily manufacture another evas (note that ecore_evas_get only gets you the evas wrapped by the ecore_evas object. Once you've free'd that, there's no longer anything to get). Is there an easier way to tackle this thing? Cheers, Daniel. -- email:sno...@op... http://members.optusnet.com.au/stonierd/ |
From: Carsten H. (T. R. <ra...@ra...> - 2004-03-15 08:17:21
|
On Mon, 15 Mar 2004 17:11:11 +1000 Daniel Stonier <sno...@op...> babbled: > > I've run into a small problem using ecore_evas and not entirely sure of > the best approach to take on it. I dont know how many of you are actively > using it, but here's to hoping at least one or two of you are :) > > Problem: Need to refresh (return it to its original state after creating > and moving many evas objects around on it) the window. > > Old solution: The original program was using the X libraries for window > creation and event handling, so to refresh the window, I simply free'd the > evas I was painting on, created a new evas for the window and ran the > initial setup routine (add background/borders/title etc). No problem here. > > Since then I've altered it so window creation and event handling is done > by ecore_evas. Now I've noticed that initialising an ecore_evas window > creates both window and evas at the same time - you only get one evas for > the window and when you free that evas, you can't easily manufacture > another evas (note that ecore_evas_get only gets you the evas wrapped by > the ecore_evas object. Once you've free'd that, there's no longer anything > to get). > > Is there an easier way to tackle this thing? have a shutdown routine that deletes all objects, structures etc. associated with a evas canvas then sets them all up again without destroying the ecore_evas? u can just get the bottom most evas object in the canvas and keep deleting the bottom object in a loop until there is no bottom object... (empty canvas) :) ie while ((o = evas_object_bottom_get(evas)) evas_object_del(o); will completely clear all objects in a canvas and empty it out completely. > Cheers, > Daniel. > > > > -- > email:sno...@op... > http://members.optusnet.com.au/stonierd/ > > > ------------------------------------------------------- > This SF.Net email is sponsored by: IBM Linux Tutorials > Free Linux tutorial presented by Daniel Robbins, President and CEO of > GenToo technologies. Learn everything from fundamentals to system > administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click > _______________________________________________ > enlightenment-users mailing list > enl...@li... > https://lists.sourceforge.net/lists/listinfo/enlightenment-users -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) ra...@ra... 熊耳 - 車君 (数田) ra...@de... Tokyo, Japan (東京 日本) |
From: Daniel S. <sno...@op...> - 2004-03-15 16:17:05
|
>> Is there an easier way to tackle this thing? > > ie > while ((o = evas_object_bottom_get(evas)) evas_object_del(o); > > will completely clear all objects in a canvas and empty it out > completely. So obvious :) And exactly what I was looking for - thanks. Daniel Stonier. |