Re: [E-devel] EFL and Webkit

2008-04-12 Thread The Rasterman
On Sat, 12 Apr 2008 01:53:16 -0400 Jose Gonzalez [EMAIL PROTECTED] babbled:

Carsten wrote:
 
 But what I was curious about was what exactly you had in mind
  with your:
 
  typedef struct _Evas_Native_Surface Evas_Native_Surface; 
  /** A generic datatype for engine specific
   native surface information */
 
  EAPI void
  evas_object_image_native_surface_set(Evas_Object *obj,
   Evas_Native_Surface *surf);
  EAPI Evas_Native_Surface *
  evas_object_image_native_surface_get(Evas_Object *obj);
  
 
  for example. if it's the GL engine u can set a GL texture ID directly as the
  image native surface (u will need to provide extra info like width/height,
  has alpha etc. in a small wrapper struct), or a pixmap / xrender picture
  for x11 (again need to provide some extra info like visual, format etc.).
  so evas will 
 
   Yeah, that's what I thought you meant - though there are other
 interpretations possible (eg. make a gl texture native surface work
 even with a software-x11 canvas, if glx is available, etc.).
 
 
  then take the target-specific native surface and just use it as if evas
  owned/created it itself. this is how u'd do a composite manager - xrender
  engine, you pass it pixmaps/xrender pictures for native sruface as images,
  you swallow images into containers and control them. on damage events u add
  update regions to the image. evas does the rest.
 

   What do you do if such a native surface is set and one asks
 for the argb data? What do you do about users setting native surfaces
 which don't match with the display targets somehow (differing x
 resources for example).
   I'd say - restrict native surface api to only have a 'get'
 func, ie. evas provides a suitable surface for you to draw to,
 but not for you to 'set' one such...?

that would preclude evas ever being useful for a composite manager - as X
itself provides you with the pixmap of the composited window. you don't have a
choice there.

-- 
- Codito, ergo sum - I code, therefore I am --
The Rasterman (Carsten Haitzler)[EMAIL PROTECTED]


-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] EFL and Webkit

2008-04-12 Thread Jose Gonzalez

   What do you do if such a native surface is set and one asks
 for the argb data? What do you do about users setting native surfaces
 which don't match with the display targets somehow (differing x
 resources for example).
   I'd say - restrict native surface api to only have a 'get'
 func, ie. evas provides a suitable surface for you to draw to,
 but not for you to 'set' one such...?
 

 that would preclude evas ever being useful for a composite manager - as X
 itself provides you with the pixmap of the composited window. you don't have a
 choice there.
   

  Ummm... Ok, but it would then seem as though this little piece
of native-surface image hell is going to be your fun and joy when
you get a chance sometime in the near future..?  :)


PS.
  I noticed you've been conspicuously quiet on the 'transforms/
filters' debate I've been putting poor Gustavo thru.. :)  I'd do it
but not with arbitrary clipping, using transforms (or filters) and
masks instead. But maybe it's better if others give it a shot.



-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] EFL and Webkit

2008-04-12 Thread The Rasterman
On Sat, 12 Apr 2008 03:15:46 -0400 Jose Gonzalez [EMAIL PROTECTED] babbled:

 
What do you do if such a native surface is set and one asks
  for the argb data? What do you do about users setting native surfaces
  which don't match with the display targets somehow (differing x
  resources for example).
I'd say - restrict native surface api to only have a 'get'
  func, ie. evas provides a suitable surface for you to draw to,
  but not for you to 'set' one such...?
  
 
  that would preclude evas ever being useful for a composite manager - as X
  itself provides you with the pixmap of the composited window. you don't
  have a choice there.

 
   Ummm... Ok, but it would then seem as though this little piece
 of native-surface image hell is going to be your fun and joy when
 you get a chance sometime in the near future..?  :)
 
 
 PS.
   I noticed you've been conspicuously quiet on the 'transforms/
 filters' debate I've been putting poor Gustavo thru.. :)  I'd do it
 but not with arbitrary clipping, using transforms (or filters) and
 masks instead. But maybe it's better if others give it a shot.

noticed i'm replying to old mails :) that thread is new... it needs some
queueing first :)


-- 
- Codito, ergo sum - I code, therefore I am --
The Rasterman (Carsten Haitzler)[EMAIL PROTECTED]


-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] EFL and Webkit

