Browse Source

removed Actor::setChildrenRelative, refactoring Actor::getDestRect

dmuratshin 9 years ago
parent
commit
b23bc7452d

+ 14 - 33
oxygine/src/Actor.cpp

@@ -32,7 +32,7 @@ namespace oxygine
         _zOrder(0),
         _zOrder(0),
         _scale(1, 1),
         _scale(1, 1),
         _rotation(0),
         _rotation(0),
-        _flags(flag_visible | flag_touchEnabled | flag_touchChildrenEnabled | flag_childrenRelative | flag_fastTransform),
+        _flags(flag_visible | flag_touchEnabled | flag_touchChildrenEnabled | flag_fastTransform),
         _parent(0),
         _parent(0),
         _alpha(255),
         _alpha(255),
         _pressed(0),
         _pressed(0),
@@ -730,22 +730,20 @@ namespace oxygine
                      _pos.x, _pos.y);
                      _pos.x, _pos.y);
         }
         }
 
 
-        if (_flags & flag_childrenRelative)
+        Vector2 offset;
+        if (_flags & flag_anchorInPixels)
         {
         {
-            Vector2 offset;
-            if (_flags & flag_anchorInPixels)
-            {
-                offset.x = -_anchor.x;
-                offset.y = -_anchor.y;
-            }
-            else
-            {
-                offset.x = -float(_size.x * _anchor.x);
-                offset.y = -float(_size.y * _anchor.y);//todo, what to do? (per pixel quality)
-            }
-
-            tr.translate(offset);
+            offset.x = -_anchor.x;
+            offset.y = -_anchor.y;
         }
         }
+        else
+        {
+            offset.x = -float(_size.x * _anchor.x);
+            offset.y = -float(_size.y * _anchor.y);//todo, what to do? (per pixel quality)
+        }
+
+        tr.translate(offset);
+
 
 
         _transform = tr;
         _transform = tr;
         _flags &= ~flag_transformDirty;
         _flags &= ~flag_transformDirty;
@@ -1135,26 +1133,9 @@ namespace oxygine
         rs.material->render(this, rs);
         rs.material->render(this, rs);
     }
     }
 
 
-    RectF Actor::calcDestRectF(const RectF& destRect_, const Vector2& size) const
-    {
-        RectF destRect = destRect_;
-        if (!(_flags & flag_childrenRelative))
-        {
-            Vector2 a;
-
-            if ((_flags & flag_anchorInPixels))
-                a = Vector2(_anchor.x, _anchor.y);
-            else
-                a = Vector2(_anchor.x * size.x, _anchor.y * size.y);
-
-            destRect.pos -= a;
-        }
-        return destRect;
-    }
-
     RectF Actor::getDestRect() const
     RectF Actor::getDestRect() const
     {
     {
-        return calcDestRectF(RectF(Vector2(0, 0), getSize()), getSize());
+        return RectF(Vector2(0, 0), getSize());
     }
     }
 
 
     spTween Actor::_addTween(spTween tween, bool rel)
     spTween Actor::_addTween(spTween tween, bool rel)

+ 6 - 11
oxygine/src/Actor.h

@@ -150,7 +150,6 @@ namespace oxygine
         pointer_index       getOvered() const;
         pointer_index       getOvered() const;
         bool                getTouchEnabled() const { return (_flags & flag_touchEnabled) != 0; }
         bool                getTouchEnabled() const { return (_flags & flag_touchEnabled) != 0; }
         bool                getTouchChildrenEnabled() const { return (_flags & flag_touchChildrenEnabled) != 0; }
         bool                getTouchChildrenEnabled() const { return (_flags & flag_touchChildrenEnabled) != 0; }
-        bool                getChildrenRelative() const {return (_flags & flag_childrenRelative) != 0;;}
         UpdateCallback      getCallbackDoUpdate() const {return _cbDoUpdate;}
         UpdateCallback      getCallbackDoUpdate() const {return _cbDoUpdate;}
         Material*           getMaterial() { return _material; }
         Material*           getMaterial() { return _material; }
         //RenderCallback        getCallbackDoRender() const {return _cbDoRender;}
         //RenderCallback        getCallbackDoRender() const {return _cbDoRender;}
@@ -193,8 +192,6 @@ namespace oxygine
         void setRotation(float angle);
         void setRotation(float angle);
         /**Sets rotation angle in degrees. Converts internally to radians. (use setRotation!)*/
         /**Sets rotation angle in degrees. Converts internally to radians. (use setRotation!)*/
         void setRotationDegrees(float angle);
         void setRotationDegrees(float angle);
