diff options
Diffstat (limited to 'Src/Wasabi/bfc/wasabi_std_wnd.h')
-rw-r--r-- | Src/Wasabi/bfc/wasabi_std_wnd.h | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/Src/Wasabi/bfc/wasabi_std_wnd.h b/Src/Wasabi/bfc/wasabi_std_wnd.h new file mode 100644 index 00000000..b4a45274 --- /dev/null +++ b/Src/Wasabi/bfc/wasabi_std_wnd.h @@ -0,0 +1,86 @@ +#ifndef _STD_WIN_H +#define _STD_WIN_H + +#include <bfc/platform/platform.h> +#include <bfc/wasabi_std.h> + +#define ROOTSTRING L"RootWnd" +#define BASEWNDCLASSNAME L"BaseWindow_" ROOTSTRING + +#ifdef __cplusplus + +class ifc_window; +namespace Wasabi +{ + namespace Std + { + namespace Wnd { + OSWINDOWHANDLE createWnd(RECT* r, int nochild, int acceptdrops, OSWINDOWHANDLE parent, OSMODULEHANDLE module, ifc_window* rw); + void destroyWnd(OSWINDOWHANDLE wnd); + + int isValidWnd(OSWINDOWHANDLE wnd); + + void setWndPos(OSWINDOWHANDLE wnd, OSWINDOWHANDLE zorder, int x, int y, int w, int h, + int nozorder, int noactive, int nocopybits, int nomove, int noresize); + void bringToFront(OSWINDOWHANDLE wnd); + void sendToBack(OSWINDOWHANDLE wnd); + int isWndVisible(OSWINDOWHANDLE wnd); + void showWnd(OSWINDOWHANDLE wnd, int noactivate = FALSE); + void hideWnd(OSWINDOWHANDLE wnd); + int isPopup(OSWINDOWHANDLE wnd); + void setEnabled(OSWINDOWHANDLE wnd, int enabled); + void setFocus(OSWINDOWHANDLE wnd); + OSWINDOWHANDLE getFocus(); + void setTopmost(OSWINDOWHANDLE, int topmost); + + void invalidateRect(OSWINDOWHANDLE wnd, RECT* r = NULL); + void invalidateRegion(OSWINDOWHANDLE wnd, OSREGIONHANDLE region); + void validateRect(OSWINDOWHANDLE wnd, RECT* r = NULL); + void validateRegion(OSWINDOWHANDLE wnd, OSREGIONHANDLE region); + void update(OSWINDOWHANDLE wnd); + int getUpdateRect(OSWINDOWHANDLE wnd, RECT* r); + void getUpdateRegion(OSWINDOWHANDLE wnd, OSREGIONHANDLE region); + int haveGetRandomRegion(); + void getRandomRegion(HDC hdc, OSREGIONHANDLE region); // sorry, HDC + + void setWndRegion(OSWINDOWHANDLE wnd, OSREGIONHANDLE region, int redraw = FALSE); + + int isDesktopAlphaAvailable(); + int isTransparencyAvailable(); + void setLayeredWnd(OSWINDOWHANDLE wnd, int layered); + int isLayeredWnd(OSWINDOWHANDLE wnd); + void setLayeredAlpha(OSWINDOWHANDLE wnd, int amount); + void updateLayeredWnd(OSWINDOWHANDLE wnd, int x, int y, int w, int h, HDC surfdc, int alpha); + void moveLayeredWnd(OSWINDOWHANDLE wnd, int x, int y); + + void getClientRect(OSWINDOWHANDLE wnd, RECT* r); + void getWindowRect(OSWINDOWHANDLE wnd, RECT* r); + void clientToScreen(OSWINDOWHANDLE wnd, int* x, int* y); + void screenToClient(OSWINDOWHANDLE wnd, int* x, int* y); + + void setParent(OSWINDOWHANDLE child, OSWINDOWHANDLE newparent); + OSWINDOWHANDLE getParent(OSWINDOWHANDLE wnd); + // void reparent(OSWINDOWHANDLE child, OSWINDOWHANDLE newparent); + OSWINDOWHANDLE getTopmostChild(OSWINDOWHANDLE wnd); + + void setCapture(OSWINDOWHANDLE wnd); + void releaseCapture(); + OSWINDOWHANDLE getCapture(); + + void revokeDragNDrop(OSWINDOWHANDLE wnd); + + void setWndName(OSWINDOWHANDLE wnd, const wchar_t* name); + void getWndName(OSWINDOWHANDLE wnd, wchar_t* name, int maxlen); + void setIcon(OSWINDOWHANDLE wnd, OSICONHANDLE icon, int large = FALSE); + + OSWINDOWHANDLE getActiveWindow(); + void setActiveWindow(OSWINDOWHANDLE wnd); + void clipOSChildren(OSWINDOWHANDLE wnd, OSREGIONHANDLE reg); + int alphaStretchBlit(HDC destHDC, int dstx, int dsty, int dstw, int dsth, HDC sourceHDC, int srcx, int srcy, int srcw, int srch); + OSWINDOWHANDLE getWindowFromPoint(POINT pt); + + }; + } +} +#endif +#endif |