2008-04-11 Thread The Rasterman
On Mon, 10 Mar 2008 06:31:51 GMT [EMAIL PROTECTED] [EMAIL PROTECTED]
babbled:

 
   I have a question for you on this though: I imagined having
   'native surface' image obj api given in each of the engine headers,
   but you added a generic evas api for it.. What exactly do you have
   in mind here? eg. say with gl-textures?
  
  literally evas exposing the engine drawing routines for that engine -
  generalised tho. gl i would expose as a generic api from a evas-3d
  lib on top of a native surface, but it would just abstrait to either
  software mesa or direct hardware opengl, so it'd work in a software
  canvas, just slowly.
 
   Ummm I'm not sure I follow you here at all. What you've
 mentioned above seems far more reaching - not quite just dealing with
 implementing image obj 'native surfaces', which is what I was wondering
 about here.
   Maybe the other engine-ers (Cedric, Vincent, Gustavo) can give
 their own views here as well, but let me just be a bit more specific as
 to how I'd imagined this and see if it makes sense.

engines have draw functions, like draw line draw polygon draw image (src
rect, dest rect, scale mode) traw text with font X etc. etc. - these are
internal between evas's canvas core and the engines. this is not exposed. if a
smart object or Custom evas object can have access to these to draw - then
either they can draw to a surface (image) using them OR they can draw directly
to the canvas when an update render happens (and they get their paint()
callback called - doesn't exist now, but hypothetically).

   By 'native surfaces' I'd meant things like xrender pictures,
 gl textures (maybe pbuffers), sdl surfaces, etc. So, more like engine-
 renderer specific 'buffer surfaces'.

yup.

   One'd then have get/set functions for image objs of 'similar'
 evas engines (xrender-x11, gl-x11,...), along with various specialty
 funcs to query whatever extra stuff specific such 'surfaces' might
 have (eg. wether a gl texture is an nv-rect, its actual size, etc).
 Ideally, there would also be given a means to convert such surfaces
 to argb data (wether exposed or just internal).

all images at some point use a native surface. software engines share the
native surface with the original argb pixel data :)

   I'd imagined these funcs in each engine header, nothing at all
 in the general evas api, and one would implement the funcs in the
 engine modules, likely via the use of a new 'object function' to get
 an evas object's 'engine_data'.
 
   Or at least, that's more or less what I envisioned for these.
 
   Then go from there and build things like an evas-3D lib if
 desired.. possibly dependent on gl but able to render to any evas by
 say rendering to a gl buffer and getting argb data if need be, or some
 other way..
 
   But what I was curious about was what exactly you had in mind
 with your:
 
 typedef struct _Evas_Native_Surface Evas_Native_Surface; 
 /** A generic datatype for engine specific
  native surface information */
 
 EAPI void
 evas_object_image_native_surface_set(Evas_Object *obj,
  Evas_Native_Surface *surf);
 EAPI Evas_Native_Surface *
 evas_object_image_native_surface_get(Evas_Object *obj);

for example. if it's the GL engine u can set a GL texture ID directly as the
image native surface (u will need to provide extra info like width/height, has
alpha etc. in a small wrapper struct), or a pixmap / xrender picture for x11
(again need to provide some extra info like visual, format etc.). so evas will
then take the target-specific native surface and just use it as if evas
owned/created it itself. this is how u'd do a composite manager - xrender
engine, you pass it pixmaps/xrender pictures for native sruface as images, you
swallow images into containers and control them. on damage events u add update
regions to the image. evas does the rest.


-- 
- Codito, ergo sum - I code, therefore I am --
The Rasterman (Carsten Haitzler)[EMAIL PROTECTED]


-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] EFL and Webkit

2008-04-11 Thread Jose Gonzalez
   Carsten wrote:

  But what I was curious about was what exactly you had in mind
 with your:

 typedef struct _Evas_Native_Surface Evas_Native_Surface; 
 /** A generic datatype for engine specific
  native surface information */

 EAPI void
 evas_object_image_native_surface_set(Evas_Object *obj,
  Evas_Native_Surface *surf);
 EAPI Evas_Native_Surface *
 evas_object_image_native_surface_get(Evas_Object *obj);
 

 for example. if it's the GL engine u can set a GL texture ID directly as the
 image native surface (u will need to provide extra info like width/height, has
 alpha etc. in a small wrapper struct), or a pixmap / xrender picture for x11
 (again need to provide some extra info like visual, format etc.). so evas will
   

  Yeah, that's what I thought you meant - though there are other
