summaryrefslogtreecommitdiff
path: root/sfx2/source/control
diff options
context:
space:
mode:
authorTomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>2015-05-14 09:47:55 +0900
committerTomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>2015-05-14 10:00:15 +0900
commit12088e14130c9d07c17f18da861e83c827fcb7e6 (patch)
tree22f2566267c1fbf3ce2c6381a5735a9f02d91da9 /sfx2/source/control
parentfb31134e43cc5c8236fd277d6294e03e68393962 (diff)
refactor Template and ThumbnailView to use RenderContext
Change-Id: I7f4e3e9415219548c919d63c07c5c946bc609a7d
Diffstat (limited to 'sfx2/source/control')
-rw-r--r--sfx2/source/control/templateabstractview.cxx3
-rw-r--r--sfx2/source/control/thumbnailview.cxx59
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()