Widget *pointer_focus;
bool pointer_grabbed;
Widget *input_focus;
+ Widget *touch_focus;
Container();
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<Widget *> 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:
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();