Dabbling around this morning; still not building

This commit is contained in:
John McCardle 2024-03-24 21:19:37 -04:00
commit 13672c8fdb
3 changed files with 132 additions and 105 deletions

View file

@ -3,6 +3,7 @@
#include "Python.h"
class PyColor;
class UIDrawable; // forward declare for pointer
typedef struct {
sf::Color* target; // color target to set/get
@ -13,13 +14,16 @@ typedef struct {
typedef struct {
PyObject_HEAD
_PyColorData data;
} PyTextureObject;
} PyColorObject;
class PyColor
{
private:
_PyColorData data;
static int SELF_OWNED = -1;
public:
PyColor(sf::Color* target, std::weak_ptr<UIDrawable> parent, int index) // linked constructor
PyColor::PyColor(sf::Color target) // simple color container
void set(sf::Color);
sf::Color get();
PyObject* pyObject();
@ -27,11 +31,14 @@ public:
static int init(PyColorObject*, PyObject*, PyObject*);
static PyObject* pynew(PyTypeObject* type, PyObject* args=NULL, PyObject* kwds=NULL);
static PyObject* get_member(PyObject*, void*);
static int set_member(PyObject*, PyObject*, void*);
static PyGetSetDef getsetters[] = {
{"r", (getter)PyColor_get_member, (setter)PyColor_set_member, "Red component", (void*)0},
{"g", (getter)PyColor_get_member, (setter)PyColor_set_member, "Green component", (void*)1},
{"b", (getter)PyColor_get_member, (setter)PyColor_set_member, "Blue component", (void*)2},
{"a", (getter)PyColor_get_member, (setter)PyColor_set_member, "Alpha component", (void*)3},
{"r", (getter)PyColor::get_member, (setter)PyColor::set_member, "Red component", (void*)0},
{"g", (getter)PyColor::get_member, (setter)PyColor::set_member, "Green component", (void*)1},
{"b", (getter)PyColor::get_member, (setter)PyColor::set_member, "Blue component", (void*)2},
{"a", (getter)PyColor::get_member, (setter)PyColor::set_member, "Alpha component", (void*)3},
{NULL}
};
};
@ -78,6 +85,6 @@ namespace mcrfpydef {
.tp_doc = PyDoc_STR("SFML Color Object"),
.tp_getset = PyColor::getsetters,
.tp_init = (initproc)PyColor::init,
.tp_new = PyTColor::pynew,
.tp_new = PyColor::pynew,
};
}