summaryrefslogtreecommitdiff
path: root/include/svx/svdhdl.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'include/svx/svdhdl.hxx')
-rw-r--r--include/svx/svdhdl.hxx16
1 files changed, 16 insertions, 0 deletions
diff --git a/include/svx/svdhdl.hxx b/include/svx/svdhdl.hxx
index 5760d642a3f7..caf95813973d 100644
--- a/include/svx/svdhdl.hxx
+++ b/include/svx/svdhdl.hxx
@@ -41,6 +41,10 @@ class SdrObject;
class SdrPageView;
class MouseEvent;
+namespace sdr { namespace contact {
+ class ObjectContact;
+}}
+
// Every object must be able to create its handles. They will be fetched on
// selection, registered at the View and made visible.
// When a handle is touched by the mouse (IsHit()), from the view the matching mouse pointer
@@ -171,6 +175,18 @@ protected:
Point aMoveOutsideOffset = Point());
static BitmapMarkerKind GetNextBigger(BitmapMarkerKind eKnd);
+ // Helper to support inserting a new OverlayObject. It will do all
+ // necessary stuff involved with that:
+ // - add GridOffset for non-linear ViewToDevice transformation (calc)
+ // - add to OverlayManager
+ // - add to local OverlayObjectList - ownership change (!)
+ // It is centralized here (and protected) to avoid that new usages/
+ // implementations forget one of these needed steps.
+ void insertNewlyCreatedOverlayObjectForSdrHdl(
+ std::unique_ptr<sdr::overlay::OverlayObject> pOverlayObject,
+ const sdr::contact::ObjectContact& rObjectContact,
+ sdr::overlay::OverlayManager& rOverlayManager);
+
public:
SdrHdl();
explicit SdrHdl(const Point& rPnt, SdrHdlKind eNewKind);