Krotos Modules 3
Loading...
Searching...
No Matches
DragComponent.h
Go to the documentation of this file.
1#pragma once
2namespace krotos
3{
11 class DragComponent : public Component
12 {
13 public:
19 DragComponent(const String& labelText);
20
21 void paint(Graphics& g) override;
22
23 private:
24 int calculateTextWidth(const String& text) const;
25
26 // Struct to hold color definitions
28 {
29 const Colour backgroundColour{Colour::fromRGBA(25, 25, 25, 255)};
30 const Colour borderColour{Colour::fromRGBA(178, 178, 178, 255)};
31 const Colour textColour{Colours::white};
33
34 // Struct to hold layout parameters for consistent spacing and sizing within the component.
35 struct Layout
36 {
37 static constexpr int width = 74;
38 static constexpr int height = 32;
39 static constexpr int iconX = 8;
40 static constexpr int iconY = 6;
41 static constexpr int iconWidth = 20;
42 static constexpr int iconHeight = 20;
43 static constexpr float borderRadius = 8.0f;
44 static constexpr float borderThickness = 1.0f;
45 static constexpr float fontSize = 15.0f;
46 static constexpr int textX = 38;
47 static constexpr int textY = 9;
48 static constexpr int textHeight = 15;
49 static constexpr float kerningFactor = 0.02f;
50 };
51
53 std::unique_ptr<Drawable> m_dragIconImage;
55 };
56} // namespace krotos
A component designed to represent a draggable element with a visual representation.
Definition DragComponent.h:12
String m_labelText
Definition DragComponent.h:54
void paint(Graphics &g) override
Definition DragComponent.cpp:15
std::unique_ptr< Drawable > m_dragIconImage
Definition DragComponent.h:53
int m_textWidth
Definition DragComponent.h:52
DragComponent(const String &labelText)
Definition DragComponent.cpp:5
struct krotos::DragComponent::ColourDefinitions m_colours
int calculateTextWidth(const String &text) const
Definition DragComponent.cpp:38
Definition AirAbsorptionFilter.cpp:2
Definition DragComponent.h:28
const Colour textColour
Definition DragComponent.h:31
const Colour borderColour
Definition DragComponent.h:30
const Colour backgroundColour
Definition DragComponent.h:29
Definition DragComponent.h:36
static constexpr int width
Definition DragComponent.h:37
static constexpr int iconY
Definition DragComponent.h:40
static constexpr float kerningFactor
Definition DragComponent.h:49
static constexpr float borderThickness
Definition DragComponent.h:44
static constexpr int height
Definition DragComponent.h:38
static constexpr int textHeight
Definition DragComponent.h:48
static constexpr int iconWidth
Definition DragComponent.h:41
static constexpr int iconX
Definition DragComponent.h:39
static constexpr int textY
Definition DragComponent.h:47
static constexpr int textX
Definition DragComponent.h:46
static constexpr float borderRadius
Definition DragComponent.h:43
static constexpr int iconHeight
Definition DragComponent.h:42
static constexpr float fontSize
Definition DragComponent.h:45