To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=106379
User aw changed the following:
What |Old value |New value
================================================================================
Status|NEW |STARTED
--------------------------------------------------------------------------------
------- Additional comments from [email protected] Thu Oct 29 10:40:38 +0000
2009 -------
AW: It's (again, argh) a problem with Metafiles. It did not get more bad (thus
it's in principle not a regression or a defect), but just is not AntiAliased.
Metafiles are simply not prepared for Antialiased actions.
The actions contained draw the gradient by using (the old and known) XOR
painting trick to avoid the ClipRegion usage. This works, but unfortunately that
XOR actions are contained in the Metafile to actually paint the gradient. Of
course, a XOR action CAN NOT be Antialiased since it's pixel-oriented, thus a
non-AAed visualisation is the result which may stick over the AAed object
border.
Someone later tried to add more info by encapsulating all these actions by a
XGRAD_SEQ_BEGIN/XGRAD_SEQ_END and added a MetaGradientExAction which contains a
PolyPolygon and the Gradient information. Some exporters use this to avoid the
problem.
I actually tried to catch the MetaGradientExAction in GDIMetaFile::Play (where
it is too dangerous to do, ust for testing). This works partially. One problem
is that when using the contained info and calling
OutputDevice::DrawGradient(...) the same XOR paint is triggered. This means i
would have to:
- Write another renderer for Metafiles to not have that big change in
GDIMetaFile::Play (the 11th MetaFile interpreter/renderer).
- Rewrite OutputDevice::DrawGradient(...) to work in the AntiAliased case.
A second problem is that the PolyPolygon in MetaGradientExAction does have no
more bezier information; this is removed by purpose by subdivision since
Polygon::GetBoundRect() does not work with beziers and asserts that case. Noone
ever implemented this (!).
All in all: All that fixes in the last time are nothing else than to try to
'fix' that VCL itself is not really prepared for AntiAliased rendering. I more
and more tend to implement the decompose for the MetaFile primitive. When this
is done, a Metafile could be rendered by convering it to primitives completely
and send it over the primitive renderer which completely supports AntiAliasing.
This would have many positive effects seen over a longer time period.
Thinking about all the circumstances...
---------------------------------------------------------------------
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]