diff --git a/src/PyColor.cpp b/src/PyColor.cpp index f42c19e..651fbd6 100644 --- a/src/PyColor.cpp +++ b/src/PyColor.cpp @@ -1,5 +1,13 @@ #include "PyColor.h" +PyGetSetDef PyColor::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}, + {NULL} +}; + PyColor::PyColor(sf::Color* target, std::weak_ptr parent, int index) { data.index = index; @@ -34,10 +42,10 @@ Py_hash_t PyColor::hash(PyObject* obj) auto ptr = self.data.parent.lock(); if (ptr || self->data.index == PyColor::SELF_OWNED) { - value += self->data.target->r; - value << 8; value += self->data.target->g; - value << 8; value += self->data.target->b; - value << 8; value += self->data.target->a; + value += self->data.target.r; + value << 8; value += self->data.target.g; + value << 8; value += self->data.target.b; + value << 8; value += self->data.target.a; } if (ptr) { diff --git a/src/PyColor.h b/src/PyColor.h index d47c2e7..28a40f3 100644 --- a/src/PyColor.h +++ b/src/PyColor.h @@ -20,10 +20,10 @@ class PyColor { private: _PyColorData data; - static int SELF_OWNED = -1; + static const int SELF_OWNED = -1; public: - PyColor(sf::Color* target, std::weak_ptr parent, int index) // linked constructor - PyColor::PyColor(sf::Color target) // simple color container + PyColor(sf::Color* target, std::weak_ptr parent, int index); // linked constructor + PyColor(sf::Color target); // simple color container void set(sf::Color); sf::Color get(); PyObject* pyObject(); @@ -34,13 +34,14 @@ public: static PyObject* get_member(PyObject*, void*); static int set_member(PyObject*, PyObject*, void*); - static PyGetSetDef getsetters[] = { + static PyGetSetDef getsetters[]; + /*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}, {NULL} - }; + };*/ }; diff --git a/src/UI.h b/src/UI.h index c6b68b4..70a28f0 100644 --- a/src/UI.h +++ b/src/UI.h @@ -7,6 +7,7 @@ #include #include "PyCallable.h" #include "PyTexture.h" +#include "PyColor.h" enum PyObjectsEnum : int {