Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / CommonUI / System / Drawing / Advanced / RectangleF.cs / 1 / RectangleF.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Drawing { using System.Diagnostics; using System; using System.IO; using Microsoft.Win32; using System.ComponentModel; using System.Drawing.Internal; using System.Globalization; ////// /// [Serializable] public struct RectangleF { ////// Stores the location and size of a rectangular region. For /// more advanced region functions use a ////// object. /// /// /// Initializes a new instance of the public static readonly RectangleF Empty = new RectangleF(); private float x; private float y; private float width; private float height; ////// class. /// /// /// public RectangleF(float x, float y, float width, float height) { this.x = x; this.y = y; this.width = width; this.height = height; } ////// Initializes a new instance of the ////// class with the specified location and size. /// /// /// public RectangleF(PointF location, SizeF size) { this.x = location.X; this.y = location.Y; this.width = size.Width; this.height = size.Height; } ////// Initializes a new instance of the ////// class with the specified location /// and size. /// /// /// // !! Not in C++ version public static RectangleF FromLTRB(float left, float top, float right, float bottom) { return new RectangleF(left, top, right - left, bottom - top); } ////// Creates a new ///with /// the specified location and size. /// /// /// [Browsable(false)] public PointF Location { get { return new PointF(X, Y); } set { X = value.X; Y = value.Y; } } ////// Gets or sets the coordinates of the upper-left corner of /// the rectangular region represented by this ///. /// /// /// [Browsable(false)] public SizeF Size { get { return new SizeF(Width, Height); } set { this.Width = value.Width; this.Height = value.Height; } } ////// Gets or sets the size of this ///. /// /// /// public float X { get { return x; } set { x = value; } } ////// Gets or sets the x-coordinate of the /// upper-left corner of the rectangular region defined by this ///. /// /// /// public float Y { get { return y; } set { y = value; } } ////// Gets or sets the y-coordinate of the /// upper-left corner of the rectangular region defined by this ///. /// /// /// public float Width { get { return width; } set { width = value; } } ////// Gets or sets the width of the rectangular /// region defined by this ///. /// /// /// public float Height { get { return height; } set { height = value; } } ////// Gets or sets the height of the /// rectangular region defined by this ///. /// /// /// [Browsable(false)] public float Left { get { return X; } } ////// Gets the x-coordinate of the upper-left corner of the /// rectangular region defined by this ///. /// /// /// [Browsable(false)] public float Top { get { return Y; } } ////// Gets the y-coordinate of the upper-left corner of the /// rectangular region defined by this ///. /// /// /// [Browsable(false)] public float Right { get { return X + Width; } } ////// Gets the x-coordinate of the lower-right corner of the /// rectangular region defined by this ///. /// /// /// [Browsable(false)] public float Bottom { get { return Y + Height; } } ////// Gets the y-coordinate of the lower-right corner of the /// rectangular region defined by this ///. /// /// /// [Browsable(false)] public bool IsEmpty { get { return (Width <= 0 )|| (Height <= 0); } } ////// Tests whether this ///has a or a of 0. /// /// /// public override bool Equals(object obj) { if (!(obj is RectangleF)) return false; RectangleF comp = (RectangleF)obj; return (comp.X == this.X) && (comp.Y == this.Y) && (comp.Width == this.Width) && (comp.Height == this.Height); } ////// Tests whether ///is a with the same location and size of this /// . /// /// /// public static bool operator ==(RectangleF left, RectangleF right) { return (left.X == right.X && left.Y == right.Y && left.Width == right.Width && left.Height == right.Height); } ////// Tests whether two ////// objects have equal location and size. /// /// /// public static bool operator !=(RectangleF left, RectangleF right) { return !(left == right); } ////// Tests whether two ////// objects differ in location or size. /// /// /// public bool Contains(float x, float y) { return this.X <= x && x < this.X + this.Width && this.Y <= y && y < this.Y + this.Height; } ////// Determines if the specfied point is contained within the /// rectangular region defined by this ///. /// /// /// public bool Contains(PointF pt) { return Contains(pt.X, pt.Y); } ////// Determines if the specfied point is contained within the /// rectangular region defined by this ///. /// /// /// public bool Contains(RectangleF rect) { return (this.X <= rect.X) && ((rect.X + rect.Width) <= (this.X + this.Width)) && (this.Y <= rect.Y) && ((rect.Y + rect.Height) <= (this.Y + this.Height)); } // !! Not in C++ version ////// Determines if the rectangular region represented by /// ///is entirely contained within the rectangular region represented by /// this . /// /// /// Gets the hash code for this public override int GetHashCode() { return (int)((UInt32)X ^ (((UInt32)Y << 13) | ((UInt32)Y >> 19)) ^ (((UInt32)Width << 26) | ((UInt32)Width >> 6)) ^ (((UInt32)Height << 7) | ((UInt32)Height >> 25))); } ///. /// /// /// public void Inflate(float x, float y) { this.X -= x; this.Y -= y; this.Width += 2*x; this.Height += 2*y; } ////// Inflates this ////// by the specified amount. /// /// /// Inflates this public void Inflate(SizeF size) { Inflate(size.Width, size.Height); } ///by the specified amount. /// /// /// // !! Not in C++ public static RectangleF Inflate(RectangleF rect, float x, float y) { RectangleF r = rect; r.Inflate(x, y); return r; } ////// Creates a ////// that is inflated by the specified amount. /// /// Creates a Rectangle that represents the intersection between this Rectangle and rect. /// public void Intersect(RectangleF rect) { RectangleF result = RectangleF.Intersect(rect, this); this.X = result.X; this.Y = result.Y; this.Width = result.Width; this.Height = result.Height; } ////// /// Creates a rectangle that represents the intersetion between a and /// b. If there is no intersection, null is returned. /// public static RectangleF Intersect(RectangleF a, RectangleF b) { float x1 = Math.Max(a.X, b.X); float x2 = Math.Min(a.X + a.Width, b.X + b.Width); float y1 = Math.Max(a.Y, b.Y); float y2 = Math.Min(a.Y + a.Height, b.Y + b.Height); if (x2 >= x1 && y2 >= y1) { return new RectangleF(x1, y1, x2 - x1, y2 - y1); } return RectangleF.Empty; } ////// /// Determines if this rectangle intersets with rect. /// public bool IntersectsWith(RectangleF rect) { return (rect.X < this.X + this.Width) && (this.X < (rect.X + rect.Width)) && (rect.Y < this.Y + this.Height) && (this.Y < rect.Y + rect.Height); } ////// /// Creates a rectangle that represents the union between a and /// b. /// public static RectangleF Union(RectangleF a, RectangleF b) { float x1 = Math.Min(a.X, b.X); float x2 = Math.Max(a.X + a.Width, b.X + b.Width); float y1 = Math.Min(a.Y, b.Y); float y2 = Math.Max(a.Y + a.Height, b.Y + b.Height); return new RectangleF(x1, y1, x2 - x1, y2 - y1); } ////// /// Adjusts the location of this rectangle by the specified amount. /// public void Offset(PointF pos) { Offset(pos.X, pos.Y); } ////// /// Adjusts the location of this rectangle by the specified amount. /// public void Offset(float x, float y) { this.X += x; this.Y += y; } /** * Convert the current rectangle object into * a GDI+ GPRECTF structure. */ internal GPRECTF ToGPRECTF() { return new GPRECTF(X, Y, Width, Height); } ////// /// Converts the specified public static implicit operator RectangleF(Rectangle r) { return new RectangleF(r.X, r.Y, r.Width, r.Height); } ///to a /// . /// /// /// Converts the public override string ToString() { return "{X=" + X.ToString(CultureInfo.CurrentCulture) + ",Y=" + Y.ToString(CultureInfo.CurrentCulture) + ",Width=" + Width.ToString(CultureInfo.CurrentCulture) + ",Height=" + Height.ToString(CultureInfo.CurrentCulture) + "}"; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //and of this to a /// human-readable string. /// // Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Drawing { using System.Diagnostics; using System; using System.IO; using Microsoft.Win32; using System.ComponentModel; using System.Drawing.Internal; using System.Globalization; ////// /// [Serializable] public struct RectangleF { ////// Stores the location and size of a rectangular region. For /// more advanced region functions use a ////// object. /// /// /// Initializes a new instance of the public static readonly RectangleF Empty = new RectangleF(); private float x; private float y; private float width; private float height; ////// class. /// /// /// public RectangleF(float x, float y, float width, float height) { this.x = x; this.y = y; this.width = width; this.height = height; } ////// Initializes a new instance of the ////// class with the specified location and size. /// /// /// public RectangleF(PointF location, SizeF size) { this.x = location.X; this.y = location.Y; this.width = size.Width; this.height = size.Height; } ////// Initializes a new instance of the ////// class with the specified location /// and size. /// /// /// // !! Not in C++ version public static RectangleF FromLTRB(float left, float top, float right, float bottom) { return new RectangleF(left, top, right - left, bottom - top); } ////// Creates a new ///with /// the specified location and size. /// /// /// [Browsable(false)] public PointF Location { get { return new PointF(X, Y); } set { X = value.X; Y = value.Y; } } ////// Gets or sets the coordinates of the upper-left corner of /// the rectangular region represented by this ///. /// /// /// [Browsable(false)] public SizeF Size { get { return new SizeF(Width, Height); } set { this.Width = value.Width; this.Height = value.Height; } } ////// Gets or sets the size of this ///. /// /// /// public float X { get { return x; } set { x = value; } } ////// Gets or sets the x-coordinate of the /// upper-left corner of the rectangular region defined by this ///. /// /// /// public float Y { get { return y; } set { y = value; } } ////// Gets or sets the y-coordinate of the /// upper-left corner of the rectangular region defined by this ///. /// /// /// public float Width { get { return width; } set { width = value; } } ////// Gets or sets the width of the rectangular /// region defined by this ///. /// /// /// public float Height { get { return height; } set { height = value; } } ////// Gets or sets the height of the /// rectangular region defined by this ///. /// /// /// [Browsable(false)] public float Left { get { return X; } } ////// Gets the x-coordinate of the upper-left corner of the /// rectangular region defined by this ///. /// /// /// [Browsable(false)] public float Top { get { return Y; } } ////// Gets the y-coordinate of the upper-left corner of the /// rectangular region defined by this ///. /// /// /// [Browsable(false)] public float Right { get { return X + Width; } } ////// Gets the x-coordinate of the lower-right corner of the /// rectangular region defined by this ///. /// /// /// [Browsable(false)] public float Bottom { get { return Y + Height; } } ////// Gets the y-coordinate of the lower-right corner of the /// rectangular region defined by this ///. /// /// /// [Browsable(false)] public bool IsEmpty { get { return (Width <= 0 )|| (Height <= 0); } } ////// Tests whether this ///has a or a of 0. /// /// /// public override bool Equals(object obj) { if (!(obj is RectangleF)) return false; RectangleF comp = (RectangleF)obj; return (comp.X == this.X) && (comp.Y == this.Y) && (comp.Width == this.Width) && (comp.Height == this.Height); } ////// Tests whether ///is a with the same location and size of this /// . /// /// /// public static bool operator ==(RectangleF left, RectangleF right) { return (left.X == right.X && left.Y == right.Y && left.Width == right.Width && left.Height == right.Height); } ////// Tests whether two ////// objects have equal location and size. /// /// /// public static bool operator !=(RectangleF left, RectangleF right) { return !(left == right); } ////// Tests whether two ////// objects differ in location or size. /// /// /// public bool Contains(float x, float y) { return this.X <= x && x < this.X + this.Width && this.Y <= y && y < this.Y + this.Height; } ////// Determines if the specfied point is contained within the /// rectangular region defined by this ///. /// /// /// public bool Contains(PointF pt) { return Contains(pt.X, pt.Y); } ////// Determines if the specfied point is contained within the /// rectangular region defined by this ///. /// /// /// public bool Contains(RectangleF rect) { return (this.X <= rect.X) && ((rect.X + rect.Width) <= (this.X + this.Width)) && (this.Y <= rect.Y) && ((rect.Y + rect.Height) <= (this.Y + this.Height)); } // !! Not in C++ version ////// Determines if the rectangular region represented by /// ///is entirely contained within the rectangular region represented by /// this . /// /// /// Gets the hash code for this public override int GetHashCode() { return (int)((UInt32)X ^ (((UInt32)Y << 13) | ((UInt32)Y >> 19)) ^ (((UInt32)Width << 26) | ((UInt32)Width >> 6)) ^ (((UInt32)Height << 7) | ((UInt32)Height >> 25))); } ///. /// /// /// public void Inflate(float x, float y) { this.X -= x; this.Y -= y; this.Width += 2*x; this.Height += 2*y; } ////// Inflates this ////// by the specified amount. /// /// /// Inflates this public void Inflate(SizeF size) { Inflate(size.Width, size.Height); } ///by the specified amount. /// /// /// // !! Not in C++ public static RectangleF Inflate(RectangleF rect, float x, float y) { RectangleF r = rect; r.Inflate(x, y); return r; } ////// Creates a ////// that is inflated by the specified amount. /// /// Creates a Rectangle that represents the intersection between this Rectangle and rect. /// public void Intersect(RectangleF rect) { RectangleF result = RectangleF.Intersect(rect, this); this.X = result.X; this.Y = result.Y; this.Width = result.Width; this.Height = result.Height; } ////// /// Creates a rectangle that represents the intersetion between a and /// b. If there is no intersection, null is returned. /// public static RectangleF Intersect(RectangleF a, RectangleF b) { float x1 = Math.Max(a.X, b.X); float x2 = Math.Min(a.X + a.Width, b.X + b.Width); float y1 = Math.Max(a.Y, b.Y); float y2 = Math.Min(a.Y + a.Height, b.Y + b.Height); if (x2 >= x1 && y2 >= y1) { return new RectangleF(x1, y1, x2 - x1, y2 - y1); } return RectangleF.Empty; } ////// /// Determines if this rectangle intersets with rect. /// public bool IntersectsWith(RectangleF rect) { return (rect.X < this.X + this.Width) && (this.X < (rect.X + rect.Width)) && (rect.Y < this.Y + this.Height) && (this.Y < rect.Y + rect.Height); } ////// /// Creates a rectangle that represents the union between a and /// b. /// public static RectangleF Union(RectangleF a, RectangleF b) { float x1 = Math.Min(a.X, b.X); float x2 = Math.Max(a.X + a.Width, b.X + b.Width); float y1 = Math.Min(a.Y, b.Y); float y2 = Math.Max(a.Y + a.Height, b.Y + b.Height); return new RectangleF(x1, y1, x2 - x1, y2 - y1); } ////// /// Adjusts the location of this rectangle by the specified amount. /// public void Offset(PointF pos) { Offset(pos.X, pos.Y); } ////// /// Adjusts the location of this rectangle by the specified amount. /// public void Offset(float x, float y) { this.X += x; this.Y += y; } /** * Convert the current rectangle object into * a GDI+ GPRECTF structure. */ internal GPRECTF ToGPRECTF() { return new GPRECTF(X, Y, Width, Height); } ////// /// Converts the specified public static implicit operator RectangleF(Rectangle r) { return new RectangleF(r.X, r.Y, r.Width, r.Height); } ///to a /// . /// /// /// Converts the public override string ToString() { return "{X=" + X.ToString(CultureInfo.CurrentCulture) + ",Y=" + Y.ToString(CultureInfo.CurrentCulture) + ",Width=" + Width.ToString(CultureInfo.CurrentCulture) + ",Height=" + Height.ToString(CultureInfo.CurrentCulture) + "}"; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.and of this to a /// human-readable string. ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- RefreshEventArgs.cs
- COM2AboutBoxPropertyDescriptor.cs
- XsltSettings.cs
- DecryptedHeader.cs
- _TransmitFileOverlappedAsyncResult.cs
- ImageField.cs
- HitTestParameters.cs
- SecureStringHasher.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- WindowsPrincipal.cs
- XhtmlBasicControlAdapter.cs
- PreProcessInputEventArgs.cs
- Trace.cs
- UnauthorizedWebPart.cs
- UserNamePasswordValidator.cs
- QilTypeChecker.cs
- SettingsPropertyValueCollection.cs
- HttpBrowserCapabilitiesWrapper.cs
- FamilyCollection.cs
- Int64.cs
- RequestCacheManager.cs
- WorkerRequest.cs
- RoutingEndpointTrait.cs
- ConstraintCollection.cs
- RewritingValidator.cs
- DashStyles.cs
- SerializationStore.cs
- TraceHelpers.cs
- DBBindings.cs
- EmptyCollection.cs
- AttributeCollection.cs
- SuppressIldasmAttribute.cs
- _ContextAwareResult.cs
- TransactionChannel.cs
- DetailsViewRow.cs
- RotateTransform3D.cs
- RelatedEnd.cs
- TemplateBindingExtensionConverter.cs
- NullableLongSumAggregationOperator.cs
- XmlReturnWriter.cs
- DispatcherSynchronizationContext.cs
- ValidationHelpers.cs
- DataGridBoolColumn.cs
- RewritingValidator.cs
- PatternMatcher.cs
- SmiMetaDataProperty.cs
- ValueExpressions.cs
- TableLayout.cs
- UriSchemeKeyedCollection.cs
- FixedDocument.cs
- AssemblyHash.cs
- BackgroundWorker.cs
- ListenerSessionConnectionReader.cs
- SubMenuStyle.cs
- WizardSideBarListControlItemEventArgs.cs
- RequestCache.cs
- Geometry.cs
- GlyphShapingProperties.cs
- PreloadHost.cs
- SqlDeflator.cs
- TypeResolvingOptions.cs
- StorageMappingItemLoader.cs
- WebSysDescriptionAttribute.cs
- DataKeyArray.cs
- ByteAnimationBase.cs
- ListControlDataBindingHandler.cs
- MobileComponentEditorPage.cs
- ComEventsHelper.cs
- DataGridViewCellCollection.cs
- ForceCopyBuildProvider.cs
- ConfigPathUtility.cs
- SuppressIldasmAttribute.cs
- EdmComplexTypeAttribute.cs
- DBSchemaTable.cs
- MenuCommandService.cs
- PointHitTestParameters.cs
- XmlSchemaComplexContent.cs
- GridViewRowEventArgs.cs
- IconHelper.cs
- BezierSegment.cs
- WSDualHttpSecurityMode.cs
- TargetPerspective.cs
- DebugControllerThread.cs
- PropertyIDSet.cs
- FileInfo.cs
- ColumnResizeAdorner.cs
- ArcSegment.cs
- Utility.cs
- Variable.cs
- FixedDocumentPaginator.cs
- SiteMapNodeItem.cs
- StateFinalizationActivity.cs
- SQLInt64Storage.cs
- Table.cs
- MouseActionConverter.cs
- COM2PropertyDescriptor.cs
- XmlExceptionHelper.cs
- xdrvalidator.cs
- TreeNodeClickEventArgs.cs
- BitmapDecoder.cs