Closed Bug 1026926 Opened 11 years ago Closed 3 years ago

[Flame][Calendar] Dots in month view do not show correctly (not a complete circle)

Categories

(Core :: Graphics, defect)

ARM
Gonk (Firefox OS)
defect

Tracking

()

RESOLVED INVALID

People

(Reporter: pekochen, Unassigned)

Details

Attachments

(3 files, 3 obsolete files)

please see attached file, the dot was cropped.
Hi Gareth, Can you please help on this issue? thank you so much~ Peko
Flags: needinfo?(gaye)
this is some weird rounding issue, probably a Gecko bug related to the way fonts are rendered. If we change the left:-1.5rem; to any even number (eg. -1.4rem, -1.2rem, -1.6rem) the dots are displayed as a full circle.
Assignee: nobody → evanxd
Hi Jerru, It is a Gecko issue. We could reproduce the issue with the icon-dot app[1] in Flame device. Could you help here? Thanks. [1] https://github.com/evanxd/gaia/tree/bug-1026926/apps/icon-dot
Flags: needinfo?(gaye) → needinfo?(hshih)
Assignee: evanxd → nobody
Component: Gaia::Calendar → Graphics
Product: Firefox OS → Core
The screenshot of icon-dot app shows the incomplete circle.
I will check this problem.
Assignee: nobody → hshih
Flags: needinfo?(hshih)
Thanks, Evan. I can reproduce this issue from comment 3 at flame. checking...
NP :)
Assignee: hshih → cku
Status: NEW → ASSIGNED
Here is a WIP to fix this bug
Attachment #8453673 - Attachment is obsolete: true
The root cause of this bug: Only flame, 1 css pixel is equal to 1.5 device pixel. Let's said: 1. you want to draw a 2-css-pixels-wide object at (11, 10) css position 2-css-pixels-wide = 3-device-pixels-wide 2. it maps to (11 * 1.5, 10 * 1.5) = (16.5, 15) device position. 3. We expect 4 pixels draw on the screen, from (16, 15) device position 16(blur pixel) 17 18 19(blur pixel) but, in fact, cairo only renders 3 pixels into render target, without pixel "19", your object looks like been cut.
Attachment #8453675 - Flags: feedback?(hshih)
Attachment #8453675 - Attachment description: WIP position rounding before sumbit a cairo painting task → Position rounding before submit a cairo glyph rendering call
Attachment #8453675 - Attachment is obsolete: true
Attachment #8453675 - Flags: feedback?(hshih)
Attachment #8453708 - Attachment description: WIP position rounding before submit a cairo glyph rendering call → Position rounding before submit a cairo glyph rendering call
Attachment #8453708 - Flags: feedback?(hshih)
Theoretically, there should be no test case impact by this change, but since gfxFont is a high fan-in module, submit a full try: https://tbpl.mozilla.org/?tree=Try&rev=623f5ea3ebbf
Bad luck, many test case failed because of this change REFTEST TEST-UNEXPECTED-FAIL | http://10.26.132.20:30472/tests/layout/reftests/bidi/bidiSVG-02.svg | image comparison (==), max difference: 253, number of differing pixels: 76 REFTEST TEST-UNEXPECTED-FAIL | http://10.26.132.20:30472/tests/layout/reftests/bidi/bidiSVG-03.svg | image comparison (==), max difference: 253, number of differing pixels: 229
Attachment #8453708 - Flags: feedback?(hshih)
https://tbpl.mozilla.org/?tree=Try&rev=fb7df423ed90 1. round off right before cario_show_glyphs. 2. All transform had been apply at this moment.
Attachment #8453708 - Attachment is obsolete: true
this is not blocking the calendar visual refresh anymore since we used a hack to fix the problem (changed position to an even number).
No longer blocks: 1027360
Assignee: cku → nobody
No assignee, updating the status.
Status: ASSIGNED → NEW
No assignee, updating the status.
No assignee, updating the status.
No assignee, updating the status.
Severity: normal → S3

Closing old B2G bugs

Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: