Author: alg
Date: Fri Jan 31 22:23:07 2014
New Revision: 1563305
URL: http://svn.apache.org/r1563305
Log:
i123993 When executing rotation actions from the Sidebar PosSizePropertyPanel,
take UIScale into account.
Patch By: hanya
Review By: alg
Modified:
openoffice/trunk/main/svx/source/sidebar/possize/PosSizePropertyPanel.cxx
Modified:
openoffice/trunk/main/svx/source/sidebar/possize/PosSizePropertyPanel.cxx
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/svx/source/sidebar/possize/PosSizePropertyPanel.cxx?rev=1563305&r1=1563304&r2=1563305&view=diff
==============================================================================
--- openoffice/trunk/main/svx/source/sidebar/possize/PosSizePropertyPanel.cxx
(original)
+++ openoffice/trunk/main/svx/source/sidebar/possize/PosSizePropertyPanel.cxx
Fri Jan 31 22:23:07 2014
@@ -699,9 +699,11 @@ IMPL_LINK( PosSizePropertyPanel, AngleMo
}
sal_Int64 nTmp = dTmp*100;
+ // #123993# Need to take UIScale into account when executing rotations
+ const double fUIScale(mpView && mpView->GetModel() ?
double(mpView->GetModel()->GetUIScale()) : 1.0);
SfxInt32Item aAngleItem( SID_ATTR_TRANSFORM_ANGLE,(sal_uInt32) nTmp);
- SfxInt32Item aRotXItem( SID_ATTR_TRANSFORM_ROT_X,(sal_uInt32) mlRotX);
- SfxInt32Item aRotYItem( SID_ATTR_TRANSFORM_ROT_Y,(sal_uInt32) mlRotY);
+ SfxInt32Item aRotXItem( SID_ATTR_TRANSFORM_ROT_X, basegfx::fround(mlRotX *
fUIScale));
+ SfxInt32Item aRotYItem( SID_ATTR_TRANSFORM_ROT_Y, basegfx::fround(mlRotY *
fUIScale));
GetBindings()->GetDispatcher()->Execute(
SID_ATTR_TRANSFORM, SFX_CALLMODE_RECORD, &aAngleItem, &aRotXItem,
&aRotYItem, 0L );
@@ -715,9 +717,11 @@ IMPL_LINK( PosSizePropertyPanel, Rotatio
{
sal_Int32 nTmp = mpDial->GetRotation();
+ // #123993# Need to take UIScale into account when executing rotations
+ const double fUIScale(mpView && mpView->GetModel() ?
double(mpView->GetModel()->GetUIScale()) : 1.0);
SfxInt32Item aAngleItem( SID_ATTR_TRANSFORM_ANGLE,(sal_uInt32) nTmp);
- SfxInt32Item aRotXItem( SID_ATTR_TRANSFORM_ROT_X,(sal_uInt32) mlRotX);
- SfxInt32Item aRotYItem( SID_ATTR_TRANSFORM_ROT_Y,(sal_uInt32) mlRotY);
+ SfxInt32Item aRotXItem( SID_ATTR_TRANSFORM_ROT_X, basegfx::fround(mlRotX *
fUIScale));
+ SfxInt32Item aRotYItem( SID_ATTR_TRANSFORM_ROT_Y, basegfx::fround(mlRotY *
fUIScale));
GetBindings()->GetDispatcher()->Execute(
SID_ATTR_TRANSFORM, SFX_CALLMODE_RECORD, &aAngleItem, &aRotXItem,
&aRotYItem, 0L );