more horizontal refactoring
[swftools.git] / lib / python / primitives.h
index 09d695c..d9ea336 100644 (file)
 #ifndef __primitives_h__
 #define __primitives_h__
 
-#undef HAVE_STAT
 #include <Python.h>
+#undef HAVE_STAT
+
+#include "../rfxswf.h"
 
+/* exported to allow casting to this type */
 extern PyTypeObject ColorClass;
 extern PyTypeObject BBoxClass;
 extern PyTypeObject CXFormClass;
 extern PyTypeObject GradientClass;
 extern PyTypeObject MatrixClass;
-
-typedef struct {
-    PyObject_HEAD
-    RGBA rgba;
-} ColorObject;
-
-typedef struct {
-    PyObject_HEAD
-    SRECT bbox;
-} BBoxObject;
-
-typedef struct {
-    PyObject_HEAD
-    MATRIX matrix;
-} MatrixObject;
-
-typedef struct {
-    PyObject_HEAD
-    CXFORM cxform;
-} CXFormObject;
-
-typedef struct {
-    PyObject_HEAD
-    GRADIENT gradient;
-} GradientObject;
+extern PyTypeObject LineStyleClass;
+extern PyTypeObject FillStyleClass;
 
 PyObject* f_Color(PyObject* self, PyObject* args, PyObject* kwargs);
 PyObject* f_ColorTransform(PyObject* self, PyObject* args, PyObject* kwargs);
 PyObject* f_Gradient(PyObject* self, PyObject* args, PyObject* kwargs);
 PyObject* f_BBox(PyObject* self, PyObject* args, PyObject* kwargs);
+PyObject* f_BBox2(SRECT bbox);
 PyObject* f_Matrix(PyObject* self, PyObject* args, PyObject* kwargs);
+PyObject* f_Matrix2(MATRIX* m);
+PyObject* f_FillStyle2(FILLSTYLE fs);
+PyObject* f_SolidFillstyle(PyObject* self, PyObject* args, PyObject* kwargs);
+PyObject* f_SolidFillstyle2(RGBA color);
+PyObject* f_LineStyle(PyObject* self, PyObject* args, PyObject* kwargs);
+PyObject* f_LineStyle2(RGBA color, int width);
+PyObject* f_LineStyle3(LINESTYLE ls);
+
+RGBA color_getRGBA(PyObject*self);
+CXFORM colortransform_getCXForm(PyObject*self);
+GRADIENT gradient_getGradient(PyObject*self);
+SRECT bbox_getSRECT(PyObject*self);
+MATRIX matrix_getMatrix(PyObject*self);
+FILLSTYLE fillstyle_getFillStyle(PyObject*self);
+LINESTYLE linestyle_getLineStyle(PyObject*self);
+
+extern PyMethodDef* primitive_getMethods();
+
 #endif