Kaydet (Commit) ab56275f authored tarafından Keith Curtis's avatar Keith Curtis Kaydeden (comit) Jan Holesovsky

hidpi: Really use BMP_SCALE_FAST when scaling the images.

It is not a problem of performance, but of the look - the images get too
blurry in the case of icons; and the blurry look is worse than than the
artifacts of the fast scaling.

Revert "hidpi: Use the default scaling algorithm."

This reverts commit e07097cc.

Change-Id: I8af2827758e02ec3c8b7dade1559c45bd9f0ef35
üst 096ea630
......@@ -329,7 +329,7 @@ void AlignmentTabPage::InitVsRefEgde()
{
OUString rImageName = aImageList.GetImageName(i);
BitmapEx b = aImageList.GetImage(rImageName).GetBitmapEx();
b.Scale(GetDPIScaleFactor(), GetDPIScaleFactor());
b.Scale(GetDPIScaleFactor(), GetDPIScaleFactor(), BMP_SCALE_FAST);
aImageList.ReplaceImage(rImageName, Image(b));
}
}
......
......@@ -134,7 +134,7 @@ SvxBorderTabPage::SvxBorderTabPage(Window* pParent, const SfxItemSet& rCoreAttrs
{
OUString rImageName = aBorderImgLst.GetImageName(i);
BitmapEx b = aBorderImgLst.GetImage(rImageName).GetBitmapEx();
b.Scale(GetDPIScaleFactor(), GetDPIScaleFactor());
b.Scale(GetDPIScaleFactor(), GetDPIScaleFactor(), BMP_SCALE_FAST);
aBorderImgLst.ReplaceImage(rImageName, Image(b));
}
......@@ -142,7 +142,7 @@ SvxBorderTabPage::SvxBorderTabPage(Window* pParent, const SfxItemSet& rCoreAttrs
{
OUString rImageName = aShadowImgLst.GetImageName(i);
BitmapEx b = aShadowImgLst.GetImage(rImageName).GetBitmapEx();
b.Scale(GetDPIScaleFactor(), GetDPIScaleFactor());
b.Scale(GetDPIScaleFactor(), GetDPIScaleFactor(), BMP_SCALE_FAST);
aShadowImgLst.ReplaceImage(rImageName, Image(b));
}
}
......
......@@ -651,7 +651,7 @@ void LayoutMenu::Fill (void)
BitmapEx aBmp(SdResId(pInfo->mnBmpResId));
if (GetDPIScaleFactor() > 1)
aBmp.Scale(GetDPIScaleFactor(), GetDPIScaleFactor());
aBmp.Scale(GetDPIScaleFactor(), GetDPIScaleFactor(), BMP_SCALE_FAST);
if (bRightToLeft && (WritingMode_TB_RL != pInfo->meWritingMode))
aBmp.Mirror (BMP_MIRROR_HORZ);
......
......@@ -78,7 +78,7 @@ SvxModifyControl::SvxModifyControl( sal_uInt16 _nSlotId, sal_uInt16 _nId, Status
for (int i = 0; i < mpImpl->MODIFICATION_STATE_SIZE; i++)
{
BitmapEx b = mpImpl->maImages[i].GetBitmapEx();
b.Scale(rStb.GetDPIScaleFactor(), rStb.GetDPIScaleFactor());
b.Scale(rStb.GetDPIScaleFactor(), rStb.GetDPIScaleFactor(), BMP_SCALE_FAST);
mpImpl->maImages[i] = Image(b);
}
}
......
......@@ -180,11 +180,11 @@ SvxPosSizeStatusBarControl::SvxPosSizeStatusBarControl( sal_uInt16 _nSlotId,
if ( rStb.GetDPIScaleFactor() > 1)
{
BitmapEx b = pImp->aPosImage.GetBitmapEx();
b.Scale(rStb.GetDPIScaleFactor(), rStb.GetDPIScaleFactor());
b.Scale(rStb.GetDPIScaleFactor(), rStb.GetDPIScaleFactor(), BMP_SCALE_FAST);
pImp->aPosImage = Image(b);
b = pImp->aSizeImage.GetBitmapEx();
b.Scale(rStb.GetDPIScaleFactor(), rStb.GetDPIScaleFactor());
b.Scale(rStb.GetDPIScaleFactor(), rStb.GetDPIScaleFactor(), BMP_SCALE_FAST);
pImp->aSizeImage = Image(b);
}
......
......@@ -83,7 +83,7 @@ SvxSelectionModeControl::SvxSelectionModeControl( sal_uInt16 _nSlotId,
if ( GetStatusBar().GetDPIScaleFactor() > 1 )
{
BitmapEx b = maImage.GetBitmapEx();
b.Scale(GetStatusBar().GetDPIScaleFactor(), GetStatusBar().GetDPIScaleFactor());
b.Scale(GetStatusBar().GetDPIScaleFactor(), GetStatusBar().GetDPIScaleFactor(), BMP_SCALE_FAST);
maImage = Image(b);
}
......
......@@ -68,7 +68,7 @@ XmlSecStatusBarControl::XmlSecStatusBarControl( sal_uInt16 _nSlotId, sal_uInt16
for (int i = 0; i < 3; i++)
{
BitmapEx b = arr[i].GetBitmapEx();
b.Scale(_rStb.GetDPIScaleFactor(), _rStb.GetDPIScaleFactor());
b.Scale(_rStb.GetDPIScaleFactor(), _rStb.GetDPIScaleFactor(), BMP_SCALE_FAST);
arr[i] = Image(b);
}
......
......@@ -178,7 +178,7 @@ SvxZoomSliderControl::SvxZoomSliderControl( sal_uInt16 _nSlotId, sal_uInt16 _nI
{
BitmapEx b = arr[i].GetBitmapEx();
//Use Lanczos scaling for the slider button because it does a better job with circles
b.Scale(_rStb.GetDPIScaleFactor(), _rStb.GetDPIScaleFactor(), BMP_SCALE_BESTQUALITY);
b.Scale(_rStb.GetDPIScaleFactor(), _rStb.GetDPIScaleFactor(), i == 0 ? BMP_SCALE_LANCZOS : BMP_SCALE_FAST);
arr[i] = Image(b);
}
......
......@@ -62,7 +62,7 @@ SwViewLayoutControl::SwViewLayoutControl( sal_uInt16 _nSlotId, sal_uInt16 _nId,
{
BitmapEx b = arr[i].GetBitmapEx();
//Don't scale width, no space.
b.Scale(1.0, rStb.GetDPIScaleFactor());
b.Scale(1.0, rStb.GetDPIScaleFactor(), BMP_SCALE_FAST);
arr[i] = Image(b);
}
......
......@@ -1359,7 +1359,7 @@ void ToolBox::SetItemImage( sal_uInt16 nItemId, const Image& rImage )
// FIXME find out what that code is & fix accordingly
if (aBitmap.GetSizePixel().Width() < 32)
{
aBitmap.Scale(GetDPIScaleFactor(), GetDPIScaleFactor());
aBitmap.Scale(GetDPIScaleFactor(), GetDPIScaleFactor(), BMP_SCALE_FAST);
aImage = Image(aBitmap);
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment