Kaydet (Commit) e5ebee7e authored tarafından Faisal M. Al-Otaibi's avatar Faisal M. Al-Otaibi

fdo#74751: fix reverse base point diagram on RTL UI

Change-Id: I3f3f2d59952577b0533a9d8ef6d27af849bd6bdb
üst 18ab4793
...@@ -89,7 +89,7 @@ protected: ...@@ -89,7 +89,7 @@ protected:
sal_Bool mbCompleteDisable; sal_Bool mbCompleteDisable;
RECT_POINT GetRPFromPoint( Point ) const; RECT_POINT GetRPFromPoint( Point, bool bRTL = false ) const;
Point GetPointFromRP( RECT_POINT ) const; Point GetPointFromRP( RECT_POINT ) const;
void SetFocusRect( const Rectangle* pRect = NULL ); // pRect == NULL -> calculate rectangle in method void SetFocusRect( const Rectangle* pRect = NULL ); // pRect == NULL -> calculate rectangle in method
Point SetActualRPWithoutInvalidate( RECT_POINT eNewRP ); // returns the last point Point SetActualRPWithoutInvalidate( RECT_POINT eNewRP ); // returns the last point
......
...@@ -558,7 +558,9 @@ Point SvxRectCtl::SetActualRPWithoutInvalidate( RECT_POINT eNewRP ) ...@@ -558,7 +558,9 @@ Point SvxRectCtl::SetActualRPWithoutInvalidate( RECT_POINT eNewRP )
if( (m_nState & CS_NOVERT) != 0 ) if( (m_nState & CS_NOVERT) != 0 )
aPtNew.Y() = aPtMM.Y(); aPtNew.Y() = aPtMM.Y();
eNewRP = GetRPFromPoint( aPtNew ); // fdo#74751 this fix reverse base point on RTL UI.
bool bRTL = Application::GetSettings().GetLayoutRTL();
eNewRP = GetRPFromPoint( aPtNew, bRTL );
eDefRP = eNewRP; eDefRP = eNewRP;
eRP = eNewRP; eRP = eNewRP;
...@@ -621,19 +623,20 @@ Point SvxRectCtl::GetApproxLogPtFromPixPt( const Point& rPt ) const ...@@ -621,19 +623,20 @@ Point SvxRectCtl::GetApproxLogPtFromPixPt( const Point& rPt ) const
// Converts Point in RECT_POINT // Converts Point in RECT_POINT
RECT_POINT SvxRectCtl::GetRPFromPoint( Point aPt ) const RECT_POINT SvxRectCtl::GetRPFromPoint( Point aPt, bool bRTL ) const
{ {
if ( aPt == aPtLT) return RP_LT; RECT_POINT rPoint = RP_MM; // default
else if( aPt == aPtMT) return RP_MT;
else if( aPt == aPtRT) return RP_RT;
else if( aPt == aPtLM) return RP_LM;
else if( aPt == aPtRM) return RP_RM;
else if( aPt == aPtLB) return RP_LB;
else if( aPt == aPtMB) return RP_MB;
else if( aPt == aPtRB) return RP_RB;
else if ( aPt == aPtLT) rPoint = bRTL ? RP_RT : RP_LT;
return RP_MM; // default else if( aPt == aPtMT) rPoint = RP_MT;
else if( aPt == aPtRT) rPoint = bRTL ? RP_LT : RP_RT;
else if( aPt == aPtLM) rPoint = bRTL ? RP_RM : RP_LM;
else if( aPt == aPtRM) rPoint = bRTL ? RP_LM : RP_RM;
else if( aPt == aPtLB) rPoint = bRTL ? RP_RB : RP_LB;
else if( aPt == aPtMB) rPoint = RP_MB;
else if( aPt == aPtRB) rPoint = bRTL ? RP_LB : RP_RB;
return rPoint;
} }
// Resets to the original state of the control // Resets to the original state of the control
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment