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
- EncoderBestFitFallback.cs
- versioninfo.cs
- SqlHelper.cs
- DecimalStorage.cs
- DesignOnlyAttribute.cs
- BuildDependencySet.cs
- SoapExtensionReflector.cs
- ReceiveMessageRecord.cs
- TreeNodeCollection.cs
- hebrewshape.cs
- KoreanCalendar.cs
- SecondaryIndexDefinition.cs
- METAHEADER.cs
- HtmlContainerControl.cs
- PreservationFileReader.cs
- SlotInfo.cs
- ReferenceService.cs
- BooleanToVisibilityConverter.cs
- KeyToListMap.cs
- RenamedEventArgs.cs
- XmlUTF8TextWriter.cs
- HelpFileFileNameEditor.cs
- ZipIOExtraFieldElement.cs
- HatchBrush.cs
- EventLogTraceListener.cs
- ErasingStroke.cs
- FixUp.cs
- CodeDOMProvider.cs
- MexTcpBindingElement.cs
- AsyncCodeActivityContext.cs
- ReliableDuplexSessionChannel.cs
- XamlPathDataSerializer.cs
- VarRefManager.cs
- Scanner.cs
- SoapIncludeAttribute.cs
- LicFileLicenseProvider.cs
- DelegateHelpers.Generated.cs
- OpCellTreeNode.cs
- CrossSiteScriptingValidation.cs
- EntryPointNotFoundException.cs
- ElementMarkupObject.cs
- HelpInfo.cs
- CookieHandler.cs
- ContentDefinition.cs
- RootBrowserWindowProxy.cs
- UInt32Converter.cs
- ListenerHandler.cs
- DataControlReferenceCollection.cs
- DataGridViewTopLeftHeaderCell.cs
- EventLogEntry.cs
- OverflowException.cs
- Hash.cs
- StringValueSerializer.cs
- XmlTextAttribute.cs
- SinglePhaseEnlistment.cs
- XmlCDATASection.cs
- WmlTextBoxAdapter.cs
- BrowserCapabilitiesCodeGenerator.cs
- HttpRequest.cs
- MILUtilities.cs
- DesignerCategoryAttribute.cs
- ObjectDataSourceDesigner.cs
- SplayTreeNode.cs
- StyleCollectionEditor.cs
- Emitter.cs
- Expression.cs
- CustomPopupPlacement.cs
- DataContractSerializerMessageContractImporter.cs
- IDataContractSurrogate.cs
- WebPart.cs
- PeerFlooder.cs
- ProxyWebPartManagerDesigner.cs
- SafeFindHandle.cs
- SqlUserDefinedAggregateAttribute.cs
- ObjectDataSource.cs
- FlowDocumentScrollViewer.cs
- XsltArgumentList.cs
- QuaternionRotation3D.cs
- Section.cs
- CloudCollection.cs
- FileController.cs
- HttpFileCollectionWrapper.cs
- InputScopeNameConverter.cs
- LocalizabilityAttribute.cs
- ProxyHelper.cs
- PropertyTabAttribute.cs
- IisNotInstalledException.cs
- Int64Animation.cs
- AutoGeneratedFieldProperties.cs
- DependencyObjectType.cs
- MessageQueueEnumerator.cs
- Cell.cs
- ScriptServiceAttribute.cs
- TextFormatterImp.cs
- UriSection.cs
- StringValidatorAttribute.cs
- WebExceptionStatus.cs
- FrugalList.cs
- OleDbMetaDataFactory.cs
- CustomValidator.cs