[Mono-bugs] [Bug 410124] New: FillPath renders "bloated" after scaling the graphics transform.

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Thu Jul 17 15:46:21 EDT 2008


https://bugzilla.novell.com/show_bug.cgi?id=410124

User david.bobeck at precisepath.com added comment
https://bugzilla.novell.com/show_bug.cgi?id=410124#c409672

           Summary: FillPath renders "bloated" after scaling the graphics
                    transform.
           Product: Mono: Class Libraries
           Version: 1.9.0
          Platform: Other
        OS/Version: Linux
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: Sys.Drawing.
        AssignedTo: mono-bugs at lists.ximian.com
        ReportedBy: david.bobeck at precisepath.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: Other


Created an attachment (id=228570)
 --> (https://bugzilla.novell.com/attachment.cgi?id=228570)
Windows Zip

Description of Problem:
----------------------- 

When assigning a scaling transform to a Graphics object, Graphics.FillPath()
method renders fine under Windows and Win32 Mono, but "bloated" (NOT
translated)under Mono for Linux.

Although similar steps were described by BUG #409672, I question if the results
here can be explained by the Cairo pixel offset identified in the response to
that bug report.


Steps to reproduce the problem:
-------------------------------

I have included (zipped) a solution created with Microsoft Visual C# Express
Edition. The source files and a release executable are provided. A post-build
step will copy the exe to 'bug1.exe' for ease-of-use on linux.

1. run the included 'bug1.exe' on linux (mono bug1.exe)
2. cringe at the results


Actual Results:
---------------

The included sample application creates a rectangle (rTest) 5 units in width
and height. A scaling factor is then calculated to map rTest to the Form's
client rectangle. This scaling factor is applied to the graphics object with 

Matrix X = new Matrix(fSceneScaler, 0, 0, fSceneScaler, 0, 0);
g.Transform = X;

when DrawPath(...) is called, it works as expected, but when
FillPath(...) is called, it will render bloated (bigger) by some amount.

By changing the rTest size to something smaller, the effect is more dramatic.
By changing the rTest size to something larger (say 300 units), the effect
becomes negligable.


Expected Results:
-----------------
The Linux output should match the Windows output, right?


How often does this happen?
---------------------------
Every Time.


Additional Information:
-----------------------
- These sample sources were compiled on Windows XP SP2.
- The Linux results were seen on Fedora Core 3 running Mono 1.9.1 installed
from the RedHat distribution package.
- The Linux results were also seen on Fedora Core 7 running Mono 1.9.1 compiled
manually from the sources download.

Images of the results found on windows (Windows.png), on mono for windows
(WinMono.png) and on mono for linux (LinuxMono-5.png) are included in the zip
file. Additionally, other rTest rectangle sizes are included (LinuxMono-25.png,
LinuxMono-75.png, LinuxMono-300.png)


-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the mono-bugs mailing list