Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / CommonUI / System / Drawing / Printing / Margins.cs / 1 / Margins.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Drawing.Printing {
using System.Runtime.Serialization.Formatters;
using System.Diagnostics;
using System;
using System.Runtime.InteropServices;
using System.Drawing;
using Microsoft.Win32;
using System.ComponentModel;
using System.Globalization;
///
///
///
/// Specifies the margins of a printed page.
///
///
[
Serializable,
TypeConverterAttribute(typeof(MarginsConverter))
]
public class Margins : ICloneable {
private int left;
private int right;
private int top;
private int bottom;
///
///
///
/// Initializes a new instance of a the class with one-inch margins.
///
///
public Margins() : this(100, 100, 100, 100) {
}
///
///
///
/// Initializes a new instance of a the class with the specified left, right, top, and bottom
/// margins.
///
///
public Margins(int left, int right, int top, int bottom) {
CheckMargin(left, "left");
CheckMargin(right, "right");
CheckMargin(top, "top");
CheckMargin(bottom, "bottom");
this.left = left;
this.right = right;
this.top = top;
this.bottom = bottom;
}
///
///
///
/// Gets or sets the left margin, in hundredths of an inch.
///
///
public int Left {
get { return left;}
set {
CheckMargin(value, "Left");
left = value;
}
}
///
///
///
/// Gets or sets the right margin, in hundredths of an inch.
///
///
public int Right {
get { return right;}
set {
CheckMargin(value, "Right");
right = value;
}
}
///
///
///
/// Gets or sets the top margin, in hundredths of an inch.
///
///
public int Top {
get { return top;}
set {
CheckMargin(value, "Top");
top = value;
}
}
///
///
///
/// Gets or sets the bottom margin, in hundredths of an inch.
///
///
public int Bottom {
get { return bottom;}
set {
CheckMargin(value, "Bottom");
bottom = value;
}
}
private void CheckMargin(int margin, string name) {
if (margin < 0)
throw new ArgumentException(SR.GetString(SR.InvalidLowBoundArgumentEx, name, margin, "0"));
}
///
///
///
/// Retrieves a duplicate of this object, member by member.
///
///
public object Clone() {
return MemberwiseClone();
}
///
///
///
/// Compares this to a specified to see whether they
/// are equal.
///
///
public override bool Equals(object obj) {
Margins margins = obj as Margins;
if (margins == this) return true;
if (margins == null) return false;
return margins.left == this.left
&& margins.right == this.right
&& margins.top == this.top
&& margins.bottom == this.bottom;
}
///
///
///
/// Calculates and retrieves a hash code based on the left, right, top, and bottom
/// margins.
///
///
public override int GetHashCode() {
// return HashCodes.Combine(left, right, top, bottom);
uint left = (uint) this.left;
uint right = (uint) this.right;
uint top = (uint) this.top;
uint bottom = (uint) this.bottom;
uint result = left ^
((right << 13) | (right >> 19)) ^
((top << 26) | (top >> 6)) ^
((bottom << 7) | (bottom >> 25));
return(int) result;
}
///
///
/// Tests whether two objects
/// are identical.
///
public static bool operator ==(Margins m1, Margins m2) {
if (object.ReferenceEquals(m1, null) != object.ReferenceEquals(m2, null)) {
return false;
}
if (!object.ReferenceEquals(m1, null)) {
return m1.Left == m2.Left && m1.Top == m2.Top && m1.Right == m2.Right && m1.Bottom == m2.Bottom;
}
return true;
}
///
///
///
/// Tests whether two objects are different.
///
///
public static bool operator !=(Margins m1, Margins m2) {
return !(m1 == m2);
}
///
///
///
///
/// Provides some interesting information for the Margins in
/// String form.
///
///
public override string ToString() {
return "[Margins"
+ " Left=" + Left.ToString(CultureInfo.InvariantCulture)
+ " Right=" + Right.ToString(CultureInfo.InvariantCulture)
+ " Top=" + Top.ToString(CultureInfo.InvariantCulture)
+ " Bottom=" + Bottom.ToString(CultureInfo.InvariantCulture)
+ "]";
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Drawing.Printing {
using System.Runtime.Serialization.Formatters;
using System.Diagnostics;
using System;
using System.Runtime.InteropServices;
using System.Drawing;
using Microsoft.Win32;
using System.ComponentModel;
using System.Globalization;
///
///
///
/// Specifies the margins of a printed page.
///
///
[
Serializable,
TypeConverterAttribute(typeof(MarginsConverter))
]
public class Margins : ICloneable {
private int left;
private int right;
private int top;
private int bottom;
///
///
///
/// Initializes a new instance of a the class with one-inch margins.
///
///
public Margins() : this(100, 100, 100, 100) {
}
///
///
///
/// Initializes a new instance of a the class with the specified left, right, top, and bottom
/// margins.
///
///
public Margins(int left, int right, int top, int bottom) {
CheckMargin(left, "left");
CheckMargin(right, "right");
CheckMargin(top, "top");
CheckMargin(bottom, "bottom");
this.left = left;
this.right = right;
this.top = top;
this.bottom = bottom;
}
///
///
///
/// Gets or sets the left margin, in hundredths of an inch.
///
///
public int Left {
get { return left;}
set {
CheckMargin(value, "Left");
left = value;
}
}
///
///
///
/// Gets or sets the right margin, in hundredths of an inch.
///
///
public int Right {
get { return right;}
set {
CheckMargin(value, "Right");
right = value;
}
}
///
///
///
/// Gets or sets the top margin, in hundredths of an inch.
///
///
public int Top {
get { return top;}
set {
CheckMargin(value, "Top");
top = value;
}
}
///
///
///
/// Gets or sets the bottom margin, in hundredths of an inch.
///
///
public int Bottom {
get { return bottom;}
set {
CheckMargin(value, "Bottom");
bottom = value;
}
}
private void CheckMargin(int margin, string name) {
if (margin < 0)
throw new ArgumentException(SR.GetString(SR.InvalidLowBoundArgumentEx, name, margin, "0"));
}
///
///
///
/// Retrieves a duplicate of this object, member by member.
///
///
public object Clone() {
return MemberwiseClone();
}
///
///
///
/// Compares this to a specified to see whether they
/// are equal.
///
///
public override bool Equals(object obj) {
Margins margins = obj as Margins;
if (margins == this) return true;
if (margins == null) return false;
return margins.left == this.left
&& margins.right == this.right
&& margins.top == this.top
&& margins.bottom == this.bottom;
}
///
///
///
/// Calculates and retrieves a hash code based on the left, right, top, and bottom
/// margins.
///
///
public override int GetHashCode() {
// return HashCodes.Combine(left, right, top, bottom);
uint left = (uint) this.left;
uint right = (uint) this.right;
uint top = (uint) this.top;
uint bottom = (uint) this.bottom;
uint result = left ^
((right << 13) | (right >> 19)) ^
((top << 26) | (top >> 6)) ^
((bottom << 7) | (bottom >> 25));
return(int) result;
}
///
///
/// Tests whether two objects
/// are identical.
///
public static bool operator ==(Margins m1, Margins m2) {
if (object.ReferenceEquals(m1, null) != object.ReferenceEquals(m2, null)) {
return false;
}
if (!object.ReferenceEquals(m1, null)) {
return m1.Left == m2.Left && m1.Top == m2.Top && m1.Right == m2.Right && m1.Bottom == m2.Bottom;
}
return true;
}
///
///
///
/// Tests whether two objects are different.
///
///
public static bool operator !=(Margins m1, Margins m2) {
return !(m1 == m2);
}
///
///
///
///
/// Provides some interesting information for the Margins in
/// String form.
///
///
public override string ToString() {
return "[Margins"
+ " Left=" + Left.ToString(CultureInfo.InvariantCulture)
+ " Right=" + Right.ToString(CultureInfo.InvariantCulture)
+ " Top=" + Top.ToString(CultureInfo.InvariantCulture)
+ " Bottom=" + Bottom.ToString(CultureInfo.InvariantCulture)
+ "]";
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- QuaternionRotation3D.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- PathFigureCollectionValueSerializer.cs
- QuinticEase.cs
- DbDataReader.cs
- ProcessProtocolHandler.cs
- RowCache.cs
- ResolveMatchesMessageCD1.cs
- RequestCache.cs
- SetStateDesigner.cs
- ProfileService.cs
- ImageBrush.cs
- PartialClassGenerationTask.cs
- TextDocumentView.cs
- DataGridViewCellCancelEventArgs.cs
- Rfc2898DeriveBytes.cs
- ValidationSummaryDesigner.cs
- GridViewCancelEditEventArgs.cs
- BinHexEncoder.cs
- OdbcCommand.cs
- LinqDataSourceContextData.cs
- StaticTextPointer.cs
- StringCollectionMarkupSerializer.cs
- BindingWorker.cs
- RepeaterItem.cs
- PrincipalPermission.cs
- ResXBuildProvider.cs
- OleDbStruct.cs
- XmlSchemaSet.cs
- ErrorsHelper.cs
- JoinGraph.cs
- ResourceCategoryAttribute.cs
- TagPrefixCollection.cs
- UIElementIsland.cs
- PeerNearMe.cs
- DatagridviewDisplayedBandsData.cs
- PropertyChangeTracker.cs
- DesigntimeLicenseContextSerializer.cs
- PublishLicense.cs
- DataGridViewAutoSizeModeEventArgs.cs
- Screen.cs
- XmlEnumAttribute.cs
- cryptoapiTransform.cs
- ComponentCollection.cs
- InputReportEventArgs.cs
- GorillaCodec.cs
- ImageCollectionCodeDomSerializer.cs
- FlowDocumentPaginator.cs
- cryptoapiTransform.cs
- PassportIdentity.cs
- OptimizerPatterns.cs
- ThreadPool.cs
- GetRecipientRequest.cs
- MessageDispatch.cs
- SecurityToken.cs
- Point.cs
- LinkedList.cs
- JoinTreeSlot.cs
- unsafeIndexingFilterStream.cs
- Msmq.cs
- UpdateCompiler.cs
- TypefaceMap.cs
- ElementAtQueryOperator.cs
- WebPartEditorApplyVerb.cs
- Pens.cs
- WebResourceAttribute.cs
- MenuBase.cs
- TextEditorThreadLocalStore.cs
- RegexReplacement.cs
- ListViewDeleteEventArgs.cs
- RenameRuleObjectDialog.cs
- ProviderException.cs
- VectorKeyFrameCollection.cs
- Type.cs
- XsltInput.cs
- ContextBase.cs
- XPathNodeList.cs
- KeyFrames.cs
- Root.cs
- TextWriterTraceListener.cs
- ISAPIWorkerRequest.cs
- QilInvokeEarlyBound.cs
- XmlILStorageConverter.cs
- ListViewItemSelectionChangedEvent.cs
- EnumType.cs
- NativeMethods.cs
- Util.cs
- XmlUtilWriter.cs
- PromptEventArgs.cs
- UnaryNode.cs
- ToolstripProfessionalRenderer.cs
- MruCache.cs
- ComboBox.cs
- MetadataCache.cs
- CodePageEncoding.cs
- SystemDiagnosticsSection.cs
- TrackingParameters.cs
- AutoSizeToolBoxItem.cs
- XmlAttributeAttribute.cs
- LinearGradientBrush.cs