[gcompris/gcomprixogoo] Added again the support for our goocanvas.Svg item on top of



commit bffa4323df9c327f4d242778b627c17b0275a8cb
Author: Bruno Coudoin <bruno coudoin free fr>
Date:   Mon Nov 16 00:56:58 2009 +0100

    Added again the support for our goocanvas.Svg item on top of
    the official pygoocanvas.
    This patch have to be apply on any new release comming from pygoocanvas.

 src/boards/goocanvas.c        |   52 +++++++++++++++++++++++++++++++++++++++++
 src/boards/goocanvas.defs     |   26 ++++++++++++++++++++
 src/boards/goocanvas.override |    1 +
 3 files changed, 79 insertions(+), 0 deletions(-)
---
diff --git a/src/boards/goocanvas.c b/src/boards/goocanvas.c
index 7136d93..78af596 100644
--- a/src/boards/goocanvas.c
+++ b/src/boards/goocanvas.c
@@ -221,6 +221,7 @@ PyTypeObject G_GNUC_INTERNAL PyGooCanvasGroupModel_Type;
 PyTypeObject G_GNUC_INTERNAL PyGooCanvasEllipseModel_Type;
 PyTypeObject G_GNUC_INTERNAL PyGooCanvasItemSimple_Type;
 PyTypeObject G_GNUC_INTERNAL PyGooCanvasImage_Type;
+PyTypeObject G_GNUC_INTERNAL PyGooCanvasSvg_Type;
 PyTypeObject G_GNUC_INTERNAL PyGooCanvasGroup_Type;
 PyTypeObject G_GNUC_INTERNAL PyGooCanvasEllipse_Type;
 PyTypeObject G_GNUC_INTERNAL PyGooCanvasPath_Type;
