FCT
载入中...
搜索中...
未找到
InputStateEventHanndler.h
浏览该文件的文档.
1
//
2
// Created by Administrator on 2025/5/10.
3
//
4
5
#ifndef INPUTSTATEEVENTHANNDLER_H
6
#define INPUTSTATEEVENTHANNDLER_H
7
#include "
./EventHandler.h
"
8
#include "
./CallBackHandler.h
"
9
namespace
FCT
10
{
11
class
Window
;
12
using
InputPosTransformCallback
= std::function<bool(
Vec2
pos,
Vec2
& ret)>;
13
class
InputStateEventHandler
:
public
EventHandler
14
{
15
protected
:
16
InputPosTransformCallback
m_posTransformCallback
;
17
ResizeCallBack
m_resizeCallback
;
18
void
onResize
(
Window
* wnd,
int
width,
int
height)
override
19
{
20
m_resizeCallback
(wnd, width, height);
21
}
22
void
onMouseMove
(
Window
* wnd,
int
x,
int
y)
override
23
{
24
25
}
26
void
onMouseWheel
(
Window
* wnd,
int
delta)
override
27
{
28
29
}
30
struct
InputState
31
{
32
int
delta
;
33
Vec2
mouseMove
;
34
Vec2
mousePos
;
35
Vec2
mouseLastPos
;
36
char
keyState
[512];
37
InputState
() :
delta
(0),
mouseMove
(0, 0),
38
mousePos
(0, 0),
mouseLastPos
(0, 0),
39
keyState
{}
40
{
41
42
}
43
void
onSwap
()
44
{
45
delta
= 0;
46
}
47
}
m_inputState
[2];
48
char
m_keyState
[512];
49
InputState
*
m_logicInputState
;
50
InputState
*
m_uiInputState
;
51
public
:
52
InputStateEventHandler
() :
m_keyState
{}
53
{
54
55
}
56
void
setPosTransformCallback
(
const
InputPosTransformCallback
& cb)
57
{
58
m_posTransformCallback
= cb;
59
}
60
InputPosTransformCallback
getPosTransformCallback
()
const
61
{
62
return
m_posTransformCallback
;
63
}
64
void
setResizeCallback
(
const
ResizeCallBack
& cb)
65
{
66
m_resizeCallback
= cb;
67
}
68
ResizeCallBack
getResizeCallback
()
const
69
{
70
return
m_resizeCallback
;
71
}
72
};
73
}
74
#endif
//INPUTSTATEEVENTHANNDLER_H
CallBackHandler.h
EventHandler.h
FCT::EventHandler
定义
EventHandler.h:5
FCT::InputStateEventHandler::getPosTransformCallback
InputPosTransformCallback getPosTransformCallback() const
定义
InputStateEventHanndler.h:60
FCT::InputStateEventHandler::m_logicInputState
InputState * m_logicInputState
定义
InputStateEventHanndler.h:49
FCT::InputStateEventHandler::onResize
void onResize(Window *wnd, int width, int height) override
定义
InputStateEventHanndler.h:18
FCT::InputStateEventHandler::onMouseWheel
void onMouseWheel(Window *wnd, int delta) override
定义
InputStateEventHanndler.h:26
FCT::InputStateEventHandler::onMouseMove
void onMouseMove(Window *wnd, int x, int y) override
定义
InputStateEventHanndler.h:22
FCT::InputStateEventHandler::m_posTransformCallback
InputPosTransformCallback m_posTransformCallback
定义
InputStateEventHanndler.h:16
FCT::InputStateEventHandler::m_inputState
struct FCT::InputStateEventHandler::InputState m_inputState[2]
FCT::InputStateEventHandler::InputStateEventHandler
InputStateEventHandler()
定义
InputStateEventHanndler.h:52
FCT::InputStateEventHandler::m_keyState
char m_keyState[512]
定义
InputStateEventHanndler.h:48
FCT::InputStateEventHandler::setPosTransformCallback
void setPosTransformCallback(const InputPosTransformCallback &cb)
定义
InputStateEventHanndler.h:56
FCT::InputStateEventHandler::setResizeCallback
void setResizeCallback(const ResizeCallBack &cb)
定义
InputStateEventHanndler.h:64
FCT::InputStateEventHandler::m_resizeCallback
ResizeCallBack m_resizeCallback
定义
InputStateEventHanndler.h:17
FCT::InputStateEventHandler::getResizeCallback
ResizeCallBack getResizeCallback() const
定义
InputStateEventHanndler.h:68
FCT::InputStateEventHandler::m_uiInputState
InputState * m_uiInputState
定义
InputStateEventHanndler.h:50
FCT::Window
定义
Window.h:66
FCT
定义
Enums.h:8
FCT::ResizeCallBack
std::function< void(Window *wnd, int width, int height)> ResizeCallBack
定义
CallBackHandler.h:8
FCT::InputPosTransformCallback
std::function< bool(Vec2 pos, Vec2 &ret)> InputPosTransformCallback
定义
InputStateEventHanndler.h:12
FCT::InputStateEventHandler::InputState
定义
InputStateEventHanndler.h:31
FCT::InputStateEventHandler::InputState::mouseLastPos
Vec2 mouseLastPos
定义
InputStateEventHanndler.h:35
FCT::InputStateEventHandler::InputState::delta
int delta
定义
InputStateEventHanndler.h:32
FCT::InputStateEventHandler::InputState::mousePos
Vec2 mousePos
定义
InputStateEventHanndler.h:34
FCT::InputStateEventHandler::InputState::InputState
InputState()
定义
InputStateEventHanndler.h:37
FCT::InputStateEventHandler::InputState::onSwap
void onSwap()
定义
InputStateEventHanndler.h:43
FCT::InputStateEventHandler::InputState::keyState
char keyState[512]
定义
InputStateEventHanndler.h:36
FCT::InputStateEventHandler::InputState::mouseMove
Vec2 mouseMove
定义
InputStateEventHanndler.h:33
FCT::Vec2
定义
Vec.h:9
src
UI
InputStateEventHanndler.h
制作者
1.14.0