Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / MS / Internal / Shaping / CharacterShapingProperties.cs / 1 / CharacterShapingProperties.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // // Description: CharacterShapingProperties class // // History: // 10/26/2004: [....] Created the file // 1/25/2004: [....] Move it to internal namespace // //--------------------------------------------------------------------------- using System.Runtime.InteropServices; namespace MS.Internal.Shaping { ////// Properties per character /// [StructLayout(LayoutKind.Sequential)] internal struct CharacterShapingProperties { ////// Constructor /// /// reserved bits used by shaping engine /// flag indicating whether the code point can be glyphed alone internal CharacterShapingProperties(byte engineReserved, bool canGlyphAlone) { _value = (canGlyphAlone ? CanGlyphAloneFlag : (ushort) 0); _value |= engineReserved; } ////// Get or Set CanGlyphAlone flag for the charactrer /// ///internal bool CanGlyphAlone { get { return (_value & CanGlyphAloneFlag) != 0; } set { if (value) { _value |= CanGlyphAloneFlag; } else { _value &= (CanGlyphAloneFlag ^ 0xFFFF); } } } /// /// Get or Set bits reserved for shaping engine use /// ///internal byte EngineReserved { get { return (byte)(_value & EngineReservedValueMask); } set { _value = (ushort)((_value & (EngineReservedValueMask ^ 0xFFFF)) | value); } } /// /// Compares two CharacterShapingProperties for equality. /// ///Returns true if the arguments have identical properties, false if not. public static bool operator ==( CharacterShapingProperties left, CharacterShapingProperties right) { return left._value == right._value; } ////// Compares two CharacterShapingProperties for inequality. /// ///Returns true if the arguments are not equal, false if they are equal. public static bool operator !=( CharacterShapingProperties left, CharacterShapingProperties right) { return !(left == right); } ////// Compares the specified object with this. /// ///Returns true if the specified object is a CharacterShapingProperties with the same /// value as this object. public override bool Equals(object o) { if (o != null && o is CharacterShapingProperties) { return (CharacterShapingProperties)o == this; } else { return false; } } ////// Returns a hash code based on the property flags. /// public override int GetHashCode() { return _value; } private ushort _value; // CanGlyphAloneFlag is store at the 9th bit private const ushort CanGlyphAloneFlag = 0x0100; private const ushort EngineReservedValueMask = 0x00FF; } } // 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
- ProfileBuildProvider.cs
- GiveFeedbackEvent.cs
- DataTablePropertyDescriptor.cs
- ManagementQuery.cs
- TdsParserSessionPool.cs
- HostTimeoutsElement.cs
- SchemaTypeEmitter.cs
- EndPoint.cs
- TextMarkerSource.cs
- MouseDevice.cs
- MessageSecurityOverTcp.cs
- LayoutDump.cs
- ProcessModelInfo.cs
- X509AudioLogo.cs
- FormsAuthenticationUserCollection.cs
- PersonalizablePropertyEntry.cs
- Variant.cs
- ThreadAbortException.cs
- OleStrCAMarshaler.cs
- Walker.cs
- GenericUriParser.cs
- CodeDirectionExpression.cs
- HttpListenerElement.cs
- TabPanel.cs
- WebPartEditorCancelVerb.cs
- StylesEditorDialog.cs
- DeferredRunTextReference.cs
- SimpleTypeResolver.cs
- DataServiceQueryProvider.cs
- DisposableCollectionWrapper.cs
- CommandConverter.cs
- SqlBooleanMismatchVisitor.cs
- SecurityHeaderLayout.cs
- Utility.cs
- DataGridViewTextBoxColumn.cs
- TextBox.cs
- InputScopeManager.cs
- XsltOutput.cs
- XmlDomTextWriter.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- DynamicValidatorEventArgs.cs
- ContentControl.cs
- SecurityRequiresReviewAttribute.cs
- QueryOutputWriterV1.cs
- ArrayElementGridEntry.cs
- OracleCommandSet.cs
- SAPICategories.cs
- PrefixHandle.cs
- TiffBitmapEncoder.cs
- FontEmbeddingManager.cs
- SQLMoneyStorage.cs
- EnvironmentPermission.cs
- CharUnicodeInfo.cs
- GridViewCommandEventArgs.cs
- ControlEvent.cs
- CurrencyManager.cs
- Converter.cs
- EditingScope.cs
- DataGridViewRowHeaderCell.cs
- TextBox.cs
- Int32Rect.cs
- TempFiles.cs
- Binding.cs
- PhysicalAddress.cs
- WindowsFormsLinkLabel.cs
- OutputCacheProfile.cs
- MouseGestureConverter.cs
- XmlSchemaSimpleContentExtension.cs
- ClassData.cs
- ValueSerializer.cs
- SqlTypeSystemProvider.cs
- ExpandoObject.cs
- SQLInt32.cs
- ZoneButton.cs
- DrawingImage.cs
- shaperfactoryquerycacheentry.cs
- BuildProviderCollection.cs
- DataGridCell.cs
- CodeGroup.cs
- SessionState.cs
- safemediahandle.cs
- VideoDrawing.cs
- BinaryConverter.cs
- FilteredAttributeCollection.cs
- ConstructorBuilder.cs
- xdrvalidator.cs
- MaskedTextBox.cs
- HMACSHA384.cs
- NativeMethods.cs
- TextSyndicationContentKindHelper.cs
- SingleTagSectionHandler.cs
- PointF.cs
- HtmlInputReset.cs
- ResizeGrip.cs
- DataGridViewDesigner.cs
- Image.cs
- MulticastDelegate.cs
- AddInBase.cs
- EUCJPEncoding.cs
- DataMisalignedException.cs