@@ -2606,6 +2607,55 @@ PyTypeObject G_GNUC_INTERNAL PyGooCanvasImage_Type = {
 
 
 
+/* ----------- GooCanvasSvg ----------- */
+
+PyTypeObject G_GNUC_INTERNAL PyGooCanvasSvg_Type = {
+    PyObject_HEAD_INIT(NULL)
+    0,                                 /* ob_size */
+    "goocanvas.Svg",                   /* tp_name */
+    sizeof(PyGObject),          /* tp_basicsize */
+    0,                                 /* tp_itemsize */
+    /* methods */
+    (destructor)0,        /* tp_dealloc */
+    (printfunc)0,                      /* tp_print */
+    (getattrfunc)0,       /* tp_getattr */
+    (setattrfunc)0,       /* tp_setattr */
+    (cmpfunc)0,           /* tp_compare */
+    (reprfunc)0,             /* tp_repr */
+    (PyNumberMethods*)0,     /* tp_as_number */
+    (PySequenceMethods*)0, /* tp_as_sequence */
+    (PyMappingMethods*)0,   /* tp_as_mapping */
+    (hashfunc)0,             /* tp_hash */
+    (ternaryfunc)0,          /* tp_call */
+    (reprfunc)0,              /* tp_str */
+    (getattrofunc)0,     /* tp_getattro */
+    (setattrofunc)0,     /* tp_setattro */
+    (PyBufferProcs*)0,  /* tp_as_buffer */
+    Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,                      /* tp_flags */
+    NULL,                        /* Documentation string */
+    (traverseproc)0,     /* tp_traverse */
+    (inquiry)0,             /* tp_clear */
+    (richcmpfunc)0,   /* tp_richcompare */
+    offsetof(PyGObject, weakreflist),             /* tp_weaklistoffset */
+    (getiterfunc)0,          /* tp_iter */
+    (iternextfunc)0,     /* tp_iternext */
+    (struct PyMethodDef*)NULL, /* tp_methods */
+    (struct PyMemberDef*)0,              /* tp_members */
+    (struct PyGetSetDef*)0,  /* tp_getset */
+    NULL,                              /* tp_base */
+    NULL,                              /* tp_dict */
+    (descrgetfunc)0,    /* tp_descr_get */
+    (descrsetfunc)0,    /* tp_descr_set */
+    offsetof(PyGObject, inst_dict),                 /* tp_dictoffset */
+    (initproc)0,             /* tp_init */
+    (allocfunc)0,           /* tp_alloc */
+    (newfunc)0,               /* tp_new */
+    (freefunc)0,             /* tp_free */
+    (inquiry)0              /* tp_is_gc */
+};
+
+
+
 /* ----------- GooCanvasGroup ----------- */
 
 PyTypeObject G_GNUC_INTERNAL PyGooCanvasGroup_Type = {
@@ -10662,6 +10712,8 @@ pygoocanvas_register_classes(PyObject *d)
     pyg_register_class_init(GOO_TYPE_CANVAS_ITEM_SIMPLE, __GooCanvasItemSimple_class_init);
     pygobject_register_class(d, "GooCanvasImage", GOO_TYPE_CANVAS_IMAGE, &PyGooCanvasImage_Type, Py_BuildValue("(O)", &PyGooCanvasItemSimple_Type));
     pyg_set_object_has_new_constructor(GOO_TYPE_CANVAS_IMAGE);
+    pygobject_register_class(d, "GooCanvasSvg", GOO_TYPE_CANVAS_SVG, &PyGooCanvasSvg_Type, Py_BuildValue("(O)", &PyGooCanvasItemSimple_Type));
+    pyg_set_object_has_new_constructor(GOO_TYPE_CANVAS_SVG);
     pygobject_register_class(d, "GooCanvasGroup", GOO_TYPE_CANVAS_GROUP, &PyGooCanvasGroup_Type, Py_BuildValue("(O)", &PyGooCanvasItemSimple_Type));
     pyg_set_object_has_new_constructor(GOO_TYPE_CANVAS_GROUP);
     pygobject_register_class(d, "GooCanvasEllipse", GOO_TYPE_CANVAS_ELLIPSE, &PyGooCanvasEllipse_Type, Py_BuildValue("(O)", &PyGooCanvasItemSimple_Type));
diff --git a/src/boards/goocanvas.defs b/src/boards/goocanvas.defs
index e534752..d23658b 100644
--- a/src/boards/goocanvas.defs
+++ b/src/boards/goocanvas.defs
@@ -67,6 +67,13 @@
   (gtype-id "GOO_TYPE_CANVAS_IMAGE")
 )
 
+(define-object Svg
+  (in-module "Goo")
+  (parent "GooCanvasItemSimple")
+  (c-name "GooCanvasSvg")
+  (gtype-id "GOO_TYPE_CANVAS_SVG")
+)
+
 (define-object Group
   (in-module "Goo")
   (parent "GooCanvasItemSimple")
@@ -765,6 +772,25 @@
 )
 
 
+;; From goocanvassvg.h
+
+(define-function goo_canvas_svg_get_type
+  (c-name "goo_canvas_svg_get_type")
+  (return-type "GType")
+)
+
+(define-function goo_canvas_svg_new
+  (c-name "goo_canvas_svg_new")
+  (is-constructor-of "GooCanvasSvg")
+  (return-type "GooCanvasItem*")
+  (parameters
+    '("GooCanvasItem*" "parent")
+    '("RsvgHandle*" "svg_handle")
+  )
+  (varargs #t)
+)
+
+
 
 ;; From goocanvasitem.h
 
diff --git a/src/boards/goocanvas.override b/src/boards/goocanvas.override
index 334a5ba..4f8be3f 100644
--- a/src/boards/goocanvas.override
+++ b/src/boards/goocanvas.override
@@ -219,6 +219,7 @@ goo_canvas_ellipse_new
 goo_canvas_ellipse_model_new
 goo_canvas_group_new
 goo_canvas_group_model_new
+goo_canvas_svg_new
 goo_canvas_image_new
 goo_canvas_image_model_new
 goo_canvas_path_new



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]