Re: [E-devel] [RFC] SDL Engine

2007-04-06 Thread [EMAIL PROTECTED]

Cedric wrote:

   I finally got a SDL Engine running and starting to look
 correct. I did split it in 3 patch.
 
 - evas_cache_image.diff: Add a global cache for image mechanism.
   I hope it could be shared with other engine and reduce their
 code complexity. This cache works more like the one from FreeType,
 you request image/operation from the cache, and the cache forwards
 it if needed to the right callback function. This need to be
 carefully reviewed, even if it seems correct.

raster will be the one to bless or damn this :) but I took
a quick look at it and thought I'd give you some of my impressions.

I like the cache stuff. I actually had to do something
similar recently (though I didn't bother abstracting it as much
as you did here).

A couple of things quickly came to mind though:

You're using the image struct's extended_info pointer,
in the sdl engine, to hold an engine-specific surface (namely, an
sdl surface), I added an extra void *engine_surface for this
(I did it for the xrender and gl engines), since the 'extended_info'
pointer was likely intended to hold 'meta data' that an image file
format may have..?
There are some things I think could be cleaned up...
maybe the various assert calls could be replaced by a more 'silent'
means of checking for invalid inputs?
Also, why the need to keep a hash of 'inactive' images
when there's the (last used precedence) list of such?

 - evas_sdl_engine.diff: This patch really provides the SDL
 engine.
   You must not expect other colorspace than EVAS_COLORSPACE_
 ARGB to work. I have no plan to fix this now as I think it
 will be easier to test that with emotion. So I first need an
 Ecore_SDL to fix this.
   It doesn't use evas_pipe (and never will) as it need to
 use SDL thread to do that same task, and I am really not planing
 to do it soon.

Ummm... I'll have to preface what follows here by saying
that I know nothing about sdl, and haven't really looked at the
engine too much... But from what I can gather:
It seems to be what I'd call a 'generic' implementation --
ie. uses the software routines for things and puts the result argb
on the dst surface. If so, I think it might then be best to call
it software_sdl?
Also, if so, why do you seem to keep an sdl surface for
src images, when it doesn't seem to be used for any copying or
compositing to a dst surface? (for the yuv color space why not then
use software conversion routines?) Or maybe I'm reading that wrong?

I did visit the sdl website, and there seems to be mention
of using OpenGL with SDL... Is it possible to maybe also have
a gl_sdl version of the engine.. ie. one which would presumably
use some gl rendering?

 Now, this is not perfect and I think some more work is needed.

It's a lot, even as is :)  Sure it could be better...
What can't?
Anyway that's just my limited feedback for now, based
on a quick look. I'm sure raster will disect and digest it all
far better, when he gets a chance. :)

Keep the spam coming.

   jose.

BTW: You never did tell me 'what is sdl' or 'why is it interesting'
from your own point of view :) -- not the sdl website's views!.



-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT  business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] easy_e17.sh

2007-04-06 Thread Peter Parkanyi
 Or else, you might wanna discover the magic -e arg :
 #easy_e17.sh -i -e --clean --clean

 is my default way to build e.

Or else the developer might remove entrance_edit_gui from the script, because 
it is pretty much broken. It uses a year old API definiton, while these stuff 
are changing day-by-day (or at least they used to). It never actually worked, 
btw, so there's no point including it in the script.

Peter

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT  business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] shelf authohide patch

2007-04-06 Thread Виктор Кожухаров
В чт, 2007-04-05 в 21:09 +0200, Hannes Janetzek написа:
 Hi,
 I made a patch so that hiding of the shelf is done by the shelf and not
 by the theme. I think this will make it easier to have a consistent and
 configurable shelf-hiding behaviour. 
 I added one theme-data item to the shelf group: hidden_state_size
 which sets the height or width for the shelf when it is in hidden
 state. 
 
The only problem with this patch that i can see is, that it should work
regardless of whether the theme has a hidden_state_size set.
Currently, if a theme does not have that, things will mess up, bad. And
it might be useful to increase the default hidden_state_size from 2 to
6, so as to minimize the chance of rolling over to another virtual
desktop.

