[Mono-bugs] [Bug 383878] Region.Complement makes error with some	data
    bugzilla_noreply at novell.com 
    bugzilla_noreply at novell.com
       
    Fri Apr 25 15:32:35 EDT 2008
    
    
  
https://bugzilla.novell.com/show_bug.cgi?id=383878
User spouliot at novell.com added comment
https://bugzilla.novell.com/show_bug.cgi?id=383878#c2
--- Comment #2 from Sebastien Pouliot <spouliot at novell.com>  2008-04-25 13:32:34 MST ---
using System;
using System.Drawing;
using System.Drawing.Drawing2D;
class Program {
        static void Main ()
        {
                Bitmap bitmap = new Bitmap (10, 10);
                Graphics graphic = Graphics.FromImage (bitmap);
                Matrix matrix = new Matrix ();
                Region clipRegion = new Region ();
                clipRegion.MakeInfinite ();
                Rectangle smaller = new Rectangle (5, 5, -10, -10);
                Rectangle bigger = new Rectangle (-5, -5, 12, 12);
                clipRegion.Intersect (smaller);
                Console.WriteLine ("INTERSECT");
                Console.WriteLine (clipRegion.IsEmpty (graphic));
                Console.WriteLine (clipRegion.IsInfinite (graphic));
                RectangleF [] rects = clipRegion.GetRegionScans (matrix);
                foreach (RectangleF rect in rects)
                        Console.WriteLine (rect);
                // this makes error in mono - linux, but not under Windows
(xp):
                clipRegion.Complement (bigger);
                Console.WriteLine ("COMPLEMENT");
                Console.WriteLine (clipRegion.IsEmpty (graphic));
                Console.WriteLine (clipRegion.IsInfinite (graphic));
                rects = clipRegion.GetRegionScans (matrix);
                foreach (RectangleF rect in rects)
                        Console.WriteLine (rect);
        }
}
Under MS/WINDOWS
INTERSECT
False
False
{X=-5,Y=-5,Width=10,Height=10}
COMPLEMENT
False
False
{X=5,Y=-5,Width=2,Height=10}
{X=-5,Y=5,Width=12,Height=2}
Under Mono/Linux
INTERSECT
True
False
COMPLEMENT
False
False
{X=-5,Y=-5,Width=12,Height=12}
The negative width and height are the probable problem in the current code
(i.e. it's considered empty by Mono's libgdiplus).
-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
    
    
More information about the mono-bugs
mailing list