interpretations possible (eg. make a gl texture native surface work
even with a software-x11 canvas, if glx is available, etc.).


 then take the target-specific native surface and just use it as if evas
 owned/created it itself. this is how u'd do a composite manager - xrender
 engine, you pass it pixmaps/xrender pictures for native sruface as images, you
 swallow images into containers and control them. on damage events u add update
 regions to the image. evas does the rest.

   
  What do you do if such a native surface is set and one asks
for the argb data? What do you do about users setting native surfaces
which don't match with the display targets somehow (differing x
resources for example).
  I'd say - restrict native surface api to only have a 'get'
func, ie. evas provides a suitable surface for you to draw to,
but not for you to 'set' one such...?




-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] EFL and Webkit

2008-03-10 Thread [EMAIL PROTECTED]

  I have a question for you on this though: I imagined having
  'native surface' image obj api given in each of the engine headers,
  but you added a generic evas api for it.. What exactly do you have
  in mind here? eg. say with gl-textures?
 
 literally evas exposing the engine drawing routines for that engine -
 generalised tho. gl i would expose as a generic api from a evas-3d
 lib on top of a native surface, but it would just abstrait to either
 software mesa or direct hardware opengl, so it'd work in a software
 canvas, just slowly.

Ummm I'm not sure I follow you here at all. What you've
mentioned above seems far more reaching - not quite just dealing with
implementing image obj 'native surfaces', which is what I was wondering
about here.
Maybe the other engine-ers (Cedric, Vincent, Gustavo) can give
their own views here as well, but let me just be a bit more specific as
to how I'd imagined this and see if it makes sense.

By 'native surfaces' I'd meant things like xrender pictures,
gl textures (maybe pbuffers), sdl surfaces, etc. So, more like engine-
renderer specific 'buffer surfaces'.
One'd then have get/set functions for image objs of 'similar'
evas engines (xrender-x11, gl-x11,...), along with various specialty
funcs to query whatever extra stuff specific such 'surfaces' might
have (eg. wether a gl texture is an nv-rect, its actual size, etc).
Ideally, there would also be given a means to convert such surfaces
to argb data (wether exposed or just internal).

I'd imagined these funcs in each engine header, nothing at all
in the general evas api, and one would implement the funcs in the
engine modules, likely via the use of a new 'object function' to get
an evas object's 'engine_data'.

Or at least, that's more or less what I envisioned for these.

Then go from there and build things like an evas-3D lib if
desired.. possibly dependent on gl but able to render to any evas by
say rendering to a gl buffer and getting argb data if need be, or some
other way..

But what I was curious about was what exactly you had in mind
with your:

typedef struct _Evas_Native_Surface Evas_Native_Surface; 
/** A generic datatype for engine specific
 native surface information */

EAPI void
evas_object_image_native_surface_set(Evas_Object *obj,
 Evas_Native_Surface *surf);
EAPI Evas_Native_Surface *
evas_object_image_native_surface_get(Evas_Object *obj);

_
Can't pay your bills?  Click here to learn about filing for bankruptcy.
http://thirdpartyoffers.juno.com/TGL2121/fc/Ioyw6i3nfvZ1HP2N7idMqB8psDhtwnNzca8Owk4iEEfc4EysHx9ahK/



-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] EFL and Webkit

2008-03-10 Thread Jose Gonzalez
Carsten Haitzler (The Rasterman) wrote:

  Either way, this would allow for engine-specific extensions
 for evas.. wrapping things adequately would allow for things like
 say an evas3D lib if really desired.

 sure. 3d INSIDE a 3d object i can deal with in evas :)


Exactly. Wrap things say a 3d-scene object and do your 3d stuff
'inside' such an object. One can do both immediate-mode and retained-
mode kinds of rendering to such a scene object. For the latter type,
one could have auxiliary 3d objects which must be 'bound' to such a
scene, with coordinates rel to the scene obj,... eg. a 3d-scene object
itself might be one such object that one could add to another, and
ideally all evas primitives would also be added to such a 3d-scene
object.
One can extend evas in various ways by suitably having such
objects which are like 'canvases' themselves that may support their
own kinds of rendering/object system... things like 3d, svg, html,
and many others are all possible in this way.


-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] EFL and Webkit

