#endif
#include <plib/puAux.h>
-#include <plib/sg.h>
#include <simgear/compiler.h> // for SG_USING_STD
#include <simgear/props/props.hxx>
#include <simgear/misc/sg_path.hxx>
#include <vector>
-SG_USING_STD(vector);
+using std::vector;
// ugly temporary workaround for plib's lack of user defined class ids FIXME
#define FGCLASS_LIST 0x00000001
#define FGCLASS_AIRPORTLIST 0x00000002
#define FGCLASS_PROPERTYLIST 0x00000004
-class GUI_ID { public: GUI_ID(int id) : id(id) {} int id; };
+class GUI_ID { public: GUI_ID(int id) : id(id) {} virtual ~GUI_ID() {} int id; };
//
class fgPopup : public puPopup {
public:
- fgPopup(int x, int y, bool d = true) : puPopup(x, y) { _dragging = false; _draggable = d;}
+ fgPopup(int x, int y, bool r = true, bool d = true) :
+ puPopup(x, y), _draggable(d), _resizable(r), _dragging(false)
+ {}
int checkHit(int b, int up, int x, int y);
int checkKey(int key, int updown);
int getHitObjects(puObject *, int x, int y);
puObject *getKeyObject(puObject *, int key);
puObject *getActiveInputField(puObject *);
+ void applySize(puObject *);
private:
+ enum { LEFT = 1, RIGHT = 2, TOP = 4, BOTTOM = 8 };
bool _draggable;
+ bool _resizable;
bool _dragging;
- int _dX, _dY;
+ int _resizing;
+ int _start_cursor;
+ int _cursor;
+ int _dlgX, _dlgY, _dlgW, _dlgH;
+ int _startX, _startY;
};