gcompris r3471 - branches/gcomprixogoo/src/boards
- From: bcoudoin svn gnome org
- To: svn-commits-list gnome org
- Subject: gcompris r3471 - branches/gcomprixogoo/src/boards
- Date: Sun, 6 Jul 2008 14:02:04 +0000 (UTC)
Author: bcoudoin
Date: Sun Jul 6 14:02:04 2008
New Revision: 3471
URL: http://svn.gnome.org/viewvc/gcompris?rev=3471&view=rev
Log:
Synced our internal pygoocanvas with pygoocanvas trunk#222.
This brings the ability to read Points this way:
points = goocanvas.Points([(1 , 1), (2 , 2)])
print points.coords
print points.num_points
Modified:
branches/gcomprixogoo/src/boards/goocanvas.c
Modified: branches/gcomprixogoo/src/boards/goocanvas.c
==============================================================================
--- branches/gcomprixogoo/src/boards/goocanvas.c (original)
+++ branches/gcomprixogoo/src/boards/goocanvas.c Sun Jul 6 14:02:04 2008
@@ -326,6 +326,49 @@
#line 327 "goocanvas.c"
+#line 1880 "goocanvas.override"
+
+static PyObject *
+_wrap_goo_canvas_points__get_coords(PyObject *self, void *closure)
+{
+ gdouble *coords;
+ int num_points, i;
+ PyObject *ret = Py_None;
+
+ num_points = pyg_boxed_get(self, GooCanvasPoints)->num_points;
+ coords = pyg_boxed_get(self, GooCanvasPoints)->coords;
+
+ if (num_points > 0) {
+ ret = PyList_New(num_points);
+
+ for (i = 0; i < num_points; i ++) {
+ PyObject *py_temp = Py_BuildValue("dd", coords[2*i], coords[2*i + 1]);
+ PyList_SetItem(ret, i, py_temp);
+ }
+ return ret;
+ }
+ Py_INCREF(ret);
+ return ret;
+}
+
+#line 355 "goocanvas.c"
+
+
+static PyObject *
+_wrap_goo_canvas_points__get_num_points(PyObject *self, void *closure)
+{
+ int ret;
+
+ ret = pyg_boxed_get(self, GooCanvasPoints)->num_points;
+ return PyInt_FromLong(ret);
+}
+
+static const PyGetSetDef goo_canvas_points_getsets[] = {
+ { "coords", (getter)_wrap_goo_canvas_points__get_coords, (setter)0 },
+ { "num_points", (getter)_wrap_goo_canvas_points__get_num_points, (setter)0 },
+ { NULL, (getter)0, (setter)0 },
+};
+
PyTypeObject G_GNUC_INTERNAL PyGooCanvasPoints_Type = {
PyObject_HEAD_INIT(NULL)
0, /* ob_size */
@@ -358,7 +401,7 @@
(iternextfunc)0, /* tp_iternext */
(struct PyMethodDef*)NULL, /* tp_methods */
(struct PyMemberDef*)0, /* tp_members */
- (struct PyGetSetDef*)0, /* tp_getset */
+ (struct PyGetSetDef*)goo_canvas_points_getsets, /* tp_getset */
NULL, /* tp_base */
NULL, /* tp_dict */
(descrgetfunc)0, /* tp_descr_get */
@@ -412,7 +455,7 @@
self->free_on_dealloc = TRUE;
return 0;
}
-#line 416 "goocanvas.c"
+#line 459 "goocanvas.c"
PyTypeObject G_GNUC_INTERNAL PyGooCanvasLineDash_Type = {
@@ -602,7 +645,7 @@
return ret;
}
-#line 606 "goocanvas.c"
+#line 649 "goocanvas.c"
#line 1469 "goocanvas.override"
@@ -643,7 +686,7 @@
return ret;
}
-#line 647 "goocanvas.c"
+#line 690 "goocanvas.c"
static PyObject *
@@ -683,7 +726,7 @@
return Py_BuildValue("dddd", left, right, top, bottom);
}
-#line 687 "goocanvas.c"
+#line 730 "goocanvas.c"
static PyObject *
@@ -768,7 +811,7 @@
return Py_BuildValue("dd", x, y);
}
-#line 772 "goocanvas.c"
+#line 815 "goocanvas.c"
#line 556 "goocanvas.override"
@@ -786,7 +829,7 @@
return Py_BuildValue("dd", x, y);
}
-#line 790 "goocanvas.c"
+#line 833 "goocanvas.c"
#line 572 "goocanvas.override"
@@ -805,7 +848,7 @@
return Py_BuildValue("dd", x, y);
}
-#line 809 "goocanvas.c"
+#line 852 "goocanvas.c"
#line 589 "goocanvas.override"
@@ -824,7 +867,7 @@
return Py_BuildValue("dd", x, y);
}
-#line 828 "goocanvas.c"
+#line 871 "goocanvas.c"
static PyObject *
@@ -903,17 +946,19 @@
return Py_None;
}
+#line 2029 "goocanvas.override"
static PyObject *
_wrap_goo_canvas_create_cairo_context(PyGObject *self)
{
cairo_t *ret;
-
ret = goo_canvas_create_cairo_context(GOO_CANVAS(self->obj));
cairo_reference(ret);
- return PycairoContext_FromContext(ret, NULL, NULL);
+ return PycairoContext_FromContext(ret, &PyGdkCairoContext_Type, NULL);
}
+#line 961 "goocanvas.c"
+
static PyObject *
_wrap_goo_canvas_create_item(PyGObject *self, PyObject *args, PyObject *kwargs)
@@ -1698,7 +1743,7 @@
return py_bounds;
}
-#line 1702 "goocanvas.c"
+#line 1747 "goocanvas.c"
static PyObject *
@@ -1958,7 +2003,7 @@
return 0;
}
-#line 1962 "goocanvas.c"
+#line 2007 "goocanvas.c"
static PyObject *
@@ -1983,7 +2028,7 @@
return 0;
}
-#line 1987 "goocanvas.c"
+#line 2032 "goocanvas.c"
static PyObject *
@@ -2008,7 +2053,7 @@
return 0;
}
-#line 2012 "goocanvas.c"
+#line 2057 "goocanvas.c"
static PyObject *
@@ -2033,7 +2078,7 @@
return 0;
}
-#line 2037 "goocanvas.c"
+#line 2082 "goocanvas.c"
static PyObject *
@@ -2064,7 +2109,7 @@
return pygoo_canvas_bounds_new(&GOO_CANVAS_ITEM_SIMPLE(pygobject_get(self))->bounds);
}
-#line 2068 "goocanvas.c"
+#line 2113 "goocanvas.c"
static const PyGetSetDef goo_canvas_item_simple_getsets[] = {
@@ -2930,7 +2975,7 @@
return _py_canvas_style_get_property(GOO_CANVAS_STYLE(self->obj), name);
}
-#line 2934 "goocanvas.c"
+#line 2979 "goocanvas.c"
#line 730 "goocanvas.override"
@@ -2950,7 +2995,7 @@
return Py_None;
}
-#line 2954 "goocanvas.c"
+#line 2999 "goocanvas.c"
static PyObject *
@@ -3037,7 +3082,7 @@
(objobjargproc) _wrap_goo_canvas_style_ass_subscript, /* objobjargproc mp_ass_subscript; */
};
-#line 3041 "goocanvas.c"
+#line 3086 "goocanvas.c"
PyTypeObject G_GNUC_INTERNAL PyGooCanvasStyle_Type = {
@@ -3203,7 +3248,7 @@
logical_rect.width, logical_rect.height);
}
-#line 3207 "goocanvas.c"
+#line 3252 "goocanvas.c"
static const PyMethodDef _PyGooCanvasText_methods[] = {
@@ -3461,7 +3506,7 @@
Py_INCREF(Py_None);
return Py_None;
}
-#line 3465 "goocanvas.c"
+#line 3510 "goocanvas.c"
#line 1708 "goocanvas.override"
@@ -3520,7 +3565,7 @@
return ret;
}
-#line 3524 "goocanvas.c"
+#line 3569 "goocanvas.c"
#line 1650 "goocanvas.override"
@@ -3580,7 +3625,7 @@
return Py_None;
}
-#line 3584 "goocanvas.c"
+#line 3629 "goocanvas.c"
#line 921 "goocanvas.override"
@@ -3664,7 +3709,7 @@
return tuple;
}
-#line 3668 "goocanvas.c"
+#line 3713 "goocanvas.c"
#line 839 "goocanvas.override"
@@ -3748,28 +3793,39 @@
return Py_None;
}
-#line 3752 "goocanvas.c"
+#line 3797 "goocanvas.c"
+#line 1950 "goocanvas.override"
static PyObject *
-_wrap_goo_canvas_item_get_transform_for_child(PyGObject *self, PyObject *args, PyObject *kwargs)
+_wrap_goo_canvas_item_get_transform_for_child(PyGObject *self,
+ PyObject *args,
+ PyObject *kwargs)
{
- static char *kwlist[] = { "child", "transform", NULL };
+ static char *kwlist[] = { "child", NULL };
PyGObject *child;
- PyObject *py_transform;
int ret;
- cairo_matrix_t *transform;
+ cairo_matrix_t *transform = NULL;
- if (!PyArg_ParseTupleAndKeywords(args, kwargs,"O!O:GooCanvasItem.get_transform_for_child", kwlist, &PyGooCanvasItem_Type, &child, &py_transform))
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+ "O!:GooCanvasItem.get_transform_for_child",
+ kwlist, &PyGooCanvasItem_Type, &child))
return NULL;
- transform = &((PycairoMatrix*)(py_transform))->matrix;
- ret = goo_canvas_item_get_transform_for_child(GOO_CANVAS_ITEM(self->obj), GOO_CANVAS_ITEM(child->obj), transform);
+ ret = goo_canvas_item_get_transform_for_child(GOO_CANVAS_ITEM(self->obj),
+ GOO_CANVAS_ITEM(child->obj),
+ transform);
- return PyBool_FromLong(ret);
-
+ if (ret)
+ return PycairoMatrix_FromMatrix(transform);
+ else
+ Py_INCREF(Py_None);
+ return Py_None;
}
+#line 3827 "goocanvas.c"
+
+
static PyObject *
_wrap_goo_canvas_item_get_canvas(PyGObject *self)
{
@@ -3909,19 +3965,26 @@
return matrix;
}
-#line 3913 "goocanvas.c"
+#line 3969 "goocanvas.c"
+#line 1978 "goocanvas.override"
static PyObject *
-_wrap_goo_canvas_item_set_transform(PyGObject *self, PyObject *args, PyObject *kwargs)
+_wrap_goo_canvas_item_set_transform(PyGObject *self,
+ PyObject *args,
+ PyObject *kwargs)
{
static char *kwlist[] = { "matrix", NULL };
PyObject *py_matrix;
- cairo_matrix_t *matrix;
+ cairo_matrix_t *matrix = NULL;
- if (!PyArg_ParseTupleAndKeywords(args, kwargs,"O:GooCanvasItem.set_transform", kwlist, &py_matrix))
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+ "O:GooCanvasItem.set_transform",
+ kwlist, &py_matrix))
return NULL;
- matrix = &((PycairoMatrix*)(py_matrix))->matrix;
+
+ if (py_matrix && (py_matrix != Py_None))
+ matrix = &((PycairoMatrix*)(py_matrix))->matrix;
goo_canvas_item_set_transform(GOO_CANVAS_ITEM(self->obj), matrix);
@@ -3929,6 +3992,9 @@
return Py_None;
}
+#line 3996 "goocanvas.c"
+
+
#line 1624 "goocanvas.override"
static PyObject *
_wrap_goo_canvas_item_get_simple_transform(PyGObject *self)
@@ -3941,7 +4007,7 @@
return Py_BuildValue("dddd", x, y, scale, rotation);
}
-#line 3945 "goocanvas.c"
+#line 4011 "goocanvas.c"
static PyObject *
@@ -4105,7 +4171,7 @@
return py_bounds;
}
-#line 4109 "goocanvas.c"
+#line 4175 "goocanvas.c"
#line 1508 "goocanvas.override"
@@ -4145,7 +4211,7 @@
return ret;
}
-#line 4149 "goocanvas.c"
+#line 4215 "goocanvas.c"
static PyObject *
@@ -4207,23 +4273,29 @@
return Py_None;
}
+#line 1929 "goocanvas.override"
static PyObject *
_wrap_goo_canvas_item_update(PyGObject *self, PyObject *args, PyObject *kwargs)
{
- static char *kwlist[] = { "entire_tree", "cr", "bounds", NULL };
- int entire_tree;
- PyObject *py_bounds;
- PycairoContext *cr;
+ static char *kwlist[] = { "entire_tree", "cr", NULL };
+ int entire_tree;
+ PycairoContext *cr;
+ GooCanvasBounds bounds;
- if (!PyArg_ParseTupleAndKeywords(args, kwargs,"iO!O!:GooCanvasItem.update", kwlist, &entire_tree, &PycairoContext_Type, &cr, &PyGooCanvasBounds_Type, &py_bounds))
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs,"iO!:GooCanvasItem.update",
+ kwlist, &entire_tree,
+ &PycairoContext_Type, &cr))
return NULL;
- goo_canvas_item_update(GOO_CANVAS_ITEM(self->obj), entire_tree, cr->ctx, (py_bounds == NULL)? NULL : &((PyGooCanvasBounds *) py_bounds)->bounds);
+ goo_canvas_item_update(GOO_CANVAS_ITEM(self->obj), entire_tree,
+ cr->ctx, &bounds);
- Py_INCREF(Py_None);
- return Py_None;
+ return pygoo_canvas_bounds_new(&bounds);
}
+#line 4297 "goocanvas.c"
+
+
static PyObject *
_wrap_goo_canvas_item_paint(PyGObject *self, PyObject *args, PyObject *kwargs)
{
@@ -4246,23 +4318,31 @@
return Py_None;
}
+#line 1906 "goocanvas.override"
static PyObject *
-_wrap_goo_canvas_item_get_requested_area(PyGObject *self, PyObject *args, PyObject *kwargs)
+_wrap_goo_canvas_item_get_requested_area(PyGObject *self,
+ PyObject *args,
+ PyObject *kwargs)
{
- static char *kwlist[] = { "cr", "requested_area", NULL };
- PyObject *py_requested_area;
- int ret;
- PycairoContext *cr;
+ static char *kwlist[] = { "cr", NULL };
+ int ret;
+ GooCanvasBounds bounds;
+ PycairoContext *cr;
- if (!PyArg_ParseTupleAndKeywords(args, kwargs,"O!O!:GooCanvasItem.get_requested_area", kwlist, &PycairoContext_Type, &cr, &PyGooCanvasBounds_Type, &py_requested_area))
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+ "O!:GooCanvasItem.get_requested_area",
+ kwlist, &PycairoContext_Type, &cr))
return NULL;
- ret = goo_canvas_item_get_requested_area(GOO_CANVAS_ITEM(self->obj), cr->ctx, (py_requested_area == NULL)? NULL : &((PyGooCanvasBounds *) py_requested_area)->bounds);
+ ret = goo_canvas_item_get_requested_area(GOO_CANVAS_ITEM(self->obj),
+ cr->ctx, &bounds);
- return PyBool_FromLong(ret);
-
+ return pygoo_canvas_bounds_new(&bounds);
}
+#line 4344 "goocanvas.c"
+
+
static PyObject *
_wrap_goo_canvas_item_get_requested_height(PyGObject *self, PyObject *args, PyObject *kwargs)
{
@@ -4335,7 +4415,7 @@
return pyg_param_spec_new(pspec);
}
-#line 4339 "goocanvas.c"
+#line 4419 "goocanvas.c"
#line 1291 "goocanvas.override"
@@ -4379,7 +4459,7 @@
return list;
}
-#line 4383 "goocanvas.c"
+#line 4463 "goocanvas.c"
#line 1385 "goocanvas.override"
@@ -4433,7 +4513,7 @@
return Py_None;
}
-#line 4437 "goocanvas.c"
+#line 4517 "goocanvas.c"
static PyObject *
@@ -6120,7 +6200,7 @@
Py_XDECREF(py_bounds);
pyg_gil_state_release(__py_state);
}
-#line 6124 "goocanvas.c"
+#line 6204 "goocanvas.c"
#line 633 "goocanvas.override"
@@ -6153,7 +6233,7 @@
pyg_gil_state_release(__py_state);
}
-#line 6157 "goocanvas.c"
+#line 6237 "goocanvas.c"
static void
@@ -7978,7 +8058,8 @@
return ret;
}
-#line 7982 "goocanvas.c"
+
+#line 8063 "goocanvas.c"
#line 1765 "goocanvas.override"
@@ -8038,7 +8119,7 @@
return Py_None;
}
-#line 8042 "goocanvas.c"
+#line 8123 "goocanvas.c"
#line 1084 "goocanvas.override"
@@ -8123,7 +8204,7 @@
return tuple;
}
-#line 8127 "goocanvas.c"
+#line 8208 "goocanvas.c"
#line 1003 "goocanvas.override"
@@ -8206,7 +8287,7 @@
return Py_None;
}
-#line 8210 "goocanvas.c"
+#line 8291 "goocanvas.c"
static PyObject *
@@ -8308,26 +8389,37 @@
return matrix;
}
-#line 8312 "goocanvas.c"
+#line 8393 "goocanvas.c"
+#line 2003 "goocanvas.override"
static PyObject *
-_wrap_goo_canvas_item_model_set_transform(PyGObject *self, PyObject *args, PyObject *kwargs)
+_wrap_goo_canvas_item_model_set_transform(PyGObject *self,
+ PyObject *args,
+ PyObject *kwargs)
{
static char *kwlist[] = { "matrix", NULL };
PyObject *py_matrix;
- cairo_matrix_t *matrix;
+ cairo_matrix_t *matrix = NULL;
- if (!PyArg_ParseTupleAndKeywords(args, kwargs,"O:GooCanvasItemModel.set_transform", kwlist, &py_matrix))
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+ "O:GooCanvasItemModel.set_transform",
+ kwlist, &py_matrix))
return NULL;
- matrix = &((PycairoMatrix*)(py_matrix))->matrix;
- goo_canvas_item_model_set_transform(GOO_CANVAS_ITEM_MODEL(self->obj), matrix);
+ if (py_matrix && (py_matrix != Py_None))
+ matrix = &((PycairoMatrix*)(py_matrix))->matrix;
+
+ goo_canvas_item_model_set_transform(GOO_CANVAS_ITEM_MODEL(self->obj),
+ matrix);
Py_INCREF(Py_None);
return Py_None;
}
+#line 8421 "goocanvas.c"
+
+
#line 1637 "goocanvas.override"
static PyObject *
_wrap_goo_canvas_item_model_get_simple_transform(PyGObject *self)
@@ -8340,7 +8432,7 @@
return Py_BuildValue("dddd", x, y, scale, rotation);
}
-#line 8344 "goocanvas.c"
+#line 8436 "goocanvas.c"
static PyObject *
@@ -8530,7 +8622,7 @@
return pyg_param_spec_new(pspec);
}
-#line 8534 "goocanvas.c"
+#line 8626 "goocanvas.c"
#line 1291 "goocanvas.override"
@@ -8574,7 +8666,7 @@
return list;
}
-#line 8578 "goocanvas.c"
+#line 8670 "goocanvas.c"
#line 1385 "goocanvas.override"
@@ -8628,7 +8720,7 @@
return Py_None;
}
-#line 8632 "goocanvas.c"
+#line 8724 "goocanvas.c"
static PyObject *
@@ -10260,7 +10352,7 @@
return pygobject_new((GObject *)ret);
}
-#line 10264 "goocanvas.c"
+#line 10356 "goocanvas.c"
#line 376 "goocanvas.override"
@@ -10331,7 +10423,7 @@
return pygobject_new((GObject *)ret);
}
-#line 10335 "goocanvas.c"
+#line 10427 "goocanvas.c"
static PyObject *
@@ -10471,7 +10563,7 @@
-#line 10475 "goocanvas.c"
+#line 10567 "goocanvas.c"
pyg_register_boxed(d, "Points", GOO_TYPE_CANVAS_POINTS, &PyGooCanvasPoints_Type);
pyg_register_boxed(d, "LineDash", GOO_TYPE_CANVAS_LINE_DASH, &PyGooCanvasLineDash_Type);
pyg_register_interface(d, "Item", GOO_TYPE_CANVAS_ITEM, &PyGooCanvasItem_Type);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]