Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
CEventMotion.hpp
Go to the documentation of this file.
1#ifndef LIBS_GUI_CEVENTMOTION_HPP_
2#define LIBS_GUI_CEVENTMOTION_HPP_
3
4#include "math/CMatrix4x4.hpp"
6
7#include <bits/stdint-uintn.h>
8#include <optional>
9
10class CCanvas;
11class CDialog;
12class IGraphics;
13
15{
16
17public:
18 enum class EButtonMotion
19 {
22 Left,
26 Right,
28 };
29
31 {
32 None,
33 Redraw,
37 };
38
39 CEventMotion() = delete;
40 CEventMotion(CEventMotion::EButtonMotion bto, const std::optional<iv::math::geometry::Point2d> &pixelPoint,
41 CCanvas *canvasRef, class CDialog *dlgFatherRef, IGraphics *graphicsRef,
42 const iv::ui::KeysPressed &keysPressed);
43 CEventMotion(const CEventMotion &eventMotion);
44 virtual ~CEventMotion();
45
46 void appendMove(double dx, double dy);
47 void appendScale(double sx, double sy);
48 void runActionAfter();
49 void updateCanvas();
50
52 [[nodiscard]] CEventMotion::EButtonMotion getButton() const;
54 void getDistancePixelToWorld(double distancePixel, double *distanceWorld);
56 bool getPositionCapture(double *xCaptured, double *yCaptured) const;
57 bool getPositionPixels(double *xPixel, double *yPixel) const;
58 bool getPositionWorld(double *x, double *y);
59 void getPosWorldToPixel(double xWorld, double yWorld, double *xPixel, double *yPixel) const;
60 void getRelativePositionToView(double *xRel, double *yRel) const;
61
63 void setHasCapture(bool hasCapture, double xCaptured, double yCaptured);
64 void setProcessed();
65 void setRelativePositionToView(double xRel, double yRel);
66
67 [[nodiscard]] bool isModified() const;
68 [[nodiscard]] bool isProcessed() const;
69 [[nodiscard]] bool isControl() const;
70 [[nodiscard]] bool isShift() const;
71 [[nodiscard]] bool isDelete() const;
72 [[nodiscard]] bool isArrowKey() const;
73 [[nodiscard]] iv::ui::KeysPressed getKeysPressed() const;
74
75private:
78 std::optional<iv::math::geometry::Point2d> m_pixelPoint;
81
83
85
88
94
96};
97
98#endif /* LIBS_GUI_CEVENTMOTION_HPP_ */
Definition CCanvas.hpp:15
Definition CDialog.hpp:21
Definition CEventMotion.hpp:15
double m_yCaptureOpt
Definition CEventMotion.hpp:91
std::optional< iv::math::geometry::Point2d > m_pixelPoint
Definition CEventMotion.hpp:78
double m_yRelativeToViewOpt
Definition CEventMotion.hpp:93
bool isShift() const
Definition CEventMotion.cpp:324
double m_xCaptureOpt
Definition CEventMotion.hpp:90
void getPosWorldToPixel(double xWorld, double yWorld, double *xPixel, double *yPixel) const
Definition CEventMotion.cpp:181
void setHasCapture(bool hasCapture, double xCaptured, double yCaptured)
Definition CEventMotion.cpp:273
void setProcessed()
Definition CEventMotion.cpp:284
void appendMove(double dx, double dy)
Definition CEventMotion.cpp:48
CEventMotion::EActionAfterEvent m_actionAfter
Definition CEventMotion.hpp:77
void getDistancePixelToWorld(double distancePixel, double *distanceWorld)
Definition CEventMotion.cpp:118
CMatrix4x4 m_transformationInversedOpt
Definition CEventMotion.hpp:87
CEventMotion::EButtonMotion m_bto
Definition CEventMotion.hpp:76
void appendScale(double sx, double sy)
Definition CEventMotion.cpp:61
bool isArrowKey() const
Definition CEventMotion.cpp:334
virtual ~CEventMotion()
CCanvas * m_canvasRef
Definition CEventMotion.hpp:79
void runActionAfter()
Definition CEventMotion.cpp:78
iv::ui::KeysPressed m_keysPressed
Definition CEventMotion.hpp:95
bool getPositionCapture(double *xCaptured, double *yCaptured) const
Definition CEventMotion.cpp:135
bool isDelete() const
Definition CEventMotion.cpp:329
EButtonMotion
Definition CEventMotion.hpp:19
bool getPositionPixels(double *xPixel, double *yPixel) const
Definition CEventMotion.cpp:151
bool isModified() const
Definition CEventMotion.cpp:295
bool isControl() const
Definition CEventMotion.cpp:319
void updateCanvas()
Definition CEventMotion.cpp:98
bool getPositionWorld(double *x, double *y)
Definition CEventMotion.cpp:163
EActionAfterEvent
Definition CEventMotion.hpp:31
void getRelativePositionToView(double *xRel, double *yRel) const
Definition CEventMotion.cpp:188
bool isProcessed() const
Definition CEventMotion.cpp:314
void setRelativePositionToView(double xRel, double yRel)
Definition CEventMotion.cpp:289
CEventMotion::EActionAfterEvent getActionAfter() const
Definition CEventMotion.cpp:103
CEventMotion::EButtonMotion getButton() const
Definition CEventMotion.cpp:108
double m_xRelativeToViewOpt
Definition CEventMotion.hpp:92
CMatrix4x4 m_transformation
Definition CEventMotion.hpp:86
CDialog * getDialogFatherRef()
Definition CEventMotion.cpp:113
bool m_isProcessed
Definition CEventMotion.hpp:84
bool m_hasCapture
Definition CEventMotion.hpp:89
CDialog * m_dlgFatherRef
Definition CEventMotion.hpp:82
iv::ui::KeysPressed getKeysPressed() const
Definition CEventMotion.cpp:340
CEventMotion()=delete
IGraphics * getGraphics()
Definition CEventMotion.cpp:130
IGraphics * m_graphicsRefOpt
Definition CEventMotion.hpp:80
void setActionAfterEvt(CEventMotion::EActionAfterEvent actionAfter)
Definition CEventMotion.cpp:194
Definition CMatrix4x4.hpp:23
Definition IGraphics.hpp:20
Definition interactionsStructs.hpp:24