56 #define PyRgba_Check(op) PyObject_TypeCheck(op, &ito::PythonRgba::PyRgbaType)
63 static void PyRgba_dealloc(
PyRgba *self);
64 static PyObject *PyRgba_new(PyTypeObject *type, PyObject *args, PyObject *kwds);
65 static int PyRgba_init(
PyRgba *self, PyObject *args, PyObject *kwds);
67 static PyRgba* createEmptyPyRgba();
68 static bool checkPyRgba(
int number, PyObject* rgba1 = NULL, PyObject* rgba2 = NULL, PyObject* rgba3 = NULL);
74 static PyObject *PyRgba_name(
PyRgba *self);
76 static PyObject* PyRgba_repr(
PyRgba *self);
78 static PyObject *PyRgba_toGray(
PyRgba *self);
80 static PyObject *PyRgba_toColor(
PyRgba *self);
82 static PyObject* PyRgba_RichCompare(
PyRgba *self, PyObject *other,
int cmp_op);
84 static PyGetSetDef PyRgba_getseters[];
86 static PyObject* PyRgba_getValue(
PyRgba *self,
void *closure);
87 static int PyRgba_setValue(
PyRgba *self, PyObject *value,
void *closure);
89 static PyObject* PyRgba_Reduce(
PyRgba *self, PyObject *args);
90 static PyObject* PyRgba_SetState(
PyRgba *self, PyObject *args);
100 static PyObject* PyRgba_nbAdd(PyObject* o1, PyObject* o2);
101 static PyObject* PyRgba_nbSubtract(PyObject* o1, PyObject* o2);
102 static PyObject* PyRgba_nbMultiply(PyObject* o1, PyObject* o2);
103 static PyObject* PyRgba_nbPositive(PyObject* o1);
104 static PyObject* PyRgba_nbAbsolute(PyObject* o1);
105 static PyObject* PyRgba_nbInvert(PyObject* o1);
106 static PyObject* PyRgba_nbLshift(PyObject* o1, PyObject* o2);
107 static PyObject* PyRgba_nbRshift(PyObject* o1, PyObject* o2);
108 static PyObject* PyRgba_nbAnd(PyObject* o1, PyObject* o2);
109 static PyObject* PyRgba_nbXor(PyObject* o1, PyObject* o2);
110 static PyObject* PyRgba_nbOr(PyObject* o1, PyObject* o2);
112 static PyObject* PyRgba_nbInplaceAdd(PyObject* o1, PyObject* o2);
113 static PyObject* PyRgba_nbInplaceSubtract(PyObject* o1, PyObject* o2);
114 static PyObject* PyRgba_nbInplaceMultiply(PyObject* o1, PyObject* o2);
115 static PyObject* PyRgba_nbInplaceLshift(PyObject* o1, PyObject* o2);
116 static PyObject* PyRgba_nbInplaceRshift(PyObject* o1, PyObject* o2);
117 static PyObject* PyRgba_nbInplaceAnd(PyObject* o1, PyObject* o2);
118 static PyObject* PyRgba_nbInplaceXor(PyObject* o1, PyObject* o2);
119 static PyObject* PyRgba_nbInplaceOr(PyObject* o1, PyObject* o2);
125 static PyMemberDef PyRgba_members[];
126 static PyMethodDef PyRgba_methods[];
127 static PyTypeObject PyRgbaType;
128 static PyModuleDef PyRgbaModule;
130 static PyNumberMethods PyRgba_numberProtocol;