diff -r 3145aadca3d2 -r 0c551e8818e0 External/Aga.Controls/Tree/NativeMethods.cs --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/External/Aga.Controls/Tree/NativeMethods.cs Sun May 27 15:16:19 2012 +0000 @@ -0,0 +1,74 @@ +using System; +using System.Drawing; +using System.Runtime.InteropServices; + + +namespace Aga.Controls.Tree +{ + internal static class NativeMethods + { + public const int DCX_WINDOW = 0x01; + public const int DCX_CACHE = 0x02; + public const int DCX_NORESETATTRS = 0x04; + public const int DCX_CLIPCHILDREN = 0x08; + public const int DCX_CLIPSIBLINGS = 0x10; + public const int DCX_PARENTCLIP = 0x20; + public const int DCX_EXCLUDERGN = 0x40; + public const int DCX_INTERSECTRGN = 0x80; + public const int DCX_EXCLUDEUPDATE = 0x100; + public const int DCX_INTERSECTUPDATE = 0x200; + public const int DCX_LOCKWINDOWUPDATE = 0x400; + public const int DCX_VALIDATE = 0x200000; + + public const int WM_THEMECHANGED = 0x031A; + public const int WM_NCPAINT = 0x85; + public const int WM_NCCALCSIZE = 0x83; + + public const int WS_BORDER = 0x800000; + public const int WS_EX_CLIENTEDGE = 0x200; + + public const int WVR_HREDRAW = 0x100; + public const int WVR_VREDRAW = 0x200; + public const int WVR_REDRAW = (WVR_HREDRAW | WVR_VREDRAW); + + [StructLayout(LayoutKind.Sequential)] + public struct NCCALCSIZE_PARAMS + { + public RECT rgrc0, rgrc1, rgrc2; + public IntPtr lppos; + } + + [StructLayout(LayoutKind.Sequential)] + public struct RECT + { + public int Left; + public int Top; + public int Right; + public int Bottom; + + public static RECT FromRectangle(Rectangle rectangle) + { + RECT result = new RECT(); + result.Left = rectangle.Left; + result.Top = rectangle.Top; + result.Right = rectangle.Right; + result.Bottom = rectangle.Bottom; + return result; + } + + public Rectangle ToRectangle() + { + return new Rectangle(Left, Top, Right - Left, Bottom - Top); + } + } + + [DllImport("user32.dll", SetLastError = true)] + public static extern IntPtr GetDCEx(IntPtr hWnd, IntPtr hrgnClip, int flags); + + [DllImport("user32.dll")] + public static extern int ReleaseDC(IntPtr hWnd, IntPtr hDC); + + [DllImport("user32.dll")] + public static extern bool GetWindowRect(IntPtr hWnd, out RECT lpRect); + } +}