Nix (Dev)
3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
FooterBarGraphics.hpp
Go to the documentation of this file.
1
#ifndef IV_SRC_UI_GRAPHICS_FOOTERBARGRAPHICS_HPP_
2
#define IV_SRC_UI_GRAPHICS_FOOTERBARGRAPHICS_HPP_
3
4
#include "
core/color.hpp
"
5
#include "
diamar/clockNotification/IClockNotification.hpp
"
6
#include "
ui/graphicsComp/CGroupButtonsGraphics.hpp
"
7
#include "
ui/graphicsComp/CImageGraphics.hpp
"
8
#include "
ui/graphicsComp/CIndicatorsGraphics.hpp
"
9
#include "
ui/graphicsComp/CLabelGraphics.hpp
"
10
#include "
ui/graphicsComp/CMenuBarGraphics.hpp
"
11
#include "
ui/graphicsComp/COptionsGraphics.hpp
"
12
#include "
ui/graphicsComp/NotificationIndicatorGraphics.hpp
"
13
#include "
ui/gui/FooterNavigableOptions.hpp
"
14
#include "
ui/shapes/CCircleGraphics.hpp
"
15
16
#include <memory>
17
18
namespace
iv::ui::graphicsComp
19
{
20
21
class
FooterBarGraphics
:
public
AbstractComponentGraphics
22
{
23
public
:
24
FooterBarGraphics
();
25
26
void
setNavigableOptions
(
const
iv::gui::FooterNavigableOptions
&navigableOptions);
27
void
setFloatingFooter
(
bool
isFloatingFooter
);
28
void
setClockNotification
(
const
std::shared_ptr<iv::diamar::IClockNotification> &clockNotification);
29
30
[[nodiscard]]
bool
isFloatingFooter
()
const
;
31
32
bool
sizeChanged
()
override
;
33
void
update
(
IGraphics
*graphics,
CLibraryImages
*libraryImage)
override
;
34
void
calculatePosGlobal
(
double
xFather,
double
yFather)
override
;
35
void
calculateSizeMin
(
IGraphics
*graphics,
const
CTheme
*theme,
CLibraryImages
*libraryImage,
double
*sizeXComp,
36
double
*sizeYComp)
override
;
37
void
distribute
(
IGraphics
*graphics,
double
sizeXComp,
double
sizeYComp)
override
;
38
void
drawComponent
(
IGraphics
*graphics,
const
CTheme
*theme)
override
;
39
40
void
handleEvent
(
CEventGraphics
*event,
double
xOrg,
double
yOrg)
override
;
41
42
void
nextFrameChildren
()
override
;
43
void
removeObjectDraw
(
IGraphics
*graphics)
override
;
44
45
private
:
46
std::shared_ptr<CLabelGraphics>
m_date
;
47
std::shared_ptr<CLabelGraphics>
m_clock
;
48
std::shared_ptr<AbstractComponentGraphics>
m_timeLayout
;
49
std::shared_ptr<CGroupButtonsGraphics>
m_navigableOptions
;
50
51
std::unique_ptr<CCircleGraphics>
m_circle
;
52
53
std::unique_ptr<CRectangleGraphics>
m_footerBackground
;
54
std::unique_ptr<CRectangleGraphics>
m_separatorLine
;
55
56
std::shared_ptr<iv::diamar::IClockNotification>
m_clockNotification
;
57
59
bool
m_isFloatingFooter
{
false
};
60
61
struct
Margins
62
{
63
static
constexpr
iv::types::width
clockLeft
{3};
64
static
constexpr
iv::types::width
clockRight
{3};
65
static
constexpr
iv::types::height
clockTop
{3};
66
static
constexpr
iv::types::height
clockAndDate
{3};
67
static
constexpr
iv::types::height
dataBottom
{3};
68
};
69
struct
Colors
70
{
71
static
constexpr
iv::types::color
clockText
{
iv::color::WonderBitsGrey3
};
72
static
constexpr
iv::types::color
background
{
iv::color::WonderBitsBlack
};
73
static
constexpr
iv::types::color
separatorLine
{
iv::color::WonderBitsGrey6
};
74
static
constexpr
iv::types::color
navigableOptionBackground
{
iv::color::WonderBitsBlack
};
75
};
76
struct
Sizes
77
{
78
static
constexpr
iv::types::width
separatorLine
{2};
79
};
80
81
friend
class
PrvFooterNavigableOptionColorTimer
;
82
};
83
84
}
// namespace iv::ui::graphicsComp
85
86
#endif
//IV_SRC_UI_GRAPHICS_FOOTERBARGRAPHICS_HPP_
CCircleGraphics.hpp
CGroupButtonsGraphics.hpp
CImageGraphics.hpp
CIndicatorsGraphics.hpp
CLabelGraphics.hpp
CMenuBarGraphics.hpp
COptionsGraphics.hpp
FooterNavigableOptions.hpp
IClockNotification.hpp
NotificationIndicatorGraphics.hpp
AbstractComponentGraphics
Definition
AbstractComponentGraphics.hpp:21
CEventGraphics
Definition
CEventGraphics.hpp:9
CLibraryImages
Definition
CLibraryImages.hpp:11
CTheme
Definition
CTheme.hpp:10
IGraphics
Definition
IGraphics.hpp:20
iv::gui::FooterNavigableOptions
Definition
FooterNavigableOptions.hpp:24
iv::ui::graphicsComp::FooterBarGraphics
Definition
FooterBarGraphics.hpp:22
iv::ui::graphicsComp::FooterBarGraphics::removeObjectDraw
void removeObjectDraw(IGraphics *graphics) override
Definition
FooterBarGraphics.cpp:303
iv::ui::graphicsComp::FooterBarGraphics::m_navigableOptions
std::shared_ptr< CGroupButtonsGraphics > m_navigableOptions
Definition
FooterBarGraphics.hpp:49
iv::ui::graphicsComp::FooterBarGraphics::m_footerBackground
std::unique_ptr< CRectangleGraphics > m_footerBackground
Definition
FooterBarGraphics.hpp:53
iv::ui::graphicsComp::FooterBarGraphics::setClockNotification
void setClockNotification(const std::shared_ptr< iv::diamar::IClockNotification > &clockNotification)
Definition
FooterBarGraphics.cpp:143
iv::ui::graphicsComp::FooterBarGraphics::isFloatingFooter
bool isFloatingFooter() const
Definition
FooterBarGraphics.cpp:148
iv::ui::graphicsComp::FooterBarGraphics::drawComponent
void drawComponent(IGraphics *graphics, const CTheme *theme) override
Definition
FooterBarGraphics.cpp:237
iv::ui::graphicsComp::FooterBarGraphics::m_date
std::shared_ptr< CLabelGraphics > m_date
Definition
FooterBarGraphics.hpp:46
iv::ui::graphicsComp::FooterBarGraphics::m_separatorLine
std::unique_ptr< CRectangleGraphics > m_separatorLine
Definition
FooterBarGraphics.hpp:54
iv::ui::graphicsComp::FooterBarGraphics::m_clock
std::shared_ptr< CLabelGraphics > m_clock
Definition
FooterBarGraphics.hpp:47
iv::ui::graphicsComp::FooterBarGraphics::distribute
void distribute(IGraphics *graphics, double sizeXComp, double sizeYComp) override
Definition
FooterBarGraphics.cpp:209
iv::ui::graphicsComp::FooterBarGraphics::handleEvent
void handleEvent(CEventGraphics *event, double xOrg, double yOrg) override
Definition
FooterBarGraphics.cpp:273
iv::ui::graphicsComp::FooterBarGraphics::m_isFloatingFooter
bool m_isFloatingFooter
Definition
FooterBarGraphics.hpp:59
iv::ui::graphicsComp::FooterBarGraphics::nextFrameChildren
void nextFrameChildren() override
Definition
FooterBarGraphics.cpp:294
iv::ui::graphicsComp::FooterBarGraphics::m_timeLayout
std::shared_ptr< AbstractComponentGraphics > m_timeLayout
Definition
FooterBarGraphics.hpp:48
iv::ui::graphicsComp::FooterBarGraphics::update
void update(IGraphics *graphics, CLibraryImages *libraryImage) override
Definition
FooterBarGraphics.cpp:173
iv::ui::graphicsComp::FooterBarGraphics::setFloatingFooter
void setFloatingFooter(bool isFloatingFooter)
Definition
FooterBarGraphics.cpp:138
iv::ui::graphicsComp::FooterBarGraphics::calculateSizeMin
void calculateSizeMin(IGraphics *graphics, const CTheme *theme, CLibraryImages *libraryImage, double *sizeXComp, double *sizeYComp) override
Definition
FooterBarGraphics.cpp:191
iv::ui::graphicsComp::FooterBarGraphics::calculatePosGlobal
void calculatePosGlobal(double xFather, double yFather) override
Definition
FooterBarGraphics.cpp:181
iv::ui::graphicsComp::FooterBarGraphics::setNavigableOptions
void setNavigableOptions(const iv::gui::FooterNavigableOptions &navigableOptions)
Definition
FooterBarGraphics.cpp:107
iv::ui::graphicsComp::FooterBarGraphics::m_circle
std::unique_ptr< CCircleGraphics > m_circle
Definition
FooterBarGraphics.hpp:51
iv::ui::graphicsComp::FooterBarGraphics::sizeChanged
bool sizeChanged() override
Definition
FooterBarGraphics.cpp:153
iv::ui::graphicsComp::FooterBarGraphics::FooterBarGraphics
FooterBarGraphics()
Definition
FooterBarGraphics.cpp:48
iv::ui::graphicsComp::FooterBarGraphics::m_clockNotification
std::shared_ptr< iv::diamar::IClockNotification > m_clockNotification
Definition
FooterBarGraphics.hpp:56
iv::ui::graphicsComp::PrvFooterNavigableOptionColorTimer
Definition
FooterBarGraphics.cpp:73
color.hpp
iv::color::WonderBitsGrey3
constexpr iv::types::color WonderBitsGrey3
Definition
color.hpp:242
iv::color::WonderBitsGrey6
constexpr iv::types::color WonderBitsGrey6
Definition
color.hpp:245
iv::color::WonderBitsBlack
constexpr iv::types::color WonderBitsBlack
Definition
color.hpp:234
iv::types::height
double height
Definition
types.hpp:14
iv::types::width
double width
Definition
types.hpp:23
iv::types::color
uint32_t color
Definition
types.hpp:12
iv::ui::graphicsComp
Definition
CollapsibleMenuGraphics.cpp:10
iv::ui::graphicsComp::FooterBarGraphics::Colors
Definition
FooterBarGraphics.hpp:70
iv::ui::graphicsComp::FooterBarGraphics::Colors::background
static constexpr iv::types::color background
Definition
FooterBarGraphics.hpp:72
iv::ui::graphicsComp::FooterBarGraphics::Colors::separatorLine
static constexpr iv::types::color separatorLine
Definition
FooterBarGraphics.hpp:73
iv::ui::graphicsComp::FooterBarGraphics::Colors::clockText
static constexpr iv::types::color clockText
Definition
FooterBarGraphics.hpp:71
iv::ui::graphicsComp::FooterBarGraphics::Colors::navigableOptionBackground
static constexpr iv::types::color navigableOptionBackground
Definition
FooterBarGraphics.hpp:74
iv::ui::graphicsComp::FooterBarGraphics::Margins
Definition
FooterBarGraphics.hpp:62
iv::ui::graphicsComp::FooterBarGraphics::Margins::clockAndDate
static constexpr iv::types::height clockAndDate
Definition
FooterBarGraphics.hpp:66
iv::ui::graphicsComp::FooterBarGraphics::Margins::clockLeft
static constexpr iv::types::width clockLeft
Definition
FooterBarGraphics.hpp:63
iv::ui::graphicsComp::FooterBarGraphics::Margins::clockTop
static constexpr iv::types::height clockTop
Definition
FooterBarGraphics.hpp:65
iv::ui::graphicsComp::FooterBarGraphics::Margins::clockRight
static constexpr iv::types::width clockRight
Definition
FooterBarGraphics.hpp:64
iv::ui::graphicsComp::FooterBarGraphics::Margins::dataBottom
static constexpr iv::types::height dataBottom
Definition
FooterBarGraphics.hpp:67
iv::ui::graphicsComp::FooterBarGraphics::Sizes
Definition
FooterBarGraphics.hpp:77
iv::ui::graphicsComp::FooterBarGraphics::Sizes::separatorLine
static constexpr iv::types::width separatorLine
Definition
FooterBarGraphics.hpp:78
src
ui
graphicsComp
FooterBarGraphics.hpp
Generated by
1.12.0