sead
Loading...
Searching...
No Matches
seadControllerWrapperBase.h
Go to the documentation of this file.
1#ifndef SEAD_CONTROLLER_WRAPPER_BASE_H_
2#define SEAD_CONTROLLER_WRAPPER_BASE_H_
3
4#include <controller/seadController.h>
5#include <heap/seadDisposer.h>
6#include <prim/seadRuntimeTypeInfo.h>
7
8namespace sead {
9
10class Controller;
11
13{
15
16public:
18 ~ControllerWrapperBase() override;
19
20 virtual void calc(u32 prev_hold, bool prev_pointer_on) = 0;
21 virtual void setIdle();
22
23protected:
24 virtual bool isIdle_();
25
26public:
27 void registerWith(Controller* controller, bool copy_repeat_setting);
28 void unregister();
29 void copyRepeatSetting(const Controller* controller);
30 void setEnable(bool enable);
31 void setEnableOtherWrappers(bool enable) const;
32
33protected:
38
39 friend class Controller;
40};
41#ifdef cafe
42static_assert(sizeof(ControllerWrapperBase) == 0x174, "sead::ControllerWrapperBase size mismatch");
43#endif // cafe
44
45} // namespace sead
46
47#endif // SEAD_CONTROLLER_WRAPPER_BASE_H_
Definition seadControllerBase.h:13
@ cPadIdx_MaxBase
Definition seadControllerBase.h:88
Definition seadControllerWrapperBase.h:13
ControllerWrapperBase()
Definition seadControllerWrapperBase.cpp:7
virtual void calc(u32 prev_hold, bool prev_pointer_on)=0
void copyRepeatSetting(const Controller *controller)
Definition seadControllerWrapperBase.cpp:43
void setEnableOtherWrappers(bool enable) const
Definition seadControllerWrapperBase.cpp:54
virtual bool isIdle_()
Definition seadControllerWrapperBase.cpp:73
bool mIsEnable
Definition seadControllerWrapperBase.h:35
ListNode mListNode
Definition seadControllerWrapperBase.h:36
void setEnable(bool enable)
Definition seadControllerWrapperBase.cpp:49
~ControllerWrapperBase() override
Definition seadControllerWrapperBase.cpp:16
virtual void setIdle()
Definition seadControllerWrapperBase.cpp:68
void registerWith(Controller *controller, bool copy_repeat_setting)
Definition seadControllerWrapperBase.cpp:21
u8 mPadConfig[cPadIdx_MaxBase]
Definition seadControllerWrapperBase.h:37
Controller * mController
Definition seadControllerWrapperBase.h:34
void unregister()
Definition seadControllerWrapperBase.cpp:34
Definition seadController.h:28
Definition seadDisposer.h:12
Definition seadListImpl.h:11
Definition seadAssert.h:44
#define SEAD_RTTI_BASE(CLASS)
Definition seadRuntimeTypeInfo.h:75