[Libreoffice-commits] core.git: 3 commits - vcl/inc vcl/source
Tomaž Vajngerl
tomaz.vajngerl at collabora.co.uk
Mon May 25 00:33:30 PDT 2015
vcl/inc/ilstbox.hxx | 8 +-
vcl/source/control/combobox.cxx | 2
vcl/source/control/ilstbox.cxx | 135 +++++++++++-----------------------------
vcl/source/control/lstbox.cxx | 6 -
vcl/source/window/split.cxx | 16 ++--
vcl/source/window/status.cxx | 6 -
6 files changed, 57 insertions(+), 116 deletions(-)
New commits:
commit 0359a59b6dec4a3c1e8fdc6e51d179fd6db4aad7
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.co.uk>
Date: Mon May 25 16:29:20 2015 +0900
forward RenderCOntext to UserDraw, remove obsolete draw call
Change-Id: I29dcc22a6840e7104bdf68d050b616c8e06226fa
diff --git a/vcl/source/window/status.cxx b/vcl/source/window/status.cxx
index a3273ec..b9669d7 100644
--- a/vcl/source/window/status.cxx
+++ b/vcl/source/window/status.cxx
@@ -462,7 +462,7 @@ void StatusBar::ImplDrawItem(vcl::RenderContext& rRenderContext, bool bOffScreen
}
else
{
- UserDrawEvent aODEvt(this, aTextRect, pItem->mnId);
+ UserDrawEvent aODEvt(&rRenderContext, aTextRect, pItem->mnId);
UserDraw(aODEvt);
}
}
@@ -505,8 +505,7 @@ void StatusBar::ImplDrawItem(vcl::RenderContext& rRenderContext, bool bOffScreen
}
}
- const OutputDevice* pOutDev = GetOutDev();
- if (!pOutDev->ImplIsRecordLayout())
+ if (!rRenderContext.ImplIsRecordLayout())
CallEventListeners(VCLEVENT_STATUSBAR_DRAWITEM, reinterpret_cast<void*>(pItem->mnId));
}
@@ -1260,7 +1259,6 @@ void StatusBar::SetItemData( sal_uInt16 nItemId, void* pNewData )
Update();
Rectangle aRect = ImplGetItemRectPos(nPos);
Invalidate(aRect);
- ImplDrawItem(*this, true, nPos, false, false);
Flush();
}
}
commit dd0996f7b230e76f35cc3464b85dd46e90098c3d
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.co.uk>
Date: Mon May 25 16:18:23 2015 +0900
use RenderContext in user draw, use ApplySettings
Change-Id: I6cc22677000459a5f19bfb207007f5c246f187e0
diff --git a/vcl/inc/ilstbox.hxx b/vcl/inc/ilstbox.hxx
index 8a5bca2..363483e 100644
--- a/vcl/inc/ilstbox.hxx
+++ b/vcl/inc/ilstbox.hxx
@@ -564,11 +564,11 @@ private:
bool mbInUserDraw : 1;
bool mbEdgeBlending : 1;
- void ImplDraw( bool bLayout = false );
+ void ImplDraw(vcl::RenderContext& rRenderContext, bool bLayout = false);
protected:
virtual void FillLayoutData() const SAL_OVERRIDE;
-public:
+public:
ImplWin( vcl::Window* pParent, WinBits nWinStyle = 0 );
virtual void MouseButtonDown( const MouseEvent& rMEvt ) SAL_OVERRIDE;
@@ -598,7 +598,8 @@ public:
void EnableUserDraw( bool bUserDraw ) { mbUserDrawEnabled = bUserDraw; }
bool IsUserDrawEnabled() const { return mbUserDrawEnabled; }
- void DrawEntry( bool bDrawImage, bool bDrawText, bool bDrawTextAtImagePos = false, bool bLayout = false );
+ void DrawEntry(vcl::RenderContext& rRenderContext, bool bDrawImage, bool bDrawText,
+ bool bDrawTextAtImagePos = false, bool bLayout = false);
bool GetEdgeBlending() const { return mbEdgeBlending; }
void SetEdgeBlending(bool bNew) { mbEdgeBlending = bNew; }
@@ -606,7 +607,6 @@ public:
virtual void ShowFocus(const Rectangle& rRect) SAL_OVERRIDE;
using Control::ImplInitSettings;
- void ImplInitSettings( bool bFont, bool bForeground, bool bBackground );
virtual void ApplySettings(vcl::RenderContext& rRenderContext) SAL_OVERRIDE;
};
diff --git a/vcl/source/control/combobox.cxx b/vcl/source/control/combobox.cxx
index 59656c9..f16fd05 100644
--- a/vcl/source/control/combobox.cxx
+++ b/vcl/source/control/combobox.cxx
@@ -1131,7 +1131,7 @@ void ComboBox::GetMaxVisColumnsAndLines( sal_uInt16& rnCols, sal_uInt16& rnLines
void ComboBox::Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, sal_uLong nFlags )
{
- mpImplLB->GetMainWindow()->ImplInitSettings( true, true, true );
+ mpImplLB->GetMainWindow()->ApplySettings(*pDev);
Point aPos = pDev->LogicToPixel( rPos );
Size aSize = pDev->LogicToPixel( rSize );
diff --git a/vcl/source/control/ilstbox.cxx b/vcl/source/control/ilstbox.cxx
index 28e5889..5bdc36b 100644
--- a/vcl/source/control/ilstbox.cxx
+++ b/vcl/source/control/ilstbox.cxx
@@ -502,7 +502,7 @@ ImplListBoxWindow::ImplListBoxWindow( vcl::Window* pParent, WinBits nWinStyle )
SetTextFillColor();
SetBackground( Wallpaper( GetSettings().GetStyleSettings().GetFieldColor() ) );
- ImplInitSettings( true, true, true );
+ ApplySettings(*this);
ImplCalcMetrics();
}
@@ -537,35 +537,6 @@ void ImplListBoxWindow::ApplySettings(vcl::RenderContext& rRenderContext)
rRenderContext.SetBackground(rStyleSettings.GetFieldColor());
}
-void ImplListBoxWindow::ImplInitSettings(bool bFont, bool bForeground, bool bBackground)
-{
- const StyleSettings& rStyleSettings = GetSettings().GetStyleSettings();
-
- if (bFont)
- {
- vcl::Font aFont = rStyleSettings.GetFieldFont();
- if (IsControlFont())
- aFont.Merge(GetControlFont());
- SetZoomedPointFont(*this, aFont);
- }
-
- if (bFont || bForeground)
- {
- Color aTextColor = rStyleSettings.GetFieldTextColor();
- if (IsControlForeground())
- aTextColor = GetControlForeground();
- SetTextColor( aTextColor );
- }
-
- if (bBackground)
- {
- if (IsControlBackground())
- SetBackground(GetControlBackground());
- else
- SetBackground(rStyleSettings.GetFieldColor());
- }
-}
-
void ImplListBoxWindow::ImplCalcMetrics()
{
mnMaxWidth = 0;
@@ -1743,7 +1714,7 @@ void ImplListBoxWindow::ImplPaint(vcl::RenderContext& rRenderContext, sal_Int32
}
else
{
- ImplInitSettings(false, true, false);
+ ApplySettings(*this);
if (!IsEnabled())
rRenderContext.SetTextColor(rStyleSettings.GetDisableColor());
rRenderContext.SetTextFillColor();
@@ -1765,7 +1736,7 @@ void ImplListBoxWindow::ImplPaint(vcl::RenderContext& rRenderContext, sal_Int32
nCurr = GetEntryList()->FindEntry(GetEntryList()->GetEntryText(nCurr));
nCurr = sal::static_int_cast<sal_Int32>(nCurr - GetEntryList()->GetMRUCount());
- UserDrawEvent aUDEvt(this, aRect, nPos, nCurr);
+ UserDrawEvent aUDEvt(&rRenderContext, aRect, nPos, nCurr);
userDrawSignal(&aUDEvt);
mbInUserDraw = false;
}
@@ -2088,7 +2059,7 @@ void ImplListBoxWindow::StateChanged( StateChangedType nType )
if ( nType == StateChangedType::Zoom )
{
- ImplInitSettings( true, false, false );
+ ApplySettings(*this);
ImplCalcMetrics();
Invalidate();
}
@@ -2099,18 +2070,18 @@ void ImplListBoxWindow::StateChanged( StateChangedType nType )
}
else if ( nType == StateChangedType::ControlFont )
{
- ImplInitSettings( true, false, false );
+ ApplySettings(*this);
ImplCalcMetrics();
Invalidate();
}
else if ( nType == StateChangedType::ControlForeground )
{
- ImplInitSettings( false, true, false );
+ ApplySettings(*this);
Invalidate();
}
else if ( nType == StateChangedType::ControlBackground )
{
- ImplInitSettings( false, false, true );
+ ApplySettings(*this);
Invalidate();
}
else if( nType == StateChangedType::Enable )
@@ -2131,7 +2102,7 @@ void ImplListBoxWindow::DataChanged( const DataChangedEvent& rDCEvt )
(rDCEvt.GetFlags() & AllSettingsFlags::STYLE)) )
{
ImplClearLayoutData();
- ImplInitSettings( true, true, true );
+ ApplySettings(*this);
ImplCalcMetrics();
Invalidate();
}
@@ -2652,7 +2623,8 @@ void ImplWin::MouseButtonDown( const MouseEvent& )
void ImplWin::FillLayoutData() const
{
mpControlData->mpLayoutData = new vcl::ControlLayoutData();
- const_cast<ImplWin*>(this)->ImplDraw( true );
+ ImplWin* pThis = const_cast<ImplWin*>(this);
+ pThis->ImplDraw(*pThis, true);
}
bool ImplWin::PreNotify( NotifyEvent& rNEvt )
@@ -2676,17 +2648,17 @@ bool ImplWin::PreNotify( NotifyEvent& rNEvt )
return Control::PreNotify(rNEvt);
}
-void ImplWin::ImplDraw( bool bLayout )
+void ImplWin::ImplDraw(vcl::RenderContext& rRenderContext, bool bLayout)
{
- const StyleSettings& rStyleSettings = GetSettings().GetStyleSettings();
+ const StyleSettings& rStyleSettings = rRenderContext.GetSettings().GetStyleSettings();
- if( ! bLayout )
+ if (!bLayout)
{
bool bNativeOK = false;
ControlState nState = ControlState::ENABLED;
- if ( IsNativeControlSupported(CTRL_LISTBOX, PART_ENTIRE_CONTROL)
- && IsNativeControlSupported(CTRL_LISTBOX, HAS_BACKGROUND_TEXTURE) )
+ if (rRenderContext.IsNativeControlSupported(CTRL_LISTBOX, PART_ENTIRE_CONTROL)
+ && rRenderContext.IsNativeControlSupported(CTRL_LISTBOX, HAS_BACKGROUND_TEXTURE) )
{
// Repaint the (focused) area similarly to
// ImplSmallBorderWindowView::DrawWindow() in
@@ -2728,17 +2700,17 @@ void ImplWin::ImplDraw( bool bLayout )
nState, aControlValue, OUString() );
}
- bNativeOK = DrawNativeControl( CTRL_LISTBOX, PART_ENTIRE_CONTROL, aCtrlRegion, nState,
- aControlValue, OUString() );
+ bNativeOK = rRenderContext.DrawNativeControl(CTRL_LISTBOX, PART_ENTIRE_CONTROL, aCtrlRegion,
+ nState, aControlValue, OUString());
}
- if( IsEnabled() )
+ if (IsEnabled())
{
if (HasFocus() && !ImplGetSVData()->maNWFData.mbDDListBoxNoTextArea)
{
- SetTextColor( rStyleSettings.GetHighlightTextColor() );
- SetFillColor( rStyleSettings.GetHighlightColor() );
- DrawRect( maFocusRect );
+ rRenderContext.SetTextColor( rStyleSettings.GetHighlightTextColor() );
+ rRenderContext.SetFillColor( rStyleSettings.GetHighlightColor() );
+ rRenderContext.DrawRect( maFocusRect );
}
else
{
@@ -2757,31 +2729,31 @@ void ImplWin::ImplDraw( bool bLayout )
else
aColor = rStyleSettings.GetFieldTextColor();
}
- if( IsControlForeground() )
+ if (IsControlForeground())
aColor = GetControlForeground();
- SetTextColor( aColor );
- if ( !bNativeOK )
- Erase( maFocusRect );
+ rRenderContext.SetTextColor(aColor);
+ if (!bNativeOK)
+ rRenderContext.Erase(maFocusRect);
}
}
else // Disabled
{
- SetTextColor( rStyleSettings.GetDisableColor() );
- if ( !bNativeOK )
- Erase( maFocusRect );
+ rRenderContext.SetTextColor(rStyleSettings.GetDisableColor());
+ if (!bNativeOK)
+ rRenderContext.Erase(maFocusRect);
}
}
if ( IsUserDrawEnabled() )
{
mbInUserDraw = true;
- UserDrawEvent aUDEvt( this, maFocusRect, mnItemPos, 0 );
+ UserDrawEvent aUDEvt(&rRenderContext, maFocusRect, mnItemPos, 0);
userDrawSignal( &aUDEvt );
mbInUserDraw = false;
}
else
{
- DrawEntry( true, true, false, bLayout );
+ DrawEntry(rRenderContext, true, true, false, bLayout);
}
}
@@ -2805,47 +2777,18 @@ void ImplWin::ApplySettings(vcl::RenderContext& rRenderContext)
rRenderContext.SetBackground(rStyleSettings.GetFieldColor());
}
-void ImplWin::ImplInitSettings(bool bFont, bool bForeground, bool bBackground)
+void ImplWin::Paint( vcl::RenderContext& rRenderContext, const Rectangle& )
{
- const StyleSettings& rStyleSettings = GetSettings().GetStyleSettings();
-
- if (bFont)
- {
- vcl::Font aFont = rStyleSettings.GetFieldFont();
- if (IsControlFont())
- aFont.Merge(GetControlFont());
- SetZoomedPointFont(*this, aFont);
- }
-
- if (bFont || bForeground)
- {
- Color aTextColor = rStyleSettings.GetFieldTextColor();
- if (IsControlForeground())
- aTextColor = GetControlForeground();
- SetTextColor( aTextColor );
- }
-
- if (bBackground)
- {
- if (IsControlBackground())
- SetBackground(GetControlBackground());
- else
- SetBackground(rStyleSettings.GetFieldColor());
- }
+ ImplDraw(rRenderContext);
}
-void ImplWin::Paint( vcl::RenderContext& /*rRenderContext*/, const Rectangle& )
-{
- ImplDraw();
-}
-
-void ImplWin::DrawEntry( bool bDrawImage, bool bDrawText, bool bDrawTextAtImagePos, bool bLayout )
+void ImplWin::DrawEntry(vcl::RenderContext& rRenderContext, bool bDrawImage, bool bDrawText, bool bDrawTextAtImagePos, bool bLayout)
{
long nBorder = 1;
- Size aOutSz = GetOutputSizePixel();
+ Size aOutSz = rRenderContext.GetOutputSizePixel();
bool bImage = !!maImage;
- if( bDrawImage && bImage && !bLayout )
+ if (bDrawImage && bImage && !bLayout)
{
DrawImageFlags nStyle = DrawImageFlags::NONE;
Size aImgSz = maImage.GetSizePixel();
@@ -2857,13 +2800,13 @@ void ImplWin::DrawEntry( bool bDrawImage, bool bDrawText, bool bDrawTextAtImageP
if ( !IsZoom() )
{
- DrawImage( aPtImg, *pImage, nStyle );
+ rRenderContext.DrawImage( aPtImg, *pImage, nStyle );
}
else
{
aImgSz.Width() = CalcZoom( aImgSz.Width() );
aImgSz.Height() = CalcZoom( aImgSz.Height() );
- DrawImage( aPtImg, aImgSz, *pImage, nStyle );
+ rRenderContext.DrawImage( aPtImg, aImgSz, *pImage, nStyle );
}
const sal_uInt16 nEdgeBlendingPercent(GetEdgeBlending() ? rStyleSettings.GetEdgeBlending() : 0);
@@ -2877,7 +2820,7 @@ void ImplWin::DrawEntry( bool bDrawImage, bool bDrawText, bool bDrawTextAtImageP
if(!aBlendFrame.IsEmpty())
{
- DrawBitmapEx(aPtImg, aBlendFrame);
+ rRenderContext.DrawBitmapEx(aPtImg, aBlendFrame);
}
}
}
@@ -2905,7 +2848,7 @@ void ImplWin::DrawEntry( bool bDrawImage, bool bDrawText, bool bDrawTextAtImageP
MetricVector* pVector = bLayout ? &mpControlData->mpLayoutData->m_aUnicodeBoundRects : NULL;
OUString* pDisplayText = bLayout ? &mpControlData->mpLayoutData->m_aDisplayText : NULL;
- DrawText( aTextRect, maString, nTextStyle, pVector, pDisplayText );
+ rRenderContext.DrawText( aTextRect, maString, nTextStyle, pVector, pDisplayText );
}
if( HasFocus() && !bLayout )
diff --git a/vcl/source/control/lstbox.cxx b/vcl/source/control/lstbox.cxx
index 857f78f..bd5bb65 100644
--- a/vcl/source/control/lstbox.cxx
+++ b/vcl/source/control/lstbox.cxx
@@ -375,7 +375,7 @@ void ListBox::ApplySettings(vcl::RenderContext& rRenderContext)
void ListBox::Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, sal_uLong nFlags )
{
- mpImplLB->GetMainWindow()->ImplInitSettings( true, true, true );
+ mpImplLB->GetMainWindow()->ApplySettings(*pDev);
Point aPos = pDev->LogicToPixel( rPos );
Size aSize = pDev->LogicToPixel( rSize );
@@ -555,7 +555,7 @@ void ListBox::DataChanged( const DataChangedEvent& rDCEvt )
if ( mpImplWin )
{
mpImplWin->SetSettings( GetSettings() ); // If not yet set...
- mpImplWin->ImplInitSettings(true, true, true);
+ mpImplWin->ApplySettings(*this);
mpBtn->SetSettings( GetSettings() );
ImplInitDropDownButton( mpBtn );
@@ -1386,7 +1386,7 @@ void ListBox::DrawEntry(const UserDrawEvent& rEvt, bool bDrawImage, bool bDrawTe
if (rEvt.GetDevice() == mpImplLB->GetMainWindow())
mpImplLB->GetMainWindow()->DrawEntry(*rEvt.GetDevice(), rEvt.GetItemId(), bDrawImage, bDrawText, bDrawTextAtImagePos );
else if (rEvt.GetDevice() == mpImplWin)
- mpImplWin->DrawEntry(bDrawImage, bDrawText, bDrawTextAtImagePos);
+ mpImplWin->DrawEntry(*rEvt.GetDevice(), bDrawImage, bDrawText, bDrawTextAtImagePos);
}
void ListBox::SetUserItemSize( const Size& rSz )
commit 950b6046c7618cf4792d9f70c4fab9a6a8dde5cf
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.co.uk>
Date: Mon May 25 16:15:36 2015 +0900
convert splitter to use RenderContext
Change-Id: Ia010aa7daf14fcaeee5d46cc4e5b8ed21e00efcf
diff --git a/vcl/source/window/split.cxx b/vcl/source/window/split.cxx
index ff30617..002a0e0 100644
--- a/vcl/source/window/split.cxx
+++ b/vcl/source/window/split.cxx
@@ -697,15 +697,15 @@ void Splitter::DataChanged( const DataChangedEvent& rDCEvt )
}
}
-void Splitter::Paint( vcl::RenderContext& /*rRenderContext*/, const Rectangle& rPaintRect )
+void Splitter::Paint(vcl::RenderContext& rRenderContext, const Rectangle& rPaintRect)
{
- DrawRect( rPaintRect );
+ rRenderContext.DrawRect(rPaintRect);
- Polygon aPoly( rPaintRect );
- tools::PolyPolygon aPolyPoly( aPoly );
- DrawTransparent( aPolyPoly, 85 );
+ Polygon aPoly(rPaintRect);
+ tools::PolyPolygon aPolyPoly(aPoly);
+ rRenderContext.DrawTransparent(aPolyPoly, 85);
- if( mbKbdSplitting )
+ if (mbKbdSplitting)
{
LineInfo aInfo( LINE_DASH );
//aInfo.SetDashLen( 2 );
@@ -714,11 +714,11 @@ void Splitter::Paint( vcl::RenderContext& /*rRenderContext*/, const Rectangle& r
aInfo.SetDotLen( 2 );
aInfo.SetDotCount( 3 );
- DrawPolyLine( aPoly, aInfo );
+ rRenderContext.DrawPolyLine( aPoly, aInfo );
}
else
{
- DrawRect( rPaintRect );
+ rRenderContext.DrawRect(rPaintRect);
}
}
More information about the Libreoffice-commits
mailing list