Apache OpenOffice (AOO) Bugzilla – Issue 123129
Anchor line for comments is too fine for viewing
Last modified: 2017-05-20 10:33:44 UTC
Created attachment 81405 [details] Anchor line on Xubuntu 1280x1024 On Xubuntu 13.04 the Anchor line from Writer Comment to the anchor point is too fine to view. This is so on 1280x1024 ad 1024x768 screens. Ok on Windows XP at 1280x1024.
ALG: Compared between 3.4.1 and 4.0 on xubuntu 64bit, indeed the line got taller. Definitely on Linux, maybe on mac (juergen), not on windows. Hmmm...
ALG: Object used for this is AnchorOverlayObject using AnchorPrimitive. The line widthis defined as 'ANCHORLINE_WIDTH * 15.0' as logic width, where ANCHORLINE_WIDTH is 1 itself. AnchorPrimitive is a DiscreteMetricDependentPrimitive2D and internally has access to how many logic units are a discrete unit (dependent current mapping). This is used in AnchorPrimitive::create2DDecomposition to calculate a LineAttribute which needs a logical LineWidth by dividing '15' with getDiscreteUnit(). To create a fixed, view-dependent LineWidth, the discrete width (e.g. 3 pixels) should be multiplied with getDiscreteUnit(). Checking in debugger what happens there exactly (on linux)...
ALG: Indeed line width values far below one are created, you need to zoom in deeply to get values over one. The difference may be (compared to 3.4.1) that fat line drawing (lines with a width different from 1.0 or 0.0 which are hairlines) got more direct system support for AOO4.0, thus the e.g. '0.42' line width is now taken serious and drawn, so lines get less wide than one pixel. I think what is intended with the overlay objects is to give a discrete, view independent LineWidth (hint is that DiscreteMetricDependentPrimitive2D is used) so that the lines always look the same, independent of zooming. This is simply done wrong leading to unexpected LineWidth results. Correcting that and checking...
ALG: Changed and experimented to get to a discrete LineWidth of 1.6 (pixels), looks good on Win and Linux and as in 3.4.1, too. Preparing checkin, requesting ReleaseBlocker flag for AOO3.4.1
ALG: Comitted, waiting for AOO401 flag
ALG: OOps, wrong BugID given in commit, rev is 1518940.
approve showstopper request
ALG: Checked in and comitted to AOO401, done.
ALG: Corrected owner
The latest available build in cwiki is AOO401m2(Build:9711) - Rev. 1518667, waiting for the build AOO401 (rev. 1518940) or the later
Verified on AOO401m3(Build:9712) - Rev. 1520285 2013-09-05 14:04 - Linux x86_64,Pass