Other than that, the patch is dandy, and if no one objects, I'll commit
it.
 
 Regards,
 Hannes
 
  
 
 -
 Take Surveys. Earn Cash. Influence the Future of IT
 Join SourceForge.net's Techsay panel and you'll get the chance to share your
 opinions on IT  business topics through brief surveys-and earn cash
 http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV
 ___ enlightenment-devel mailing 
 list enlightenment-devel@lists.sourceforge.net 
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
-- 
Виктор Кожухаров /Viktor Kojouharov/


signature.asc
Description: Това е	 цифрово	 подписана	 част от	 писмото
-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT  business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] E CVS: libs/ecore englebass

2007-04-06 Thread Stéphane Bauland

Enlightenment CVS wrote:

Enlightenment CVS committal

Author  : englebass
Project : e17
Module  : libs/ecore

Dir : e17/libs/ecore/src/lib/ecore_evas


Modified Files:
	ecore_evas.c ecore_evas_private.h ecore_evas_x.c 



Log Message:
Don't use an idler to delete the evas. This wont work during ecore main
loop shutdown.

===
RCS file: /cvs/e/e17/libs/ecore/src/lib/ecore_evas/ecore_evas.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -3 -r1.29 -r1.30
--- ecore_evas.c27 Jul 2006 16:14:33 -  1.29
+++ ecore_evas.c5 Apr 2007 06:53:41 -   1.30
@@ -6,8 +6,6 @@
 
 static int _ecore_evas_init_count = 0;
 
-static int _ecore_evas_idle_enter_delete(void *data);