2008-03-09 Thread The Rasterman
On Thu, 6 Mar 2008 06:12:55 GMT [EMAIL PROTECTED] [EMAIL PROTECTED] babbled:

 
   Carsten wrote:
 
  ...  what would be the right way would be to allow new extended
  objects (smart objects) to set rendering calls - the same way
  evas internal objects do, and then do their own rendering.
  breaking this out to a nice public api would be really nice and
  allow for objects built on a non-stateful (immediate mode)
  rendering model to exist and be efficient without HAVING to render
  to a buffer. this would mean breaking out the engine drawing calls
  and surface creation/destruction etc. into evas api.
 
   Yeah, would be good to have. But just getting render-pre/post
 funcs for smarts, and implementing 'native surfaces' would be very
 desirable as well, since buffered drawing is *very* useful for many
 things. It's also easier to do, and needed in order to have engine-
 specific sub-canvases.

yup. i agree. native surface are important in the long run.

   Either way, this would allow for engine-specific extensions
 for evas.. wrapping things adequately would allow for things like
 say an evas3D lib if really desired.

sure. 3d INSIDE a 3d object i can deal with in evas :)

   I have a question for you on this though: I imagined having
 'native surface' image obj api given in each of the engine headers,
 but you added a generic evas api for it.. What exactly do you have
 in mind here? eg. say with gl-textures?

literally evas exposing the engine drawing routines for that engine -
generalised tho. gl i would expose as a generic api from a evas-3d lib on top
of a native surface, but it would just abstrait to either software mesa or
direct hardware opengl, so it'd work in a software canvas, just slowly.

   There must be plenty of gl addicts out there who would love
 to start doing their rtt 3D stuff with a gl-x11-evas. :)
 
 _
 Be your own boss today! Easy startup businesses. Click here.
 http://thirdpartyoffers.juno.com/TGL2121/fc/Ioyw6i3l5i5ETtM15PrOl2jcouG108VB7tTMRbBeTCnS8KunaIB3Dq/
 
 
 
 -
 This SF.net email is sponsored by: Microsoft
 Defy all challenges. Microsoft(R) Visual Studio 2008.
 http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
 ___
 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]


-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] EFL and Webkit

2008-03-09 Thread Veli Ogla Sungutay
http://arstechnica.com/news.ars/post/20080303-creating-rich-internet-applications-on-linux-with-webkit.html
Hmm


On Sun, Mar 9, 2008 at 6:23 PM, The Rasterman Carsten Haitzler 
[EMAIL PROTECTED] wrote:

 On Thu, 6 Mar 2008 06:12:55 GMT [EMAIL PROTECTED] [EMAIL PROTECTED]
 babbled:

 
Carsten wrote:
 
   ...  what would be the right way would be to allow new extended
   objects (smart objects) to set rendering calls - the same way
   evas internal objects do, and then do their own rendering.
   breaking this out to a nice public api would be really nice and
   allow for objects built on a non-stateful (immediate mode)
   rendering model to exist and be efficient without HAVING to render
   to a buffer. this would mean breaking out the engine drawing calls
   and surface creation/destruction etc. into evas api.
 
Yeah, would be good to have. But just getting render-pre/post
  funcs for smarts, and implementing 'native surfaces' would be very
  desirable as well, since buffered drawing is *very* useful for many
  things. It's also easier to do, and needed in order to have engine-
  specific sub-canvases.

 yup. i agree. native surface are important in the long run.

Either way, this would allow for engine-specific extensions
  for evas.. wrapping things adequately would allow for things like
  say an evas3D lib if really desired.

 sure. 3d INSIDE a 3d object i can deal with in evas :)

I have a question for you on this though: I imagined having
  'native surface' image obj api given in each of the engine headers,
  but you added a generic evas api for it.. What exactly do you have
  in mind here? eg. say with gl-textures?

 literally evas exposing the engine drawing routines for that engine -
 generalised tho. gl i would expose as a generic api from a evas-3d lib on
 top
 of a native surface, but it would just abstrait to either software mesa or
 direct hardware opengl, so it'd work in a software canvas, just slowly.

