17 #ifndef DGL_IMAGE_BASE_WIDGETS_HPP_INCLUDED
18 #define DGL_IMAGE_BASE_WIDGETS_HPP_INCLUDED
20 #include "EventHandlers.hpp"
21 #include "StandaloneWindow.hpp"
22 #include "SubWidget.hpp"
28 template <
class ImageType>
35 void setImage(
const ImageType& image);
50 template <
class ImageType>
59 virtual void imageButtonClicked(
ImageBaseButton* imageButton,
int button) = 0;
63 explicit ImageBaseButton(
Widget* parentWidget,
const ImageType& imageNormal,
const ImageType& imageDown);
64 explicit ImageBaseButton(
Widget* parentWidget,
const ImageType& imageNormal,
const ImageType& imageHover,
const ImageType& imageDown);
68 void setCallback(
Callback* callback) noexcept;
77 PrivateData*
const pData;
84 template <
class ImageType>
93 virtual void imageKnobDragStarted(
ImageBaseKnob* imageKnob) = 0;
94 virtual void imageKnobDragFinished(
ImageBaseKnob* imageKnob) = 0;
95 virtual void imageKnobValueChanged(
ImageBaseKnob* imageKnob,
float value) = 0;
98 explicit ImageBaseKnob(
Widget* parentWidget,
const ImageType& image, Orientation orientation = Vertical) noexcept;
103 void setCallback(
Callback* callback) noexcept;
104 void setImageLayerCount(uint count) noexcept;
105 void setRotationAngle(
int angle);
115 PrivateData*
const pData;
124 template <
class ImageType>
133 virtual void imageSliderDragFinished(
ImageBaseSlider* imageSlider) = 0;
134 virtual void imageSliderValueChanged(
ImageBaseSlider* imageSlider,
float value) = 0;
140 float getValue() const noexcept;
141 void setValue(
float value,
bool sendCallback = false) noexcept;
142 void setDefault(
float def) noexcept;
144 void setStartPos(const
Point<
int>& startPos) noexcept;
145 void setStartPos(
int x,
int y) noexcept;
146 void setEndPos(const
Point<
int>& endPos) noexcept;
147 void setEndPos(
int x,
int y) noexcept;
149 void setInverted(
bool inverted) noexcept;
150 void setRange(
float min,
float max) noexcept;
151 void setStep(
float step) noexcept;
153 void setCallback(
Callback* callback) noexcept;
162 PrivateData* const pData;
165 void setAbsoluteX(
int) const noexcept {}
166 void setAbsoluteY(
int)
const noexcept {}
167 void setAbsolutePos(
int,
int)
const noexcept {}
168 void setAbsolutePos(
const Point<int>&)
const noexcept {}
175 template <
class ImageType>
183 virtual void imageSwitchClicked(
ImageBaseSwitch* imageSwitch,
bool down) = 0;
186 explicit ImageBaseSwitch(
Widget* parentWidget,
const ImageType& imageNormal,
const ImageType& imageDown) noexcept;
191 bool isDown() const noexcept;
192 void setDown(
bool down) noexcept;
194 void setCallback(
Callback* callback) noexcept;
202 PrivateData* const pData;
211 #endif // DGL_IMAGE_BASE_WIDGETS_HPP_INCLUDED
void onDisplay() override
Definition: ImageBaseWidgets.hpp:85
bool onMouse(const MouseEvent &) override
Definition: ImageBaseWidgets.hpp:125
Definition: Window.hpp:50
bool onScroll(const ScrollEvent &) override
bool onMouse(const MouseEvent &) override
bool onMouse(const MouseEvent &) override
bool onKeyboard(const KeyboardEvent &) override
Definition: ImageBaseWidgets.hpp:29
Definition: ImageBaseWidgets.hpp:89
void onDisplay() override
void onDisplay() override
void onDisplay() override
Definition: StandaloneWindow.hpp:27
bool onMotion(const MotionEvent &) override
Definition: Geometry.hpp:40
Definition: ImageBaseWidgets.hpp:179
Definition: ImageBaseWidgets.hpp:176
Definition: EventHandlers.hpp:81
bool onMotion(const MotionEvent &) override
bool onMouse(const MouseEvent &) override
Definition: ImageBaseWidgets.hpp:128