-
 /**
  * Query if a particular renginering engine target has support
  * @param  engine The engine to check support for
@@ -139,9 +137,7 @@
 ecore_evas_free);
return;
  }
-   if (ee-delete_idle_enterer) return;
-   ee-delete_idle_enterer = 
- ecore_idle_enterer_add(_ecore_evas_idle_enter_delete, ee);

+   _ecore_evas_free(ee);
return;
 }
 
@@ -1764,11 +1760,6 @@

 _ecore_evas_free(Ecore_Evas *ee)
 {
ECORE_MAGIC_SET(ee, ECORE_MAGIC_NONE);
-   if (ee-delete_idle_enterer)
- {
-   ecore_idle_enterer_del(ee-delete_idle_enterer);
-   ee-delete_idle_enterer = NULL;
- }
while (ee-sub_ecore_evas)
  {
_ecore_evas_free(ee-sub_ecore_evas-data);
@@ -1792,14 +1783,4 @@
ee-evas = NULL;
if (ee-engine.func-fn_free) ee-engine.func-fn_free(ee);
free(ee);
-}
-
-static int
-_ecore_evas_idle_enter_delete(void *data)
-{
-   Ecore_Evas *ee;
-   
-   ee = (Ecore_Evas *)data;

-   _ecore_evas_free(ee);
-   return 0;
 }
===
RCS file: /cvs/e/e17/libs/ecore/src/lib/ecore_evas/ecore_evas_private.h,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -3 -r1.25 -r1.26
--- ecore_evas_private.h20 Oct 2006 01:46:41 -  1.25
+++ ecore_evas_private.h5 Apr 2007 06:53:41 -   1.26
@@ -164,8 +164,6 @@
charshould_be_visible : 1;
charalpha  : 1;
 
-   Ecore_Idle_Enterer *delete_idle_enterer;
-   
Evas_Hash  *data;
 
struct {

===
RCS file: /cvs/e/e17/libs/ecore/src/lib/ecore_evas/ecore_evas_x.c,v
retrieving revision 1.93
retrieving revision 1.94
diff -u -3 -r1.93 -r1.94
--- ecore_evas_x.c  16 Jan 2007 10:17:46 -  1.93
+++ ecore_evas_x.c  5 Apr 2007 06:53:41 -   1.94
@@ -110,14 +110,12 @@
Evas_List *ll;
 #endif

-   if (ee-delete_idle_enterer) return;

 #ifdef BUILD_ECORE_EVAS_BUFFER
for (ll = ee-sub_ecore_evas; ll; ll = ll-next)
  {
Ecore_Evas *ee2;

ee2 = ll-data;
-   if (ee2-delete_idle_enterer) continue;
if (ee2-func.fn_pre_render) ee2-func.fn_pre_render(ee2);
_ecore_evas_buffer_render(ee2);
if (ee2-func.fn_post_render) ee2-func.fn_post_render(ee2);
@@ -360,7 +358,6 @@
Ecore_Evas *ee;

ee = evas_hash_find(ecore_evases_hash, _ecore_evas_x_winid_str_get(win));

-   if ((ee)  (ee-delete_idle_enterer)) return NULL;
return ee;
 }
 




-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT  business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV
___
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

  
Hi! I have fixed the directfb to compile with  englebass changes.. 
Please see attached makefile.


Danke!
cvs diff: Diffing .
cvs diff: Diffing debian
cvs diff: Diffing doc
cvs diff: Diffing doc/img
cvs diff: Diffing m4
cvs diff: Diffing src
cvs diff: Diffing src/bin
cvs diff: Diffing src/lib
cvs diff: Diffing src/lib/ecore
cvs diff: Diffing src/lib/ecore_con
cvs diff: Diffing src/lib/ecore_config
cvs diff: Diffing src/lib/ecore_dbus
cvs diff: Diffing src/lib/ecore_desktop
cvs diff: Diffing src/lib/ecore_directfb
cvs diff: Diffing src/lib/ecore_evas
Index: src/lib/ecore_evas/ecore_evas_directfb.c
===
RCS file: /var/cvs/e/e17/libs/ecore/src/lib/ecore_evas/ecore_evas_directfb.c,v
retrieving revision 1.8
diff -u -r1.8 ecore_evas_directfb.c
--- src/lib/ecore_evas/ecore_evas_directfb.c5 Nov 2006 15:22:47 -   
1.8
+++ src/lib/ecore_evas/ecore_evas_directfb.c6 Apr 2007 11:58:03 -
@@ -16,8 +16,6 @@
 static Ecore_Evas *ecore_evases = NULL;
 static Evas_Hash *ecore_evases_hash = NULL;
 
-static Ecore_Idle_Enterer *ecore_evas_directfb_idle_enterer = NULL;
-
 static void
 

Re: [E-devel] [RFC] SDL Engine

2007-04-06 Thread Cedric BAIL
On Friday 06 April 2007 09:58:26 [EMAIL PROTECTED] wrote:
   Cedric wrote:
  - evas_cache_image.diff: Add a global cache for image mechanism.
  I hope it could be shared with other engine and reduce their
  code complexity. This cache works more like the one from FreeType,
  you request image/operation from the cache, and the cache forwards
  it if needed to the right callback function. This need to be
  carefully reviewed, even if it seems correct.

   raster will be the one to bless or damn this :) but I took
 a quick look at it and thought I'd give you some of my impressions.

Nice you take the time also.

   I like the cache stuff. I actually had to do something
 similar recently (though I didn't bother abstracting it as much
 as you did here).

   A couple of things quickly came to mind though:

   You're using the image struct's extended_info pointer,
 in the sdl engine, to hold an engine-specific surface (namely, an
 sdl surface), I added an extra void *engine_surface for this
 (I did it for the xrender and gl engines), since the 'extended_info'
 pointer was likely intended to hold 'meta data' that an image file
 format may have..?

I didn't see it, it would perhaps be a good idea to have this engine_surface 
directly as a part of the RGBA_Image (I did use extended_info, because I 
didn't see any use of it).

   There are some things I think could be cleaned up...
 maybe the various assert calls could be replaced by a more 'silent'
 means of checking for invalid inputs?

I like assert when developping, they stop the apps as soon as needed. But 
after debugging, they must be useless and never trigerred. I could remove 
them completely I think.

   Also, why the need to keep a hash of 'inactive' images
 when there's the (last used precedence) list of such?

It's faster, easier (one line of code :-) ), to look into a hash to 
find the 
right image to use. The LRU is only used when we need to drop some content 
due to cache presure.

  - evas_sdl_engine.diff: This patch really provides the SDL
  engine.
  You must not expect other colorspace than EVAS_COLORSPACE_
  ARGB to work. I have no plan to fix this now as I think it
  will be easier to test that with emotion. So I first need an
  Ecore_SDL to fix this.
  It doesn't use evas_pipe (and never will) as it need to
  use SDL thread to do that same task, and I am really not planing
  to do it soon.

   Ummm... I'll have to preface what follows here by saying
 that I know nothing about sdl, and haven't really looked at the
 engine too much... But from what I can gather:
   It seems to be what I'd call a 'generic' implementation --
 ie. uses the software routines for things and puts the result argb
 on the dst surface. If so, I think it might then be best to call
 it software_sdl?

Yes, it's mainly a software_sdl. I wanted to use more SDL function, but most 
of them are useless due to the strange way they handle the alpha case. The 
only case that really use SDL is when doing the update of a surface with 
SDL_UpdateRects.

   Also, if so, why do you seem to keep an sdl surface for
 src images, when it doesn't seem to be used for any copying or
 compositing to a dst surface?

Mainly for SDL_UpdateRects as it could be of some use, and also because direct 
access to the SDL_Surface is the same as an access to the RGBA_Surface 
software surface.

 (for the yuv color space why not then use software conversion routines?) Or
 maybe I'm reading that wrong? 

I think I could use the software conversion routines, I just want to be sure 
that the SDL YUV function are also useless before doing it.

   I did visit the sdl website, and there seems to be mention
 of using OpenGL with SDL... Is it possible to maybe also have
 a gl_sdl version of the engine.. ie. one which would presumably
 use some gl rendering?

I did think about that also, but I must have some priority. So first I want to 
have an Ecore with all others EFL running cleany with the software_sdl. So 
it's definitively possible in my opinion, but not really on top of my TODO 
list :)

  Now, this is not perfect and I think some more work is needed.

   It's a lot, even as is :)  Sure it could be better...
 What can't?

:)

   Anyway that's just my limited feedback for now, based
 on a quick look. I'm sure raster will disect and digest it all
 far better, when he gets a chance. :)

Thanks, for the feedback !

   Keep the spam coming.

Of course !

 BTW: You never did tell me 'what is sdl' or 'why is it interesting'
 from your own point of view :) -- not the sdl website's views!.

Well for some crazy idea. I did notice that many little 2D game on Linux are 
using SDL, but they always need to re develop their own EFL like 
functionnality because SDL is really limited.
The drawback of the EFL is that they need a specific engine each time 
we want 
to make it run on a new device/OS. The SDL provide an easy solution to 

Re: [E-devel] Fwd: Re: [collab4] eclair improvements

2007-04-06 Thread Párkányi Péter

 Hi Peter,

 All the changes you are describing are actually the reasons why I
 started coding Etk: I needed a toolkit library to add a filechooser and
 a collection manager to Eclair. Etk was just more work than I first
 thought it would be, and I've never been able to work on Eclair again.
 So, if you want to add those features, feel free to do it :) The
 library support is even started, all the songs are already stored in a
 database with sqlite. If you even think eclair should be rewritten, go
 ahead, I'll probably never work on it again.

I thought, the collection manager would be implemented in evas smarts, and 
edje, but to be honest, i don't know much about them.
First, I'll have to read through the code of eclair, and then if I'll have 
time, I'll start working on it. Unfortunately, I don't have time to code till 
the end of May, so don't expect very much till June. ;) If I find some 
edje/evas smarts how-to, then I'll be able to start working on the UI, and 
extending the theme.

Peter

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT  business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] E17 + X screensaver + DPMS = Xorg.segv

2007-04-06 Thread Ravenlock

Hello,

While investigating a different DPMS issue I've run across what I
believe is an Xorg/xscreensaver/DPMS issue.   Running Xorg 6.9.0 (maybe
others for all I know) if I enable the xscreensaver, and setup DPMS to
*not* enter standby, but *do* enter suspend... I get a segv shortly
after the screen suspends.

I use the following commands specifically.
   1) xset s noblank
   2) xset s 60 5
   3) xset dpms 0 0 120

The commands above are important.  The screensaver must be set to no
blank, it should alternate at a short period (or you'll have to wait for
the segv).  And on two different machines I have had to setup DPMS
differently... but what seems significant is I am *not* entering standby
or suspend before entering off.

The following is the backtrace I get with gdb attached to Xorg.

Program received signal SIGSEGV, Segmentation fault.
0x080d9121 in SaveScreens ()
(gdb) bt
#0  0x080d9121 in SaveScreens ()
#1  0x080deb5d in ScreenSaverTimeoutExpire ()
#2  0x080de8db in DoTimer ()/gallery/main.
#3  0x080de3f9 in WaitForSomething ()
#4  0x080ba564 in Dispatch ()
#5  0x080cce94 in main ()

Now... all this is interesting.  And I *think* it is an Xorg issue
entirely.  I say think because I *can not* reproduce this running other
window managers (fvwm).  However,  given the above bt, and the fact that
E17 does not segv when it occurs, it just looks like Xorg

However, my question to the ml here is...  Do we ignore the bug and code
to spec until Xorg fixes it?  Meaning the DPMSSetTimeouts() man page
says you may disable any one of the modes.  Or do we prevent the user
from shooting themselves in the foot by altering our config panel?

Presently the E17 DPMS config panel allows us to put ourselves in this
particular position.  So if we do nothing, we are coding to what the
manpage says is perfectly legitimate, and the user can apparently
configure their machine to segv on timed intervals.

Or we can apply the attached patch.  The attached patch will fix the
problem behavior and make no (noticeable?) change in functionality.  It
does so by quietly setting any disabled lesser mode to the same timeout
as the next greater mode's timeout.  I did this without modifying the
gui intentionally. Ideally I would be able to report this upstream, and
once its fixed we could quietly revert this patch and be on our way.

I'm hoping for comments on if anyone else can reproduce this, whether
this is in fact a bug with Xorg, if this is a suitable way to fix it,
or if we should just carry on without the patch.

Questions, comments, and complaints welcome.

--
Regards,
Ravenlock



Index: e17/apps/e/src/bin/e_dpms.c
===
RCS file: /var/cvs/e/e17/apps/e/src/bin/e_dpms.c,v
retrieving revision 1.1
diff -u -r1.1 e_dpms.c
--- e17/apps/e/src/bin/e_dpms.c 13 Feb 2007 16:33:35 -  1.1
+++ e17/apps/e/src/bin/e_dpms.c 6 Apr 2007 16:15:23 -
@@ -14,10 +14,22 @@
  standby = e_config-dpms_standby_timeout;

if (e_config-dpms_suspend_enable)
- suspend = e_config-dpms_suspend_timeout;
+ { 
+   suspend = e_config-dpms_suspend_timeout;
+
+   if (!e_config-dpms_standby_enable) 
+ standby = e_config-dpms_suspend_timeout;
+ }

-   if (e_config-dpms_off_enable)
- off = e_config-dpms_off_timeout;
+   if (e_config-dpms_off_enable) 
+ { 
+   off = e_config-dpms_off_timeout;
+
+   if (!e_config-dpms_standby_enable  !e_config-dpms_suspend_enable) 
+ standby = e_config-dpms_off_timeout;
+   if (!e_config-dpms_suspend_enable) 
+ suspend = e_config-dpms_off_timeout;
+ }
 
ecore_x_dpms_timeouts_set(standby, suspend, off);


-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT  business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] shelf authohide patch

2007-04-06 Thread Виктор Кожухаров
В чт, 2007-04-05 в 21:09 +0200, Hannes Janetzek написа:
 Hi,
 I made a patch so that hiding of the shelf is done by the shelf and not
 by the theme. I think this will make it easier to have a consistent and
 configurable shelf-hiding behaviour. 
 I added one theme-data item to the shelf group: hidden_state_size
 which sets the height or width for the shelf when it is in hidden
 state. 
 
 
 Regards,
 Hannes
I've committed a modified version of the patch.

The things that were changed were, among other things:
 - the hidden_state_size fallback is 4 instead of 2.
 - _e_shelf_cb_hide_animator is actually a callback for an animator now,
instead of a timer. that way it will be affected by e's fps settings
 - the logic inside _e_shelf_cb_hide_animator has been changed. it now
takes the same amount of time to hide any shelf, regardless of it's size
settings. (which is currently 1 second, and should be made configurable
in the future)
 - reintroduced the e,state,visible edje signal, so that themers can
go crazy if they want to
 
  
 
 -
 Take Surveys. Earn Cash. Influence the Future of IT
 Join SourceForge.net's Techsay panel and you'll get the chance to share your
 opinions on IT  business topics through brief surveys-and earn cash
 http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV
 ___ enlightenment-devel mailing 
 list enlightenment-devel@lists.sourceforge.net 
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
-- 
Виктор Кожухаров /Viktor Kojouharov/


signature.asc
Description: Това е	 цифрово	 подписана	 част от	 писмото
-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT  business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [RFC] SDL Engine

2007-04-06 Thread [EMAIL PROTECTED]

  You're using the image struct's extended_info pointer,
  in the sdl engine, to hold an engine-specific surface (namely,
  an sdl surface), I added an extra void *engine_surface for
  this (I did it for the xrender and gl engines), since the
  'extended_info' pointer was likely intended to hold 'meta data'
  that an image file format may have..?
 
 I didn't see it, it would perhaps be a good idea to have this
 engine_surface  directly as a part of the RGBA_Image (I did use
 extended_info, because I didn't see any use of it).

Oh there's no void *engine_surface pointer right now, it's
something I added to my local copy since I wanted a single 'image'
structure for all engines (in fact, I had to introduce engine level
'objects' in order to have things like texturing and clipping).
The 'extended_info' pointer isn't used anywhere at the moment, but
it could be.. if indeed it was meant to hold additional file format
related 'meta data' of some sort.

  Also, why the need to keep a hash of 'inactive' images
  when there's the (last used precedence) list of such?
 
   It's faster, easier (one line of code  :-)  ), to look
 into a hash to find the right image to use. The LRU is only used
 when we need to drop some content due to cache presure.

Yes, but it's only faster when it *fails* to find a cached
(ie. inactive) image. If it suceeds (which is the whole point of
having the cache), then it could actually be slower.. because not
only will you have to remove the image from the inactive hash,
but also from the lru list and remove it. You also need to add
images to both the hash and the list when they are to be cached,
and when flushing the cache you again need to go thru both.

  Also, if so, why do you seem to keep an sdl surface for
  src images, when it doesn't seem to be used for any copying or
  compositing to a dst surface?
 
 Mainly for SDL_UpdateRects as it could be of some use, and also
 because direct  access to the SDL_Surface is the same as an access
 to the RGBA_Surface software surface.

I'm not sure I follow you here.. Why do you need to keep
an sdl surface for api created images (eg. loaded, etc), when those
surfaces never seem to be used by any sdl functions (as far as a dst
sdl surface is concerned)?

There are cases where it could be useful to keep such,
even if you're not using any sdl based compositing funcs (assuming
there are such) -- you could use 'copy' ones in certain cases.
Using sdl copy funcs would also be useful in things like rect
drawing, with eg. rgb colors.

One thing you may want to look into, assuming sdl does have
some built-in compositing capabilities, is wether they can allow
for using premul color data (there's plenty of time to get into
that kind of thing a bit later).

  I did visit the sdl website, and there seems to be mention
  of using OpenGL with SDL... Is it possible to maybe also have
  a gl_sdl version of the engine.. ie. one which would presumably
  use some gl rendering?
 
 I did think about that also, but I must have some priority.
 So first I want to have an Ecore with all others EFL running cleany
 with the software_sdl. So it's definitively possible in my opinion,
 but not really on top of my TODO list  :) 

Ahhh, good. :) I just wondered if it could be done at all.
There's plenty of time to get to such an engine, and/or tweak the
software based one, etc. It's a lot just to get something working
in place. :)

  BTW: You never did tell me 'what is sdl' or 'why is it interesting'
  from your own point of view  :)  -- not the sdl website's views!.
 
 Well 

Now that was informative, and interesting! Thanks. :)

   jose.



-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT  business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] bug in evas

2007-04-06 Thread The Rasterman
On Wed, 4 Apr 2007 10:39:13 -0500 Brian Mattern [EMAIL PROTECTED]
babbled:

 On Wed, Apr 04, 2007 at 01:39:51PM +0900, Carsten Haitzler wrote:
  all in all this isnt a simple solution. the only way i see to handle both
  methods is to have 2 calls. 1 to add a point relative to origin and one to
  specify it absolutely.
 
 Two calls makes sense, but I think internally the point list should be
 relative to the object origin, and then convert to absolute coords at
 render time. This would allow us to do some sore of scaling based on
 object size (although some error would be introduced if the points were
 specified in abs coords). 

well the points need to be recorded when defined in some sort of given scaling
space. when scaled to a new size they need to be scaled on the fly using the
original scaling space. that way you won't get cumulative error either way - of
course all scaling does introduce error - you are transforming co-ords given a
discrete co-ordinate space :) but this would solve it - and same with line
objects too.

 Brian
 
 
 -
 Take Surveys. Earn Cash. Influence the Future of IT
 Join SourceForge.net's Techsay panel and you'll get the chance to share your
 opinions on IT  business topics through brief surveys-and earn cash
 http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
 


-- 
- Codito, ergo sum - I code, therefore I am --
The Rasterman (Carsten Haitzler)[EMAIL PROTECTED]
裸好多
Tokyo, Japan (東京 日本)

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT  business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [RFC] Events

2007-04-06 Thread The Rasterman
On Wed, 21 Mar 2007 17:45:43 +0100 Cedric BAIL [EMAIL PROTECTED] babbled:

i'll do this one first - it's less work than the sdl engine + cache + one :)

 Another discussion, this time about events. During my test of SDL engine, I 
 did like the key repeat functionnality of SDL, but it wasn't possible to 
 easily expose it to evas. So I just added a EVAS_CALLBACK_KEY_REPEAT with the 
 corresponding 'evas_event_feed_key_repeat'. It seems quite logic and work. 
 See evas_key_repeat.diff.

hmmm- is the point of this to send a key repeat event diferently to a normal
keydown/up - the reason i never had this is basically from the hardware or x
point of view - it's just more key down/up events. key repeat is done by the
keyboard controller - or if not inside x itself. x apps dont know it's a repeat
event. 

   I don't know what is the policy for adding new events, but SDL could
 also expose some Joystick events:
   SDL_JoyAxisEvent -- Joystick axis motion event structure
   SDL_JoyButtonEvent -- Joystick button event structure
   SDL_JoyHatEvent -- Joystick hat position change event structure
   SDL_JoyBallEvent -- Joystick trackball motion event structure
 Would people object if I come up with some evas event for this also ? This 
 would be nice, if an Ecore SDL was able to directly feed them to evas. But I 
 will understand that it's not the primary usage/goal of evas.

i wouldn't object at all. the evas events are intended to be extended and
become a superset of whatever input devices exist. if it makes sens to re-use
existing systems (key events or mouse) then use them (eg remote controls imho
should be key events). one thing i think i do need to do is exten evas and
ecore etc. events to allow for multiple mice and keyboards so you can tell
which one is which. this of course means an abi break - add members to structs,
but thats why we are still at 0.x :) so summary - yes. adding these is
perfectly fine.

   On the same subject, it would also be nice if we could handle
 multiple device easily in evas. From what I see, the only thing that is
 needed is a 'char* device' in all struct _Evas_Event and breaking all
 evas_event_feed functions prototype by adding a device parameter. The device
 could be set to NULL, so all existing code will still work with very few
 modification (mainly in ecore).
   Would people be interested/object to this kind of patch ?

yes - definitely. i think you need to actually do 2 things. you need to add an
typedef enum _Evas_Device_Class {
  EVAS_DEVICE_CLASS_MOUSE,
  EVAS_DEVICE_CLASS_KEYBOARD,
  /* Extend as needed */
} Evas_Device_Class;
typedef struct _Evas_Device Evas_Device;