There must be plenty of gl addicts out there who would love
  to start doing their rtt 3D stuff with a gl-x11-evas. :)
 
  _
  Be your own boss today! Easy startup businesses. Click here.
 
 http://thirdpartyoffers.juno.com/TGL2121/fc/Ioyw6i3l5i5ETtM15PrOl2jcouG108VB7tTMRbBeTCnS8KunaIB3Dq/
 
 
 
 
 -
  This SF.net email is sponsored by: Microsoft
  Defy all challenges. Microsoft(R) Visual Studio 2008.
  http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
  ___
  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]


 -
 This SF.net email is sponsored by: Microsoft
 Defy all challenges. Microsoft(R) Visual Studio 2008.
 http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel




-- 
Veli Ogla Sungutay
http://gui-rd.org
-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] EFL and Webkit

2008-03-05 Thread Gustavo Sverzut Barbieri
On Wed, Mar 5, 2008 at 12:26 AM, The Rasterman Carsten Haitzler
[EMAIL PROTECTED] wrote:
 On Mon, 25 Feb 2008 23:50:41 -0300 Gustavo Sverzut Barbieri
  [EMAIL PROTECTED] babbled:



   On Mon, Feb 25, 2008 at 9:09 PM, raoul [EMAIL PROTECTED] wrote:
Hi there,
   
 I think there is a great stuff missing in efls, it's a web rendering
engine. The main purpose would be to have a full-efl based web browser. 
 But
also have some web rendering inside Evas/Edje based apps. This could 
 really
be awsome.
   
 I started to search how to have such capability and there are not many
 options. The first one could be to write our own, from scratch. This 
 would
 probably be a huge task to do. I don't think it's the way.
   
 The second idea is to use Webkit as the web engine. It seems to be a 
 good
 engine with great performance, compatibility and standards compliance.
 My idea would be to write an Evas smart object which will do the 
 rendering
 stuff using webkit and expose some nice functions to the user like
 load_url(), reload_page(), ...
 The rendering process will use Evas. I check a little the webkit code, 
 ans
it seems like it could be done. Perhaps some rendering part would need 
 some
Evas modifications, I don't know yet. But it should not be impossible to 
 do.
   
 Having all of that right into a new library (e_web?) could reallly be a
great improvement to Efl's power.
  
   Eh, you're not the first one to notice it :-)
  
   INdT is working on such a library. Albeit I did the initial route
   planing I couldn't keep a closer eye on it due heavy work on Canola2,
   but I think they have some progress on that. I'll try to ask what's
   the project status so far and possible a snapshot.
  
   As for implementation details, smart object is not the best option,
   actually using Evas as WebKit backend is not the best option around.
   Why? The major problem is that webkit is state-less, while evas is
   state-full. Also webkit requires just few primitives in order to
   render, you just have to implement the advanced primitives if you want
   SVG loader and Canvas support, other than that it just render simple
   (continuous, same font, effect, size...) text at some given position,
   rectangles and images... It does the layout, line breaking, ...
   So the best option is to draw to some buffer and use this as image
   data, then take care of event passing to this webkit engine. Using
   this solution have one major drawback: if you have some animation, it
   would require 2 blits instead of one (one to buffer, then from buffer
   to screen), but this allow you to play with primitives as scale, color
   modulation (fade out, colorize, ) and clip some regions.

  yeah - thats probably the best way to do it. the other way would be as an
  actual extension to evas and as a core object in evas. this would make evas
  dependent on webkit  what would be the right way would be to allow new 
 extended
  objects (smart objects) to set rendering calls - the same way evas internal
  objects do, and then do their own rendering. breaking this out to a nice 
 public
  api would be really nice and allow for objects built on a non-stateful
  (immediate mode) rendering model to exist and be efficient without HAVING to
  render to a buffer. this would mean breaking out the engine drawing calls and
  surface creation/destruction etc. into evas api.

  after that u can more easily implement a webkit object that draws natively
  really nicely and in theory could use hardware accel to do it with gl, 
 xrender
  etc. engines.

enesim to rescue!

that's our hope ;-)


-- 
Gustavo Sverzut Barbieri
http://ProFUSION.mobi
Embedded Systems
--
MSN: [EMAIL PROTECTED]
Skype: gsbarbieri
Mobile: +55 (81) 9927 0010

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] EFL and Webkit

2008-03-04 Thread The Rasterman
On Mon, 25 Feb 2008 23:50:41 -0300 Gustavo Sverzut Barbieri
[EMAIL PROTECTED] babbled:

 On Mon, Feb 25, 2008 at 9:09 PM, raoul [EMAIL PROTECTED] wrote:
  Hi there,
 
   I think there is a great stuff missing in efls, it's a web rendering
  engine. The main purpose would be to have a full-efl based web browser. But
  also have some web rendering inside Evas/Edje based apps. This could really
  be awsome.
 
   I started to search how to have such capability and there are not many
   options. The first one could be to write our own, from scratch. This would
   probably be a huge task to do. I don't think it's the way.
 
   The second idea is to use Webkit as the web engine. It seems to be a good
   engine with great performance, compatibility and standards compliance.
   My idea would be to write an Evas smart object which will do the rendering
   stuff using webkit and expose some nice functions to the user like
   load_url(), reload_page(), ...
   The rendering process will use Evas. I check a little the webkit code, ans
  it seems like it could be done. Perhaps some rendering part would need some
  Evas modifications, I don't know yet. But it should not be impossible to do.
 
   Having all of that right into a new library (e_web?) could reallly be a
  great improvement to Efl's power.
 
 Eh, you're not the first one to notice it :-)
 
 INdT is working on such a library. Albeit I did the initial route
 planing I couldn't keep a closer eye on it due heavy work on Canola2,
 but I think they have some progress on that. I'll try to ask what's
 the project status so far and possible a snapshot.
 
 As for implementation details, smart object is not the best option,
 actually using Evas as WebKit backend is not the best option around.
 Why? The major problem is that webkit is state-less, while evas is
 state-full. Also webkit requires just few primitives in order to
 render, you just have to implement the advanced primitives if you want
 SVG loader and Canvas support, other than that it just render simple
 (continuous, same font, effect, size...) text at some given position,
 rectangles and images... It does the layout, line breaking, ...
 So the best option is to draw to some buffer and use this as image
 data, then take care of event passing to this webkit engine. Using
 this solution have one major drawback: if you have some animation, it
 would require 2 blits instead of one (one to buffer, then from buffer
 to screen), but this allow you to play with primitives as scale, color
 modulation (fade out, colorize, ) and clip some regions.

yeah - thats probably the best way to do it. the other way would be as an
actual extension to evas and as a core object in evas. this would make evas
dependent on webkit  what would be the right way would be to allow new extended
objects (smart objects) to set rendering calls - the same way evas internal
objects do, and then do their own rendering. breaking this out to a nice public
api would be really nice and allow for objects built on a non-stateful
(immediate mode) rendering model to exist and be efficient without HAVING to
render to a buffer. this would mean breaking out the engine drawing calls and
surface creation/destruction etc. into evas api.

after that u can more easily implement a webkit object that draws natively
really nicely and in theory could use hardware accel to do it with gl, xrender
etc. engines.

-- 
- Codito, ergo sum - I code, therefore I am --
The Rasterman (Carsten Haitzler)[EMAIL PROTECTED]


-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] EFL and Webkit

2008-02-26 Thread raoul
Le mardi 26 février 2008, vous avez écrit :
 On Mon, Feb 25, 2008 at 9:09 PM, raoul [EMAIL PROTECTED] wrote:
  Hi there,
 
   I think there is a great stuff missing in efls, it's a web rendering
  engine. The main purpose would be to have a full-efl based web browser.
  But also have some web rendering inside Evas/Edje based apps. This could
  really be awsome.
 
   I started to search how to have such capability and there are not many
   options. The first one could be to write our own, from scratch. This
  would probably be a huge task to do. I don't think it's the way.
 
   The second idea is to use Webkit as the web engine. It seems to be a
  good engine with great performance, compatibility and standards
  compliance. My idea would be to write an Evas smart object which will do
  the rendering stuff using webkit and expose some nice functions to the
  user like load_url(), reload_page(), ...
   The rendering process will use Evas. I check a little the webkit code,
  ans it seems like it could be done. Perhaps some rendering part would
  need some Evas modifications, I don't know yet. But it should not be
  impossible to do.
 
   Having all of that right into a new library (e_web?) could reallly be a
  great improvement to Efl's power.

 Eh, you're not the first one to notice it :-)

 INdT is working on such a library. Albeit I did the initial route
 planing I couldn't keep a closer eye on it due heavy work on Canola2,
 but I think they have some progress on that. I'll try to ask what's
 the project status so far and possible a snapshot.
