| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 | 
							- #ifndef __WNDTRACK_H
 
- #define __WNDTRACK_H
 
- #include "cwndtrack.h"
 
- #include <bfc/tlist.h>
 
- #include <bfc/ptrlist.h>
 
- #include <api/wndmgr/layout.h>
 
- class ifc_window;
 
- #define WNDTRACKCB_POPUPEXIT 0x8797
 
- #define WNDTRACKCB_POPUPEXITALL 0x8798
 
- const int DEFAULT_DOCK_DIST=10;
 
- const int MIN_DOCK_DIST=1;
 
- const int MAX_DOCK_DIST=64;
 
- class coopEntry {
 
-   public:
 
-     coopEntry(ifc_window *w, int lock=0) : wnd(w), locked(lock) {}
 
-     ~coopEntry() {}
 
-     ifc_window *wnd;
 
-     int locked;
 
- };
 
- #ifndef _REDOCK_STRUCT_DEFINED
 
- #define _REDOCK_STRUCT_DEFINED
 
- typedef struct {
 
-   Layout *l;
 
-   RECT original_rect;
 
- } redock_struct;
 
- #endif
 
- class WindowTracker {
 
- public:
 
-   WindowTracker();
 
-   ~WindowTracker();
 
-   void addWindow(ifc_window *wnd);
 
-   void removeWindow(ifc_window *wnd);
 
-   int checkWindow(ifc_window *wnd);
 
-   ifc_window *enumWindows(int n);
 
-   int getNumWindows();
 
-   ifc_window *enumAllWindows(int n);
 
-   int getNumAllWindows();
 
- 	bool autoDock(ifc_window *thiswnd, RECT *newPosition, int mask);
 
- 	bool autoDock(ifc_window *thiswnd, RECT *newPosition, RECT *oldPosition, int mask);
 
-   static bool touches(const RECT &z, const RECT &r);
 
-   RECT findOpenRect(const RECT &prev, ifc_window *exclude=NULL);
 
-   static void setDockDistance(int dd);
 
-   static int getDockDistance();
 
-   static void setEnableDocking(int ed);
 
- 	void startCooperativeMove(ifc_window *wnd);
 
- 	void endCooperativeMove();
 
- 	int wasCooperativeMove();
 
-   void invalidateAllWindows();
 
-   int getNumDocked();
 
-   ifc_window *enumDocked(int n);
 
- 	static void addRootWnd(ifc_window *wnd);
 
- 	static void removeRootWnd(ifc_window *wnd);
 
- 	static ifc_window *rootWndFromPoint(POINT *pt);
 
-   static ifc_window *rootWndFromHwnd(OSWINDOWHANDLE h);
 
-   static void layoutChanged(Layout *previouswnd, Layout *newwnd); // re-dock windows when changing layout
 
-   static void beforeRedock(Layout *l, redock_struct *rs);
 
-   static void afterRedock(Layout *l, redock_struct *rs);
 
-   static ifc_window *getNextDesktopWindow(ifc_window *w, int next);
 
-   static void snapAdjustWindowRect(ifc_window *w, RECT *r, RECT *adjustvals=NULL);
 
-   static void unsnapAdjustWindowRect(ifc_window *w, RECT *r, RECT *adjustvals=NULL);
 
- private:
 
- 	void addCooperative(ifc_window *thiswnd);
 
-   void addCoopWnd(ifc_window *w, int forced=0);
 
-   int hasCoopWnd(ifc_window *w);
 
-   void flushCoopWnds();
 
-   static void recursAddToMoveWindows(ifc_window *wnd, redock_struct *rs, int v=-1); // used by layoutChanged()
 
-   static PtrList<ifc_window> desktopwnds;
 
-   static PtrList<ifc_window> nonvirtuals;
 
-   static PtrList<coopEntry> coopList;
 
-   static PtrList<ifc_window> recursList;
 
-   static ifc_window *coopWnd;
 
-   static PtrList<ifc_window> allWnd;
 
-   static PtrList<ifc_window> tomoveWindows_top;
 
-   static PtrList<ifc_window> tomoveWindows_left;
 
-   static PtrList<ifc_window> tomoveWindows_bottom;
 
-   static PtrList<ifc_window> tomoveWindows_right;
 
-   static int dockDist;
 
-   static int dock_enabled;
 
-   int wascoop;
 
-   int disabledock;
 
-   ifc_window *coopcachewnd;
 
-   int coopcache;
 
- };
 
- extern WindowTracker *windowTracker;
 
- #endif
 
 
  |