struct _Evas_Device {
int version; /* starting version 1 */
int num; /* device number - guaranteed to always be there. the default device
is 0, but extra devices may be 1, 2, 3 etc. this is unique with the device class
so the first mouse is device 0, the 2nd is device 1. the first keyboard is
device 0, the second is device 1 etc. */
Evas_Device_Class clas; /* The class of device - EVAS_DEVICE_CLASS_MOUSE,
EVAS_DEVICE_CLASS_KEYBOARD etc. */
const char *name; /* This may not exist - or
may be synthesized. this only lets you get a better idea of the device (eg
Logitech Mouse or Microsoft Keyboard
- Natural Media etc.) */
/* NB: This structure may be extended in the future - version will indicate how
much it has extended */
};

then every event in evas that comes FROM a device add a

const Evas_Device *dev;

to the structure - this way in future we can extend the meaning of a device
without breaking event structs. (same with event feed calls)

of course we will need ways to add and delete devices from evas in general and
modify them, list them etc.

i.e.

Evas_Device *evas_device_add(void);
void evas_device_del(Evas_Device *dev);
const Evas_List *evas_device_list(void);
void evas_device_class_set(Evas_Device *dev, Evas_Device_Class clas);
void evas_device_name_set(Evas_Device *dev, const char *name);

etc.

it would be ecore_evas's job to init evas with at least basic devices (mouse,
keyboard - you can add joystick etc. to this too).

sound useful?

 Cedric
 


-- 
- Codito, ergo sum - I code, therefore I am --
The Rasterman (Carsten Haitzler)[EMAIL PROTECTED]
裸好多
Tokyo, Japan (東京 日本)

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT  business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel