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
- SafeFileMappingHandle.cs
- SqlDesignerDataSourceView.cs
- SafeProcessHandle.cs
- TrustManagerMoreInformation.cs
- XmlSerializableReader.cs
- PriorityQueue.cs
- HtmlHead.cs
- HtmlInputReset.cs
- X509UI.cs
- Page.cs
- PrincipalPermission.cs
- SqlTopReducer.cs
- DrawingCollection.cs
- ClientApiGenerator.cs
- CompensatableSequenceActivity.cs
- NodeFunctions.cs
- PriorityQueue.cs
- DataServiceHostFactory.cs
- Mappings.cs
- Pair.cs
- TransportDefaults.cs
- MulticastOption.cs
- QueryContinueDragEventArgs.cs
- CollectionContainer.cs
- OutOfProcStateClientManager.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- ContainerFilterService.cs
- __ConsoleStream.cs
- MissingMethodException.cs
- PersonalizableAttribute.cs
- DoubleAnimationClockResource.cs
- IEnumerable.cs
- ActionMismatchAddressingException.cs
- ClientData.cs
- XmlMapping.cs
- HtmlElementCollection.cs
- InputLangChangeRequestEvent.cs
- BezierSegment.cs
- PLINQETWProvider.cs
- SerializationStore.cs
- DelegateBodyWriter.cs
- HwndHost.cs
- RegisteredScript.cs
- IntPtr.cs
- SqlUDTStorage.cs
- HMACSHA384.cs
- OdbcCommandBuilder.cs
- DirectionalLight.cs
- AsyncOperationManager.cs
- KeyBinding.cs
- URLMembershipCondition.cs
- ProcessThread.cs
- Policy.cs
- ZipIOCentralDirectoryBlock.cs
- PolyBezierSegmentFigureLogic.cs
- APCustomTypeDescriptor.cs
- WebPartDisplayModeCancelEventArgs.cs
- SQLDoubleStorage.cs
- SqlAggregateChecker.cs
- IgnoreSection.cs
- XslVisitor.cs
- DllNotFoundException.cs
- ShapingWorkspace.cs
- UnsafeNativeMethods.cs
- OpenFileDialog.cs
- FastEncoder.cs
- FacetValueContainer.cs
- Timer.cs
- UIPermission.cs
- DiagnosticsConfiguration.cs
- VirtualizingPanel.cs
- StrokeFIndices.cs
- DynamicResourceExtension.cs
- X509CertificateInitiatorServiceCredential.cs
- SessionEndingCancelEventArgs.cs
- FormViewUpdatedEventArgs.cs
- Int64Converter.cs
- JsonFormatReaderGenerator.cs
- PointCollection.cs
- InternalsVisibleToAttribute.cs
- PointConverter.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- PanelDesigner.cs
- ColorMap.cs
- FormatException.cs
- InlineUIContainer.cs
- ResolvePPIDRequest.cs
- MultiBindingExpression.cs
- DesignTimeHTMLTextWriter.cs
- Tokenizer.cs
- UpdateException.cs
- LineServicesCallbacks.cs
- XamlTreeBuilder.cs
- NoClickablePointException.cs
- WebPartTracker.cs
- BrowserCapabilitiesCompiler.cs
- X509ChainPolicy.cs
- SoapObjectInfo.cs
- BuildProvidersCompiler.cs
- CatalogZoneDesigner.cs