diff options
author | Kohei Yoshida <kohei.yoshida@collabora.com> | 2014-11-04 13:10:55 -0500 |
---|---|---|
committer | Kohei Yoshida <kohei.yoshida@collabora.com> | 2014-11-04 13:10:55 -0500 |
commit | 1bb27282558f23ee6f94bb046f5905a65c94ba3d (patch) | |
tree | 75e389615e4fed475d50e1ff20d5b5aae116ded8 /include/svx/sdr | |
parent | 50228d22a62ecfbc974130f2ff3f7c4e03a9a033 (diff) |
Unindent.
Change-Id: I40f97fb81993ea59e23430d4680981c6b2ed35ad
Diffstat (limited to 'include/svx/sdr')
-rw-r--r-- | include/svx/sdr/contact/objectcontact.hxx | 249 | ||||
-rw-r--r-- | include/svx/sdr/contact/viewcontactofsdrobj.hxx | 89 | ||||
-rw-r--r-- | include/svx/sdr/contact/viewobjectcontact.hxx | 199 |
3 files changed, 255 insertions, 282 deletions
diff --git a/include/svx/sdr/contact/objectcontact.hxx b/include/svx/sdr/contact/objectcontact.hxx index 89c3bb24eb7a..f10cb4a6a55e 100644 --- a/include/svx/sdr/contact/objectcontact.hxx +++ b/include/svx/sdr/contact/objectcontact.hxx @@ -24,20 +24,11 @@ #include <svx/svxdllapi.h> #include <drawinglayer/geometry/viewinformation2d.hxx> - -// predeclarations - class SetOfByte; class Rectangle; class SdrPageView; class OutputDevice; -namespace sdr { namespace contact { - class DisplayInfo; - class ViewContact; - class ViewObjectContactRedirector; -}} - namespace sdr { namespace event { class TimerEventHandler; }} @@ -47,172 +38,172 @@ namespace basegfx { class B2DHomMatrix; } +namespace sdr { namespace contact { +class DisplayInfo; +class ViewContact; +class ViewObjectContactRedirector; -namespace sdr +class SVX_DLLPUBLIC ObjectContact { - namespace contact - { - class SVX_DLLPUBLIC ObjectContact - { - private: - // make ViewObjectContact a friend to exclusively allow it to use - // AddViewObjectContact/RemoveViewObjectContact - friend class ViewObjectContact; +private: + // make ViewObjectContact a friend to exclusively allow it to use + // AddViewObjectContact/RemoveViewObjectContact + friend class ViewObjectContact; - // All VOCs which are created using this OC, thus remembering this OC - // as a reference. All those VOCs need to be deleted when the OC goes down. - // Registering and de-registering is done in the VOC constructors/destructors. - std::vector< ViewObjectContact* > maViewObjectContactVector; + // All VOCs which are created using this OC, thus remembering this OC + // as a reference. All those VOCs need to be deleted when the OC goes down. + // Registering and de-registering is done in the VOC constructors/destructors. + std::vector< ViewObjectContact* > maViewObjectContactVector; - // A new ViewObjectContact was created and shall be remembered. - void AddViewObjectContact(ViewObjectContact& rVOContact); + // A new ViewObjectContact was created and shall be remembered. + void AddViewObjectContact(ViewObjectContact& rVOContact); - // A ViewObjectContact was deleted and shall be forgotten. - virtual void RemoveViewObjectContact(ViewObjectContact& rVOContact); + // A ViewObjectContact was deleted and shall be forgotten. + virtual void RemoveViewObjectContact(ViewObjectContact& rVOContact); - // the primitiveAnimator which is used if this View and/or the contained primitives - // support animatedSwitchPrimitives - sdr::animation::primitiveAnimator maPrimitiveAnimator; + // the primitiveAnimator which is used if this View and/or the contained primitives + // support animatedSwitchPrimitives + sdr::animation::primitiveAnimator maPrimitiveAnimator; - // the EventHandler for e.g. asynchronious loading of graphics - sdr::event::TimerEventHandler* mpEventHandler; + // the EventHandler for e.g. asynchronious loading of graphics + sdr::event::TimerEventHandler* mpEventHandler; - // The redirector. If set it is used to pipe all supported calls - // to the redirector - ViewObjectContactRedirector* mpViewObjectContactRedirector; + // The redirector. If set it is used to pipe all supported calls + // to the redirector + ViewObjectContactRedirector* mpViewObjectContactRedirector; - // the Primitive2DParameters containing view information - drawinglayer::geometry::ViewInformation2D maViewInformation2D; + // the Primitive2DParameters containing view information + drawinglayer::geometry::ViewInformation2D maViewInformation2D; - // bitfield - // flag for preview renderer - bool mbIsPreviewRenderer : 1; + // bitfield + // flag for preview renderer + bool mbIsPreviewRenderer : 1; - // method to create a EventHandler. Needs to give a result. - sdr::event::TimerEventHandler* CreateEventHandler(); + // method to create a EventHandler. Needs to give a result. + sdr::event::TimerEventHandler* CreateEventHandler(); - protected: - // Interface to allow derivates to travel over the registered VOC's - sal_uInt32 getViewObjectContactCount() const { return maViewObjectContactVector.size(); } - ViewObjectContact* getViewObjectContact(sal_uInt32 a) const { return maViewObjectContactVector[a]; } +protected: + // Interface to allow derivates to travel over the registered VOC's + sal_uInt32 getViewObjectContactCount() const { return maViewObjectContactVector.size(); } + ViewObjectContact* getViewObjectContact(sal_uInt32 a) const { return maViewObjectContactVector[a]; } - // interface to allow derivates to set PreviewRenderer flag - void setPreviewRenderer(bool bNew) { mbIsPreviewRenderer = bNew; } + // interface to allow derivates to set PreviewRenderer flag + void setPreviewRenderer(bool bNew) { mbIsPreviewRenderer = bNew; } - // interface to allow derivates to set ViewInformation2D - void updateViewInformation2D(const drawinglayer::geometry::ViewInformation2D& rViewInformation2D) { maViewInformation2D = rViewInformation2D; } + // interface to allow derivates to set ViewInformation2D + void updateViewInformation2D(const drawinglayer::geometry::ViewInformation2D& rViewInformation2D) { maViewInformation2D = rViewInformation2D; } - public: - // basic constructor - ObjectContact(); - virtual ~ObjectContact(); +public: + // basic constructor + ObjectContact(); + virtual ~ObjectContact(); - // LazyInvalidate request. This is used from the VOCs to mark that they - // got invalidated by an ActionCanged() call. An active view needs to remember - // this and take action on it. Default implementation directly calls back - // triggerLazyInvalidate() which promptly handles the request - virtual void setLazyInvalidate(ViewObjectContact& rVOC); + // LazyInvalidate request. This is used from the VOCs to mark that they + // got invalidated by an ActionCanged() call. An active view needs to remember + // this and take action on it. Default implementation directly calls back + // triggerLazyInvalidate() which promptly handles the request + virtual void setLazyInvalidate(ViewObjectContact& rVOC); - // call this to support evtl. preparations for repaint. Default does nothing - virtual void PrepareProcessDisplay(); + // call this to support evtl. preparations for repaint. Default does nothing + virtual void PrepareProcessDisplay(); - // Process the whole displaying - virtual void ProcessDisplay(DisplayInfo& rDisplayInfo); + // Process the whole displaying + virtual void ProcessDisplay(DisplayInfo& rDisplayInfo); - // test if visualizing of entered groups is switched on at all. Default - // implementation returns sal_False. - virtual bool DoVisualizeEnteredGroup() const; + // test if visualizing of entered groups is switched on at all. Default + // implementation returns sal_False. + virtual bool DoVisualizeEnteredGroup() const; - // get active group's (the entered group) ViewContact - virtual const ViewContact* getActiveViewContact() const; + // get active group's (the entered group) ViewContact + virtual const ViewContact* getActiveViewContact() const; - // Invalidate given rectangle at the window/output which is represented by - // this ObjectContact. Default does nothing. - virtual void InvalidatePartOfView(const basegfx::B2DRange& rRange) const; + // Invalidate given rectangle at the window/output which is represented by + // this ObjectContact. Default does nothing. + virtual void InvalidatePartOfView(const basegfx::B2DRange& rRange) const; - // Get info if given Rectangle is visible in this view - virtual bool IsAreaVisible(const basegfx::B2DRange& rRange) const; + // Get info if given Rectangle is visible in this view + virtual bool IsAreaVisible(const basegfx::B2DRange& rRange) const; - // Get info about the need to visualize GluePoints. The default - // is that it is not necessary. - virtual bool AreGluePointsVisible() const; + // Get info about the need to visualize GluePoints. The default + // is that it is not necessary. + virtual bool AreGluePointsVisible() const; - // method to get the primitiveAnimator - sdr::animation::primitiveAnimator& getPrimitiveAnimator() { return maPrimitiveAnimator; } + // method to get the primitiveAnimator + sdr::animation::primitiveAnimator& getPrimitiveAnimator() { return maPrimitiveAnimator; } - // method to get the EventHandler. It will - // return a existing one or create a new one using CreateEventHandler(). - sdr::event::TimerEventHandler& GetEventHandler() const; + // method to get the EventHandler. It will + // return a existing one or create a new one using CreateEventHandler(). + sdr::event::TimerEventHandler& GetEventHandler() const; - // delete the EventHandler - void DeleteEventHandler(); + // delete the EventHandler + void DeleteEventHandler(); - // test if there is an EventHandler without creating one on demand - bool HasEventHandler() const; + // test if there is an EventHandler without creating one on demand + bool HasEventHandler() const; - // check if text animation is allowed. Default is sal_true. - virtual bool IsTextAnimationAllowed() const; + // check if text animation is allowed. Default is sal_true. + virtual bool IsTextAnimationAllowed() const; - // check if graphic animation is allowed. Default is sal_true. - virtual bool IsGraphicAnimationAllowed() const; + // check if graphic animation is allowed. Default is sal_true. + virtual bool IsGraphicAnimationAllowed() const; - // check if asynchronious graphis loading is allowed. Default is sal_False. - virtual bool IsAsynchronGraphicsLoadingAllowed() const; + // check if asynchronious graphis loading is allowed. Default is sal_False. + virtual bool IsAsynchronGraphicsLoadingAllowed() const; - // access to ViewObjectContactRedirector - ViewObjectContactRedirector* GetViewObjectContactRedirector() const { return mpViewObjectContactRedirector; } - void SetViewObjectContactRedirector(ViewObjectContactRedirector* pNew); + // access to ViewObjectContactRedirector + ViewObjectContactRedirector* GetViewObjectContactRedirector() const { return mpViewObjectContactRedirector; } + void SetViewObjectContactRedirector(ViewObjectContactRedirector* pNew); - // check if buffering of MasterPages is allowed. Default is sal_False. - virtual bool IsMasterPageBufferingAllowed() const; + // check if buffering of MasterPages is allowed. Default is sal_False. + virtual bool IsMasterPageBufferingAllowed() const; - // print? Default is false - virtual bool isOutputToPrinter() const; + // print? Default is false + virtual bool isOutputToPrinter() const; - // window? Default is true - virtual bool isOutputToWindow() const; + // window? Default is true + virtual bool isOutputToWindow() const; - // VirtualDevice? Default is false - virtual bool isOutputToVirtualDevice() const; + // VirtualDevice? Default is false + virtual bool isOutputToVirtualDevice() const; - // recording MetaFile? Default is false - virtual bool isOutputToRecordingMetaFile() const; + // recording MetaFile? Default is false + virtual bool isOutputToRecordingMetaFile() const; - // pdf export? Default is false - virtual bool isOutputToPDFFile() const; + // pdf export? Default is false + virtual bool isOutputToPDFFile() const; - // gray display mode - virtual bool isDrawModeGray() const; + // gray display mode + virtual bool isDrawModeGray() const; - // gray display mode - virtual bool isDrawModeBlackWhite() const; + // gray display mode + virtual bool isDrawModeBlackWhite() const; - // high contrast display mode - virtual bool isDrawModeHighContrast() const; + // high contrast display mode + virtual bool isDrawModeHighContrast() const; - // check if this is a preview renderer. Default is sal_False. - bool IsPreviewRenderer() const { return mbIsPreviewRenderer; } + // check if this is a preview renderer. Default is sal_False. + bool IsPreviewRenderer() const { return mbIsPreviewRenderer; } - // get Primitive2DParameters for this view - const drawinglayer::geometry::ViewInformation2D& getViewInformation2D() const { return maViewInformation2D; } + // get Primitive2DParameters for this view + const drawinglayer::geometry::ViewInformation2D& getViewInformation2D() const { return maViewInformation2D; } - // access to SdrPageView. May return 0L like the default implementations do. Needs to be overloaded as needed. - virtual SdrPageView* TryToGetSdrPageView() const; + // access to SdrPageView. May return 0L like the default implementations do. Needs to be overloaded as needed. + virtual SdrPageView* TryToGetSdrPageView() const; - // access to OutputDevice. May return 0L like the default implementations do. Needs to be overloaded as needed. - virtual OutputDevice* TryToGetOutputDevice() const; + // access to OutputDevice. May return 0L like the default implementations do. Needs to be overloaded as needed. + virtual OutputDevice* TryToGetOutputDevice() const; - // reset ViewPort at internal ViewInformation2D. This is needed when the OC is used - // not for ProcessDisplay() but to get a VOC associated with it. When trying to get - // a sequence of primitives from the VOC then, the last initialized ViewPort from - // the last ProcessDisplay() is used for geometric visibility testing. If this is not - // wanted (like in such cases) this method is used. It will reuse the current - // ViewInformation2D, but clear the ViewPort (no ViewPort means all is visible) - void resetViewPort(); - }; - } // end of namespace contact -} // end of namespace sdr + // reset ViewPort at internal ViewInformation2D. This is needed when the OC is used + // not for ProcessDisplay() but to get a VOC associated with it. When trying to get + // a sequence of primitives from the VOC then, the last initialized ViewPort from + // the last ProcessDisplay() is used for geometric visibility testing. If this is not + // wanted (like in such cases) this method is used. It will reuse the current + // ViewInformation2D, but clear the ViewPort (no ViewPort means all is visible) + void resetViewPort(); +}; + +}} diff --git a/include/svx/sdr/contact/viewcontactofsdrobj.hxx b/include/svx/sdr/contact/viewcontactofsdrobj.hxx index bbf2c99df40d..e35cf85984a3 100644 --- a/include/svx/sdr/contact/viewcontactofsdrobj.hxx +++ b/include/svx/sdr/contact/viewcontactofsdrobj.hxx @@ -25,71 +25,62 @@ #include <svx/sdtakitm.hxx> #include <svx/svxdllapi.h> - -// predeclarations - class SdrObject; class GeoStat; class Bitmap; +namespace sdr { namespace contact { - -namespace sdr +class SVX_DLLPUBLIC ViewContactOfSdrObj : public ViewContact { - namespace contact +protected: + // the owner of this ViewContact. Set from constructor and not + // to be changed in any way. + SdrObject& mrObject; + + // Remember AnimationKind of object. Used to find out if that kind + // has changed in ActionChanged() + SdrTextAniKind meRememberedAnimationKind; + + // Create a Object-Specific ViewObjectContact, set ViewContact and + // ObjectContact. Always needs to return something. + virtual ViewObjectContact& CreateObjectSpecificViewObjectContact(ObjectContact& rObjectContact) SAL_OVERRIDE; + +public: + // access to SdrObject + SdrObject& GetSdrObject() const { - class SVX_DLLPUBLIC ViewContactOfSdrObj : public ViewContact - { - protected: - // the owner of this ViewContact. Set from constructor and not - // to be changed in any way. - SdrObject& mrObject; - - // Remember AnimationKind of object. Used to find out if that kind - // has changed in ActionChanged() - SdrTextAniKind meRememberedAnimationKind; - - // Create a Object-Specific ViewObjectContact, set ViewContact and - // ObjectContact. Always needs to return something. - virtual ViewObjectContact& CreateObjectSpecificViewObjectContact(ObjectContact& rObjectContact) SAL_OVERRIDE; - - public: - // access to SdrObject - SdrObject& GetSdrObject() const - { - return mrObject; - } - - // basic constructor, used from SdrObject. - explicit ViewContactOfSdrObj(SdrObject& rObj); - virtual ~ViewContactOfSdrObj(); + return mrObject; + } - // Access to possible sub-hierarchy - virtual sal_uInt32 GetObjectCount() const SAL_OVERRIDE; - virtual ViewContact& GetViewContact(sal_uInt32 nIndex) const SAL_OVERRIDE; - virtual ViewContact* GetParentContact() const SAL_OVERRIDE; + // basic constructor, used from SdrObject. + explicit ViewContactOfSdrObj(SdrObject& rObj); + virtual ~ViewContactOfSdrObj(); - // React on changes of the object of this ViewContact - virtual void ActionChanged() SAL_OVERRIDE; + // Access to possible sub-hierarchy + virtual sal_uInt32 GetObjectCount() const SAL_OVERRIDE; + virtual ViewContact& GetViewContact(sal_uInt32 nIndex) const SAL_OVERRIDE; + virtual ViewContact* GetParentContact() const SAL_OVERRIDE; - // overload for acessing the SdrObject - virtual SdrObject* TryToGetSdrObject() const SAL_OVERRIDE; + // React on changes of the object of this ViewContact + virtual void ActionChanged() SAL_OVERRIDE; + // overload for acessing the SdrObject + virtual SdrObject* TryToGetSdrObject() const SAL_OVERRIDE; - // primitive stuff - // add Gluepoints (if available) - virtual drawinglayer::primitive2d::Primitive2DSequence createGluePointPrimitive2DSequence() const SAL_OVERRIDE; + // primitive stuff - // allow embedding if needed (e.g. for SdrObjects, evtl. Name, Title and description get added). This - // is a helper normally used from getViewIndependentPrimitive2DSequence(), but there is one exception - // for 3D scenes - virtual drawinglayer::primitive2d::Primitive2DSequence embedToObjectSpecificInformation(const drawinglayer::primitive2d::Primitive2DSequence& rSource) const SAL_OVERRIDE; - }; - } // end of namespace contact -} // end of namespace sdr + // add Gluepoints (if available) + virtual drawinglayer::primitive2d::Primitive2DSequence createGluePointPrimitive2DSequence() const SAL_OVERRIDE; + // allow embedding if needed (e.g. for SdrObjects, evtl. Name, Title and description get added). This + // is a helper normally used from getViewIndependentPrimitive2DSequence(), but there is one exception + // for 3D scenes + virtual drawinglayer::primitive2d::Primitive2DSequence embedToObjectSpecificInformation(const drawinglayer::primitive2d::Primitive2DSequence& rSource) const SAL_OVERRIDE; +}; +}} #endif // INCLUDED_SVX_SDR_CONTACT_VIEWCONTACTOFSDROBJ_HXX diff --git a/include/svx/sdr/contact/viewobjectcontact.hxx b/include/svx/sdr/contact/viewobjectcontact.hxx index 4e472702e2c0..e371c9c28ac7 100644 --- a/include/svx/sdr/contact/viewobjectcontact.hxx +++ b/include/svx/sdr/contact/viewobjectcontact.hxx @@ -26,119 +26,110 @@ #include <svx/svxdllapi.h> #include <drawinglayer/primitive2d/baseprimitive2d.hxx> - -// predeclarations - namespace vcl { class Region; } -namespace sdr { namespace contact { - class DisplayInfo; - class ObjectContact; - class ViewContact; - class ViewObjectContactRedirector; -}} - namespace sdr { namespace animation { class PrimitiveAnimation; }} +namespace sdr { namespace contact { +class DisplayInfo; +class ObjectContact; +class ViewContact; +class ViewObjectContactRedirector; -namespace sdr +class SVX_DLLPUBLIC ViewObjectContact { - namespace contact - { - class SVX_DLLPUBLIC ViewObjectContact - { - private: - // must-exist and constant contacts - ObjectContact& mrObjectContact; - ViewContact& mrViewContact; - - // This range defines the object's BoundRect - basegfx::B2DRange maObjectRange; - - // PrimitiveSequence of the ViewContact. This contains all necessary information - // for the graphical visualisation and needs to be supported by all VCs which - // can be visualized. - drawinglayer::primitive2d::Primitive2DSequence mxPrimitive2DSequence; - - // the PrimitiveAnimation if Primitive2DSequence contains animations - sdr::animation::PrimitiveAnimation* mpPrimitiveAnimation; - - // bitfield - // This bool gets set when the object gets invalidated by ActionChanged() and - // can be used from the OC to late-invalidates - bool mbLazyInvalidate : 1; - - protected: - // make redirector a protected friend, it needs to call createPrimitives as default action - friend class ViewObjectContactRedirector; - - // Called from getPrimitive2DSequence() when vector has changed. Evaluate object animation - // and setup accordingly - void checkForPrimitive2DAnimations(); - - // This method is responsible for creating the graphical visualisation data which is - // stored/cached in the local primitive. Default gets view-independent Primitive - // from the ViewContact using ViewContact::getViewIndependentPrimitive2DSequence(), takes care of - // visibility, handles glue and ghosted. - // This method will not handle included hierarchies and not check geometric visibility. - virtual drawinglayer::primitive2d::Primitive2DSequence createPrimitive2DSequence(const DisplayInfo& rDisplayInfo) const; - - // method for flushing Primitive2DSequence for VOC implementations - void flushPrimitive2DSequence() { mxPrimitive2DSequence.realloc(0); } - - public: - // basic constructor. - ViewObjectContact(ObjectContact& rObjectContact, ViewContact& rViewContact); - virtual ~ViewObjectContact(); - - // access to ObjectContact - ObjectContact& GetObjectContact() const { return mrObjectContact; } - - // access to ViewContact - ViewContact& GetViewContact() const { return mrViewContact; } - - // get the oebject's size range - const basegfx::B2DRange& getObjectRange() const; - - // A ViewObjectContact was deleted and shall be forgotten. - void RemoveViewObjectContact(ViewObjectContact& rVOContact); - - // React on changes of the object of this ViewContact - virtual void ActionChanged(); - - // LazyInvalidate handling - void triggerLazyInvalidate(); - - // Check if this primitive is animated in any OC (View) which means it has - // generated a PrimitiveAnimation - bool isAnimated() const { return (0 != mpPrimitiveAnimation); } - - // Take some action when new objects are inserted - virtual void ActionChildInserted(ViewContact& rChild); - - // access to the local primitive. This will ensure that the local primitive is - // current in comparing the local one with a fresh created incarnation - // This method will not handle included hierarchies and not check visibility. - drawinglayer::primitive2d::Primitive2DSequence getPrimitive2DSequence(const DisplayInfo& rDisplayInfo) const; - - // test this VOC for visibility concerning model-view stuff like e.g. Layer - virtual bool isPrimitiveVisible(const DisplayInfo& rDisplayInfo) const; - - // test this VOC for ghosted mode - virtual bool isPrimitiveGhosted(const DisplayInfo& rDisplayInfo) const; - - // process this primitive: Eventually also recursively travel an existing hierarchy, - // e.g. for group objects, scenes or pages. This method will test geometrical visibility. - virtual drawinglayer::primitive2d::Primitive2DSequence getPrimitive2DSequenceHierarchy(DisplayInfo& rDisplayInfo) const; - - // just process the sub-hierarchy, used as tooling from getPrimitive2DSequenceHierarchy - drawinglayer::primitive2d::Primitive2DSequence getPrimitive2DSequenceSubHierarchy(DisplayInfo& rDisplayInfo) const; - }; - } // end of namespace contact -} // end of namespace sdr +private: + // must-exist and constant contacts + ObjectContact& mrObjectContact; + ViewContact& mrViewContact; + + // This range defines the object's BoundRect + basegfx::B2DRange maObjectRange; + + // PrimitiveSequence of the ViewContact. This contains all necessary information + // for the graphical visualisation and needs to be supported by all VCs which + // can be visualized. + drawinglayer::primitive2d::Primitive2DSequence mxPrimitive2DSequence; + + // the PrimitiveAnimation if Primitive2DSequence contains animations + sdr::animation::PrimitiveAnimation* mpPrimitiveAnimation; + + // bitfield + // This bool gets set when the object gets invalidated by ActionChanged() and + // can be used from the OC to late-invalidates + bool mbLazyInvalidate : 1; + +protected: + // make redirector a protected friend, it needs to call createPrimitives as default action + friend class ViewObjectContactRedirector; + + // Called from getPrimitive2DSequence() when vector has changed. Evaluate object animation + // and setup accordingly + void checkForPrimitive2DAnimations(); + + // This method is responsible for creating the graphical visualisation data which is + // stored/cached in the local primitive. Default gets view-independent Primitive + // from the ViewContact using ViewContact::getViewIndependentPrimitive2DSequence(), takes care of + // visibility, handles glue and ghosted. + // This method will not handle included hierarchies and not check geometric visibility. + virtual drawinglayer::primitive2d::Primitive2DSequence createPrimitive2DSequence(const DisplayInfo& rDisplayInfo) const; + + // method for flushing Primitive2DSequence for VOC implementations + void flushPrimitive2DSequence() { mxPrimitive2DSequence.realloc(0); } + +public: + // basic constructor. + ViewObjectContact(ObjectContact& rObjectContact, ViewContact& rViewContact); + virtual ~ViewObjectContact(); + + // access to ObjectContact + ObjectContact& GetObjectContact() const { return mrObjectContact; } + + // access to ViewContact + ViewContact& GetViewContact() const { return mrViewContact; } + + // get the oebject's size range + const basegfx::B2DRange& getObjectRange() const; + + // A ViewObjectContact was deleted and shall be forgotten. + void RemoveViewObjectContact(ViewObjectContact& rVOContact); + + // React on changes of the object of this ViewContact + virtual void ActionChanged(); + + // LazyInvalidate handling + void triggerLazyInvalidate(); + + // Check if this primitive is animated in any OC (View) which means it has + // generated a PrimitiveAnimation + bool isAnimated() const { return (0 != mpPrimitiveAnimation); } + + // Take some action when new objects are inserted + virtual void ActionChildInserted(ViewContact& rChild); + + // access to the local primitive. This will ensure that the local primitive is + // current in comparing the local one with a fresh created incarnation + // This method will not handle included hierarchies and not check visibility. + drawinglayer::primitive2d::Primitive2DSequence getPrimitive2DSequence(const DisplayInfo& rDisplayInfo) const; + + // test this VOC for visibility concerning model-view stuff like e.g. Layer + virtual bool isPrimitiveVisible(const DisplayInfo& rDisplayInfo) const; + + // test this VOC for ghosted mode + virtual bool isPrimitiveGhosted(const DisplayInfo& rDisplayInfo) const; + + // process this primitive: Eventually also recursively travel an existing hierarchy, + // e.g. for group objects, scenes or pages. This method will test geometrical visibility. + virtual drawinglayer::primitive2d::Primitive2DSequence getPrimitive2DSequenceHierarchy(DisplayInfo& rDisplayInfo) const; + + // just process the sub-hierarchy, used as tooling from getPrimitive2DSequenceHierarchy + drawinglayer::primitive2d::Primitive2DSequence getPrimitive2DSequenceSubHierarchy(DisplayInfo& rDisplayInfo) const; +}; + +}} |