System.Drawing.RectangleF.Union C# (CSharp) Method

Union() public static method

public static Union ( System a, System b ) : System.Drawing.RectangleF
a System
b System
return System.Drawing.RectangleF
        public static System.Drawing.RectangleF Union(System.Drawing.RectangleF a, System.Drawing.RectangleF b) { throw null; }
    }

Same methods

RectangleF::Union ( RectangleF a, RectangleF b ) : RectangleF

Usage Example

Example #1
0
        // Union of reg1 and reg2
        public static void Union(Region reg1, Region reg2)
        {
            if (reg1 == reg2 | reg2.rects.Length == 0)
            {
                return;
            }
            if (reg1.rects.Length == 0)
            {
                reg1.rects  = (RectangleF[])reg2.rects.Clone();
                reg1.extent = reg2.extent;
                return;
            }
            // Region 1 completely subsumes region 2
            RectangleF reg1Extent = reg1.extent;
            RectangleF reg2Extent = reg2.extent;

            if (reg1.rects.Length == 1 && reg1Extent.Left <= reg2Extent.Left && reg1Extent.Top <= reg2Extent.Top && reg1Extent.Right >= reg2Extent.Right && reg1Extent.Bottom >= reg2Extent.Bottom)
            {
                return;
            }

            // Region 2 completely subsumes region 1
            if (reg2.rects.Length == 1 && (reg2Extent.Left <= reg1Extent.Left) && reg2Extent.Top <= reg1Extent.Top && reg2Extent.Right >= reg1Extent.Right && reg2Extent.Bottom >= reg1Extent.Bottom)
            {
                reg1.rects  = (RectangleF[])reg2.rects.Clone();
                reg1.extent = reg2.extent;
                return;
            }

            Region union = RegionOperation(reg1, reg2, RegionOperationType.Union);

            reg1.rects  = union.rects;
            reg1.extent = RectangleF.Union(reg1.extent, reg2.extent);
        }