Marker problems for high resolution screen

Regina Henschel rb.henschel at t-online.de
Fri Oct 26 22:20:01 UTC 2018


Hi all,

I want to tell you, what I have found so far, so that if someone will 
actually fix the problem, can use this information.

The problem: If someone has a higher resolution screen and therefore 
uses an OS scaling of e.g. 150%, the markers for resizing and rotation, 
the anchor and the crop markers are broken.

What happens:
LO generates larger images and stores them in cache/<icontheme 
name>/<scaling factor>. For 150% you get a file markers.png of size 
175x138 instead of the original 117x92. But the method, which crops the 
desired marker out of the markers.png uses rectangles which assume 
117x92. Therefore the wrong parts of marker.png are used. Proof: 
Exchange the enlarged markers.png with the original and the markers are 
drawn correctly. But they are too small for a high resolution screen.

In 
https://opengrok.libreoffice.org/xref/core/svx/source/svdraw/svdhdl.cxx#742
is the method BitmapEx ImpGetBitmapEx(BitmapMarkerKind eKindOfMarker, 
BitmapColorIndex eIndex)
According comment, it is designed for HiDPI. It uses single markers, 
with names of structure svx/res/marker-rect9-6.png and similar. Such 
files are contained in the image-themes in core, but not in the 
image-themes in the zip-files, which are delivered. Therefore 
ImpGetBitmapEx uses the old method with one combined markers.png file as 
fallback. Proof: If you pack an image-theme from core and add it to your 
installation, the single enlarged marker is generated and used.

For cropmarkers.png such single files are not used. Here you get the 
enlarged file with size 229x94 instead of the original size 153x63 for 
my 150% example and therefore really ugly handles.

Why do the delivered icon-themes do not contain the single markers? That 
would at least solve the problem for markers until a more general fix is 
available.

Kind regards
Regina



More information about the LibreOffice mailing list