Great! I'm really interested in that project.

 As for implementation details, smart object is not the best option,
 actually using Evas as WebKit backend is not the best option around.
 Why? The major problem is that webkit is state-less, while evas is
 state-full. Also webkit requires just few primitives in order to
 render, you just have to implement the advanced primitives if you want
 SVG loader and Canvas support, other than that it just render simple
 (continuous, same font, effect, size...) text at some given position,
 rectangles and images... It does the layout, line breaking, ...
 So the best option is to draw to some buffer and use this as image
 data, then take care of event passing to this webkit engine. Using
 this solution have one major drawback: if you have some animation, it
 would require 2 blits instead of one (one to buffer, then from buffer
 to screen), but this allow you to play with primitives as scale, color
 modulation (fade out, colorize, ) and clip some regions.


-- 

Raoul Hecky


-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] EFL and Webkit

2008-02-25 Thread Gustavo Sverzut Barbieri
On Mon, Feb 25, 2008 at 9:09 PM, raoul [EMAIL PROTECTED] wrote:
 Hi there,

  I think there is a great stuff missing in efls, it's a web rendering engine.
  The main purpose would be to have a full-efl based web browser. But also have
  some web rendering inside Evas/Edje based apps. This could really be awsome.

  I started to search how to have such capability and there are not many
  options. The first one could be to write our own, from scratch. This would
  probably be a huge task to do. I don't think it's the way.

  The second idea is to use Webkit as the web engine. It seems to be a good
  engine with great performance, compatibility and standards compliance.
  My idea would be to write an Evas smart object which will do the rendering
  stuff using webkit and expose some nice functions to the user like
  load_url(), reload_page(), ...
  The rendering process will use Evas. I check a little the webkit code, ans it
  seems like it could be done. Perhaps some rendering part would need some Evas
  modifications, I don't know yet. But it should not be impossible to do.

  Having all of that right into a new library (e_web?) could reallly be a great
  improvement to Efl's power.

Eh, you're not the first one to notice it :-)

INdT is working on such a library. Albeit I did the initial route
planing I couldn't keep a closer eye on it due heavy work on Canola2,
but I think they have some progress on that. I'll try to ask what's
the project status so far and possible a snapshot.

As for implementation details, smart object is not the best option,
actually using Evas as WebKit backend is not the best option around.
Why? The major problem is that webkit is state-less, while evas is
state-full. Also webkit requires just few primitives in order to
render, you just have to implement the advanced primitives if you want
SVG loader and Canvas support, other than that it just render simple
(continuous, same font, effect, size...) text at some given position,
rectangles and images... It does the layout, line breaking, ...
So the best option is to draw to some buffer and use this as image
data, then take care of event passing to this webkit engine. Using
this solution have one major drawback: if you have some animation, it
would require 2 blits instead of one (one to buffer, then from buffer
to screen), but this allow you to play with primitives as scale, color
modulation (fade out, colorize, ) and clip some regions.

-- 
Gustavo Sverzut Barbieri
--
Jabber: [EMAIL PROTECTED]
   MSN: [EMAIL PROTECTED]
  ICQ#: 17249123
 Skype: gsbarbieri
Mobile: +55 (81) 9927 0010

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] EFL and Webkit

2008-02-25 Thread [EMAIL PROTECTED]

 As for implementation details, smart object is not the best option,
 actually using Evas as WebKit backend is not the best option around.
 ...
 ...
 So the best option is to draw to some buffer and use this as image
 data, then take care of event passing to this webkit engine. Using
 ...

Using smart objects has nothing to do with using evas built-in
primitives. A smart object, along with render-pre/post functions for
smart classes, may actually be your 'best' way to wrap that image
object to which you're setting the data - you would do your rendering
to the image data in the smart parent's render-pre function, and keep
any relevant state as part of your smart data.
With render-pre/post functions you could restrict any drawing
to the image data to when evas renders, redrawing only what areas need
it, and adding only those updates to the image object.

Alternatively, you can use buffer engine and a sub-canvas
as in done in ecore.

Yes, these are all doublle-buffered solutions, which has both
good and bad aspects... it's at its worst when things are constantly
animated.

But these are not going to be 'accelerated' solutions without
support for 'native surfaces' in evas image objects.

_
Click for free info on business schools, $150K/ year potential.
http://thirdpartyoffers.juno.com/TGL2121/fc/Ioyw6i3l7gMa49rDXuDBBJYXBgZ8bIpq5pi4CGeUjC3brt3TlCDbXS/



-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel