Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Core / CSharp / MS / Internal / Shaping / GlyphShapingProperties.cs / 1 / GlyphShapingProperties.cs
//------------------------------------------------------------------------ // // Microsoft Windows Client Platform // Copyright (C) Microsoft Corporation, 2004 // // File: GlyphShapingProperties.cs // // Contents: Definition of glyph properties // // Created: 1-2-2004 Worachai Chaoweeraprasit (wchao) // // 10-27-2004 garyyang Move to System.Windows.Media.TextFormatting // namespace // // 1-20-2005 garyyang Move to MS.Internal.Shaping //----------------------------------------------------------------------- using System; namespace MS.Internal.Shaping { ////// Properties indicating glyph characteristics /// internal struct GlyphShapingProperties { ////// Construct a glyph properties value from multiple values from shaping /// /// shaping engine glyph flags /// bits reserved for shaping engine use internal GlyphShapingProperties( ushort glyphFlags, ushort engineReserved ) { _value = glyphFlags; _value |= ((uint)engineReserved) << 16; } ////// Get or Set bits reserved for shaping engine use /// internal ushort GlyphFlags { get { return (ushort)(_value & GlyphFlagsMask); } set { _value = (_value & ~EngineReservedValueMask) | (uint)value; } } ////// Get or Set bits reserved for shaping engine use /// internal ushort EngineReserved { get { return (ushort)(_value >> 16); } set { _value = (_value & ~EngineReservedValueMask) | (uint)(value << 16); } } ////// Explicitly convert this value type to integer /// public static explicit operator int(GlyphShapingProperties props) { return (int)props._value; } ////// Compares two GlyphShapingProperties for equality. /// ///Returns true if the arguments have identical properties, false if not. public static bool operator ==( GlyphShapingProperties left, GlyphShapingProperties right) { return left._value == right._value; } ////// Compares two GlyphShapingProperties for inequality. /// ///Returns true if the arguments are not equal, false if they are equal. public static bool operator !=( GlyphShapingProperties left, GlyphShapingProperties right) { return !(left == right); } ////// Compares the specified object with this. /// ///Returns true if the specified object is a GlyphShapingProperties with the same /// value as this object. public override bool Equals( object o) { if (o != null && o is GlyphShapingProperties) { return (GlyphShapingProperties)o == this; } else { return false; } } ////// Returns a hash code based on the property flags. /// public override int GetHashCode() { return (int)_value; } private uint _value; private const uint GlyphFlagsMask = 0x0000FFFF; private const uint EngineReservedValueMask = 0xFFFF0000; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //------------------------------------------------------------------------ // // Microsoft Windows Client Platform // Copyright (C) Microsoft Corporation, 2004 // // File: GlyphShapingProperties.cs // // Contents: Definition of glyph properties // // Created: 1-2-2004 Worachai Chaoweeraprasit (wchao) // // 10-27-2004 garyyang Move to System.Windows.Media.TextFormatting // namespace // // 1-20-2005 garyyang Move to MS.Internal.Shaping //----------------------------------------------------------------------- using System; namespace MS.Internal.Shaping { ////// Properties indicating glyph characteristics /// internal struct GlyphShapingProperties { ////// Construct a glyph properties value from multiple values from shaping /// /// shaping engine glyph flags /// bits reserved for shaping engine use internal GlyphShapingProperties( ushort glyphFlags, ushort engineReserved ) { _value = glyphFlags; _value |= ((uint)engineReserved) << 16; } ////// Get or Set bits reserved for shaping engine use /// internal ushort GlyphFlags { get { return (ushort)(_value & GlyphFlagsMask); } set { _value = (_value & ~EngineReservedValueMask) | (uint)value; } } ////// Get or Set bits reserved for shaping engine use /// internal ushort EngineReserved { get { return (ushort)(_value >> 16); } set { _value = (_value & ~EngineReservedValueMask) | (uint)(value << 16); } } ////// Explicitly convert this value type to integer /// public static explicit operator int(GlyphShapingProperties props) { return (int)props._value; } ////// Compares two GlyphShapingProperties for equality. /// ///Returns true if the arguments have identical properties, false if not. public static bool operator ==( GlyphShapingProperties left, GlyphShapingProperties right) { return left._value == right._value; } ////// Compares two GlyphShapingProperties for inequality. /// ///Returns true if the arguments are not equal, false if they are equal. public static bool operator !=( GlyphShapingProperties left, GlyphShapingProperties right) { return !(left == right); } ////// Compares the specified object with this. /// ///Returns true if the specified object is a GlyphShapingProperties with the same /// value as this object. public override bool Equals( object o) { if (o != null && o is GlyphShapingProperties) { return (GlyphShapingProperties)o == this; } else { return false; } } ////// Returns a hash code based on the property flags. /// public override int GetHashCode() { return (int)_value; } private uint _value; private const uint GlyphFlagsMask = 0x0000FFFF; private const uint EngineReservedValueMask = 0xFFFF0000; } } // 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
- ThreadStartException.cs
- GridViewRowPresenterBase.cs
- AnonymousIdentificationSection.cs
- MLangCodePageEncoding.cs
- CssStyleCollection.cs
- ExpressionVisitor.cs
- GridViewColumnCollectionChangedEventArgs.cs
- GACIdentityPermission.cs
- XmlSchemaInfo.cs
- Unit.cs
- UnrecognizedAssertionsBindingElement.cs
- DesignerOptions.cs
- ComboBox.cs
- SafeLibraryHandle.cs
- HostExecutionContextManager.cs
- IIS7UserPrincipal.cs
- OneOf.cs
- StylusButton.cs
- TextTreeUndo.cs
- MasterPageCodeDomTreeGenerator.cs
- SystemInformation.cs
- Triplet.cs
- BinaryFormatterWriter.cs
- BrowserCapabilitiesFactory.cs
- ValueUtilsSmi.cs
- SafeProcessHandle.cs
- DataExchangeServiceBinder.cs
- Assembly.cs
- WebBrowserEvent.cs
- ThreadStateException.cs
- BitmapEncoder.cs
- Schema.cs
- GZipStream.cs
- TextRunCache.cs
- LabelAutomationPeer.cs
- DefaultParameterValueAttribute.cs
- DocumentOrderComparer.cs
- SspiNegotiationTokenProvider.cs
- HtmlLink.cs
- Unit.cs
- ValidationErrorEventArgs.cs
- StrongTypingException.cs
- BitmapEffectInput.cs
- XmlFormatWriterGenerator.cs
- TimeSpanStorage.cs
- FileDialogCustomPlaces.cs
- TTSVoice.cs
- OdbcPermission.cs
- PathFigure.cs
- InternalConfigEventArgs.cs
- OleDbTransaction.cs
- Native.cs
- ListViewItem.cs
- StaticTextPointer.cs
- DSACryptoServiceProvider.cs
- DynamicMetaObject.cs
- MasterPageBuildProvider.cs
- HttpStreams.cs
- VirtualPathProvider.cs
- DbDataSourceEnumerator.cs
- ByteStreamMessageEncodingElement.cs
- DataGridViewCellMouseEventArgs.cs
- StateBag.cs
- PropertyValue.cs
- Margins.cs
- MetadataArtifactLoaderFile.cs
- HtmlAnchor.cs
- XmlTypeAttribute.cs
- SHA512Managed.cs
- OrderedDictionary.cs
- COM2TypeInfoProcessor.cs
- RectAnimationBase.cs
- TextEndOfSegment.cs
- InputProcessorProfilesLoader.cs
- ProfileSettings.cs
- LocationSectionRecord.cs
- XmlDataImplementation.cs
- ServiceMoniker.cs
- UIElement.cs
- DependencyObjectType.cs
- EventManager.cs
- GroupAggregateExpr.cs
- CompiledELinqQueryState.cs
- CreateUserWizardStep.cs
- HttpServerVarsCollection.cs
- Pkcs7Signer.cs
- Menu.cs
- XmlNotation.cs
- Cursor.cs
- WebPartDescription.cs
- HashSet.cs
- Geometry3D.cs
- ToggleProviderWrapper.cs
- UndoUnit.cs
- PrivilegeNotHeldException.cs
- IBuiltInEvidence.cs
- GridViewCommandEventArgs.cs
- DataListItem.cs
- HwndMouseInputProvider.cs
- PageHandlerFactory.cs