X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcontainer.h;h=3907bde04e1376a25c29ba55d03f4c8a22cd11e2;hb=6d73e04329fc3752552773e4d11d7374caf779f6;hp=bca1c59cff79815872c9dd8dca20bcfd0a70ae23;hpb=1b29f1987b8891852a606afbb03e5e08b16c8c3e;p=libs%2Fgltk.git diff --git a/source/container.h b/source/container.h index bca1c59..3907bde 100644 --- a/source/container.h +++ b/source/container.h @@ -40,6 +40,7 @@ protected: Widget *pointer_focus; bool pointer_grabbed; Widget *input_focus; + Widget *touch_focus; Container(); public: @@ -49,10 +50,13 @@ public: void remove(Widget &); protected: virtual Child *create_child(Widget *); + Geometry determine_child_geometry(const Widget &, const Part &) const; + void autosize_child(const Widget &, const Part &, Geometry &) const; + void reposition_child(Widget &, const Part &) const; public: std::list get_children() const; - Widget *get_child_at(int, int); - Widget *get_descendant_at(int, int); + Widget *get_child_at(int, int) const; + Widget *get_descendant_at(int, int) const; void raise(Widget &); protected: @@ -65,10 +69,16 @@ public: virtual void button_press(int, int, unsigned); virtual void button_release(int, int, unsigned); virtual void pointer_motion(int, int); +private: + Widget *get_pointer_target(int, int, bool) const; +public: virtual void pointer_leave(); - virtual void key_press(unsigned, unsigned); - virtual void key_release(unsigned, unsigned); - virtual void character(wchar_t); + virtual void touch_press(int, int, unsigned); + virtual void touch_release(int, int, unsigned); + virtual void touch_motion(int, int, unsigned); + virtual bool key_press(unsigned, unsigned); + virtual bool key_release(unsigned, unsigned); + virtual bool character(wchar_t); virtual void focus_out(); protected: virtual void on_reparent();