Commit | Line | Data |
---|---|---|
8704bf74 JS |
1 | /* |
2 | Copyright (C) 1996 Scott W. Sadler | |
3 | All rights reserved. | |
4 | */ | |
5 | ||
6 | /* | |
7 | XsResizeOutline.h | |
8 | ||
9 | History | |
0d57be45 | 10 | 03-Mar-96 1.0; Scott W. Sadler (ssadler@cisco.com) |
8704bf74 JS |
11 | Created |
12 | */ | |
13 | ||
14 | #ifndef XSRESIZEOUTLINE_H | |
15 | #define XSRESIZEOUTLINE_H | |
16 | ||
17 | // Includes | |
18 | ||
19 | #include "XsOutline.h" | |
20 | ||
21 | class XsResizeOutline : public XsOutline { | |
22 | ||
23 | public: | |
24 | ||
25 | // Enumerations | |
26 | ||
27 | enum { Up = 0x0001, Right = 0x0002, Down = 0x0004, Left = 0x0008, | |
28 | Undetermined = 0x0010 }; | |
29 | ||
30 | enum Cursors { | |
31 | TopCursor = 0, BottomCursor, LeftCursor, RightCursor, TopLeftCursor, | |
32 | TopRightCursor, BottomLeftCursor, BottomRightCursor, Fleur, | |
33 | NumCursors }; | |
34 | ||
35 | // Constructor/Destructor | |
36 | ||
37 | XsResizeOutline (Widget w, int direction); | |
38 | virtual ~XsResizeOutline ( ); | |
39 | ||
40 | void setMinSize (int minWidth, int minHeight); | |
41 | ||
42 | protected: | |
43 | ||
44 | // Motion handler | |
45 | ||
46 | virtual void _motionHandler (XEvent*); | |
47 | ||
48 | // Resize cursor | |
49 | ||
50 | virtual Cursor _getCursor ( ) const; | |
51 | ||
52 | private: | |
53 | ||
54 | // Implementation | |
55 | ||
56 | int _rootX, _rootY; // Root coordinates | |
57 | int _origRootX, _origRootY; | |
58 | ||
59 | int _origX, _origY; // Window coordinates | |
60 | int _origW, _origH; | |
61 | ||
62 | int _minWidth, _minHeight; | |
63 | ||
64 | int _direction; | |
65 | ||
66 | static Cursor _cursors[NumCursors]; | |
67 | static int _mutex; | |
68 | }; | |
69 | ||
70 | #endif |