Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / CommonUI / System / Drawing / Advanced / PointF.cs / 1 / PointF.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
/*************************************************************************\
*
* Copyright (c) 1998-1999, Microsoft Corp. All Rights Reserved.
*
* Module Name:
*
* PointF.cs
*
* Abstract:
*
* Floating-point coordinate point class
*
* Revision History:
*
* 12/14/1998 davidx
* Created it.
*
\**************************************************************************/
namespace System.Drawing {
using System.Diagnostics;
using System.Drawing;
using System.ComponentModel;
using System;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
/**
* Represents a point in 2D coordinate space
* (float precision floating-point coordinates)
*/
///
///
/// Represents an ordered pair of x and y coordinates that
/// define a point in a two-dimensional plane.
///
[Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public struct PointF {
///
///
///
/// Creates a new instance of the class
/// with member data left uninitialized.
///
///
public static readonly PointF Empty = new PointF();
private float x;
private float y;
/**
* Create a new Point object at the given location
*/
///
///
///
/// Initializes a new instance of the class
/// with the specified coordinates.
///
///
public PointF(float x, float y) {
this.x = x;
this.y = y;
}
///
///
///
/// Gets a value indicating whether this is empty.
///
///
[Browsable(false)]
public bool IsEmpty {
get {
return x == 0f && y == 0f;
}
}
///
///
///
/// Gets the x-coordinate of this .
///
///
public float X {
get {
return x;
}
set {
x = value;
}
}
///
///
///
/// Gets the y-coordinate of this .
///
///
public float Y {
get {
return y;
}
set {
y = value;
}
}
///
///
///
/// Translates a by a given .
///
///
public static PointF operator +(PointF pt, Size sz) {
return Add(pt, sz);
}
///
///
///
/// Translates a by the negative of a given .
///
///
public static PointF operator -(PointF pt, Size sz) {
return Subtract(pt, sz);
}
///
///
/// Translates a by a given .
///
///
public static PointF operator +(PointF pt, SizeF sz) {
return Add(pt, sz);
}
///
///
/// Translates a by the negative of a given .
///
///
public static PointF operator -(PointF pt, SizeF sz) {
return Subtract(pt, sz);
}
///
///
///
/// Compares two objects. The result specifies
/// whether the values of the and properties of the two
/// objects are equal.
///
///
public static bool operator ==(PointF left, PointF right) {
return left.X == right.X && left.Y == right.Y;
}
///
///
///
/// Compares two objects. The result specifies whether the values
/// of the or properties of the two
///
/// objects are unequal.
///
///
public static bool operator !=(PointF left, PointF right) {
return !(left == right);
}
///
///
/// Translates a by a given .
///
///
public static PointF Add(PointF pt, Size sz) {
return new PointF(pt.X + sz.Width, pt.Y + sz.Height);
}
///
///
/// Translates a by the negative of a given .
///
///
public static PointF Subtract(PointF pt, Size sz) {
return new PointF(pt.X - sz.Width, pt.Y - sz.Height);
}
///
///
/// Translates a by a given .
///
///
public static PointF Add(PointF pt, SizeF sz){
return new PointF(pt.X + sz.Width, pt.Y + sz.Height);
}
///
///
/// Translates a by the negative of a given .
///
///
public static PointF Subtract(PointF pt, SizeF sz){
return new PointF(pt.X - sz.Width, pt.Y - sz.Height);
}
///
///
/// [To be supplied.]
///
public override bool Equals(object obj) {
if (!(obj is PointF)) return false;
PointF comp = (PointF)obj;
return
comp.X == this.X &&
comp.Y == this.Y &&
comp.GetType().Equals(this.GetType());
}
///
///
/// [To be supplied.]
///
public override int GetHashCode() {
return base.GetHashCode();
}
///
public override string ToString() {
return string.Format(CultureInfo.CurrentCulture, "{{X={0}, Y={1}}}", x, y);
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SemanticValue.cs
- TypeLibConverter.cs
- EventListener.cs
- RawKeyboardInputReport.cs
- Permission.cs
- RecordManager.cs
- RectangleConverter.cs
- WebConfigurationFileMap.cs
- __ComObject.cs
- DbConnectionPool.cs
- MailWriter.cs
- SQLInt16Storage.cs
- FontSource.cs
- Zone.cs
- SourceItem.cs
- DataGridViewRowsRemovedEventArgs.cs
- CompilationUtil.cs
- ScrollChangedEventArgs.cs
- DoubleCollectionValueSerializer.cs
- ObjectView.cs
- SimpleModelProvider.cs
- DataGridViewAccessibleObject.cs
- MessageQueuePermissionEntryCollection.cs
- NoneExcludedImageIndexConverter.cs
- ScrollChrome.cs
- HttpResponseHeader.cs
- ActivationProxy.cs
- EventLogPropertySelector.cs
- ObjectDataSourceDesigner.cs
- DbConnectionHelper.cs
- Confirm.cs
- PerformanceCounterPermissionEntry.cs
- SchemaCollectionPreprocessor.cs
- formatter.cs
- BuildResult.cs
- Propagator.JoinPropagator.SubstitutingCloneVisitor.cs
- dataprotectionpermission.cs
- ToolStripContainer.cs
- MatchSingleFxEngineOpcode.cs
- SerialErrors.cs
- DrawingGroup.cs
- RadioButton.cs
- safelinkcollection.cs
- FrameworkElement.cs
- AnimationClockResource.cs
- TextRange.cs
- ItemCollection.cs
- FontSource.cs
- WebBrowserProgressChangedEventHandler.cs
- sqlpipe.cs
- VectorKeyFrameCollection.cs
- InteropTrackingRecord.cs
- DbDeleteCommandTree.cs
- ListParaClient.cs
- Token.cs
- EntityContainer.cs
- EdmItemCollection.OcAssemblyCache.cs
- TreeViewEvent.cs
- XPathNodePointer.cs
- FixedSOMTableCell.cs
- UIElementPropertyUndoUnit.cs
- ColorAnimationUsingKeyFrames.cs
- CustomExpression.cs
- HandlerWithFactory.cs
- SafeHandle.cs
- BrowserDefinition.cs
- HttpApplication.cs
- XPathParser.cs
- CodeTypeMember.cs
- CalendarTable.cs
- BasicExpandProvider.cs
- XmlSchemaSimpleTypeRestriction.cs
- FontSource.cs
- GroupLabel.cs
- ErrorTableItemStyle.cs
- XsltLoader.cs
- CodeAccessSecurityEngine.cs
- Calendar.cs
- SettingsAttributeDictionary.cs
- HttpCookieCollection.cs
- SqlConnectionPoolProviderInfo.cs
- MemberCollection.cs
- WizardForm.cs
- BasicHttpSecurityMode.cs
- ParameterInfo.cs
- ToolStripItemTextRenderEventArgs.cs
- ScalarType.cs
- _Events.cs
- HelpPage.cs
- DrawToolTipEventArgs.cs
- VerticalAlignConverter.cs
- AdditionalEntityFunctions.cs
- RijndaelCryptoServiceProvider.cs
- IdleTimeoutMonitor.cs
- securestring.cs
- InkCollectionBehavior.cs
- NamedPipeTransportBindingElement.cs
- SortDescription.cs
- PostBackOptions.cs
- Internal.cs