X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fevent%2Fcommon%2Fscene-impl.h;h=c84d4c6eb0282bb9f1ffb8fa75567a15067aa3d6;hb=635dce298230ac7bd22657e4fa40269fb6e98e71;hp=c13f7f5a1c347c5717cbf1ef5cf44f113a7b04cf;hpb=59d33c7b151d70df2b7a7d4f39307b94941e25c2;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/internal/event/common/scene-impl.h b/dali/internal/event/common/scene-impl.h old mode 100644 new mode 100755 index c13f7f5..c84d4c6 --- a/dali/internal/event/common/scene-impl.h +++ b/dali/internal/event/common/scene-impl.h @@ -44,6 +44,54 @@ namespace Internal namespace SceneGraph { class Scene; + +struct DirtyRect +{ + DirtyRect(Node* node, Render::Renderer* renderer, int frame, Rect& rect) + : node(node), + renderer(renderer), + frame(frame), + rect(rect), + visited(true) + { + } + + DirtyRect() + : node(nullptr), + renderer(nullptr), + frame(0), + rect(), + visited(true) + { + } + + bool operator<(const DirtyRect& rhs) const + { + if (node == rhs.node) + { + if (renderer == rhs.renderer) + { + return frame > rhs.frame; // Most recent rects come first + } + else + { + return renderer < rhs.renderer; + } + } + else + { + return node < rhs.node; + } + } + + Node* node; + Render::Renderer* renderer; + int frame; + + Rect rect; + bool visited; +}; + } class EventProcessor; @@ -69,6 +117,11 @@ public: static ScenePtr New( Size size ); /** + * @copydoc Dali::Integration::Scene::New + */ + static ScenePtr New( Size size, int orientation ); + + /** * virtual destructor */ ~Scene() override; @@ -262,6 +315,13 @@ public: */ Integration::Scene::WheelEventSignalType& WheelEventSignal(); + /** + * @brief Get ItemsDirtyRects + * + * @return the ItemsDirtyRects + */ + std::vector& GetItemsDirtyRects(); + public: /** @@ -285,8 +345,9 @@ private: * Second-phase constructor. * * @param[in] size The size of the set surface + * @param[in] orientation The orientation of the set surface for this scene */ - void Initialize( Size size ); + void Initialize( Size size, int orientation ); // Undefined Scene(const Scene&) = delete; @@ -332,6 +393,8 @@ private: // The wheel event signal Integration::Scene::WheelEventSignalType mWheelEventSignal; + + std::vector mItemsDirtyRects; }; } // Internal