8#ifndef DESIGNLAB_CAMERA_DRAGGER_H_
9#define DESIGNLAB_CAMERA_DRAGGER_H_
27 explicit CameraDragger(
const std::shared_ptr<DxlibCamera> camera);
30 [[maybe_unused]]
int cursor_x,
31 [[maybe_unused]]
int cursor_y)
const override
37 bool IsDragged()
const override {
return is_dragged_; };
39 void SetDragged(
bool is_dragged)
override { is_dragged_ = is_dragged; };
42 int cursor_dif_x,
int cursor_dif_y,
43 unsigned int mouse_key_bit)
override;
46 [[maybe_unused]]
int cursor_x,
47 [[maybe_unused]]
int cursor_y)
const override
56 const float kCameraZoomSpeed{ 50.f };
58 const float kCameraMoveSpeed{ 0.007f };
60 const float kCameraTargetMoveSpeed{ 3.f };
63 const double kMouseMoveMargin{ 0.5 };
66 const std::shared_ptr<DxlibCamera> camera_ptr_;
68 bool is_dragged_{
false };
void SetDragged(bool is_dragged) override
ドラッグ中かどうかを設定する.
bool IsDraggable(int cursor_x, int cursor_y) const override
ドラッグ可能な位置にあるかを判定する.
bool CanHandleWheel(int cursor_x, int cursor_y) const override
マウスホイールが回転したときの処理を行うかどうかを判定する.
bool IsDragged() const override
ドラッグ中かどうかを取得する.
void DraggedAction(int cursor_dif_x, int cursor_dif_y, unsigned int mouse_key_bit) override
ドラッグ中の処理を行う. カーソルは上にあるけど,ドラッグ中ではない場合でも呼び出される.
void RotMouseWheel(int rot) const override
マウスホイールが回転したときの処理を行う. マウスホイールが回転したときに呼び出される.
マウスホイールの入力を受け取るためのインターフェース.