1#pragma once
2
3#include <math/seadVector.h>
4
5namespace al {
6
7class ICameraInput {
8public:
9 virtual void calcInputStick(sead::Vector2f* inputStick) const;
10 virtual bool isTriggerReset() const;
11 virtual bool isHoldZoom() const;
12
13 virtual bool tryCalcSnapShotMoveStick(sead::Vector2f* moveStick) const { return false; }
14
15 virtual bool isHoldSnapShotZoomIn() const;
16 virtual bool isHoldSnapShotZoomOut() const;
17
18 virtual bool isHoldSnapShotRollLeft() const { return false; }
19
20 virtual bool isHoldSnapShotRollRight() const { return false; }
21
22 virtual void calcGyroPose(sead::Vector3f* dir1, sead::Vector3f* dir2,
23 sead::Vector3f* dir3) const {
24 if (dir1)
25 dir1->set(sead::Vector3f::ex);
26 if (dir2)
27 dir2->set(sead::Vector3f::ey);
28 if (dir3)
29 dir3->set(sead::Vector3f::ez);
30 }
31};
32
33} // namespace al
34