Arma Reforger Explorer
1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Toggle main menu visibility
Loading...
Searching...
No Matches
SCR_ScrollBarHandleComponent.c
Go to the documentation of this file.
1
2
//------------------------------------------------------------------------------------------------
3
class
SCR_ScrollBarHandleComponent
:
SCR_WLibComponentBase
4
{
5
protected
bool
m_bIsDragged
=
false
;
6
protected
bool
m_bIsHovered
=
false
;
7
8
// Stable
9
protected
float
m_fSizeY
;
10
11
protected
float
m_fPositionY
;
12
protected
float
m_fMouseOffsetY
;
13
14
protected
ref
Color
COLOR_HANDLER_DEFAULT
=
UIColors
.CONTRAST_COLOR;
15
protected
ref
Color
COLOR_HANDLER_HOVERED
=
Color
.White;
16
17
ref
ScriptInvoker
m_OnDrag
=
new
ScriptInvoker
;
18
19
//-------------------------------------
20
// Override
21
//-------------------------------------
22
23
//------------------------------------------------------------------------------------------------
24
override
void
HandlerAttached
(
Widget
w)
25
{
26
super.HandlerAttached(w);
27
28
// Handler root setup
29
m_wRoot
= w;
30
m_wRoot
.SetColor(
COLOR_HANDLER_DEFAULT
);
31
}
32
33
//------------------------------------------------------------------------------------------------
34
override
bool
OnMouseEnter
(
Widget
w,
int
x,
int
y)
35
{
36
super.OnMouseEnter(w, x, y);
37
38
m_bIsHovered
=
true
;
39
m_wRoot
.SetColor(
COLOR_HANDLER_HOVERED
);
40
41
return
false
;
42
}
43
44
//------------------------------------------------------------------------------------------------
45
override
bool
OnMouseLeave
(
Widget
w,
Widget
enterW,
int
x,
int
y)
46
{
47
super.OnMouseLeave(w, enterW, x, y);
48
49
m_bIsHovered
=
true
;
50
51
if
(
m_bIsDragged
)
52
return
false
;
53
54
m_wRoot
.SetColor(
COLOR_HANDLER_DEFAULT
);
55
return
false
;
56
}
57
58
//------------------------------------------------------------------------------------------------
59
override
bool
OnMouseButtonDown
(
Widget
w,
int
x,
int
y,
int
button)
60
{
61
// Accept only LMB as valid click
62
if
(button != 0)
63
return
false
;
64
65
m_bIsDragged
=
true
;
66
67
// Mouse offset
68
int
mouseX, mouseY;
69
WidgetManager
.GetMousePos(mouseX, mouseY);
70
m_fMouseOffsetY
= mouseY -
m_fPositionY
-
m_fSizeY
/2;
71
72
DragHandler
();
73
74
PlaySound
(
m_sSoundClicked
);
75
return
false
;
76
}
77
78
//------------------------------------------------------------------------------------------------
79
override
bool
OnMouseButtonUp
(
Widget
w,
int
x,
int
y,
int
button)
80
{
81
// Accept only LMB as valid click
82
if
(button != 0)
83
return
false
;
84
85
m_bIsDragged
=
false
;
86
87
if
(!
m_bIsHovered
)
88
m_wRoot
.SetColor(
COLOR_HANDLER_DEFAULT
);
89
90
PlaySound
(
m_sSoundClicked
);
91
return
false
;
92
}
93
94
//-------------------------------------
95
// Protected
96
//-------------------------------------
97
98
//------------------------------------------------------------------------------------------------
100
protected
void
DragHandler
()
101
{
102
if
(!
m_bIsDragged
)
103
return
;
104
105
// Invoke move
106
m_OnDrag
.Invoke();
107
108
// Call drag
109
GetGame
().GetCallqueue().CallLater(
DragHandler
, 0);
110
}
111
112
//-------------------------------------
113
// Get & Set
114
//-------------------------------------
115
116
//------------------------------------------------------------------------------------------------
117
void
SetSizeY
(
float
size
) {
m_fSizeY
=
size
; }
118
119
//------------------------------------------------------------------------------------------------
120
float
GetSizeY
() {
return
m_fSizeY
; }
121
122
//------------------------------------------------------------------------------------------------
123
void
SetPositionY
(
float
pos) {
m_fPositionY
= pos; }
124
125
//------------------------------------------------------------------------------------------------
126
float
GetPositionY
() {
return
m_fPositionY
; }
127
128
//------------------------------------------------------------------------------------------------
129
float
GetMouseOffsetY
() {
return
m_fMouseOffsetY
; }
130
};
GetGame
ArmaReforgerScripted GetGame()
Definition
game.c:1398
size
int size
Definition
PrefabImporter.c:35
Color
Definition
Color.c:13
SCR_ScriptedWidgetComponent::m_wRoot
Widget m_wRoot
Definition
SCR_ScriptedWidgetComponent.c:9
SCR_ScrollBarHandleComponent
Definition
SCR_ScrollBarHandleComponent.c:4
SCR_ScrollBarHandleComponent::SetSizeY
void SetSizeY(float size)
Definition
SCR_ScrollBarHandleComponent.c:117
SCR_ScrollBarHandleComponent::COLOR_HANDLER_DEFAULT
ref Color COLOR_HANDLER_DEFAULT
Definition
SCR_ScrollBarHandleComponent.c:14
SCR_ScrollBarHandleComponent::OnMouseButtonUp
override bool OnMouseButtonUp(Widget w, int x, int y, int button)
Definition
SCR_ScrollBarHandleComponent.c:79
SCR_ScrollBarHandleComponent::m_bIsDragged
bool m_bIsDragged
Definition
SCR_ScrollBarHandleComponent.c:5
SCR_ScrollBarHandleComponent::m_fSizeY
float m_fSizeY
Definition
SCR_ScrollBarHandleComponent.c:9
SCR_ScrollBarHandleComponent::GetPositionY
float GetPositionY()
Definition
SCR_ScrollBarHandleComponent.c:126
SCR_ScrollBarHandleComponent::DragHandler
void DragHandler()
Move with handler if handler is clicked.
Definition
SCR_ScrollBarHandleComponent.c:100
SCR_ScrollBarHandleComponent::HandlerAttached
override void HandlerAttached(Widget w)
Definition
SCR_ScrollBarHandleComponent.c:24
SCR_ScrollBarHandleComponent::OnMouseEnter
override bool OnMouseEnter(Widget w, int x, int y)
Definition
SCR_ScrollBarHandleComponent.c:34
SCR_ScrollBarHandleComponent::OnMouseButtonDown
override bool OnMouseButtonDown(Widget w, int x, int y, int button)
Definition
SCR_ScrollBarHandleComponent.c:59
SCR_ScrollBarHandleComponent::OnMouseLeave
override bool OnMouseLeave(Widget w, Widget enterW, int x, int y)
Definition
SCR_ScrollBarHandleComponent.c:45
SCR_ScrollBarHandleComponent::m_fPositionY
float m_fPositionY
Definition
SCR_ScrollBarHandleComponent.c:11
SCR_ScrollBarHandleComponent::GetSizeY
float GetSizeY()
Definition
SCR_ScrollBarHandleComponent.c:120
SCR_ScrollBarHandleComponent::SetPositionY
void SetPositionY(float pos)
Definition
SCR_ScrollBarHandleComponent.c:123
SCR_ScrollBarHandleComponent::GetMouseOffsetY
float GetMouseOffsetY()
Definition
SCR_ScrollBarHandleComponent.c:129
SCR_ScrollBarHandleComponent::m_bIsHovered
bool m_bIsHovered
Definition
SCR_ScrollBarHandleComponent.c:6
SCR_ScrollBarHandleComponent::m_fMouseOffsetY
float m_fMouseOffsetY
Definition
SCR_ScrollBarHandleComponent.c:12
SCR_ScrollBarHandleComponent::COLOR_HANDLER_HOVERED
ref Color COLOR_HANDLER_HOVERED
Definition
SCR_ScrollBarHandleComponent.c:15
SCR_ScrollBarHandleComponent::m_OnDrag
ref ScriptInvoker m_OnDrag
Definition
SCR_ScrollBarHandleComponent.c:17
SCR_WLibComponentBase
Base class for all final Reforger interactive elements.
Definition
SCR_WLibComponentBase.c:9
SCR_WLibComponentBase::PlaySound
void PlaySound(string sound)
Definition
SCR_WLibComponentBase.c:123
SCR_WLibComponentBase::m_sSoundClicked
string m_sSoundClicked
Definition
SCR_WLibComponentBase.c:14
UIColors
Definition
Constants.c:17
Widget
Definition
Widget.c:13
WidgetManager
Definition
WidgetManager.c:16
ScriptInvoker
ScriptInvokerBase< func > ScriptInvoker
Definition
tools.c:134
scripts
Game
UI
Components
WidgetLibrary
SCR_ScrollBar
SCR_ScrollBarHandleComponent.c
Generated by
1.17.0