Ok, now for a proposed api for evas "vgfx objects" -- a very simple one, 
but
general enough to allow for the overwhelming majority of vgfx uses (and 
certainly
ones for most 'real-time' use in evas).

      Again, by evas "vgfx objects" we mean evas objects that can be "filled 
and/or
stroked" (eg. lines, rects, polys, paths, ... maybe text) with a color or a 
"texture"
(aka: a paint or pattern).


(1)  For "filling" of supported objs:
     *******************************

  void evas_object_fill_color_set(obj, r,g,b,a);
  void evas_object_fill_texture_set(obj, Evas_Object *texture_obj);

      Where 'texture_obj' is restricted to be an image or a gradient obj (no 
others
      for now). Also, no fill-texturing of an image or grad obj. I think I 
briefly
      explained the interpretation of this before - ie. image or grad objs are
      really equivalent to a simple rectangle being flled with image or grad 
texture,
      where the 'texture' part is given by fill geometries and such.. So, when 
these
      objects are set as texture_objs of vector objs, all general object 
properties
      are ignored and only the 'fill' properties are used - except that the fill
      geometries' coord system is now taken rel to the textured obj's origin.



(2)  For "stroking" of supported objs:
     ********************************

  void evas_object_stroke_color_set(obj, r,g,b,a);
  void evas_object_stroke_texture_set(obj, Evas_Object *texture_obj);

      These are similar to above for the fill.

  void evas_object_stroke_weight_set(obj, Evas_Coord weight);



(3)  For determining whether to fill and/or stroke supported objects:
     ***************************************************************

  void evas_object_draw_mode_set(obj, int draw_mode);

      Where 'draw_mode' is one of: EVAS_DRAW_STROKE, EVAS_DRAW_FILL, or
      EVAS_DRAW_STROKE_FILL.


      More api funcs can be added to obtain fuller vgfx support, but this is
actually a good chunk of it (just need a bit on cap styles, join styles, and
dashed-stroking, but not much else really that would be reasonable here).

      It doesn't cover the other proposed desire to change the polygon object
'points' api, nor does it cover a possible "path" object api (which I would
suggest be given in the same manner as that proposed for polys, ie. *set* a
"path description" which consists of some means of defining the path).
      Nor does it cover possibly setting (affine) transforms on the vertex-
geometries that might define such vgfx objects.. leave that for later.



(4)  Extensions to the current rectangle obj api:
     *******************************************

  void evas_object_rectangle_corner_radius_set(obj, float r);
  void evas_object_rectangle_corner_style_set(obj, int corner_style);

      Where 'corner_style' can be one of EVAS_CORNER_ROUND or EVAS_CORNER_BEVEL.


  void evas_object_rectangle_corners_set(obj, Evas_Bool tl, Evas_Bool tr,
                                              Evas_Bool bl, Evas_Bool br);

      The corners to apply the style to, or leave squared off (default).

      Rectangles can be filled and/or stroked, but the stroking will be defined
to increase inward - though one could also add an api for deciding whether to 
have
it centered on the rect, or increase inward or outward.



____________________________________________________________
Click to consolidate your debt in minutes, stop late or over-limit fees, pay 
less. 
http://thirdpartyoffers.juno.com/TGL2141/fc/Ioyw6i3m2bkjb956ElxjIhRRrqe1OG1E6WbsoH6rpBrTpg9m4hiCTW/

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to