diff options
author | Cédric Bosdonnat <cedric.bosdonnat@free.fr> | 2012-08-21 06:24:19 +0200 |
---|---|---|
committer | Cédric Bosdonnat <cedric.bosdonnat@free.fr> | 2012-08-21 07:05:46 +0200 |
commit | a873be622198c8a9ac59452e64d919d363e32d72 (patch) | |
tree | 354ca07c1fc62b176242e7044b34041e0dcc49ed /sfx2 | |
parent | 21a4d3cafa0f959613991b0b6777c58557ec56c1 (diff) |
template manager: setFontAttribute on TextLayouterDevice is needed
or you could have some weird values initialised much earlier (remember,
that TextLayouterDevice shares its device)
Change-Id: Ia8e44e578dc1bff6bdc97a3007db51e20692593d
Diffstat (limited to 'sfx2')
-rw-r--r-- | sfx2/inc/sfx2/templateviewitem.hxx | 3 | ||||
-rw-r--r-- | sfx2/inc/sfx2/thumbnailviewitem.hxx | 3 | ||||
-rw-r--r-- | sfx2/source/control/templatelocalview.cxx | 2 | ||||
-rw-r--r-- | sfx2/source/control/templateviewitem.cxx | 8 | ||||
-rw-r--r-- | sfx2/source/control/thumbnailview.cxx | 2 | ||||
-rw-r--r-- | sfx2/source/control/thumbnailviewitem.cxx | 6 |
6 files changed, 17 insertions, 7 deletions
diff --git a/sfx2/inc/sfx2/templateviewitem.hxx b/sfx2/inc/sfx2/templateviewitem.hxx index a64b15d0faba..992af40f1dea 100644 --- a/sfx2/inc/sfx2/templateviewitem.hxx +++ b/sfx2/inc/sfx2/templateviewitem.hxx @@ -41,7 +41,8 @@ public: const rtl::OUString& getSubTitle () const { return maSubTitle; } virtual void calculateItemsPosition (const long nThumbnailHeight, const long nDisplayHeight, - const long nPadding, sal_uInt32 nMaxTextLenght); + const long nPadding, sal_uInt32 nMaxTextLenght, + const ThumbnailItemAttributes *pAttrs); virtual void Paint (drawinglayer::processor2d::BaseProcessor2D *pProcessor, const ThumbnailItemAttributes *pAttrs); diff --git a/sfx2/inc/sfx2/thumbnailviewitem.hxx b/sfx2/inc/sfx2/thumbnailviewitem.hxx index aab7fe3d260d..91a6884da043 100644 --- a/sfx2/inc/sfx2/thumbnailviewitem.hxx +++ b/sfx2/inc/sfx2/thumbnailviewitem.hxx @@ -104,7 +104,8 @@ public: const Rectangle& getDrawArea () const { return maDrawArea; } virtual void calculateItemsPosition (const long nThumbnailHeight, const long nDisplayHeight, - const long nPadding, sal_uInt32 nMaxTextLenght); + const long nPadding, sal_uInt32 nMaxTextLenght, + const ThumbnailItemAttributes *pAttrs); const Point& getTextPos () const { return maTextPos; } diff --git a/sfx2/source/control/templatelocalview.cxx b/sfx2/source/control/templatelocalview.cxx index 79e382f13dee..b2302605a287 100644 --- a/sfx2/source/control/templatelocalview.cxx +++ b/sfx2/source/control/templatelocalview.cxx @@ -733,7 +733,7 @@ IMPL_LINK(TemplateLocalView, ChangeNameHdl, TemplateView*, pView) { mItemList[i]->maTitle = pView->getName(); mItemList[i]->calculateItemsPosition(mnThumbnailHeight,mnDisplayHeight, - mnItemPadding,mpItemAttrs->nMaxTextLenght); + mnItemPadding,mpItemAttrs->nMaxTextLenght,mpItemAttrs); Invalidate(); break; } diff --git a/sfx2/source/control/templateviewitem.cxx b/sfx2/source/control/templateviewitem.cxx index 2b2b4abbcead..4ef6aa1e8876 100644 --- a/sfx2/source/control/templateviewitem.cxx +++ b/sfx2/source/control/templateviewitem.cxx @@ -37,15 +37,19 @@ TemplateViewItem::~TemplateViewItem () } void TemplateViewItem::calculateItemsPosition(const long nThumbnailHeight, const long nDisplayHeight, - const long nPadding, sal_uInt32 nMaxTextLenght) + const long nPadding, sal_uInt32 nMaxTextLenght, + const ThumbnailItemAttributes *pAttrs) { - ThumbnailViewItem::calculateItemsPosition(nThumbnailHeight,nDisplayHeight,nPadding,nMaxTextLenght); + ThumbnailViewItem::calculateItemsPosition(nThumbnailHeight,nDisplayHeight,nPadding,nMaxTextLenght, pAttrs); if (!maSubTitle.isEmpty()) { Size aRectSize = maDrawArea.GetSize(); drawinglayer::primitive2d::TextLayouterDevice aTextDev; + aTextDev.setFontAttribute(pAttrs->aFontAttr, + pAttrs->aFontSize.getX(), pAttrs->aFontSize.getY(), + com::sun::star::lang::Locale() ); long nSpace = (nDisplayHeight + nPadding - 2*aTextDev.getTextHeight()) / 3; diff --git a/sfx2/source/control/thumbnailview.cxx b/sfx2/source/control/thumbnailview.cxx index 6e221bb850c1..589766dd38db 100644 --- a/sfx2/source/control/thumbnailview.cxx +++ b/sfx2/source/control/thumbnailview.cxx @@ -331,7 +331,7 @@ void ThumbnailView::CalculateItemPositions () } pItem->setDrawArea(Rectangle( Point(x,y), Size(mnItemWidth, mnItemHeight) )); - pItem->calculateItemsPosition(mnThumbnailHeight,mnDisplayHeight,mnItemPadding,mpItemAttrs->nMaxTextLenght); + pItem->calculateItemsPosition(mnThumbnailHeight,mnDisplayHeight,mnItemPadding,mpItemAttrs->nMaxTextLenght,mpItemAttrs); if ( !((nCurCount+1) % mnCols) ) { diff --git a/sfx2/source/control/thumbnailviewitem.cxx b/sfx2/source/control/thumbnailviewitem.cxx index 6eb68320e8ad..77e8592bd5a4 100644 --- a/sfx2/source/control/thumbnailviewitem.cxx +++ b/sfx2/source/control/thumbnailviewitem.cxx @@ -118,9 +118,13 @@ void ThumbnailViewItem::setDrawArea (const Rectangle &area) } void ThumbnailViewItem::calculateItemsPosition (const long nThumbnailHeight, const long nDisplayHeight, - const long nPadding, sal_uInt32 nMaxTextLenght) + const long nPadding, sal_uInt32 nMaxTextLenght, + const ThumbnailItemAttributes *pAttrs) { drawinglayer::primitive2d::TextLayouterDevice aTextDev; + aTextDev.setFontAttribute(pAttrs->aFontAttr, + pAttrs->aFontSize.getX(), pAttrs->aFontSize.getY(), + com::sun::star::lang::Locale() ); Size aRectSize = maDrawArea.GetSize(); Size aImageSize = maPreview1.GetSizePixel(); |