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
- BindingValueChangedEventArgs.cs
- CodeDomSerializerException.cs
- ViewBase.cs
- InheritanceContextChangedEventManager.cs
- BidirectionalDictionary.cs
- FileEnumerator.cs
- HierarchicalDataBoundControlAdapter.cs
- xmlformatgeneratorstatics.cs
- PlacementWorkspace.cs
- ZipIOExtraFieldElement.cs
- ComponentSerializationService.cs
- ObjectContext.cs
- DocumentReferenceCollection.cs
- FileEnumerator.cs
- DesignerCapabilities.cs
- MetabaseReader.cs
- PointAnimationClockResource.cs
- PerformanceCounterPermissionEntry.cs
- MailDefinitionBodyFileNameEditor.cs
- ImageCodecInfoPrivate.cs
- _AutoWebProxyScriptWrapper.cs
- SettingsSection.cs
- BasicHttpMessageSecurity.cs
- FormsAuthenticationEventArgs.cs
- SecurityKeyUsage.cs
- DataAdapter.cs
- VScrollBar.cs
- ModifierKeysConverter.cs
- WorkflowQueueInfo.cs
- TraceContext.cs
- TrustManager.cs
- GAC.cs
- HttpStreamXmlDictionaryWriter.cs
- IdentityHolder.cs
- ValueProviderWrapper.cs
- PartialArray.cs
- invalidudtexception.cs
- ITreeGenerator.cs
- HyperlinkAutomationPeer.cs
- LZCodec.cs
- xmlsaver.cs
- ExtensionWindowResizeGrip.cs
- ValidationResults.cs
- JsonSerializer.cs
- listitem.cs
- ElementProxy.cs
- SimpleExpression.cs
- SafeRegistryHandle.cs
- odbcmetadatafactory.cs
- DataControlFieldHeaderCell.cs
- DataListCommandEventArgs.cs
- UnsafeMethods.cs
- NumericExpr.cs
- HttpValueCollection.cs
- DesignerDataRelationship.cs
- PolicyStatement.cs
- CodeAttributeArgument.cs
- MSAAEventDispatcher.cs
- ServerIdentity.cs
- OutputCache.cs
- mda.cs
- TextServicesCompartmentEventSink.cs
- CacheChildrenQuery.cs
- BoundField.cs
- ExtendLockCommand.cs
- ModifiableIteratorCollection.cs
- entityreference_tresulttype.cs
- XmlUnspecifiedAttribute.cs
- bidPrivateBase.cs
- StrongNamePublicKeyBlob.cs
- Selection.cs
- MouseEvent.cs
- EntityKey.cs
- ListChangedEventArgs.cs
- HttpCapabilitiesSectionHandler.cs
- CultureTableRecord.cs
- EndpointDiscoveryElement.cs
- PngBitmapEncoder.cs
- TreeViewDataItemAutomationPeer.cs
- GPPOINTF.cs
- FloaterParagraph.cs
- DelegatingConfigHost.cs
- ConsoleCancelEventArgs.cs
- HttpApplicationFactory.cs
- HierarchicalDataTemplate.cs
- ToolBarOverflowPanel.cs
- CompositeDataBoundControl.cs
- XmlSortKeyAccumulator.cs
- VirtualPathProvider.cs
- TextAdaptor.cs
- ExceptionUtil.cs
- CellCreator.cs
- WebPartDescriptionCollection.cs
- InheritanceContextHelper.cs
- SqlUserDefinedTypeAttribute.cs
- Cursor.cs
- TcpProcessProtocolHandler.cs
- BinaryWriter.cs
- CFStream.cs
- SoapExtensionTypeElementCollection.cs