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
- XmlSchemaDatatype.cs
- SQLMoneyStorage.cs
- PropertyInfo.cs
- XamlPathDataSerializer.cs
- Crypto.cs
- TagNameToTypeMapper.cs
- AlternationConverter.cs
- ActivityExecutionContextCollection.cs
- SqlDependencyListener.cs
- MdiWindowListItemConverter.cs
- basecomparevalidator.cs
- CodeGroup.cs
- PointIndependentAnimationStorage.cs
- TreeNodeCollectionEditor.cs
- TypeViewSchema.cs
- BindingWorker.cs
- ClientBuildManagerCallback.cs
- AppDomainManager.cs
- EventLogTraceListener.cs
- IsolatedStorageException.cs
- Parsers.cs
- CompositeControl.cs
- ClassHandlersStore.cs
- NamedPipeHostedTransportConfiguration.cs
- ServicesUtilities.cs
- DeferredTextReference.cs
- PropertyBuilder.cs
- Splitter.cs
- _ConnectStream.cs
- Point.cs
- ProgressiveCrcCalculatingStream.cs
- ZoneMembershipCondition.cs
- CheckBoxPopupAdapter.cs
- PreservationFileWriter.cs
- XPathScanner.cs
- RemoteArgument.cs
- AsymmetricSignatureFormatter.cs
- GridViewSortEventArgs.cs
- AnnotationService.cs
- DataServiceConfiguration.cs
- XmlWriter.cs
- ClientUtils.cs
- ACL.cs
- WinInet.cs
- CommandLineParser.cs
- PauseStoryboard.cs
- SelectManyQueryOperator.cs
- ClientEventManager.cs
- AssemblyBuilder.cs
- SamlAuthorityBinding.cs
- OracleLob.cs
- EmptyEnumerator.cs
- Expander.cs
- SizeChangedEventArgs.cs
- SecUtil.cs
- FactoryMaker.cs
- TextDpi.cs
- InlineObject.cs
- Vector3DValueSerializer.cs
- AsyncInvokeContext.cs
- ThrowHelper.cs
- Token.cs
- Int16Converter.cs
- TextEditorContextMenu.cs
- ConfigurationManagerInternal.cs
- BitmapSourceSafeMILHandle.cs
- PrimitiveType.cs
- SymbolMethod.cs
- IndependentlyAnimatedPropertyMetadata.cs
- MatchingStyle.cs
- CharacterMetrics.cs
- ToggleButton.cs
- NullableIntMinMaxAggregationOperator.cs
- FormViewUpdatedEventArgs.cs
- PropertyItem.cs
- ComponentResourceManager.cs
- SignatureHelper.cs
- BindingMemberInfo.cs
- SafeBitVector32.cs
- SendOperation.cs
- DbDataReader.cs
- OutputCacheSettings.cs
- SetterTriggerConditionValueConverter.cs
- CfgArc.cs
- AdRotator.cs
- SqlMetaData.cs
- PackagingUtilities.cs
- DbDeleteCommandTree.cs
- MetricEntry.cs
- IERequestCache.cs
- ControlCachePolicy.cs
- ExtenderProvidedPropertyAttribute.cs
- SmiRecordBuffer.cs
- UpdateManifestForBrowserApplication.cs
- StringBuilder.cs
- RequestNavigateEventArgs.cs
- ConfigurationManagerInternal.cs
- RawStylusActions.cs
- XamlGridLengthSerializer.cs
- DetailsViewModeEventArgs.cs