-        /**This option is connected with Anchor. By default value is True*/
-        void setChildrenRelative(bool r) {_flags &= ~flag_childrenRelative; if (r) _flags |= flag_childrenRelative;}
 
 
         /**Sets Size of Actor. Size doesn't scale contents of Actor. Size only affects event handling and rendering if you change Anchor*/
         /**Sets Size of Actor. Size doesn't scale contents of Actor. Size only affects event handling and rendering if you change Anchor*/
         void setSize(const Vector2&);
         void setSize(const Vector2&);
@@ -352,7 +349,6 @@ namespace oxygine
         void _onGlobalTouchUpEvent(Event*);
         void _onGlobalTouchUpEvent(Event*);
         void _onGlobalTouchMoveEvent(Event*);
         void _onGlobalTouchMoveEvent(Event*);
 
 
-        RectF calcDestRectF(const RectF& destRect, const Vector2& size) const;
         void _setSize(const Vector2&);
         void _setSize(const Vector2&);
         virtual void sizeChanged(const Vector2& size);
         virtual void sizeChanged(const Vector2& size);
         Actor*  _getDescendant(const std::string& name);
         Actor*  _getDescendant(const std::string& name);
@@ -378,13 +374,12 @@ namespace oxygine
             flag_anchorInPixels         = 1,
             flag_anchorInPixels         = 1,
             flag_visible                = 1 << 1,
             flag_visible                = 1 << 1,
             flag_touchEnabled           = 1 << 2,
             flag_touchEnabled           = 1 << 2,
-            flag_childrenRelative       = 1 << 3,
-            flag_transformDirty         = 1 << 4,
-            flag_transformInvertDirty   = 1 << 5,
-            flag_touchChildrenEnabled   = 1 << 6,
-            flag_cull                   = 1 << 7,
-            flag_fastTransform          = 1 << 8,
-            flag_reserved               = 1 << 9,
+            flag_transformDirty         = 1 << 3,
+            flag_transformInvertDirty   = 1 << 4,
+            flag_touchChildrenEnabled   = 1 << 5,
+            flag_cull                   = 1 << 6,
+            flag_fastTransform          = 1 << 7,
+            flag_reserved               = 1 << 8,
             flag_last                   = flag_reserved
             flag_last                   = flag_reserved
         };
         };
 
 

+ 1 - 0
oxygine/src/ColorRectSprite.h

@@ -18,6 +18,7 @@ namespace oxygine
 
 
         void doRender(const RenderState& rs);
         void doRender(const RenderState& rs);
 
 
+        RectF getDestRect() const OVERRIDE { return Actor::getDestRect(); }
     private:
     private:
     };
     };
 }
 }

+ 1 - 1
oxygine/src/ProgressBar.cpp

@@ -351,7 +351,7 @@ namespace oxygine
 
 
     RectF ProgressBar::getDestRect() const
     RectF ProgressBar::getDestRect() const
     {
     {
-        return calcDestRectF(_frame.getDestRect(), _frame.getSize());
+        return _frame.getDestRect();
     }
     }
 
 
     void ProgressBar::setProgress(float f)
     void ProgressBar::setProgress(float f)

+ 6 - 4
oxygine/src/Sprite.cpp

@@ -218,13 +218,15 @@ namespace oxygine
     {
     {
 
 
     }
     }
+    /*
+    void Sprite::sizeChanged(const Vector2& size)
+    {
+
+    }*/
 
 
     RectF Sprite::getDestRect() const
     RectF Sprite::getDestRect() const
     {
     {
-        if (_frame.getDiffuse().base)
-            return calcDestRectF(_frame.getDestRect(), _frame.getSize());
-
-        return Actor::getDestRect();
+        return _frame.getDestRect();
     }
     }
 
 
 
 

+ 1 - 0
oxygine/src/Sprite.h

@@ -65,6 +65,7 @@ namespace oxygine
         };
         };
         virtual void changeAnimFrame(const AnimationFrame& f);
         virtual void changeAnimFrame(const AnimationFrame& f);
         virtual void animFrameChanged(const AnimationFrame& f);
         virtual void animFrameChanged(const AnimationFrame& f);
+        //void sizeChanged(const Vector2& size) override;
 
 
         AnimationFrame _frame;
         AnimationFrame _frame;
     };
     };

+ 2 - 2
oxygine/src/Stage.cpp

@@ -117,9 +117,9 @@ namespace oxygine
 
 
     RectF Stage::getDestRect() const
     RectF Stage::getDestRect() const
     {
     {
+        OX_ASSERT(0);
         Vector2 s = getSize() + getPosition();
         Vector2 s = getSize() + getPosition();
-        RectF r = calcDestRectF(RectF(-getPosition(), s), s);
-        return r;
+        return RectF(-getPosition(), s);
     }
     }
 
 
     /*
     /*