summaryrefslogtreecommitdiff
path: root/svx/source/svdraw
diff options
context:
space:
mode:
Diffstat (limited to 'svx/source/svdraw')
-rw-r--r--svx/source/svdraw/svdedtv1.cxx141
-rw-r--r--svx/source/svdraw/svdedxv.cxx32
-rw-r--r--svx/source/svdraw/svdfmtf.cxx10
-rw-r--r--svx/source/svdraw/svdmodel.cxx4
-rw-r--r--svx/source/svdraw/svdoashp.cxx4
-rw-r--r--svx/source/svdraw/svdobj.cxx21
-rw-r--r--svx/source/svdraw/svdogrp.cxx32
-rw-r--r--svx/source/svdraw/svdopath.cxx4
-rw-r--r--svx/source/svdraw/svdotext.cxx4
-rw-r--r--svx/source/svdraw/svdstr.src10
10 files changed, 218 insertions, 44 deletions
diff --git a/svx/source/svdraw/svdedtv1.cxx b/svx/source/svdraw/svdedtv1.cxx
index 392fa5327490..4d7e66ce3442 100644
--- a/svx/source/svdraw/svdedtv1.cxx
+++ b/svx/source/svdraw/svdedtv1.cxx
@@ -55,6 +55,9 @@
#include <svx/sdr/contact/viewcontact.hxx>
#include <svx/e3dsceneupdater.hxx>
#include <svx/obj3d.hxx>
+#include <basegfx/matrix/b2dhommatrix.hxx>
+#include <svx/AffineMatrixItem.hxx>
+#include <basegfx/matrix/b2dhommatrixtools.hxx>
////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -249,23 +252,77 @@ void SdrEditView::ResizeMarkedObj(const Point& rRef, const Fraction& xFact, cons
if( bUndo )
EndUndo();
}
-
-long SdrEditView::GetMarkedObjRotate() const
+void SdrEditView::ResizeMultMarkedObj(const Point& rRef,
+ const Fraction& xFact,
+ const Fraction& yFact,
+ const bool bCopy,
+ const bool bWdh,
+ const bool bHgt)
{
- sal_Bool b1st=sal_True;
- sal_Bool bOk=sal_True;
- long nWink=0;
+ const bool bUndo = IsUndoEnabled();
+ if( bUndo )
+ {
+ XubString aStr;
+ ImpTakeDescriptionStr(STR_EditResize,aStr);
+ if (bCopy)
+ aStr+=ImpGetResStr(STR_EditWithCopy);
+ BegUndo(aStr);
+ }
+
+ if (bCopy)
+ CopyMarkedObj();
+
sal_uIntPtr nMarkAnz=GetMarkedObjectCount();
- for (sal_uIntPtr nm=0; nm<nMarkAnz && bOk; nm++) {
+ for (sal_uIntPtr nm=0; nm<nMarkAnz; nm++)
+ {
SdrMark* pM=GetSdrMarkByIndex(nm);
SdrObject* pO=pM->GetMarkedSdrObj();
- long nWink2=pO->GetRotateAngle();
- if (b1st) nWink=nWink2;
- else if (nWink2!=nWink) bOk=sal_False;
- b1st=sal_False;
+ if( bUndo )
+ {
+ std::vector< SdrUndoAction* > vConnectorUndoActions( CreateConnectorUndo( *pO ) );
+ AddUndoActions( vConnectorUndoActions );
+ AddUndo( GetModel()->GetSdrUndoFactory().CreateUndoGeoObject(*pO));
+ }
+
+ Fraction aFrac(1,1);
+ if (bWdh && bHgt)
+ pO->Resize(rRef, xFact, yFact);
+ else if (bWdh)
+ pO->Resize(rRef, xFact, aFrac);
+ else if (bHgt)
+ pO->Resize(rRef, aFrac, yFact);
}
- if (!bOk) nWink=0;
- return nWink;
+ if( bUndo )
+ EndUndo();
+}
+
+long SdrEditView::GetMarkedObjRotate() const
+{
+ long nRetval(0);
+
+ if(GetMarkedObjectCount())
+ {
+ SdrMark* pM = GetSdrMarkByIndex(0);
+ SdrObject* pO = pM->GetMarkedSdrObj();
+
+ nRetval = pO->GetRotateAngle();
+ }
+
+ return nRetval;
+ //sal_Bool b1st=sal_True;
+ //sal_Bool bOk=sal_True;
+ //long nWink=0;
+ //sal_uIntPtr nMarkAnz=GetMarkedObjectCount();
+ //for (sal_uIntPtr nm=0; nm<nMarkAnz && bOk; nm++) {
+ // SdrMark* pM=GetSdrMarkByIndex(nm);
+ // SdrObject* pO=pM->GetMarkedSdrObj();
+ // long nWink2=pO->GetRotateAngle();
+ // if (b1st) nWink=nWink2;
+ // else if (nWink2!=nWink) bOk=sal_False;
+ // b1st=sal_False;
+ //}
+ //if (!bOk) nWink=0;
+ //return nWink;
}
void SdrEditView::RotateMarkedObj(const Point& rRef, long nWink, bool bCopy)
@@ -1196,11 +1253,13 @@ sal_Bool SdrEditView::SetStyleSheet(SfxStyleSheet* pStyleSheet, sal_Bool bDontRe
SfxItemSet SdrEditView::GetGeoAttrFromMarked() const
{
SfxItemSet aRetSet(pMod->GetItemPool(), // SID_ATTR_TRANSFORM_... aus s:svxids.hrc
- SID_ATTR_TRANSFORM_POS_X,SID_ATTR_TRANSFORM_ANGLE,
- SID_ATTR_TRANSFORM_PROTECT_POS,SID_ATTR_TRANSFORM_AUTOHEIGHT,
- SDRATTR_ECKENRADIUS,SDRATTR_ECKENRADIUS,
- 0);
- if (AreObjectsMarked()) {
+ SID_ATTR_TRANSFORM_POS_X, SID_ATTR_TRANSFORM_ANGLE,
+ SID_ATTR_TRANSFORM_PROTECT_POS, SID_ATTR_TRANSFORM_AUTOHEIGHT,
+ SDRATTR_ECKENRADIUS, SDRATTR_ECKENRADIUS,
+ 0);
+
+ if (AreObjectsMarked())
+ {
SfxItemSet aMarkAttr(GetAttrFromMarked(sal_False)); // wg. AutoGrowHeight und Eckenradius
Rectangle aRect(GetMarkedObjRect());
@@ -1262,7 +1321,8 @@ SfxItemSet SdrEditView::GetGeoAttrFromMarked() const
sal_Bool bSizProt=pObj->IsResizeProtect();
sal_Bool bPosProtDontCare=sal_False;
sal_Bool bSizProtDontCare=sal_False;
- for (sal_uIntPtr i=1; i<nMarkCount && (!bPosProtDontCare || !bSizProtDontCare); i++) {
+ for (sal_uIntPtr i=1; i<nMarkCount && (!bPosProtDontCare || !bSizProtDontCare); i++)
+ {
pObj=rMarkList.GetMark(i)->GetMarkedSdrObj();
if (bPosProt!=pObj->IsMoveProtect()) bPosProtDontCare=sal_True;
if (bSizProt!=pObj->IsResizeProtect()) bSizProtDontCare=sal_True;
@@ -1304,7 +1364,48 @@ SfxItemSet SdrEditView::GetGeoAttrFromMarked() const
aRetSet.Put(SdrEckenradiusItem(nRadius));
}
+ basegfx::B2DHomMatrix aTransformation;
+
+ if(nMarkCount > 1)
+ {
+ // multiple objects, range is collected in aRect
+ aTransformation = basegfx::tools::createScaleTranslateB2DHomMatrix(
+ aRect.Left(), aRect.Top(),
+ aRect.getWidth(), aRect.getHeight());
+ }
+ else if(pObj)
+ {
+ // single object, get homogen transformation
+ basegfx::B2DPolyPolygon aPolyPolygon;
+
+ pObj->TRGetBaseGeometry(aTransformation, aPolyPolygon);
+ }
+
+ if(aTransformation.isIdentity())
+ {
+ aRetSet.InvalidateItem(SID_ATTR_TRANSFORM_MATRIX);
+ }
+ else
+ {
+ com::sun::star::geometry::AffineMatrix2D aAffineMatrix2D;
+ Point aPageOffset(0, 0);
+
+ if(GetSdrPageView())
+ {
+ aPageOffset = GetSdrPageView()->GetPageOrigin();
+ }
+
+ aAffineMatrix2D.m00 = aTransformation.get(0, 0);
+ aAffineMatrix2D.m01 = aTransformation.get(0, 1);
+ aAffineMatrix2D.m02 = aTransformation.get(0, 2) - aPageOffset.X();
+ aAffineMatrix2D.m10 = aTransformation.get(1, 0);
+ aAffineMatrix2D.m11 = aTransformation.get(1, 1);
+ aAffineMatrix2D.m12 = aTransformation.get(1, 2) - aPageOffset.Y();
+
+ aRetSet.Put(AffineMatrixItem(&aAffineMatrix2D));
+ }
}
+
return aRetSet;
}
@@ -1373,6 +1474,7 @@ void SdrEditView::SetGeoAttrToMarked(const SfxItemSet& rAttr)
sal_Bool bChgPos=sal_False;
sal_Bool bChgSiz=sal_False;
+ sal_Bool bChgWdh=sal_False;
sal_Bool bChgHgt=sal_False;
sal_Bool bRotate=sal_False;
sal_Bool bShear =sal_False;
@@ -1395,6 +1497,7 @@ void SdrEditView::SetGeoAttrToMarked(const SfxItemSet& rAttr)
if (SFX_ITEM_SET==rAttr.GetItemState(SID_ATTR_TRANSFORM_WIDTH,sal_True,&pPoolItem)) {
nSizX=((const SfxUInt32Item*)pPoolItem)->GetValue();
bChgSiz=sal_True;
+ bChgWdh=sal_True;
}
if (SFX_ITEM_SET==rAttr.GetItemState(SID_ATTR_TRANSFORM_HEIGHT,sal_True,&pPoolItem)) {
nSizY=((const SfxUInt32Item*)pPoolItem)->GetValue();
@@ -1487,7 +1590,7 @@ void SdrEditView::SetGeoAttrToMarked(const SfxItemSet& rAttr)
GetSdrPageView()->PagePosToLogic(aRef);
}
- ResizeMarkedObj(aRef,aWdt,aHgt);
+ ResizeMultMarkedObj(aRef, aWdt, aHgt, false, bChgWdh, bChgHgt);
}
// Rotieren
diff --git a/svx/source/svdraw/svdedxv.cxx b/svx/source/svdraw/svdedxv.cxx
index 28e785253a3e..1aa6d18c46b2 100644
--- a/svx/source/svdraw/svdedxv.cxx
+++ b/svx/source/svdraw/svdedxv.cxx
@@ -2035,6 +2035,38 @@ void SdrObjEditView::OnEndPasteOrDrop( PasteOrDropInfos* )
// applications can derive from these virtual methods to do something before a drop or paste operation
}
+sal_uInt16 SdrObjEditView::GetSelectionLevel() const
+{
+ sal_uInt16 nLevel = 0xFFFF;
+ if( IsTextEdit() )
+ {
+ DBG_ASSERT(pTextEditOutlinerView!=NULL,"SdrObjEditView::GetAttributes(): pTextEditOutlinerView=NULL");
+ DBG_ASSERT(pTextEditOutliner!=NULL,"SdrObjEditView::GetAttributes(): pTextEditOutliner=NULL");
+ if( pTextEditOutlinerView )
+ {
+ //start and end position
+ ESelection aSelect = pTextEditOutlinerView->GetSelection();
+ sal_uInt16 nStartPara = ::std::min( aSelect.nStartPara, aSelect.nEndPara );
+ sal_uInt16 nEndPara = ::std::max( aSelect.nStartPara, aSelect.nEndPara );
+ //get level from each paragraph
+ nLevel = 0;
+ for( sal_uInt16 nPara = nStartPara; nPara <= nEndPara; nPara++ )
+ {
+ sal_uInt16 nParaDepth = 1 << pTextEditOutliner->GetDepth( nPara );
+ if( !(nLevel & nParaDepth) )
+ nLevel += nParaDepth;
+ }
+ //reduce one level for Outliner Object
+ //if( nLevel > 0 && GetTextEditObject()->GetObjIdentifier() == OBJ_OUTLINETEXT )
+ // nLevel = nLevel >> 1;
+ //no bullet paragraph selected
+ if( nLevel == 0)
+ nLevel = 0xFFFF;
+ }
+ }
+ return nLevel;
+}
+
bool SdrObjEditView::SupportsFormatPaintbrush( sal_uInt32 nObjectInventor, sal_uInt16 nObjectIdentifier ) const
{
if( nObjectInventor != SdrInventor && nObjectInventor != E3dInventor )
diff --git a/svx/source/svdraw/svdfmtf.cxx b/svx/source/svdraw/svdfmtf.cxx
index d164cb1ed913..1314161502bc 100644
--- a/svx/source/svdraw/svdfmtf.cxx
+++ b/svx/source/svdraw/svdfmtf.cxx
@@ -351,19 +351,19 @@ void ImpSdrGDIMetaFileImport::SetAttributes(SdrObject* pObj, bool bForceTextAttr
switch(maLineJoin)
{
default : // basegfx::B2DLINEJOIN_NONE
- mpLineAttr->Put(XLineJointItem(XLINEJOINT_NONE));
+ mpLineAttr->Put(XLineJointItem(com::sun::star::drawing::LineJoint_NONE));
break;
case basegfx::B2DLINEJOIN_MIDDLE:
- mpLineAttr->Put(XLineJointItem(XLINEJOINT_MIDDLE));
+ mpLineAttr->Put(XLineJointItem(com::sun::star::drawing::LineJoint_MIDDLE));
break;
case basegfx::B2DLINEJOIN_BEVEL:
- mpLineAttr->Put(XLineJointItem(XLINEJOINT_BEVEL));
+ mpLineAttr->Put(XLineJointItem(com::sun::star::drawing::LineJoint_BEVEL));
break;
case basegfx::B2DLINEJOIN_MITER:
- mpLineAttr->Put(XLineJointItem(XLINEJOINT_MITER));
+ mpLineAttr->Put(XLineJointItem(com::sun::star::drawing::LineJoint_MITER));
break;
case basegfx::B2DLINEJOIN_ROUND:
- mpLineAttr->Put(XLineJointItem(XLINEJOINT_ROUND));
+ mpLineAttr->Put(XLineJointItem(com::sun::star::drawing::LineJoint_ROUND));
break;
}
diff --git a/svx/source/svdraw/svdmodel.cxx b/svx/source/svdraw/svdmodel.cxx
index cf6630d6172d..0f2686b15226 100644
--- a/svx/source/svdraw/svdmodel.cxx
+++ b/svx/source/svdraw/svdmodel.cxx
@@ -762,7 +762,7 @@ bool SdrModel::IsUndoEnabled() const
void SdrModel::ImpCreateTables()
{
// der Writer hat seinen eigenen ColorTable
- if (!bExtColorTable) pColorTable=new XColorTable(aTablePath,(XOutdevItemPool*)pItemPool);
+ if (!bExtColorTable) pColorTable=new XColorList(aTablePath,(XOutdevItemPool*)pItemPool);
pDashList =new XDashList (aTablePath,(XOutdevItemPool*)pItemPool);
pLineEndList =new XLineEndList (aTablePath,(XOutdevItemPool*)pItemPool);
pHatchList =new XHatchList (aTablePath,(XOutdevItemPool*)pItemPool);
@@ -2173,7 +2173,7 @@ const ::com::sun::star::uno::Sequence< sal_Int8 >& SdrModel::getUnoTunnelImpleme
//
// i120668, move from the header files, add delete action
//
-void SdrModel::SetColorTable(XColorTable* pTable) { delete pColorTable; pColorTable=pTable; }
+void SdrModel::SetColorTable(XColorList* pTable) { delete pColorTable; pColorTable=pTable; }
void SdrModel::SetDashList(XDashList* pList) { delete pDashList; pDashList=pList; }
void SdrModel::SetLineEndList(XLineEndList* pList) { delete pLineEndList; pLineEndList=pList; }
void SdrModel::SetHatchList(XHatchList* pList) { delete pHatchList; pHatchList=pList; }
diff --git a/svx/source/svdraw/svdoashp.cxx b/svx/source/svdraw/svdoashp.cxx
index 20ec9a3528e5..d34ada5c41cf 100644
--- a/svx/source/svdraw/svdoashp.cxx
+++ b/svx/source/svdraw/svdoashp.cxx
@@ -3300,7 +3300,7 @@ void SdrObjCustomShape::TRSetBaseGeometry(const basegfx::B2DHomMatrix& rMatrix,
aGeo.RecalcTan();
// force metric to pool metric
- SfxMapUnit eMapUnit = GetObjectItemSet().GetPool()->GetMetric(0);
+ const SfxMapUnit eMapUnit(GetObjectMapUnit());
if(eMapUnit != SFX_MAPUNIT_100TH_MM)
{
switch(eMapUnit)
@@ -3447,7 +3447,7 @@ sal_Bool SdrObjCustomShape::TRGetBaseGeometry(basegfx::B2DHomMatrix& rMatrix, ba
}
// force MapUnit to 100th mm
- SfxMapUnit eMapUnit = GetObjectItemSet().GetPool()->GetMetric(0);
+ const SfxMapUnit eMapUnit(GetObjectMapUnit());
if(eMapUnit != SFX_MAPUNIT_100TH_MM)
{
switch(eMapUnit)
diff --git a/svx/source/svdraw/svdobj.cxx b/svx/source/svdraw/svdobj.cxx
index c1a21fca565a..2bfa847f8552 100644
--- a/svx/source/svdraw/svdobj.cxx
+++ b/svx/source/svdraw/svdobj.cxx
@@ -2030,6 +2030,23 @@ const SfxPoolItem& SdrObject::GetObjectItem(const sal_uInt16 nWhich) const
return GetObjectItemSet().Get(nWhich);
}
+SfxMapUnit SdrObject::GetObjectMapUnit() const
+{
+ SfxMapUnit aRetval(SFX_MAPUNIT_100TH_MM);
+ SdrItemPool* pPool = GetObjectItemPool();
+
+ if(pPool)
+ {
+ aRetval = pPool->GetMetric(0);
+ }
+ else
+ {
+ OSL_ENSURE(pPool, "SdrObjects always need a pool (!)");
+ }
+
+ return aRetval;
+}
+
const SfxPoolItem& SdrObject::GetMergedItem(const sal_uInt16 nWhich) const
{
return GetMergedItemSet().Get(nWhich);
@@ -3028,7 +3045,7 @@ sal_Bool SdrObject::TRGetBaseGeometry(basegfx::B2DHomMatrix& rMatrix, basegfx::B
}
// force MapUnit to 100th mm
- SfxMapUnit eMapUnit = GetObjectItemSet().GetPool()->GetMetric(0);
+ const SfxMapUnit eMapUnit(GetObjectMapUnit());
if(eMapUnit != SFX_MAPUNIT_100TH_MM)
{
switch(eMapUnit)
@@ -3079,7 +3096,7 @@ void SdrObject::TRSetBaseGeometry(const basegfx::B2DHomMatrix& rMatrix, const ba
}
// force metric to pool metric
- SfxMapUnit eMapUnit = GetObjectItemSet().GetPool()->GetMetric(0);
+ const SfxMapUnit eMapUnit(GetObjectMapUnit());
if(eMapUnit != SFX_MAPUNIT_100TH_MM)
{
switch(eMapUnit)
diff --git a/svx/source/svdraw/svdogrp.cxx b/svx/source/svdraw/svdogrp.cxx
index 7acee8d8d2cf..0c3902a5583e 100644
--- a/svx/source/svdraw/svdogrp.cxx
+++ b/svx/source/svdraw/svdogrp.cxx
@@ -97,8 +97,6 @@ SdrObjGroup::SdrObjGroup()
pSub->SetOwnerObj(this);
pSub->SetListKind(SDROBJLIST_GROUPOBJ);
bRefPoint=sal_False;
- nDrehWink=0;
- nShearWink=0;
bClosedObj=sal_False;
}
@@ -308,8 +306,6 @@ void SdrObjGroup::operator=(const SdrObject& rObj)
pSub->CopyObjects(*rObj.GetSubList());
// copy local paremeters
- nDrehWink =((SdrObjGroup&)rObj).nDrehWink;
- nShearWink =((SdrObjGroup&)rObj).nShearWink;
aRefPoint =((SdrObjGroup&)rObj).aRefPoint;
bRefPoint =((SdrObjGroup&)rObj).bRefPoint;
}
@@ -388,13 +384,33 @@ FASTBOOL SdrObjGroup::BegCreate(SdrDragStat& /*rStat*/)
long SdrObjGroup::GetRotateAngle() const
{
- return nDrehWink;
+ const sal_uInt32 nObjCount(pSub->GetObjCount());
+ long nRetval(0);
+
+ if(nObjCount)
+ {
+ SdrObject* pObj = pSub->GetObj(0);
+
+ nRetval = pObj->GetRotateAngle();
+ }
+
+ return nRetval;
}
long SdrObjGroup::GetShearAngle(FASTBOOL /*bVertical*/) const
{
- return nShearWink;
+ const sal_uInt32 nObjCount(pSub->GetObjCount());
+ long nRetval(0);
+
+ if(nObjCount)
+ {
+ SdrObject* pObj = pSub->GetObj(0);
+
+ nRetval = pObj->GetShearAngle();
+ }
+
+ return nRetval;
}
@@ -476,7 +492,6 @@ void SdrObjGroup::NbcResize(const Point& rRef, const Fraction& xFact, const Frac
void SdrObjGroup::NbcRotate(const Point& rRef, long nWink, double sn, double cs)
{
SetGlueReallyAbsolute(sal_True);
- nDrehWink=NormAngle360(nDrehWink+nWink);
RotatePoint(aRefPoint,rRef,sn,cs);
SdrObjList* pOL=pSub;
sal_uIntPtr nObjAnz=pOL->GetObjCount();
@@ -507,7 +522,6 @@ void SdrObjGroup::NbcMirror(const Point& rRef1, const Point& rRef2)
void SdrObjGroup::NbcShear(const Point& rRef, long nWink, double tn, FASTBOOL bVShear)
{
SetGlueReallyAbsolute(sal_True);
- nShearWink+=nWink;
ShearPoint(aRefPoint,rRef,tn);
SdrObjList* pOL=pSub;
sal_uIntPtr nObjAnz=pOL->GetObjCount();
@@ -647,7 +661,6 @@ void SdrObjGroup::Rotate(const Point& rRef, long nWink, double sn, double cs)
if (nWink!=0) {
SetGlueReallyAbsolute(sal_True);
Rectangle aBoundRect0; if (pUserCall!=NULL) aBoundRect0=GetLastBoundRect();
- nDrehWink=NormAngle360(nDrehWink+nWink);
RotatePoint(aRefPoint,rRef,sn,cs);
// #32383# Erst die Verbinder verschieben, dann den Rest
SdrObjList* pOL=pSub;
@@ -700,7 +713,6 @@ void SdrObjGroup::Shear(const Point& rRef, long nWink, double tn, FASTBOOL bVShe
if (nWink!=0) {
SetGlueReallyAbsolute(sal_True);
Rectangle aBoundRect0; if (pUserCall!=NULL) aBoundRect0=GetLastBoundRect();
- nShearWink+=nWink;
ShearPoint(aRefPoint,rRef,tn);
// #32383# Erst die Verbinder verschieben, dann den Rest
SdrObjList* pOL=pSub;
diff --git a/svx/source/svdraw/svdopath.cxx b/svx/source/svdraw/svdopath.cxx
index b62ac517f3c8..b6fc7c8535c6 100644
--- a/svx/source/svdraw/svdopath.cxx
+++ b/svx/source/svdraw/svdopath.cxx
@@ -2962,7 +2962,7 @@ sal_Bool SdrPathObj::TRGetBaseGeometry(basegfx::B2DHomMatrix& rMatrix, basegfx::
}
// force MapUnit to 100th mm
- SfxMapUnit eMapUnit = GetObjectItemSet().GetPool()->GetMetric(0);
+ const SfxMapUnit eMapUnit(GetObjectMapUnit());
if(eMapUnit != SFX_MAPUNIT_100TH_MM)
{
switch(eMapUnit)
@@ -3032,7 +3032,7 @@ void SdrPathObj::TRSetBaseGeometry(const basegfx::B2DHomMatrix& rMatrix, const b
aGeo.RecalcTan();
// force metric to pool metric
- SfxMapUnit eMapUnit = GetObjectItemSet().GetPool()->GetMetric(0);
+ const SfxMapUnit eMapUnit(GetObjectMapUnit());
if(eMapUnit != SFX_MAPUNIT_100TH_MM)
{
switch(eMapUnit)
diff --git a/svx/source/svdraw/svdotext.cxx b/svx/source/svdraw/svdotext.cxx
index e330c993db09..315979b59618 100644
--- a/svx/source/svdraw/svdotext.cxx
+++ b/svx/source/svdraw/svdotext.cxx
@@ -1710,7 +1710,7 @@ sal_Bool SdrTextObj::TRGetBaseGeometry(basegfx::B2DHomMatrix& rMatrix, basegfx::
}
// force MapUnit to 100th mm
- SfxMapUnit eMapUnit = GetObjectItemSet().GetPool()->GetMetric(0);
+ const SfxMapUnit eMapUnit(GetObjectMapUnit());
if(eMapUnit != SFX_MAPUNIT_100TH_MM)
{
switch(eMapUnit)
@@ -1772,7 +1772,7 @@ void SdrTextObj::TRSetBaseGeometry(const basegfx::B2DHomMatrix& rMatrix, const b
aGeo.RecalcTan();
// force metric to pool metric
- SfxMapUnit eMapUnit = GetObjectItemSet().GetPool()->GetMetric(0);
+ const SfxMapUnit eMapUnit(GetObjectMapUnit());
if(eMapUnit != SFX_MAPUNIT_100TH_MM)
{
switch(eMapUnit)
diff --git a/svx/source/svdraw/svdstr.src b/svx/source/svdraw/svdstr.src
index 64a8c9dde105..93b44e115892 100644
--- a/svx/source/svdraw/svdstr.src
+++ b/svx/source/svdraw/svdstr.src
@@ -2870,6 +2870,16 @@ Bitmap SIP_SA_ACCESSIBILITY_CROP_MARKERS
File = "cropmarkersACC.bmp";
};
+// DialControl bitmaps
+Bitmap IMG_DIACONTROL_NORMAL
+{
+ File = "rotation.png";
+};
+Bitmap IMG_DIACONTROL_H
+{
+ File = "rotation_h.png";
+};
+
//IAccessibility2 Implementation 2009-----
String STR_ObjNameSingulFONTWORK
{