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
- TypeDependencyAttribute.cs
- Random.cs
- ExpressionPrinter.cs
- ImportOptions.cs
- AxisAngleRotation3D.cs
- FilterEventArgs.cs
- ProfileGroupSettingsCollection.cs
- ReadOnlyDataSource.cs
- UIHelper.cs
- UIElementHelper.cs
- COM2TypeInfoProcessor.cs
- IdlingCommunicationPool.cs
- ASCIIEncoding.cs
- LinkedList.cs
- KeyValuePair.cs
- Composition.cs
- DataGridViewLinkColumn.cs
- DbRetry.cs
- AnyReturnReader.cs
- WizardStepBase.cs
- BlurBitmapEffect.cs
- ProviderConnectionPoint.cs
- UInt32Converter.cs
- TraversalRequest.cs
- XmlWrappingReader.cs
- BuildProvider.cs
- HijriCalendar.cs
- IpcManager.cs
- InkCanvas.cs
- ZipQueryOperator.cs
- ProfileSettingsCollection.cs
- FormsAuthenticationTicket.cs
- ModifierKeysValueSerializer.cs
- WeakEventTable.cs
- SqlCacheDependencySection.cs
- CodeNamespace.cs
- XmlWhitespace.cs
- ModelPerspective.cs
- MaterialCollection.cs
- SqlDependencyUtils.cs
- AddInIpcChannel.cs
- InfoCardRSACryptoProvider.cs
- Image.cs
- LocalFileSettingsProvider.cs
- XmlDataProvider.cs
- TextBox.cs
- Preprocessor.cs
- StringStorage.cs
- Rotation3DAnimationUsingKeyFrames.cs
- ModuleElement.cs
- CommonDialog.cs
- WindowsAuthenticationModule.cs
- UserControlParser.cs
- DataListCommandEventArgs.cs
- ByteConverter.cs
- GACMembershipCondition.cs
- RegisteredHiddenField.cs
- ElementMarkupObject.cs
- CodeGeneratorOptions.cs
- XamlPoint3DCollectionSerializer.cs
- FileEnumerator.cs
- UnsafeNativeMethodsPenimc.cs
- QueryHandler.cs
- ArgumentException.cs
- DataGridViewColumnDesigner.cs
- HelpInfo.cs
- DocumentSequenceHighlightLayer.cs
- OperationInfo.cs
- CompiledXpathExpr.cs
- ConfigsHelper.cs
- AssociationEndMember.cs
- KerberosSecurityTokenParameters.cs
- ProxyWebPartManager.cs
- SvcMapFile.cs
- AudioSignalProblemOccurredEventArgs.cs
- XmlSchemaSimpleContentExtension.cs
- SmtpNegotiateAuthenticationModule.cs
- DbConnectionPoolIdentity.cs
- BufferedWebEventProvider.cs
- CodeParameterDeclarationExpression.cs
- ContextMenuService.cs
- SystemParameters.cs
- AppSettingsSection.cs
- SystemColorTracker.cs
- ContentFilePart.cs
- HttpWebRequestElement.cs
- returneventsaver.cs
- TableCellAutomationPeer.cs
- CodeTypeReferenceExpression.cs
- SafeNativeMethodsMilCoreApi.cs
- WindowsFormsHelpers.cs
- DataServiceQueryOfT.cs
- RSAPKCS1KeyExchangeFormatter.cs
- SearchForVirtualItemEventArgs.cs
- Metafile.cs
- UIElement3D.cs
- TryExpression.cs
- MetabaseServerConfig.cs
- SessionStateContainer.cs
- ValueTypeFixupInfo.cs