#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