include/vcl/prgsbar.hxx | 3 ++- vcl/source/control/prgsbar.cxx | 15 +++++++++------ vcl/source/control/scrbar.cxx | 4 ++-- 3 files changed, 13 insertions(+), 9 deletions(-)
New commits: commit e6c2951f1957224aa0e7dc97b33b0450c41f92f7 Author: Tomaž Vajngerl <[email protected]> Date: Wed Apr 29 11:08:24 2015 +0900 delegate RenderContext, invalidate - prgsbar, scrbar Change-Id: I05d68be744044cc82c0397fac25518a53c270761 diff --git a/include/vcl/prgsbar.hxx b/include/vcl/prgsbar.hxx index 6cce19c..28fbec3 100644 --- a/include/vcl/prgsbar.hxx +++ b/include/vcl/prgsbar.hxx @@ -63,12 +63,13 @@ private: long mnPrgsHeight; sal_uInt16 mnPercent; sal_uInt16 mnPercentCount; + sal_uInt16 mnPreviousPercent; bool mbCalcNew; using Window::ImplInit; SAL_DLLPRIVATE void ImplInit(); SAL_DLLPRIVATE void ImplInitSettings( bool bFont, bool bForeground, bool bBackground ); - SAL_DLLPRIVATE void ImplDrawProgress( sal_uInt16 nOldPerc, sal_uInt16 nNewPerc ); + SAL_DLLPRIVATE void ImplDrawProgress(vcl::RenderContext& rRenderContext, sal_uInt16 nOldPerc, sal_uInt16 nNewPerc); public: ProgressBar( vcl::Window* pParent, WinBits nWinBits = WB_STDPROGRESSBAR ); diff --git a/vcl/source/control/prgsbar.cxx b/vcl/source/control/prgsbar.cxx index 8bdf2fe..609911c 100644 --- a/vcl/source/control/prgsbar.cxx +++ b/vcl/source/control/prgsbar.cxx @@ -27,8 +27,9 @@ void ProgressBar::ImplInit() { - mnPercent = 0; - mbCalcNew = true; + mnPercent = 0; + mnPreviousPercent = 0; + mbCalcNew = true; ImplInitSettings( true, true, true ); } @@ -116,7 +117,7 @@ void ProgressBar::ImplInitSettings( bool bFont, } } -void ProgressBar::ImplDrawProgress( sal_uInt16 nOldPerc, sal_uInt16 nNewPerc ) +void ProgressBar::ImplDrawProgress(vcl::RenderContext& /*rRenderContext*/, sal_uInt16 nOldPerc, sal_uInt16 nNewPerc) { if ( mbCalcNew ) { @@ -145,9 +146,9 @@ void ProgressBar::ImplDrawProgress( sal_uInt16 nOldPerc, sal_uInt16 nNewPerc ) Rectangle( Point(), GetSizePixel() ) ); } -void ProgressBar::Paint( vcl::RenderContext& /*rRenderContext*/, const Rectangle& ) +void ProgressBar::Paint(vcl::RenderContext& rRenderContext, const Rectangle& /*rRect*/) { - ImplDrawProgress( 0, mnPercent ); + ImplDrawProgress(rRenderContext, mnPreviousPercent, mnPercent); } void ProgressBar::Resize() @@ -165,6 +166,7 @@ void ProgressBar::SetValue( sal_uInt16 nNewPercent ) { mbCalcNew = true; mnPercent = nNewPercent; + mnPreviousPercent = 0; if ( IsReallyVisible() ) { Invalidate(); @@ -173,8 +175,9 @@ void ProgressBar::SetValue( sal_uInt16 nNewPercent ) } else { - ImplDrawProgress( mnPercent, nNewPercent ); + mnPreviousPercent = mnPercent; mnPercent = nNewPercent; + Invalidate(); } } diff --git a/vcl/source/control/scrbar.cxx b/vcl/source/control/scrbar.cxx index 6f883bf..0d71783 100644 --- a/vcl/source/control/scrbar.cxx +++ b/vcl/source/control/scrbar.cxx @@ -1120,9 +1120,9 @@ void ScrollBar::KeyInput( const KeyEvent& rKEvt ) Control::KeyInput( rKEvt ); } -void ScrollBar::Paint( vcl::RenderContext& /*rRenderContext*/, const Rectangle& ) +void ScrollBar::Paint( vcl::RenderContext& rRenderContext, const Rectangle& ) { - ImplDraw( SCRBAR_DRAW_ALL, this ); + ImplDraw(SCRBAR_DRAW_ALL, &rRenderContext); } void ScrollBar::Resize()
_______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
