Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / CommonUI / System / Drawing / Size.cs / 1305376 / Size.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Drawing { using System.Runtime.Serialization.Formatters; using System.Diagnostics; using System; using System.IO; using Microsoft.Win32; using System.ComponentModel; using System.Diagnostics.CodeAnalysis; using System.Globalization; /** * Represents a dimension in 2D coordinate space */ ////// /// Represents the size of a rectangular region /// with an ordered pair of width and height. /// [ TypeConverterAttribute(typeof(SizeConverter)), ] [Serializable] [System.Runtime.InteropServices.ComVisible(true)] [SuppressMessage("Microsoft.Usage", "CA2225:OperatorOverloadsHaveNamedAlternates")] public struct Size { ////// /// Initializes a new instance of the public static readonly Size Empty = new Size(); private int width; private int height; /** * Create a new Size object from a point */ ///class. /// /// /// public Size(Point pt) { width = pt.X; height = pt.Y; } /** * Create a new Size object of the specified dimension */ ////// Initializes a new instance of the ///class from /// the specified . /// /// /// Initializes a new instance of the public Size(int width, int height) { this.width = width; this.height = height; } ///class from /// the specified dimensions. /// /// /// Converts the specified public static implicit operator SizeF(Size p) { return new SizeF(p.Width, p.Height); } ///to a /// . /// /// /// public static Size operator +(Size sz1, Size sz2) { return Add(sz1, sz2); } ////// Performs vector addition of two ///objects. /// /// /// public static Size operator -(Size sz1, Size sz2) { return Subtract(sz1, sz2); } ////// Contracts a ///by another /// . /// /// /// Tests whether two public static bool operator ==(Size sz1, Size sz2) { return sz1.Width == sz2.Width && sz1.Height == sz2.Height; } ///objects /// are identical. /// /// /// [System.Runtime.TargetedPatchingOptOutAttribute("Performance critical to inline across NGen image boundaries")] public static bool operator !=(Size sz1, Size sz2) { return !(sz1 == sz2); } ////// Tests whether two ///objects are different. /// /// /// Converts the specified public static explicit operator Point(Size size) { return new Point(size.Width, size.Height); } ///to a /// . /// /// /// Tests whether this [Browsable(false)] public bool IsEmpty { [System.Runtime.TargetedPatchingOptOutAttribute("Performance critical to inline across NGen image boundaries")] get { return width == 0 && height == 0; } } /** * Horizontal dimension */ ///has zero /// width and height. /// /// /// public int Width { [System.Runtime.TargetedPatchingOptOutAttribute("Performance critical to inline across NGen image boundaries")] get { return width; } set { width = value; } } /** * Vertical dimension */ ////// Represents the horizontal component of this /// ///. /// /// /// Represents the vertical component of this /// public int Height { [System.Runtime.TargetedPatchingOptOutAttribute("Performance critical to inline across NGen image boundaries")] get { return height; } set { height = value; } } ///. /// /// public static Size Add(Size sz1, Size sz2) { return new Size(sz1.Width + sz2.Width, sz1.Height + sz2.Height); } ////// Performs vector addition of two ///objects. /// /// /// Converts a SizeF to a Size by performing a ceiling operation on /// all the coordinates. /// public static Size Ceiling(SizeF value) { return new Size((int)Math.Ceiling(value.Width), (int)Math.Ceiling(value.Height)); } ////// public static Size Subtract(Size sz1, Size sz2) { return new Size(sz1.Width - sz2.Width, sz1.Height - sz2.Height); } ////// Contracts a ///by another . /// /// /// Converts a SizeF to a Size by performing a truncate operation on /// all the coordinates. /// public static Size Truncate(SizeF value) { return new Size((int)value.Width, (int)value.Height); } ////// /// Converts a SizeF to a Size by performing a round operation on /// all the coordinates. /// public static Size Round(SizeF value) { return new Size((int)Math.Round(value.Width), (int)Math.Round(value.Height)); } ////// /// public override bool Equals(object obj) { if (!(obj is Size)) return false; Size comp = (Size)obj; // Note value types can't have derived classes, so we don't need to // check the types of the objects here. -- [....], 2/21/2001 return (comp.width == this.width) && (comp.height == this.height); } ////// Tests to see whether the specified object is a /// ////// with the same dimensions as this . /// /// /// public override int GetHashCode() { return width ^ height; } ////// Returns a hash code. /// ////// /// public override string ToString() { return "{Width=" + width.ToString(CultureInfo.CurrentCulture) + ", Height=" + height.ToString(CultureInfo.CurrentCulture) + "}"; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007./// Creates a human-readable string that represents this /// ///. ///
Link Menu
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SqlXml.cs
- SqlFunctionAttribute.cs
- ParentQuery.cs
- UIElementParagraph.cs
- Color.cs
- RTTypeWrapper.cs
- ServiceReflector.cs
- KeysConverter.cs
- FrameworkPropertyMetadata.cs
- QueryTaskGroupState.cs
- SafeLocalMemHandle.cs
- TextParagraphView.cs
- RequestDescription.cs
- SoapFault.cs
- SourceElementsCollection.cs
- RepeaterItemCollection.cs
- PartialArray.cs
- MeasurementDCInfo.cs
- DataGridViewColumnStateChangedEventArgs.cs
- PropertyPathConverter.cs
- _FtpDataStream.cs
- IfAction.cs
- MethodBuilder.cs
- RepeatButton.cs
- Int32.cs
- DescriptionAttribute.cs
- ItemsPanelTemplate.cs
- xmlglyphRunInfo.cs
- DbBuffer.cs
- PlainXmlSerializer.cs
- DesignerAdapterUtil.cs
- UpdatePanelTriggerCollection.cs
- LinqDataSourceUpdateEventArgs.cs
- Transform3D.cs
- ApplicationServiceHelper.cs
- Int32CollectionConverter.cs
- ObjectItemCollectionAssemblyCacheEntry.cs
- ByteKeyFrameCollection.cs
- TimelineClockCollection.cs
- BinaryObjectInfo.cs
- QueryableFilterRepeater.cs
- ServerReliableChannelBinder.cs
- ButtonFieldBase.cs
- PersonalizationProviderHelper.cs
- ValueChangedEventManager.cs
- MetadataLocation.cs
- Hash.cs
- ButtonColumn.cs
- BackgroundFormatInfo.cs
- CodeDefaultValueExpression.cs
- FixedSOMPage.cs
- CookielessHelper.cs
- ManagedFilter.cs
- TextParagraphProperties.cs
- ValueChangedEventManager.cs
- ArcSegment.cs
- OutOfProcStateClientManager.cs
- DataListItem.cs
- ChameleonKey.cs
- HttpProtocolImporter.cs
- SessionIDManager.cs
- Rect3DValueSerializer.cs
- EventMap.cs
- XmlSchemaSimpleTypeRestriction.cs
- _AutoWebProxyScriptEngine.cs
- Maps.cs
- SchemaImporterExtension.cs
- AutomationElementIdentifiers.cs
- OpenFileDialog.cs
- DbSourceCommand.cs
- PointLight.cs
- HyperLinkColumn.cs
- JulianCalendar.cs
- ObjectStateEntryDbDataRecord.cs
- DropShadowEffect.cs
- EntityDesignerBuildProvider.cs
- SessionStateContainer.cs
- ObjectMaterializedEventArgs.cs
- ExpressionConverter.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- latinshape.cs
- RequestQueue.cs
- SHA1Managed.cs
- SafeRegistryHandle.cs
- ScriptingAuthenticationServiceSection.cs
- SystemTcpStatistics.cs
- Base64Decoder.cs
- HitTestDrawingContextWalker.cs
- sqlstateclientmanager.cs
- MatcherBuilder.cs
- QueryableDataSourceView.cs
- XNodeNavigator.cs
- TextRangeEdit.cs
- TextEmbeddedObject.cs
- hwndwrapper.cs
- TextControlDesigner.cs
- BaseParagraph.cs
- RemoteEndpointMessageProperty.cs
- InvokeWebServiceDesigner.cs
- ImpersonateTokenRef.cs