kuuko pushed a commit to branch master.

commit aef22ccc50ed322e8fe21c707788061bac111bda
Author: Kai Huuhko <[email protected]>
Date:   Sun Apr 7 23:11:50 2013 +0000

    Evas: Add code for Textgrid, compiles but not tested.
---
 TODO                  |  1 +
 efl/evas/efl.evas.pyx |  1 +
 include/efl.evas.pxd  | 39 ++++++++++++++++++++++++++++++++++++++-
 include/efl.pxd       |  3 +++
 4 files changed, 43 insertions(+), 1 deletion(-)

diff --git a/TODO b/TODO
index 1619741..15bd0ad 100644
--- a/TODO
+++ b/TODO
@@ -37,6 +37,7 @@ TODO
 * Add more documentation for the use of callbacks
 * Document our use of exceptions
 * evas.TextGrid
+* Split Evas to individual modules
 
 
 IMAGES
diff --git a/efl/evas/efl.evas.pyx b/efl/evas/efl.evas.pyx
index 084254e..32d28c9 100644
--- a/efl/evas/efl.evas.pyx
+++ b/efl/evas/efl.evas.pyx
@@ -320,6 +320,7 @@ include "efl.evas_object_polygon.pxi"
 include "efl.evas_object_text.pxi"
 include "efl.evas_object_textblock.pxi"
 include "efl.evas_object_box.pxi"
+include "object_textgrid.pxi"
 
 
 init()
diff --git a/include/efl.evas.pxd b/include/efl.evas.pxd
index 500fe35..8b60a5e 100644
--- a/include/efl.evas.pxd
+++ b/include/efl.evas.pxd
@@ -23,7 +23,8 @@ from efl.c_eo cimport const_Eo_Class
 from efl.evas.enums cimport Evas_Event_Flags, Evas_Button_Flags, \
     Evas_Font_Hinting_Flags, Evas_Aspect_Control, Evas_Render_Op, \
     Evas_Callback_Type, Evas_Object_Pointer_Mode, Evas_Colorspace, \
-    Evas_Text_Style_Type, Evas_Textblock_Text_Type
+    Evas_Text_Style_Type, Evas_Textblock_Text_Type, \
+    Evas_Textgrid_Palette, Evas_Textgrid_Font_Style
 
 cdef extern from "Evas.h":
     ####################################################################
@@ -804,6 +805,42 @@ cdef extern from "Evas.h":
     void            evas_map_point_color_get(const_Evas_Map *m, int idx, int 
*r, int *g, int *b, int *a)
 
 
+    ####################################################################
+    # Textgrid
+    #
+
+    # The values that describes each cell.
+    ctypedef struct Evas_Textgrid_Cell:
+        Eina_Unicode   codepoint      # the UNICODE value of the character */
+        unsigned char  fg             # the index of the palette for the 
foreground color */
+        unsigned char  bg             # the index of the palette for the 
background color */
+        unsigned short bold           # whether the character is bold */
+        unsigned short italic         # whether the character is oblique */
+        unsigned short underline      # whether the character is underlined */
+        unsigned short strikethrough  # whether the character is 
strikethrough'ed */
+        unsigned short fg_extended    # whether the extended palette is used 
for the foreground color */
+        unsigned short bg_extended    # whether the extended palette is used 
for the background color */
+        unsigned short double_width   # if the codepoint is merged with the 
following cell to the right visually (cells must be in pairs with 2nd cell 
being a duplicate in all ways except codepoint is 0) */
+
+    Evas_Object *evas_object_textgrid_add(Evas *e)
+    void evas_object_textgrid_size_set(Evas_Object *obj, int w, int h)
+    void evas_object_textgrid_size_get(const_Evas_Object *obj, int *w, int *h)
+    void evas_object_textgrid_font_source_set(Evas_Object *obj, const char 
*font_source)
+    const char *evas_object_textgrid_font_source_get(const_Evas_Object *obj)
+    void evas_object_textgrid_font_set(Evas_Object *obj, const char 
*font_name, Evas_Font_Size font_size)
+    void evas_object_textgrid_font_get(const_Evas_Object *obj, const char 
**font_name, Evas_Font_Size *font_size)
+    void evas_object_textgrid_cell_size_get(const_Evas_Object *obj, Evas_Coord 
*w, Evas_Coord *h)
+    void evas_object_textgrid_palette_set(Evas_Object *obj, 
Evas_Textgrid_Palette pal, int idx, int r, int g, int b, int a)
+    void evas_object_textgrid_palette_get(const_Evas_Object *obj, 
Evas_Textgrid_Palette pal, int idx, int *r, int *g, int *b, int *a)
+
+    void evas_object_textgrid_supported_font_styles_set(Evas_Object *obj, 
Evas_Textgrid_Font_Style styles)
+    Evas_Textgrid_Font_Style 
evas_object_textgrid_supported_font_styles_get(const_Evas_Object *obj)
+
+    void evas_object_textgrid_cellrow_set(Evas_Object *obj, int y, const 
Evas_Textgrid_Cell *row)
+    Evas_Textgrid_Cell *evas_object_textgrid_cellrow_get(const_Evas_Object 
*obj, int y)
+    void evas_object_textgrid_update_add(Evas_Object *obj, int x, int y, int 
w, int h)
+
+
 ####################################################################
 # Python classes
 #
diff --git a/include/efl.pxd b/include/efl.pxd
index 6b112f2..0dd7810 100644
--- a/include/efl.pxd
+++ b/include/efl.pxd
@@ -59,6 +59,9 @@ cdef extern from "Eina.h":
     ctypedef unsigned char Eina_Bool
     ctypedef int Eina_Error
     ctypedef const_char Eina_Stringshare
+    # This is actually either wchar_t or uint32_t, Cython
+    # should use an appropriate integer automatically
+    ctypedef int Eina_Unicode
 
     ####################################################################
     # Structures

-- 

------------------------------------------------------------------------------
Minimize network downtime and maximize team effectiveness.
Reduce network management and security costs.Learn how to hire 
the most talented Cisco Certified professionals. Visit the 
Employer Resources Portal
http://www.cisco.com/web/learning/employer_resources/index.html

Reply via email to