Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- SecurityResources.cs
- StylusEditingBehavior.cs
- SetIndexBinder.cs
- SpoolingTaskBase.cs
- CompressEmulationStream.cs
- HyperLinkStyle.cs
- AVElementHelper.cs
- Line.cs
- HttpProcessUtility.cs
- HostedTransportConfigurationManager.cs
- FormsAuthenticationUser.cs
- CorrelationManager.cs
- TransformerTypeCollection.cs
- CodeDelegateCreateExpression.cs
- SmiEventSink_DeferedProcessing.cs
- TextRangeEditLists.cs
- ContextMenuStrip.cs
- _NegoStream.cs
- TextTreeExtractElementUndoUnit.cs
- LocalizationComments.cs
- Int16.cs
- XPathNavigatorReader.cs
- ListView.cs
- Int32CollectionConverter.cs
- NamespaceDecl.cs
- EntityCollection.cs
- ConfigurationManagerInternalFactory.cs
- HitTestParameters.cs
- _Connection.cs
- BinaryFormatterSinks.cs
- EmbeddedMailObjectsCollection.cs
- URLMembershipCondition.cs
- ButtonAutomationPeer.cs
- SByteConverter.cs
- ExpressionBuilderCollection.cs
- MouseWheelEventArgs.cs
- EdmPropertyAttribute.cs
- ComplexBindingPropertiesAttribute.cs
- SystemThemeKey.cs
- QilXmlWriter.cs
- DrawTreeNodeEventArgs.cs
- Sql8ExpressionRewriter.cs
- SystemTcpStatistics.cs
- PeerTransportBindingElement.cs
- BuildProviderUtils.cs
- InspectionWorker.cs
- DataViewManagerListItemTypeDescriptor.cs
- CroppedBitmap.cs
- EditableTreeList.cs
- AdornedElementPlaceholder.cs
- ToolStripSeparatorRenderEventArgs.cs
- RestHandlerFactory.cs
- DataViewSettingCollection.cs
- RemoteWebConfigurationHostStream.cs
- ActivityDesigner.cs
- PersonalizationProviderHelper.cs
- SessionEndingEventArgs.cs
- ProxyWebPartManagerDesigner.cs
- UInt32.cs
- TreeIterators.cs
- HostedController.cs
- GenericTextProperties.cs
- TextEditorTables.cs
- ConstraintEnumerator.cs
- SequentialWorkflowRootDesigner.cs
- EncodingStreamWrapper.cs
- MobileErrorInfo.cs
- PolicyDesigner.cs
- SQLInt64Storage.cs
- Inflater.cs
- IgnoreDataMemberAttribute.cs
- BindingContext.cs
- FrugalMap.cs
- EncoderFallback.cs
- EditorZoneAutoFormat.cs
- Attributes.cs
- ToolStripContentPanel.cs
- oledbmetadatacollectionnames.cs
- DbConnectionFactory.cs
- CodeMemberEvent.cs
- SystemNetworkInterface.cs
- ClientSettingsProvider.cs
- BamlRecords.cs
- BoolLiteral.cs
- EntityContainerEntitySetDefiningQuery.cs
- BinHexDecoder.cs
- WmlControlAdapter.cs
- Content.cs
- ExecutedRoutedEventArgs.cs
- Assert.cs
- SchemaMapping.cs
- EntryIndex.cs
- MulticastDelegate.cs
- parserscommon.cs
- SimpleTypesSurrogate.cs
- LayoutEngine.cs
- DesignerUtils.cs
- ListViewInsertEventArgs.cs
- SkinIDTypeConverter.cs
- ConnectionConsumerAttribute.cs