Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Base / System / Windows / Point.cs / 1305600 / Point.cs
//------------------------------------------------------------------------------
// Microsoft Avalon
// Copyright (c) Microsoft Corporation, 2001, 2002
//
// File: Point.cs
//-----------------------------------------------------------------------------
using System;
using System.ComponentModel;
using System.ComponentModel.Design.Serialization;
using System.Reflection;
using System.Text;
using System.Collections;
using System.Globalization;
using System.Windows;
using System.Windows.Media;
using System.Runtime.InteropServices;
namespace System.Windows
{
///
/// Point - Defaults to 0,0
///
public partial struct Point
{
#region Constructors
///
/// Constructor which accepts the X and Y values
///
/// The value for the X coordinate of the new Point
/// The value for the Y coordinate of the new Point
public Point(double x, double y)
{
_x = x;
_y = y;
}
#endregion Constructors
#region Public Methods
///
/// Offset - update the location by adding offsetX to X and offsetY to Y
///
/// The offset in the x dimension
/// The offset in the y dimension
public void Offset(double offsetX, double offsetY)
{
_x += offsetX;
_y += offsetY;
}
///
/// Operator Point + Vector
///
///
/// Point - The result of the addition
///
/// The Point to be added to the Vector
/// The Vectr to be added to the Point
public static Point operator + (Point point, Vector vector)
{
return new Point(point._x + vector._x, point._y + vector._y);
}
///
/// Add: Point + Vector
///
///
/// Point - The result of the addition
///
/// The Point to be added to the Vector
/// The Vector to be added to the Point
public static Point Add(Point point, Vector vector)
{
return new Point(point._x + vector._x, point._y + vector._y);
}
///
/// Operator Point - Vector
///
///
/// Point - The result of the subtraction
///
/// The Point from which the Vector is subtracted
/// The Vector which is subtracted from the Point
public static Point operator - (Point point, Vector vector)
{
return new Point(point._x - vector._x, point._y - vector._y);
}
///
/// Subtract: Point - Vector
///
///
/// Point - The result of the subtraction
///
/// The Point from which the Vector is subtracted
/// The Vector which is subtracted from the Point
public static Point Subtract(Point point, Vector vector)
{
return new Point(point._x - vector._x, point._y - vector._y);
}
///
/// Operator Point - Point
///
///
/// Vector - The result of the subtraction
///
/// The Point from which point2 is subtracted
/// The Point subtracted from point1
public static Vector operator - (Point point1, Point point2)
{
return new Vector(point1._x - point2._x, point1._y - point2._y);
}
///
/// Subtract: Point - Point
///
///
/// Vector - The result of the subtraction
///
/// The Point from which point2 is subtracted
/// The Point subtracted from point1
public static Vector Subtract(Point point1, Point point2)
{
return new Vector(point1._x - point2._x, point1._y - point2._y);
}
///
/// Operator Point * Matrix
///
public static Point operator * (Point point, Matrix matrix)
{
return matrix.Transform(point);
}
///
/// Multiply: Point * Matrix
///
public static Point Multiply(Point point, Matrix matrix)
{
return matrix.Transform(point);
}
///
/// Explicit conversion to Size. Note that since Size cannot contain negative values,
/// the resulting size will contains the absolute values of X and Y
///
///
/// Size - A Size equal to this Point
///
/// Point - the Point to convert to a Size
public static explicit operator Size(Point point)
{
return new Size(Math.Abs(point._x), Math.Abs(point._y));
}
///
/// Explicit conversion to Vector
///
///
/// Vector - A Vector equal to this Point
///
/// Point - the Point to convert to a Vector
public static explicit operator Vector(Point point)
{
return new Vector(point._x, point._y);
}
#endregion Public Methods
}
}
// 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
- UnsafeMethods.cs
- AuthenticationException.cs
- AutoResetEvent.cs
- SecurityRequiresReviewAttribute.cs
- DataGridTextColumn.cs
- ListChunk.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- TaiwanCalendar.cs
- DashStyle.cs
- ScheduleChanges.cs
- UnregisterInfo.cs
- ExceptionTrace.cs
- EntitySqlException.cs
- CharacterBufferReference.cs
- ImageBrush.cs
- SelectionGlyphBase.cs
- OleDbRowUpdatingEvent.cs
- AttributeXamlType.cs
- InternalTypeHelper.cs
- WindowsSlider.cs
- DataBoundControlAdapter.cs
- ProjectedSlot.cs
- FrameworkReadOnlyPropertyMetadata.cs
- ReadContentAsBinaryHelper.cs
- TagPrefixAttribute.cs
- TemplateColumn.cs
- TargetParameterCountException.cs
- RowType.cs
- SerializationFieldInfo.cs
- VisualTarget.cs
- GridViewCellAutomationPeer.cs
- XmlWriterTraceListener.cs
- _IPv4Address.cs
- PropertyManager.cs
- TreeViewDesigner.cs
- ComplexTypeEmitter.cs
- ListViewPagedDataSource.cs
- MimeTypeMapper.cs
- ResourceSetExpression.cs
- Rotation3DAnimationBase.cs
- UnauthorizedWebPart.cs
- RectAnimationBase.cs
- CounterNameConverter.cs
- TextElementCollection.cs
- XmlNodeList.cs
- OperationAbortedException.cs
- JapaneseCalendar.cs
- FreezableCollection.cs
- Margins.cs
- TextChangedEventArgs.cs
- DirectoryGroupQuery.cs
- ConcurrencyMode.cs
- HttpResponseHeader.cs
- EntityDesignerUtils.cs
- EdmValidator.cs
- ListMarkerSourceInfo.cs
- ActivityExecutor.cs
- LingerOption.cs
- ReferenceService.cs
- InheritedPropertyChangedEventArgs.cs
- ServicesUtilities.cs
- ScrollViewerAutomationPeer.cs
- LingerOption.cs
- SingleAnimationUsingKeyFrames.cs
- Graph.cs
- BitHelper.cs
- TextTreeTextBlock.cs
- CatalogPartChrome.cs
- DecoderExceptionFallback.cs
- embossbitmapeffect.cs
- TextMarkerSource.cs
- IssuedSecurityTokenProvider.cs
- StringUtil.cs
- ColumnResult.cs
- ClientSession.cs
- ErrorTableItemStyle.cs
- MailMessageEventArgs.cs
- DetailsViewUpdatedEventArgs.cs
- MimeObjectFactory.cs
- TimeEnumHelper.cs
- PropertyValueUIItem.cs
- _PooledStream.cs
- CharEnumerator.cs
- PrimitiveSchema.cs
- XmlNode.cs
- ApplicationGesture.cs
- PersonalizationStateInfoCollection.cs
- ProcessDesigner.cs
- KeyFrames.cs
- MenuItemCollection.cs
- Button.cs
- GuidelineSet.cs
- HttpRequestWrapper.cs
- FlowLayoutSettings.cs
- ListenerSingletonConnectionReader.cs
- CodeSubDirectoriesCollection.cs
- TimeSpanParse.cs
- TableSectionStyle.cs
- AxWrapperGen.cs
- Identity.cs