Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- DataContract.cs
- ParagraphVisual.cs
- WindowsScrollBarBits.cs
- TextCompositionEventArgs.cs
- XhtmlConformanceSection.cs
- AssemblyCollection.cs
- QueryResult.cs
- RSAOAEPKeyExchangeFormatter.cs
- HtmlElement.cs
- NativeMethods.cs
- LoginName.cs
- ConnectionStringsExpressionBuilder.cs
- WebPartDisplayModeCollection.cs
- RoleManagerModule.cs
- RuleConditionDialog.cs
- BrowserInteropHelper.cs
- WindowsToolbarAsMenu.cs
- HandleExceptionArgs.cs
- ActiveXHelper.cs
- SQLDecimalStorage.cs
- ConfigurationSettings.cs
- SocketInformation.cs
- EventWaitHandle.cs
- SqlErrorCollection.cs
- ResolveMatchesMessageCD1.cs
- BoundsDrawingContextWalker.cs
- ReadWriteObjectLock.cs
- PropertyInformationCollection.cs
- CodeExpressionCollection.cs
- Misc.cs
- SHA512.cs
- DerivedKeyCachingSecurityTokenSerializer.cs
- CultureSpecificStringDictionary.cs
- EntityProxyFactory.cs
- TypeUnloadedException.cs
- DBCommandBuilder.cs
- smtpconnection.cs
- OracleParameterCollection.cs
- SHA512.cs
- RSAPKCS1SignatureFormatter.cs
- BulletedList.cs
- WinEventHandler.cs
- CompositeCollection.cs
- EndpointDiscoveryBehavior.cs
- GenerateTemporaryTargetAssembly.cs
- PermissionListSet.cs
- SpellerInterop.cs
- Brush.cs
- XamlInt32CollectionSerializer.cs
- DependencyPropertyHelper.cs
- MouseOverProperty.cs
- EllipseGeometry.cs
- QueryOptionExpression.cs
- TransformedBitmap.cs
- XmlException.cs
- Internal.cs
- PerformanceCounterPermission.cs
- ExpressionDumper.cs
- XmlRootAttribute.cs
- AmbiguousMatchException.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- SynchronizedChannelCollection.cs
- DataIdProcessor.cs
- EFColumnProvider.cs
- SimpleWebHandlerParser.cs
- TreeViewCancelEvent.cs
- BitmapEffectDrawing.cs
- X509Certificate.cs
- WorkflowLayouts.cs
- Package.cs
- StrongTypingException.cs
- ConstraintManager.cs
- UrlParameterWriter.cs
- TaskHelper.cs
- CodeGenerator.cs
- DataSourceControlBuilder.cs
- ChangeBlockUndoRecord.cs
- Enlistment.cs
- ObsoleteAttribute.cs
- ChangeNode.cs
- ItemMap.cs
- _NestedMultipleAsyncResult.cs
- StateRuntime.cs
- TimerExtension.cs
- Preprocessor.cs
- Common.cs
- HebrewCalendar.cs
- TemplatedWizardStep.cs
- HttpListenerPrefixCollection.cs
- DbgUtil.cs
- ResourceAssociationSetEnd.cs
- Glyph.cs
- shaperfactoryquerycacheentry.cs
- KeyValueConfigurationElement.cs
- Help.cs
- VScrollBar.cs
- CustomValidator.cs
- NativeMethods.cs
- ColumnWidthChangedEvent.cs
- RightsManagementEncryptedStream.cs