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
- MatrixIndependentAnimationStorage.cs
- _SingleItemRequestCache.cs
- ViewRendering.cs
- TypeDescriptorContext.cs
- DSASignatureFormatter.cs
- Resources.Designer.cs
- SafeSecurityHelper.cs
- WebPageTraceListener.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- XPathNodeHelper.cs
- ProgramPublisher.cs
- ContextDataSource.cs
- RawStylusSystemGestureInputReport.cs
- RuntimeConfigLKG.cs
- ExecutionEngineException.cs
- HtmlControlAdapter.cs
- CqlBlock.cs
- entityreference_tresulttype.cs
- FixedTextContainer.cs
- WmlLabelAdapter.cs
- DataGridViewColumnCollectionEditor.cs
- EventToken.cs
- EditorZoneBase.cs
- DefaultBinder.cs
- DoubleCollection.cs
- SplineKeyFrames.cs
- DataGridViewButtonColumn.cs
- DeclaredTypeValidatorAttribute.cs
- ArcSegment.cs
- StringUtil.cs
- XmlDataSourceNodeDescriptor.cs
- ImpersonateTokenRef.cs
- DeclaredTypeValidator.cs
- InternalPolicyElement.cs
- TagNameToTypeMapper.cs
- RewritingProcessor.cs
- Vector3DAnimationUsingKeyFrames.cs
- WrappedReader.cs
- SearchForVirtualItemEventArgs.cs
- ReachSerializableProperties.cs
- HostingEnvironment.cs
- WebChannelFactory.cs
- TabControl.cs
- WebPartZone.cs
- IdentifierService.cs
- ArgumentNullException.cs
- _AutoWebProxyScriptWrapper.cs
- SystemParameters.cs
- TableCell.cs
- EventLogPermissionEntry.cs
- AnnotationResourceCollection.cs
- GenericIdentity.cs
- DeferredSelectedIndexReference.cs
- HttpResponseInternalWrapper.cs
- DataPagerFieldCommandEventArgs.cs
- DesignTimeDataBinding.cs
- SystemIPv4InterfaceProperties.cs
- SecureConversationDriver.cs
- VarInfo.cs
- Directory.cs
- UnmanagedMemoryStream.cs
- WebPartConnectionsEventArgs.cs
- Calendar.cs
- SafeSystemMetrics.cs
- TypeInfo.cs
- LogLogRecordHeader.cs
- SchemaImporterExtensionsSection.cs
- InputLanguage.cs
- EntitySqlQueryState.cs
- PaintValueEventArgs.cs
- RegexGroup.cs
- BreakSafeBase.cs
- RenderOptions.cs
- LocalTransaction.cs
- selecteditemcollection.cs
- OleDbRowUpdatedEvent.cs
- DBConnection.cs
- WebPartDisplayModeCollection.cs
- MDIControlStrip.cs
- IdentityModelDictionary.cs
- ByteStorage.cs
- ExpandCollapseProviderWrapper.cs
- ConfigurationManagerInternalFactory.cs
- ForeignConstraint.cs
- SectionInformation.cs
- FormCollection.cs
- TableItemPattern.cs
- CompareValidator.cs
- CookieProtection.cs
- SwitchElementsCollection.cs
- FtpRequestCacheValidator.cs
- CapabilitiesRule.cs
- D3DImage.cs
- PartialClassGenerationTaskInternal.cs
- BinaryReader.cs
- EditorPartChrome.cs
- TypeSource.cs
- cookiecollection.cs
- IgnoreSectionHandler.cs
- UInt32Storage.cs