acme
Foundational cross-platform layer of the ca2 framework
Toggle main menu visibility
Loading...
Searching...
No Matches
drag_client.h
1
// Created by camilo on 2021-01-22 06:11 AM <3ThomasBorregaardSorensen
2
#pragma once
3
4
5
#include "acme/user/user/container.h"
6
#include "acme/constant/element.h"
8
9
10
namespace
user
11
{
12
13
14
class
CLASS_DECL_ACME drag_client :
15
virtual
public
::user::acme_container
16
{
17
public
:
18
19
20
ø < map_base<::item_t, ::pointer<::user::drag> > > m_mapDrag;
21
::pointer<::user::drag> m_pdragCurrent;
22
23
24
drag_client();
25
~drag_client()
override
;
26
27
28
void
destroy()
override
;
29
30
31
virtual
void
enable_drag(
::item
* pitem, ::user::e_zorder ezorder);
32
virtual ::user::drag * drag(
::item
* pitem)
const
;
33
virtual
bool
has_drag(
::item
* pitem)
const
;
34
35
36
virtual
bool
drag_on_button_down(
::item
* pitem);
37
virtual
bool
drag_on_button_down(
::item
* pitem, ::user::mouse * pmouse);
38
virtual
bool
drag_on_mouse_move(::user::mouse * pmouse);
39
virtual
bool
drag_on_mouse_hover(
::item
* pitem, ::user::mouse * pmouse);
40
virtual
bool
drag_on_button_up(::user::mouse * pmouse);
41
42
43
virtual
void
drag_set_capture() = 0;
44
virtual
bool
on_drag_start(::i32_point & point, ::user::mouse * pmouse,
::item
* pitem) = 0;
45
virtual ::i32_point drag_mouse_cursor_position(
::item
* pitem, const ::i32_point & point) = 0;
46
virtual
bool
drag_shift(
::item
* pitem, ::user::mouse * pmouse) = 0;
47
virtual
bool
drag_hover(
::item
* pitem) = 0;
48
virtual
void
drag_release_capture() = 0;
49
virtual
void
drag_set_cursor(
::item
* pitem, ::user::mouse * pmouse) = 0;
50
51
virtual ::i32_point drag_point(
::item
* pitem, ::user::mouse * pmouse);
52
53
54
//virtual ::user::item & user_item(const ::item * pitem) = 0;
55
56
57
};
58
59
60
}
// namespace user
61
62
63
user::item
Definition
aaa_item.h:13
user
Created by camilo on 2026-05-28 12:34 <3ThomasBorregaardSørensen!! Mummi!! Bilbo!!
Definition
_.h:67
user
user
drag_client.h
Generated by
1.17.0