Issue 123129 - Anchor line for comments is too fine for viewing
Summary: Anchor line for comments is too fine for viewing
Status: CLOSED FIXED
Alias: None
Product: Writer
Classification: Application
Component: viewing (show other issues)
Version: 4.0.0
Hardware: PC All
: P3 Normal (vote)
Target Milestone: 4.0.1
Assignee: Armin Le Grand
QA Contact:
URL:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2013-08-28 14:49 UTC by roryof
Modified: 2017-05-20 10:33 UTC (History)
7 users (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---
jsc: 4.0.1_release_blocker+


Attachments
Anchor line on Xubuntu 1280x1024 (171.68 KB, image/png)
2013-08-28 14:55 UTC, roryof
no flags Details

Note You need to log in before you can comment on or make changes to this issue.
Description roryof 2013-08-28 14:49:15 UTC

    
Comment 1 roryof 2013-08-28 14:55:42 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.
Comment 2 Armin Le Grand 2013-08-28 15:41:09 UTC
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...
Comment 3 Armin Le Grand 2013-08-30 09:45:03 UTC
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)...
Comment 4 Armin Le Grand 2013-08-30 10:33:17 UTC
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...
Comment 5 Armin Le Grand 2013-08-30 11:21:09 UTC
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
Comment 6 Armin Le Grand 2013-08-30 11:36:33 UTC
ALG: Comitted, waiting for AOO401 flag
Comment 7 Armin Le Grand 2013-08-30 11:55:41 UTC
ALG: OOps, wrong BugID given in commit, rev is 1518940.
Comment 8 jsc 2013-08-30 11:57:17 UTC
approve showstopper request
Comment 9 Armin Le Grand 2013-08-30 13:49:07 UTC
ALG: Checked in and comitted to AOO401, done.
Comment 10 Armin Le Grand 2013-09-03 10:35:04 UTC
ALG: Corrected owner
Comment 11 fanyuzhen 2013-09-05 02:58:13 UTC
The latest available build in cwiki is AOO401m2(Build:9711)  -  Rev. 1518667, waiting for the build AOO401 (rev. 1518940) or the later
Comment 12 liuping 2013-09-09 08:50:03 UTC
Verified on AOO401m3(Build:9712)  -  Rev. 1520285
2013-09-05 14:04  - Linux x86_64,Pass