using System;
namespace Ninjacrab.PersistentWindows.Common.WinApiBridge
{
[Flags()]
public enum SetWindowPosFlags : uint
{
/// If the calling thread and the thread that owns the window are attached to different input queues,
/// the system posts the request to the thread that owns the window. This prevents the calling thread from
/// blocking its execution while other threads process the request.
/// SWP_ASYNCWINDOWPOS
AsynchronousWindowPosition = 0x4000,
/// Prevents generation of the WM_SYNCPAINT message.
/// SWP_DEFERERASE
DeferErase = 0x2000,
/// Draws a frame (defined in the window's class description) around the window.
/// SWP_DRAWFRAME
DrawFrame = 0x0020,
/// Applies new frame styles set using the SetWindowLong function. Sends a WM_NCCALCSIZE message to
/// the window, even if the window's size is not being changed. If this flag is not specified, WM_NCCALCSIZE
/// is sent only when the window's size is being changed.
/// SWP_FRAMECHANGED
FrameChanged = 0x0020,
/// Hides the window.
/// SWP_HIDEWINDOW
HideWindow = 0x0080,
/// Does not activate the window. If this flag is not set, the window is activated and moved to the
/// top of either the topmost or non-topmost group (depending on the setting of the hWndInsertAfter
/// parameter).
/// SWP_NOACTIVATE
DoNotActivate = 0x0010,
/// Discards the entire contents of the client area. If this flag is not specified, the valid
/// contents of the client area are saved and copied back into the client area after the window is sized or
/// repositioned.
/// SWP_NOCOPYBITS
DoNotCopyBits = 0x0100,
/// Retains the current position (ignores X and Y parameters).
/// SWP_NOMOVE
IgnoreMove = 0x0002,
/// Does not change the owner window's position in the Z order.
/// SWP_NOOWNERZORDER
DoNotChangeOwnerZOrder = 0x0200,
/// Does not redraw changes. If this flag is set, no repainting of any kind occurs. This applies to
/// the client area, the nonclient area (including the title bar and scroll bars), and any part of the parent
/// window uncovered as a result of the window being moved. When this flag is set, the application must
/// explicitly invalidate or redraw any parts of the window and parent window that need redrawing.
/// SWP_NOREDRAW
DoNotRedraw = 0x0008,
/// Same as the SWP_NOOWNERZORDER flag.
/// SWP_NOREPOSITION
DoNotReposition = 0x0200,
/// Prevents the window from receiving the WM_WINDOWPOSCHANGING message.
/// SWP_NOSENDCHANGING
DoNotSendChangingEvent = 0x0400,
/// Retains the current size (ignores the cx and cy parameters).
/// SWP_NOSIZE
IgnoreResize = 0x0001,
/// Retains the current Z order (ignores the hWndInsertAfter parameter).
/// SWP_NOZORDER
IgnoreZOrder = 0x0004,
/// Displays the window.
/// SWP_SHOWWINDOW
ShowWindow = 0x0040,
}
}