Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Misc / GDI / NativeMethods.cs / 1305376 / NativeMethods.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- #if [....]_NAMESPACE namespace System.Windows.Forms.Internal #elif DRAWING_NAMESPACE namespace System.Drawing.Internal #else namespace System.Experimental.Gdi #endif { using System; using System.Runtime.InteropServices; using System.Security.Permissions; using System.Collections; using System.Text; using System.Drawing; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.Globalization; #if [....]_PUBLIC_GRAPHICS_LIBRARY public #else internal #endif partial class IntNativeMethods { [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Reliability", "CA2006:UseSafeHandleToEncapsulateNativeResources")] public const int MaxTextLengthInWin9x = 8192; public const int DT_TOP = 0x00000000, DT_LEFT = 0x00000000, DT_CENTER = 0x00000001, DT_RIGHT = 0x00000002, DT_VCENTER = 0x00000004, DT_BOTTOM = 0x00000008, DT_WORDBREAK = 0x00000010, DT_SINGLELINE = 0x00000020, DT_EXPANDTABS = 0x00000040, DT_TABSTOP = 0x00000080, DT_NOCLIP = 0x00000100, DT_EXTERNALLEADING = 0x00000200, DT_CALCRECT = 0x00000400, DT_NOPREFIX = 0x00000800, DT_INTERNAL = 0x00001000, DT_EDITCONTROL = 0x00002000, DT_PATH_ELLIPSIS = 0x00004000, DT_END_ELLIPSIS = 0x00008000, DT_MODIFYSTRING = 0x00010000, DT_RTLREADING = 0x00020000, DT_WORD_ELLIPSIS = 0x00040000, DT_NOFULLWIDTHCHARBREAK = 0x00080000, DT_HIDEPREFIX = 0x00100000, DT_PREFIXONLY = 0x00200000, DIB_RGB_COLORS = 0, BI_BITFIELDS = 3, BI_RGB = 0, BITMAPINFO_MAX_COLORSIZE = 256, SPI_GETICONTITLELOGFONT = 0x001F, SPI_GETNONCLIENTMETRICS = 41, DEFAULT_GUI_FONT = 17, HOLLOW_BRUSH = 5, BITSPIXEL = 12, ALTERNATE = 1, WINDING = 2, SRCCOPY = 0x00CC0020, SRCPAINT = 0x00EE0086, /* dest = source OR dest */ SRCAND = 0x008800C6, /* dest = source AND dest */ SRCINVERT = 0x00660046, /* dest = source XOR dest */ SRCERASE = 0x00440328, /* dest = source AND (NOT dest ) */ NOTSRCCOPY = 0x00330008, /* dest = (NOT source) */ NOTSRCERASE = 0x001100A6, /* dest = (NOT src) AND (NOT dest) */ MERGECOPY = 0x00C000CA, /* dest = (source AND pattern) */ MERGEPAINT = 0x00BB0226, /* dest = (NOT source) OR dest */ PATCOPY = 0x00F00021, /* dest = pattern */ PATPAINT = 0x00FB0A09, /* dest = DPSnoo */ PATINVERT = 0x005A0049, /* dest = pattern XOR dest */ DSTINVERT = 0x00550009, /* dest = (NOT dest) */ BLACKNESS = 0x00000042, /* dest = BLACK */ WHITENESS = 0x00FF0062, /* dest = WHITE */ CAPTUREBLT = 0x40000000, /* Include layered windows */ /* FONT WEIGHT (BOLD) VALUES */ FW_DONTCARE = 0, FW_NORMAL = 400, FW_BOLD = 700, // some others... /* FONT CHARACTER SET */ ANSI_CHARSET = 0, DEFAULT_CHARSET = 1, // plus others .... /* Font OutPrecision */ OUT_DEFAULT_PRECIS = 0, OUT_TT_PRECIS = 4, OUT_TT_ONLY_PRECIS = 7, // some others... /* Font clip precision */ CLIP_DEFAULT_PRECIS = 0, // some others... /* Font Quality */ DEFAULT_QUALITY = 0, DRAFT_QUALITY = 1, PROOF_QUALITY = 2, NONANTIALIASED_QUALITY = 3, ANTIALIASED_QUALITY = 4, CLEARTYPE_QUALITY = 5, CLEARTYPE_NATURAL_QUALITY = 6, /* Object Definitions for GetCurrentObject() and others. */ OBJ_PEN = 1, OBJ_BRUSH = 2, OBJ_DC = 3, OBJ_METADC = 4, // OBJ_PAL = 5, OBJ_FONT = 6, OBJ_BITMAP = 7, // OBJ_REGION = 8, // OBJ_METAFILE = 9, OBJ_MEMDC = 10, OBJ_EXTPEN = 11, OBJ_ENHMETADC = 12, // OBJ_ENHMETAFILE = 13, // OBJ_COLORSPACE = 14 // Brush styles BS_SOLID = 0, BS_HATCHED = 2, // BS_PATTERN = 3, // some others... // Code page CP_ACP = 0, // ANSI FORMAT_MESSAGE_ALLOCATE_BUFFER = 0x00000100, FORMAT_MESSAGE_IGNORE_INSERTS = 0x00000200, FORMAT_MESSAGE_FROM_SYSTEM = 0x00001000, FORMAT_MESSAGE_DEFAULT = FORMAT_MESSAGE_IGNORE_INSERTS | FORMAT_MESSAGE_FROM_SYSTEM; // some others... public enum RegionFlags { ERROR = 0, NULLREGION = 1, SIMPLEREGION = 2, COMPLEXREGION = 3, } [StructLayout(LayoutKind.Sequential)] public struct RECT { public int left; public int top; public int right; public int bottom; public RECT(int left, int top, int right, int bottom) { this.left = left; this.top = top; this.right = right; this.bottom = bottom; } public RECT(System.Drawing.Rectangle r) { this.left = r.Left; this.top = r.Top; this.right = r.Right; this.bottom = r.Bottom; } public static RECT FromXYWH(int x, int y, int width, int height) { return new RECT( x, y, x + width, y + height); } public Size Size { get { return new Size(this.right - this.left, this.bottom - this.top); } } public System.Drawing.Rectangle ToRectangle() { return new Rectangle( left, top, right - left, bottom - top); } #if [....]_PUBLIC_GRAPHICS_LIBRARY public override string ToString() { Size size = this.Size; return string.Format("{0}=[left={1}, top={2}, width={3}, height={4}]", this.GetType().Name, left, top, size.Width, size.Height); } #endif } [StructLayout(LayoutKind.Sequential)] public class POINT { public int x; public int y; public POINT() { } public POINT(int x, int y) { this.x = x; this.y = y; } public System.Drawing.Point ToPoint() { return new System.Drawing.Point(this.x, this.y); } #if [....]_PUBLIC_GRAPHICS_LIBRARY public override string ToString() { return string.Format("{0}=[x={1}, y={2}]", this.GetType().Name, x, y); } #endif } [StructLayout(LayoutKind.Sequential)] public class DRAWTEXTPARAMS { private int cbSize = Marshal.SizeOf(typeof(DRAWTEXTPARAMS)); public int iTabLength; public int iLeftMargin; public int iRightMargin; ////// Receives the number of characters processed by DrawTextEx, including white-space characters. /// The number can be the length of the string or the index of the first line that falls below the drawing area. /// Note that DrawTextEx always processes the entire string if the DT_NOCLIP formatting flag is specified. /// public int uiLengthDrawn; public DRAWTEXTPARAMS() { } public DRAWTEXTPARAMS(DRAWTEXTPARAMS original) { this.iLeftMargin = original.iLeftMargin; this.iRightMargin = original.iRightMargin; this.iTabLength = original.iTabLength; } public DRAWTEXTPARAMS(int leftMargin, int rightMargin ) { this.iLeftMargin = leftMargin; this.iRightMargin = rightMargin; } #if [....]_PUBLIC_GRAPHICS_LIBRARY public override string ToString() { return string.Format("{0}=[tabLength={1}, leftMargin={2}, rightMargin={3}, lengthDrawn={4}]", this.GetType().Name, iTabLength, iLeftMargin, iRightMargin, uiLengthDrawn); } #endif } [StructLayout(LayoutKind.Sequential)] public class LOGBRUSH { public int lbStyle; public int lbColor; public int lbHatch; } [StructLayout(LayoutKind.Sequential, CharSet=CharSet.Auto)] public class LOGFONT { public int lfHeight; public int lfWidth; public int lfEscapement; public int lfOrientation; public int lfWeight; public byte lfItalic; public byte lfUnderline; public byte lfStrikeOut; public byte lfCharSet; public byte lfOutPrecision; public byte lfClipPrecision; public byte lfQuality; public byte lfPitchAndFamily; [MarshalAs(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst=32)] public string lfFaceName; public LOGFONT() { } public LOGFONT( LOGFONT lf ) { Debug.Assert( lf != null, "lf is null" ); this.lfHeight = lf.lfHeight; this.lfWidth = lf.lfWidth; this.lfEscapement = lf.lfEscapement; this.lfOrientation = lf.lfOrientation; this.lfWeight = lf.lfWeight; this.lfItalic = lf.lfItalic; this.lfUnderline = lf.lfUnderline; this.lfStrikeOut = lf.lfStrikeOut; this.lfCharSet = lf.lfCharSet; this.lfOutPrecision = lf.lfOutPrecision; this.lfClipPrecision = lf.lfClipPrecision; this.lfQuality = lf.lfQuality; this.lfPitchAndFamily = lf.lfPitchAndFamily; this.lfFaceName = lf.lfFaceName; } #if [....]_PUBLIC_GRAPHICS_LIBRARY public override string ToString() { return "FaceName=" + lfFaceName + ", " + "Height=" + lfHeight + ", " + "Width=" + lfWidth + ", " + "Bold=" + (lfWeight <= FW_NORMAL ? false : true) + ", " + "Italic=" + (lfItalic == 0 ? false : true) + ", " + "Underline=" + (lfUnderline == 0 ? false : true) + ", " + "StrikeOut=" + (lfStrikeOut == 0 ? false : true) + ", " + "CharSet=" + lfCharSet; } public string DumpObject() { return "Height=" + lfHeight + ", " + "Width=" + lfWidth + ", " + "Escapement=" + lfEscapement + ", " + "Orientation=" + lfOrientation + ", " + "Weight=" + lfWeight + ", " + "Italic=" + lfItalic + ", " + "Underline=" + lfUnderline + ", " + "StrikeOut=" + lfStrikeOut + ", " + "CharSet=" + lfCharSet + ", " + "OutPrecision=" + lfOutPrecision + ", " + "ClipPrecision=" + lfClipPrecision + ", " + "Quality=" + lfQuality + ", " + "PitchAndFamily=" + lfPitchAndFamily + ", " + "FaceName=" + lfFaceName; } #endif } [StructLayout(LayoutKind.Sequential, CharSet=CharSet.Unicode)] public struct TEXTMETRIC { public int tmHeight; public int tmAscent; public int tmDescent; public int tmInternalLeading; public int tmExternalLeading; public int tmAveCharWidth; public int tmMaxCharWidth; public int tmWeight; public int tmOverhang; public int tmDigitizedAspectX; public int tmDigitizedAspectY; public char tmFirstChar; public char tmLastChar; public char tmDefaultChar; public char tmBreakChar; public byte tmItalic; public byte tmUnderlined; public byte tmStruckOut; public byte tmPitchAndFamily; public byte tmCharSet; } [StructLayout(LayoutKind.Sequential, CharSet=CharSet.Ansi)] public struct TEXTMETRICA { public int tmHeight; public int tmAscent; public int tmDescent; public int tmInternalLeading; public int tmExternalLeading; public int tmAveCharWidth; public int tmMaxCharWidth; public int tmWeight; public int tmOverhang; public int tmDigitizedAspectX; public int tmDigitizedAspectY; public byte tmFirstChar; public byte tmLastChar; public byte tmDefaultChar; public byte tmBreakChar; public byte tmItalic; public byte tmUnderlined; public byte tmStruckOut; public byte tmPitchAndFamily; public byte tmCharSet; } [StructLayout(LayoutKind.Sequential)] public class SIZE { public int cx; public int cy; public SIZE() { } public SIZE(int cx, int cy) { this.cx = cx; this.cy = cy; } public System.Drawing.Size ToSize() { return new System.Drawing.Size(this.cx, this.cy); } #if [....]_PUBLIC_GRAPHICS_LIBRARY public override string ToString() { return string.Format("{0}=[width={1}, height={2}]", this.GetType().Name, cx, cy); } #endif } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- WebPartTransformer.cs
- PeerApplicationLaunchInfo.cs
- DecoderFallback.cs
- QueryContinueDragEventArgs.cs
- ExpressionLexer.cs
- SetStateDesigner.cs
- ReadOnlyCollectionBase.cs
- HtmlDocument.cs
- PropertyItem.cs
- MultiTrigger.cs
- ElementMarkupObject.cs
- InternalControlCollection.cs
- StreamResourceInfo.cs
- KeyInfo.cs
- Int32CollectionConverter.cs
- ListViewItem.cs
- Button.cs
- FixedTextBuilder.cs
- diagnosticsswitches.cs
- ValueConversionAttribute.cs
- ConfigurationSectionGroupCollection.cs
- Context.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- DataAdapter.cs
- uribuilder.cs
- ProcessHostMapPath.cs
- DataRelation.cs
- FocusWithinProperty.cs
- UrlUtility.cs
- BitmapEffectRenderDataResource.cs
- JsonFormatWriterGenerator.cs
- MarkupProperty.cs
- CachedPathData.cs
- CodeTypeReferenceCollection.cs
- WebPartDesigner.cs
- BezierSegment.cs
- MenuItemBinding.cs
- MULTI_QI.cs
- shaperfactory.cs
- BinaryObjectReader.cs
- XmlSerializationWriter.cs
- AnnotationResourceCollection.cs
- RtfToken.cs
- StringConverter.cs
- AsymmetricSignatureDeformatter.cs
- FrameworkElementFactory.cs
- MenuTracker.cs
- EncoderReplacementFallback.cs
- TranslateTransform3D.cs
- CommentAction.cs
- ClientProxyGenerator.cs
- SQLCharsStorage.cs
- CalendarDay.cs
- Bold.cs
- TextRenderer.cs
- MustUnderstandSoapException.cs
- PriorityItem.cs
- SimpleHandlerBuildProvider.cs
- TextBlockAutomationPeer.cs
- Bitmap.cs
- PageEventArgs.cs
- SkewTransform.cs
- OleDbRowUpdatingEvent.cs
- MailMessage.cs
- ThicknessAnimationBase.cs
- DescriptionAttribute.cs
- CalendarAutoFormat.cs
- ColorPalette.cs
- SqlDataSourceDesigner.cs
- HttpStreamXmlDictionaryWriter.cs
- FileClassifier.cs
- CanonicalFormWriter.cs
- XPathDescendantIterator.cs
- KnownTypes.cs
- EncoderFallback.cs
- DesignerToolboxInfo.cs
- Int16AnimationBase.cs
- ProviderIncompatibleException.cs
- peernodestatemanager.cs
- SpeechRecognizer.cs
- SqlGatherConsumedAliases.cs
- HttpTransportManager.cs
- ConnectionManagementElement.cs
- ContainerControl.cs
- HtmlEmptyTagControlBuilder.cs
- AssertUtility.cs
- DataGridColumnFloatingHeader.cs
- ContentPresenter.cs
- XmlWriter.cs
- PrePrepareMethodAttribute.cs
- ResourceDisplayNameAttribute.cs
- NavigateEvent.cs
- GenericsInstances.cs
- SchemaAttDef.cs
- DataGridViewSortCompareEventArgs.cs
- EditorBrowsableAttribute.cs
- RepeaterCommandEventArgs.cs
- WinFormsSpinner.cs
- GeneratedView.cs
- MobileListItemCollection.cs