Qt skips lines when rendering in small zoom levels -
i have noticed following problem when implementing word-like application:
the qrasterizer in qt skips lines when have thickness smaller 1.0f. running situation when zooming out in word editor application. y values of 2 line points small this:
y1 = 290.32812500000000 y2 = 290.92187500000000
when rendering line qt skips it. have tracked down following code in qrasterizer::rasterize(), min_y , max_y 2 above y values times 64 (fixed point values):
int itopbound = qmax(d->cliprect.top(), int((min_y + 32 + coord_offset - coord_rounding) >> 6)); int ibottombound = qmin(d->cliprect.bottom(), int((max_y - 32 + coord_offset - coord_rounding) >> 6)); if (itopbound > ibottombound) return;
since min_y rounded upwards , max_y rounded downwards runs if condition , returns without performing rendering.
i can workaround problem enabling anti-aliasing, results in rendering getting brighter when zooming out. need behavior in microsoft word: no matter how far zoom out, black rectangle stays visible black rectangle on screen.
using cosmetic pen solve problem doesn't work customizable line thickness, need support well.
any ideas how workaround problem?
greetings,
fabian
Comments
Post a Comment