File: widget.hpp

package info (click to toggle)
ares 126-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 32,600 kB
  • sloc: cpp: 356,508; ansic: 20,394; makefile: 16; sh: 2
file content (41 lines) | stat: -rw-r--r-- 1,663 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#if defined(Hiro_Widget)
struct mWidget : mSizable {
  Declare(Widget)

  auto doDrop(vector<string> names) const -> void;
  auto doMouseEnter() const -> void;
  auto doMouseLeave() const -> void;
  auto doMouseMove(Position position) const -> void;
  auto doMousePress(Mouse::Button button) const -> void;
  auto doMouseRelease(Mouse::Button button) const -> void;
  auto droppable() const -> bool;
  auto focusable() const -> bool;
  auto mouseCursor() const -> MouseCursor;
  auto onDrop(const function<void (vector<string>)>& callback = {}) -> type&;
  auto onMouseEnter(const function<void ()>& callback = {}) -> type&;
  auto onMouseLeave(const function<void ()>& callback = {}) -> type&;
  auto onMouseMove(const function<void (Position position)>& callback = {}) -> type&;
  auto onMousePress(const function<void (Mouse::Button)>& callback = {}) -> type&;
  auto onMouseRelease(const function<void (Mouse::Button)>& callback = {}) -> type&;
  auto remove() -> type& override;
  auto setDroppable(bool droppable = true) -> type&;
  auto setFocusable(bool focusable = true) -> type&;
  auto setMouseCursor(const MouseCursor& mouseCursor = {}) -> type&;
  auto setToolTip(const string& toolTip = "") -> type&;
  auto toolTip() const -> string;

//private:
  struct State {
    bool droppable = false;
    bool focusable = false;
    MouseCursor mouseCursor;
    function<void (vector<string>)> onDrop;
    function<void ()> onMouseEnter;
    function<void ()> onMouseLeave;
    function<void (Position)> onMouseMove;
    function<void (Mouse::Button)> onMousePress;
    function<void (Mouse::Button)> onMouseRelease;
    string toolTip;
  } state;
};
#endif