diff options
author | Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk> | 2015-05-14 09:47:55 +0900 |
---|---|---|
committer | Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk> | 2015-05-14 10:00:15 +0900 |
commit | 12088e14130c9d07c17f18da861e83c827fcb7e6 (patch) | |
tree | 22f2566267c1fbf3ce2c6381a5735a9f02d91da9 /sfx2/source/control | |
parent | fb31134e43cc5c8236fd277d6294e03e68393962 (diff) |
refactor Template and ThumbnailView to use RenderContext
Change-Id: I7f4e3e9415219548c919d63c07c5c946bc609a7d
Diffstat (limited to 'sfx2/source/control')
-rw-r--r-- | sfx2/source/control/templateabstractview.cxx | 3 | ||||
-rw-r--r-- | sfx2/source/control/thumbnailview.cxx | 59 |
2 files changed, 36 insertions, 26 deletions
diff --git a/sfx2/source/control/templateabstractview.cxx b/sfx2/source/control/templateabstractview.cxx index 3ffb69c599be..fdf246a44e0f 100644 --- a/sfx2/source/control/templateabstractview.cxx +++ b/sfx2/source/control/templateabstractview.cxx @@ -305,7 +305,8 @@ void TemplateAbstractView::Paint(vcl::RenderContext& rRenderContext, const Recta ThumbnailView::Paint(rRenderContext, rRect); Rectangle aRect(rRect.TopLeft(), - Point(rRect.BottomRight().X(), mnHeaderHeight)); + Point(rRect.BottomRight().X(), + mnHeaderHeight)); drawinglayer::primitive2d::Primitive2DSequence aSeq(1); aSeq[0] = drawinglayer::primitive2d::Primitive2DReference( diff --git a/sfx2/source/control/thumbnailview.cxx b/sfx2/source/control/thumbnailview.cxx index 6fbd97d75eaa..d5a14b223886 100644 --- a/sfx2/source/control/thumbnailview.cxx +++ b/sfx2/source/control/thumbnailview.cxx @@ -80,7 +80,6 @@ void ThumbnailView::dispose() mpScrBar.disposeAndClear(); delete mpItemAttrs; - delete mpProcessor; ImplDeleteItems(); Control::dispose(); @@ -134,28 +133,24 @@ void ThumbnailView::AppendItem(ThumbnailViewItem *pItem) void ThumbnailView::ImplInit() { - mpScrBar = NULL; - mnHeaderHeight = 0; - mnItemWidth = 0; - mnItemHeight = 0; - mnItemPadding = 0; - mnVisLines = 0; - mnLines = 0; - mnFineness = 5; - mnFirstLine = 0; - mnCols = 0; - mbScroll = false; - mbHasVisibleItems = false; - mbShowTooltips = false; + mpScrBar = NULL; + mnHeaderHeight = 0; + mnItemWidth = 0; + mnItemHeight = 0; + mnItemPadding = 0; + mnVisLines = 0; + mnLines = 0; + mnFineness = 5; + mnFirstLine = 0; + mnCols = 0; + mbScroll = false; + mbHasVisibleItems = false; + mbShowTooltips = false; maFilterFunc = ViewFilterAll(); maColor = GetSettings().GetStyleSettings().GetFieldColor(); mpStartSelRange = mFilteredItemList.end(); - // Create the processor and process the primitives - const drawinglayer::geometry::ViewInformation2D aNewViewInfos; - mpProcessor = drawinglayer::processor2d::createBaseProcessor2DFromOutputDevice(*this, aNewViewInfos ); - - ImplInitSettings( true, true, true ); + ImplInitSettings(true, true, true); } void ThumbnailView::ImplDeleteItems() @@ -248,14 +243,14 @@ void ThumbnailView::ImplInitScrollBar() } } -void ThumbnailView::DrawItem (ThumbnailViewItem *pItem) +void ThumbnailView::DrawItem(ThumbnailViewItem *pItem) { if (pItem->isVisible()) { Rectangle aRect = pItem->getDrawArea(); - if ( (aRect.GetHeight() > 0) && (aRect.GetWidth() > 0) ) - pItem->Paint(mpProcessor,mpItemAttrs); + if ((aRect.GetHeight() > 0) && (aRect.GetWidth() > 0)) + pItem->Paint(mpProcessor.get(), mpItemAttrs); } } @@ -858,14 +853,14 @@ void ThumbnailView::Command( const CommandEvent& rCEvt ) Control::Command( rCEvt ); } -void ThumbnailView::Paint(vcl::RenderContext& /*rRenderContext*/, const Rectangle &aRect) +void ThumbnailView::Paint(vcl::RenderContext& /*rRenderContext*/, const Rectangle& rRect) { size_t nItemCount = mItemList.size(); // Draw background drawinglayer::primitive2d::Primitive2DSequence aSeq(1); aSeq[0] = drawinglayer::primitive2d::Primitive2DReference(new PolyPolygonColorPrimitive2D( - B2DPolyPolygon(Polygon(aRect, 5, 5).getB2DPolygon()), + B2DPolyPolygon(Polygon(rRect, 5, 5).getB2DPolygon()), maColor.getBColor())); mpProcessor->process(aSeq); @@ -876,11 +871,25 @@ void ThumbnailView::Paint(vcl::RenderContext& /*rRenderContext*/, const Rectangl ThumbnailViewItem *const pItem = mItemList[i]; if (pItem->isVisible()) + { DrawItem(pItem); + } } if (mpScrBar && mpScrBar->IsVisible()) - mpScrBar->Invalidate(aRect); + mpScrBar->Invalidate(rRect); +} + +void ThumbnailView::PrePaint(vcl::RenderContext& rRenderContext) +{ + // Create the processor and process the primitives + const drawinglayer::geometry::ViewInformation2D aNewViewInfos; + mpProcessor.reset(drawinglayer::processor2d::createBaseProcessor2DFromOutputDevice(rRenderContext, aNewViewInfos)); +} + +void ThumbnailView::PostPaint(vcl::RenderContext& /*rRenderContext*/) +{ + mpProcessor.reset(); } void ThumbnailView::GetFocus() |