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
- DetailsViewActionList.cs
- ClientTarget.cs
- RectAnimationClockResource.cs
- MimeMultiPart.cs
- NegatedCellConstant.cs
- DbConnectionPoolIdentity.cs
- ToolStripContentPanel.cs
- ModulesEntry.cs
- HwndMouseInputProvider.cs
- Vector3dCollection.cs
- _UriSyntax.cs
- BuilderPropertyEntry.cs
- XmlCompatibilityReader.cs
- BitmapSource.cs
- Shape.cs
- PageAsyncTask.cs
- WorkflowMarkupSerializationException.cs
- EventToken.cs
- SwitchAttribute.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- ContextMarshalException.cs
- _NegoState.cs
- VideoDrawing.cs
- ConnectionStringsExpressionEditor.cs
- ConstraintCollection.cs
- InstalledVoice.cs
- VariableReference.cs
- SqlRemoveConstantOrderBy.cs
- ContentIterators.cs
- RemoteWebConfigurationHost.cs
- ImplicitInputBrush.cs
- Debugger.cs
- GridSplitter.cs
- DocumentPageViewAutomationPeer.cs
- HyperLink.cs
- VsPropertyGrid.cs
- RightsManagementLicense.cs
- DataListAutoFormat.cs
- PlainXmlDeserializer.cs
- ColumnCollection.cs
- Util.cs
- View.cs
- UserInitiatedNavigationPermission.cs
- SqlProvider.cs
- EntitySetDataBindingList.cs
- DeviceOverridableAttribute.cs
- NotifyInputEventArgs.cs
- Avt.cs
- dbenumerator.cs
- EnumValAlphaComparer.cs
- TextLine.cs
- PrimitiveDataContract.cs
- SystemResourceKey.cs
- ActivityWithResultValueSerializer.cs
- remotingproxy.cs
- EditingCommands.cs
- AssemblyGen.cs
- ResourceWriter.cs
- ScalarType.cs
- DataGridViewRowPrePaintEventArgs.cs
- SurrogateSelector.cs
- ScriptingJsonSerializationSection.cs
- HtmlInputFile.cs
- StylusEditingBehavior.cs
- AstTree.cs
- TypeConverter.cs
- SingleConverter.cs
- Parallel.cs
- ZipIOLocalFileHeader.cs
- OdbcParameter.cs
- ValueChangedEventManager.cs
- ObjectStateEntry.cs
- HebrewNumber.cs
- Enum.cs
- EventMappingSettingsCollection.cs
- MethodToken.cs
- DateTimeUtil.cs
- SystemIPv4InterfaceProperties.cs
- BrowserInteropHelper.cs
- RegexTree.cs
- XmlDictionary.cs
- ItemChangedEventArgs.cs
- safelink.cs
- XmlNullResolver.cs
- XmlSchemaProviderAttribute.cs
- IncrementalCompileAnalyzer.cs
- SimpleType.cs
- EdmPropertyAttribute.cs
- NaturalLanguageHyphenator.cs
- Span.cs
- Win32KeyboardDevice.cs
- EventMappingSettings.cs
- ParameterCollectionEditor.cs
- ReadWriteObjectLock.cs
- XmlSchemaAll.cs
- XmlILModule.cs
- ComponentDispatcher.cs
- XmlObjectSerializerReadContextComplexJson.cs
- Environment.cs
- CodeConditionStatement.cs