bool RenderObject::unpersist(InputPersistenceBlock &reader) { // Typ und Handle wurden schon von RecreatePersistedRenderObject() ausgelesen. Jetzt werden die restlichen Objekteigenschaften ausgelesen. reader.read(_x); reader.read(_y); reader.read(_absoluteX); reader.read(_absoluteY); reader.read(_z); reader.read(_width); reader.read(_height); reader.read(_visible); reader.read(_childChanged); reader.read(_initSuccess); reader.read(_bbox.left); reader.read(_bbox.top); reader.read(_bbox.right); reader.read(_bbox.bottom); reader.read(_oldBbox.left); reader.read(_oldBbox.top); reader.read(_oldBbox.right); reader.read(_oldBbox.bottom); reader.read(_oldX); reader.read(_oldY); reader.read(_oldZ); reader.read(_oldVisible); uint parentHandle; reader.read(parentHandle); _parentPtr = RenderObjectPtr<RenderObject>(parentHandle); reader.read(_refreshForced); updateAbsolutePos(); updateObjectState(); return reader.isGood(); }
void RenderObject::setZ(int z) { if (z < 0) error("Tried to set a negative Z value (%d).", z); else { _z = z; updateAbsolutePos(); } }
RenderObject::RenderObject(RenderObjectPtr<RenderObject> parentPtr, TYPES type, uint handle) : _managerPtr(0), _parentPtr(parentPtr), _x(0), _y(0), _z(0), _oldX(-1), _oldY(-1), _oldZ(-1), _width(0), _height(0), _visible(true), _oldVisible(false), _childChanged(true), _type(type), _initSuccess(false), _refreshForced(true), _handle(0), _version(++_nextGlobalVersion), _isSolid(false) { // Renderobject registrieren, abhängig vom Handle-Parameter entweder mit beliebigem oder vorgegebenen Handle. if (handle == 0) _handle = RenderObjectRegistry::instance().registerObject(this); else _handle = RenderObjectRegistry::instance().registerObject(this, handle); if (_handle == 0) return; updateAbsolutePos(); // Dieses Objekt zu den Kindern der Elternobjektes hinzufügen, falls nicht Wurzel (ParentPtr ungültig) und dem // selben RenderObjektManager zuweisen. if (_parentPtr.isValid()) { _managerPtr = _parentPtr->getManager(); _parentPtr->addObject(this->getHandle()); } else { if (getType() != TYPE_ROOT) { error("Tried to create a non-root render object and has no parent. All non-root render objects have to have a parent."); return; } } updateObjectState(); _initSuccess = true; }
void RenderObject::setY(int y) { _y = y; updateAbsolutePos(); }
void RenderObject::setX(int x) { _x = x; updateAbsolutePos(); }
void RenderObject::setPos(int x, int y) { _x = x; _y = y; updateAbsolutePos(); }