Issue 121534 - Enhance visualisation of rotated bitmaps
Summary: Enhance visualisation of rotated bitmaps
Alias: None
Product: Draw
Classification: Application
Component: viewing (show other issues)
Version: 4.0.0-dev
Hardware: All All
: P3 Normal (vote)
Target Milestone: 4.0.0
Assignee: Armin Le Grand
QA Contact:
Depends on:
Reported: 2012-12-21 11:27 UTC by Armin Le Grand
Modified: 2013-07-12 16:33 UTC (History)
2 users (show)

See Also:
Latest Confirmation in: ---
Developer Difficulty: ---


Note You need to log in before you can comment on or make changes to this issue.
Description Armin Le Grand 2012-12-21 11:27:29 UTC
ALG: Currently when bitmaps are rotated the GraphicManager visualisation code is used and it does not produce nice looking rotated bitmaps. Since this is also used for exports (e.g. PDF) this needs enhancement. There is already a transformation-based method in the primitives stack, try to use this and evtl. enhance it (Lanzcos maybe?).
Comment 1 Armin Le Grand 2012-12-21 11:27:48 UTC
ALG: Grepping and setting to enhancement
Comment 2 Armin Le Grand 2013-01-14 14:00:55 UTC
ALG: First step: Cleanup some of the drawinglayer stuff concerning bitmap rendering, remove GraphicManager painting and use own transform renderer. This showed some caveats with handle paints and page shadow paints; sizes were not correct - seems as if the size handling of GraphicManager paints are *wrong* by one. Corrected handle and page shadow sizings, checked if this works correct.
Comment 3 SVN Robot 2013-01-14 14:02:48 UTC
"alg" committed SVN revision 1432923 into trunk:
#121534# Adapted rotated bitmap paints to use own transformer due to bad qual...
Comment 4 Armin Le Grand 2013-01-14 14:04:47 UTC
ALG: This already improved the quality, now speed is the next concern. Looking if I can do something not too complicated in VCL to speed it up.
Comment 5 Armin Le Grand 2013-01-14 14:42:20 UTC
ALG: To evtl. buffer a used Gdiplus::Graphics at WinSalGraphics it will be necessary to secure the HDC mhDC entry in WinSalGraphics itself. Trying to do that (making private, adding accessors)
Comment 6 SVN Robot 2013-01-15 12:27:45 UTC
"alg" committed SVN revision 1433317 into trunk:
#121534# only handle bitmaps which are inside visible area
Comment 7 Armin Le Grand 2013-01-18 15:05:19 UTC
ALG: Added a lot of stuff, need to check on other systems. Reactivated clibboard branch and moving code there. Building...
Comment 8 SVN Robot 2013-01-18 17:07:36 UTC
"alg" committed SVN revision 1435251 into branches/alg/clibboard:
#121534# more win specific changes
Comment 9 SVN Robot 2013-01-18 17:54:08 UTC
"alg" committed SVN revision 1435272 into branches/alg/clibboard:
#121534# removed deleted files in branch, too
Comment 10 Armin Le Grand 2013-01-18 18:42:16 UTC
ALG: Meeting more and more problems, e.g.: When trying to paint everything on Gdiplus and on double precision the tiled fills are correct without extra action (e.g. for animated gifs), but handle visualisations get interpolated. When trying to adapt this (what is possible) the next problem is that the page shadow painted at double precision does not meet the page polygon itself painted in single precision with the old GDI. Only solution is a direct renderer which can do all on double precision, so stopping here to enhance this.
Comment 11 Armin Le Grand 2013-01-21 09:37:32 UTC
ALG: COmpletely built and checked linux build during the weekend, all looks well. Will check mac build on tuesday...
Checking further complications...
Comment 12 Armin Le Grand 2013-01-23 12:30:09 UTC
ALG: Detected a problem with the mac version (fallback in ImplDrawAlpha), specialized to do this only on win version. Checked win and mac version, looking for linux version.
Comment 13 Armin Le Grand 2013-01-23 12:36:10 UTC
ALG: Checked Linux version, looks good. Preparing reintegration...
Comment 14 SVN Robot 2013-01-23 14:27:50 UTC
"alg" committed SVN revision 1437407 into trunk:
#121534# Reintegrating changes for rotated bitmap support
Comment 15 Armin Le Grand 2013-01-23 14:39:32 UTC
ALG: Okay, done.
Comment 16 SVN Robot 2013-01-23 16:01:33 UTC
"hdu" committed SVN revision 1437510 into trunk:
#i121534# support native drawing of affinely-transformed images on Mac
Comment 17 SVN Robot 2013-01-24 17:55:41 UTC
"hdu" committed SVN revision 1438108 into trunk:
#i121534# avoid expensive emulation of 1bit masks for Mac's Quartz
Comment 18 SVN Robot 2013-01-28 12:13:41 UTC
"hdu" committed SVN revision 1439359 into trunk:
#i121534# fix graphite-enabled windows build