Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
CScrollGraphics.hpp
Go to the documentation of this file.
1#ifndef LIBS_GRAPHICSCOMP_CSCROLLGRAPHICS_HPP_
2#define LIBS_GRAPHICSCOMP_CSCROLLGRAPHICS_HPP_
3
6#include <cmath>
8{
9public:
11 ~CScrollGraphics() override;
12
13 bool operator==(const CScrollGraphics &b) const
14 {
15 auto epsilon = static_cast<float>(0.000001);
16
17 return (m_numTotal == b.m_numTotal) && (m_numShow == b.m_numShow) &&
18 fabs(m_posCursor - b.m_posCursor) < epsilon && fabs(m_sizeY - b.m_sizeY) < epsilon &&
21 }
22
23 void moveCursor(double displacementCursor);
24 void processEventInComponentWithScroll(CEventGraphics *event, uint64_t numTotal, double sizeYElement);
25 bool sizeChanged() override;
26 void update(IGraphics *graphics, CLibraryImages *libraryImage) override;
27
28 [[nodiscard]] double getPosCursor() const;
29 [[nodiscard]] uint64_t getNumElementsShowed() const;
30
31 void setNumElements(uint64_t numElementsTotal, uint64_t numElementsShow);
32
33 [[nodiscard]] bool isInTopScroll() const;
34 [[nodiscard]] bool isInDownScroll() const;
35
36private:
37 void calculatePosGlobal(double xFather, double yFather) override;
38 void calculateSizeMin(IGraphics *graphics, const CTheme *theme, CLibraryImages *libraryImage, double *sizeXComp,
39 double *sizeYComp) override;
40 void distribute(IGraphics *graphics, double sizeXComp, double sizeYComp) override;
41 void drawComponent(IGraphics *graphics, const CTheme *theme) override;
42 void handleEvent(CEventGraphics *event, double xOrg, double yOrg) override;
43 void nextFrameChildren() override;
44 void removeObjectDraw(IGraphics *graphics) override;
45
46 void prvMoveCursorScroll(double displacementCursor);
47 void prvProcessDrag(const CEventGraphics *event, double sizeY);
48
49 uint64_t m_numTotal;
50 uint64_t m_numShow;
52 double m_sizeY;
55
57};
58
59#endif /* LIBS_GRAPHICSCOMP_CSCROLLGRAPHICS_HPP_ */
Definition AbstractComponentGraphics.hpp:21
Definition CEventGraphics.hpp:9
Definition CLibraryImages.hpp:11
Definition CRectangleGraphics.hpp:10
Definition CScrollGraphics.hpp:8
void prvProcessDrag(const CEventGraphics *event, double sizeY)
Definition CScrollGraphics.cpp:288
bool m_isIntoScroll
Definition CScrollGraphics.hpp:56
bool isInTopScroll() const
Definition CScrollGraphics.cpp:177
void removeObjectDraw(IGraphics *graphics) override
Definition CScrollGraphics.cpp:383
CRectangleGraphics * m_backgroundScroll
Definition CScrollGraphics.hpp:54
void processEventInComponentWithScroll(CEventGraphics *event, uint64_t numTotal, double sizeYElement)
Definition CScrollGraphics.cpp:64
void calculateSizeMin(IGraphics *graphics, const CTheme *theme, CLibraryImages *libraryImage, double *sizeXComp, double *sizeYComp) override
Definition CScrollGraphics.cpp:211
bool operator==(const CScrollGraphics &b) const
Definition CScrollGraphics.hpp:13
uint64_t m_numTotal
Definition CScrollGraphics.hpp:49
double getPosCursor() const
Definition CScrollGraphics.cpp:113
~CScrollGraphics() override
Definition CScrollGraphics.cpp:29
void setNumElements(uint64_t numElementsTotal, uint64_t numElementsShow)
Definition CScrollGraphics.cpp:153
CScrollGraphics()
Definition CScrollGraphics.cpp:16
CRectangleGraphics * m_cursor
Definition CScrollGraphics.hpp:53
void calculatePosGlobal(double xFather, double yFather) override
Definition CScrollGraphics.cpp:207
double m_posCursor
Definition CScrollGraphics.hpp:51
void update(IGraphics *graphics, CLibraryImages *libraryImage) override
Definition CScrollGraphics.cpp:109
void handleEvent(CEventGraphics *event, double xOrg, double yOrg) override
Definition CScrollGraphics.cpp:324
uint64_t getNumElementsShowed() const
Definition CScrollGraphics.cpp:118
bool sizeChanged() override
Definition CScrollGraphics.cpp:104
void drawComponent(IGraphics *graphics, const CTheme *theme) override
Definition CScrollGraphics.cpp:249
double m_sizeY
Definition CScrollGraphics.hpp:52
void nextFrameChildren() override
Definition CScrollGraphics.cpp:379
void prvMoveCursorScroll(double displacementCursor)
Definition CScrollGraphics.cpp:53
uint64_t m_numShow
Definition CScrollGraphics.hpp:50
void distribute(IGraphics *graphics, double sizeXComp, double sizeYComp) override
Definition CScrollGraphics.cpp:221
bool isInDownScroll() const
Definition CScrollGraphics.cpp:191
void moveCursor(double displacementCursor)
Definition CScrollGraphics.cpp:59
Definition CTheme.hpp:10
Definition IGraphics.hpp:20