From 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d Mon Sep 17 00:00:00 2001 From: Jef Date: Tue, 24 Sep 2024 14:54:57 +0200 Subject: Initial community commit --- Src/Wasabi/api/wndmgr/snappnt.h | 49 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 Src/Wasabi/api/wndmgr/snappnt.h (limited to 'Src/Wasabi/api/wndmgr/snappnt.h') diff --git a/Src/Wasabi/api/wndmgr/snappnt.h b/Src/Wasabi/api/wndmgr/snappnt.h new file mode 100644 index 00000000..997e8fd7 --- /dev/null +++ b/Src/Wasabi/api/wndmgr/snappnt.h @@ -0,0 +1,49 @@ +#ifndef __SNAPPOINT_H +#define __SNAPPOINT_H + +#include +#include +#include + +#define SNAPPOINT_XMLPARENT XmlObjectI + +class Container; +class Layout; +class SnapPoint; +class ifc_window; + +class SnapPoint : public SNAPPOINT_XMLPARENT { + +public: + SnapPoint(Layout *l, Container *c); + virtual ~SnapPoint(); + + virtual int setXmlParam(const wchar_t *name, const wchar_t *strvalue); + + virtual void setParentContainer(Container *c); + virtual void setParentLayout(Layout *l); + virtual Container *getParentContainer(); + virtual Layout *getParentLayout(); + virtual const wchar_t *getId(); + + virtual int getX(); + virtual int getY(); + + static int match(ifc_window *master, RECT *z, ifc_window *slave, int flag, int *donex, int *doney, int w, int h); + static void removeAll(); + +private: + int x; + int y; + int relatx; + int relaty; + StringW id; + + Container *pcontainer; + Layout *playout; + + static PtrList points; + static int do_match(SnapPoint *pmast, SnapPoint *pslav, RECT *z, int mask, int *donex, int *doney, int w, int h); +}; + +#endif \ No newline at end of file -- cgit