73 if(xTargetOverlay.is())
75 float fScalingFactor = xTargetOverlay->getOutputDevice().GetDPIScaleFactor();
76 Size aHalfLogicSize(xTargetOverlay->getOutputDevice().PixelToLogic(
Size(4 * fScalingFactor, 4 * fScalingFactor)));
81 xTargetOverlay->add(*pNew);
85 for(sal_uInt16
i(0);
i < 4;
i++)
94 aTempPoly.
append(aTopLeft);
96 aTempPoly.
append(aBottomRight);
101 aTempPolyPoly.
append(aTempPoly);
104 std::move(aTempPolyPoly)));
105 xTargetOverlay->add(*pNew2);
141 if (xOverlayManager.is())
150 xOverlayManager->add(*pNew);
154 if(rPolyPoly.
count())
158 xOverlayManager->add(*pNew);
183 , mpCreatePV(nullptr)
186 , mnAutoCloseDistPix(5)
187 , mnFreeHandMinDistPix(10)
190 , mb1stPointAsCenter(false)
191 , mbUseIncompatiblePathCreateInterface(false)
393 if(pPreparedFactoryObject)
448 if(aPnt.
X() < rWorkArea.
Left())
453 if(aPnt.
X() > rWorkArea.
Right())
458 if(aPnt.
Y() < rWorkArea.
Top())
463 if(aPnt.
Y() > rWorkArea.
Bottom())
500 if(pPreparedFactoryObject)
566 if(
dynamic_cast<const FmFormObj*
>( pObj) !=
nullptr)
616 bool bSceneIntoScene(
false);
622 bool bDidInsert =
static_cast<E3dView*
>(
this)->ImpCloneAll3DObjectsToDestScene(
623 pObjScene, pCurrentScene,
Point(0, 0));
627 pObjCreated =
nullptr;
628 bSceneIntoScene =
true;
656 pObj->NbcMove(aOffset);
743 bUseSolidDragging =
false;
747 if(bUseSolidDragging)
753 if(drawing::LineStyle_NONE == eLine && drawing::FillStyle_NONE == eFill)
755 bUseSolidDragging =
false;
760 if(bUseSolidDragging)
764 bUseSolidDragging =
false;
769 if(bUseSolidDragging)
778 bUseSolidDragging =
false;
783 if(bUseSolidDragging)
806 if(aCurrentPolyPolygon.
count())
808 pPathObj->NbcSetPathPoly(aCurrentPolyPolygon);
811 aDragPolyPolygon = pPathObj->getDragPolyPolygon(
maDragStat);
830 if (xOverlayManager.is())
832 xOverlayManager->flush();
Derived class of SdrView to edit 3D objects.
const SdrObject & GetTargetObject() const
ImplConnectMarkerOverlay(const SdrCreateView &rView, SdrObject const &rObject)
sdr::overlay::OverlayObjectList maObjects
const SdrObject & mrObject
const Point & GetPosPixel() const
SAL_WARN_UNUSED_RESULT Point PixelToLogic(const Point &rDevicePt) const
constexpr tools::Long Y() const
void setX(tools::Long nX)
void setY(tools::Long nY)
constexpr tools::Long X() const
virtual SdrObjKind GetObjIdentifier() const override
PointerStyle maCurrentCreatePointer
void SetStyleSheet(SfxStyleSheet *pStyleSheet, bool bDontRemoveHardAttr)
bool BegCreateObj(const Point &rPnt, OutputDevice *pOut=nullptr, short nMinMov=-3)
bool IsMeasureTool() const
void GetAttributes(SfxItemSet &rTargetSet, bool bOnlyHardAttr) const
SdrObjKind mnCurrentIdent
static void SetupObjLayer(const SdrPageView *pPageView, const OUString &aActiveLayer, SdrObject *pObj)
Setup layer (eg. foreground / background) of the given object.
bool BegCreatePreparedObject(const Point &rPnt, sal_Int16 nMinMov, SdrObject *pPreparedFactoryObject)
void ImpClearConnectMarker()
bool EndCreateObj(SdrCreateCmd eCmd)
std::unique_ptr< ImplConnectMarkerOverlay > mpCoMaOverlay
virtual void MovAction(const Point &rPnt) override
virtual void BrkAction() override
SdrInventor mnCurrentInvent
virtual bool IsAction() const override
void SetCurrentObj(SdrObjKind nIdent, SdrInventor nInvent=SdrInventor::Default)
SdrCreateView(SdrModel &rSdrModel, OutputDevice *pOut)
virtual void TakeActionRect(tools::Rectangle &rRect) const override
bool BegCreateCaptionObj(const Point &rPnt, const Size &rObjSiz, OutputDevice *pOut=nullptr, short nMinMov=-3)
rtl::Reference< SdrObject > mpCurrentCreate
virtual void BckAction() override
std::unique_ptr< ImpSdrCreateViewExtraData > mpCreateViewExtraData
virtual void EndAction() override
SfxStyleSheet * GetStyleSheet() const
bool SetAttributes(const SfxItemSet &rSet, bool bReplaceAll)
virtual ~SdrCreateView() override
void MovCreateObj(const Point &rPnt)
void SetConnectMarker(const SdrObjConnection &rCon)
virtual bool MouseMove(const MouseEvent &rMEvt, OutputDevice *pWin) override
handle mouse over effects for handles
bool ImpBegCreateObj(SdrInventor nInvent, SdrObjKind nIdent, const Point &rPnt, OutputDevice *pOut, sal_Int16 nMinMov, const tools::Rectangle &rLogRect, SdrObject *pPreparedFactoryObject)
void SetView(SdrView *pV)
const Point & GetPoint(sal_Int32 nNum) const
bool IsOrtho4Possible() const
void NextMove(const Point &rPnt)
sal_Int32 GetPointCount() const
bool IsOrtho8Possible() const
const Point & GetStart() const
void SetPageView(SdrPageView *pPV)
bool CheckMinMoved(const Point &rPnt)
const Point & GetNow() const
const tools::Rectangle & GetActionRect() const
const Point & GetPrev() const
void SetMinMove(sal_uInt16 nDist)
virtual void EndAction() override
const tools::Rectangle & GetWorkArea() const
bool IsSolidDragging() const
virtual void MovAction(const Point &rPnt) override
virtual void BckAction() override
virtual bool IsAction() const override
virtual void BrkAction() override
virtual void TakeActionRect(tools::Rectangle &rRect) const override
static bool ImpFindConnector(const Point &rPt, const SdrPageView &rPV, SdrObjConnection &rCon, const SdrEdgeObj *pThis, OutputDevice *pOut=nullptr, SdrDragStat *pDragStat=nullptr)
bool InsertObjectAtView(SdrObject *pObj, SdrPageView &rPV, SdrInsertFlags nOptions=SdrInsertFlags::NONE)
bool ImpLimitToWorkArea(Point &rPt) const
Point GetAbsolutePos(const SdrObject &rObj) const
const OUString & GetControlLayerName() const
SdrLayerID GetLayerID(const OUString &rName) const
bool IsSet(SdrLayerID a) const
SdrHdl * PickHandle(const Point &rPnt) const
bool IsMarkedObjHit(const Point &rPnt, short nTol=-2) const
void UnmarkAllObj(SdrPageView const *pPV=nullptr)
SdrViewEditMode meEditMode
bool getPossibleGridOffsetForSdrObject(basegfx::B2DVector &rOffset, const SdrObject *pObj, const SdrPageView *pPV) const
bool IsCreateMode() const
Utility class SdrObjConnection.
bool SetAttributes(const SfxItemSet &rSet, bool bReplaceAll)
virtual bool MouseMove(const MouseEvent &rMEvt, OutputDevice *pWin) override
handle mouse over effects for handles
void GetAttributes(SfxItemSet &rTargetSet, bool bOnlyHardAttr) const
SfxStyleSheet * GetStyleSheet() const
void SetStyleSheet(SfxStyleSheet *pStyleSheet, bool bDontRemoveHardAttr)
static rtl::Reference< SdrObject > MakeNewObject(SdrModel &rSdrModel, SdrInventor nInventor, SdrObjKind nObjIdentifier, const tools::Rectangle *pSnapRect=nullptr)
virtual basegfx::B2DPolyPolygon TakeXorPoly() const
The Xor-Polygon is required by the View to drag the object.
virtual SdrInventor GetObjInventor() const
virtual SdrObjKind GetObjIdentifier() const
virtual void SetLayer(SdrLayerID nLayer)
virtual SdrGluePoint GetVertexGluePoint(sal_uInt16 nNum) const
const SdrLayerIDSet & GetVisibleLayers() const
SdrObject * GetCurrentGroup() const
Return current Group.
const SdrLayerIDSet & GetLockedLayers() const
SdrPage * GetPage() const
const SdrLayerAdmin & GetLayerAdmin() const
changing the layers does not set the modified-flag!
SdrPaintWindow * GetPaintWindow(sal_uInt32 nIndex) const
sal_uInt16 ImpGetMinMovLogic(short nMinMov, const OutputDevice *pOut) const
sal_uInt32 PaintWindowCount() const
SfxStyleSheet * mpDefaultStyleSheet
void ImpSetGlueVisible3(bool bOn)
SdrPageView * GetSdrPageView() const
VclPtr< OutputDevice > mpDragWin
SdrModel & GetModel() const
rtl::Reference< sdr::overlay::OverlayManager > const & GetOverlayManager() const
Rectangle objects (rectangle, circle, ...)
Point GetSnapPos(const Point &rPnt, const SdrPageView *pPV) const
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
const SfxPoolItem & Get(sal_uInt16 nWhich, bool bSrchInParent=true) const
constexpr tools::Long Height() const
constexpr tools::Long Width() const
void append(const B2DPolygon &rPolygon, sal_uInt32 nCount=1)
void append(const basegfx::B2DPoint &rPoint, sal_uInt32 nCount)
void setClosed(bool bNew)
void append(std::unique_ptr< OverlayObject > pOverlayObject)
constexpr ::Color COL_WHITE(0xFF, 0xFF, 0xFF)
constexpr ::Color COL_BLACK(0x00, 0x00, 0x00)
EmbeddedObjectRef * pObject
B2IRange fround(const B2DRange &rRange)
E3dScene * DynCastE3dScene(SdrObject *pObj)
@ Measure
object that represents a SdrPage
@ Caption
connector object
@ FreehandLine
closed Bezier-curve
@ CircleOrEllipse
rectangle (round corners optional)
@ Text
closed free-hand line
@ OutlineText
TitleText, special text object for StarDraw.
@ FreehandFill
open free-hand line
void OrthoDistance4(const Point &rPt0, Point &rPt, bool bBigOrtho)
void OrthoDistance8(const Point &rPt0, Point &rPt, bool bBigOrtho)
o3tl::strong_int< sal_Int16, struct SdrLayerIDTag > SdrLayerID
constexpr SdrLayerID SDRLAYER_NOTFOUND(-1)
constexpr TypedWhichId< XLineStyleItem > XATTR_LINESTYLE(XATTR_LINE_FIRST)
constexpr TypedWhichId< XFillStyleItem > XATTR_FILLSTYLE(XATTR_FILL_FIRST)