Tag Parser 12.4.0
C++ library for reading and writing MP4 (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags
Loading...
Searching...
No Matches
margin.h
Go to the documentation of this file.
1#ifndef TAG_PARSER_MARGIN_H
2#define TAG_PARSER_MARGIN_H
3
4#include "./global.h"
5
6#include <c++utilities/conversion/stringbuilder.h>
7
8#include <cstdint>
9#include <string>
10
11namespace TagParser {
12
17public:
18 constexpr explicit Margin(std::uint32_t top = 0, std::uint32_t left = 0, std::uint32_t bottom = 0, std::uint32_t right = 0);
19 constexpr std::uint32_t top() const;
20 void setTop(std::uint32_t top);
21 constexpr std::uint32_t left() const;
22 void setLeft(std::uint32_t left);
23 constexpr std::uint32_t bottom() const;
24 void setBottom(std::uint32_t bottom);
25 constexpr std::uint32_t right() const;
26 void setRight(std::uint32_t right);
27 constexpr bool isNull() const;
28 std::string toString() const;
29
30private:
31 std::uint32_t m_top;
32 std::uint32_t m_left;
33 std::uint32_t m_bottom;
34 std::uint32_t m_right;
35};
36
40constexpr Margin::Margin(std::uint32_t top, std::uint32_t left, std::uint32_t bottom, std::uint32_t right)
41 : m_top(top)
42 , m_left(left)
43 , m_bottom(bottom)
44 , m_right(right)
45{
46}
47
51constexpr std::uint32_t Margin::top() const
52{
53 return m_top;
54}
55
59inline void Margin::setTop(std::uint32_t top)
60{
61 m_top = top;
62}
63
67constexpr std::uint32_t Margin::left() const
68{
69 return m_left;
70}
71
75inline void Margin::setLeft(std::uint32_t left)
76{
77 m_left = left;
78}
79
83constexpr std::uint32_t Margin::bottom() const
84{
85 return m_bottom;
86}
87
91inline void Margin::setBottom(std::uint32_t bottom)
92{
93 m_bottom = bottom;
94}
95
99constexpr std::uint32_t Margin::right() const
100{
101 return m_right;
102}
103
107inline void Margin::setRight(std::uint32_t right)
108{
109 m_right = right;
110}
111
115constexpr bool Margin::isNull() const
116{
117 return m_top == 0 && m_left == 0 && m_bottom == 0 && m_right == 0;
118}
119
123inline std::string Margin::toString() const
124{
125 return CppUtilities::argsToString("top: ", m_top, "; left: ", m_left, "; bottom: ", m_bottom, "; right: ", m_right);
126}
127
128} // namespace TagParser
129
130#endif // TAG_PARSER_MARGIN_H
The Margin class defines the four margins of a rectangle.
Definition margin.h:16
constexpr bool isNull() const
Returns true if all margins are is 0; otherwise returns false;.
Definition margin.h:115
constexpr std::uint32_t right() const
Returns the right margin.
Definition margin.h:99
constexpr std::uint32_t left() const
Returns the left margin.
Definition margin.h:67
std::string toString() const
Returns a string representation of the margin.
Definition margin.h:123
void setRight(std::uint32_t right)
Sets the right margin to right.
Definition margin.h:107
constexpr std::uint32_t top() const
Returns the top margin.
Definition margin.h:51
constexpr std::uint32_t bottom() const
Returns the bottom margin.
Definition margin.h:83
void setLeft(std::uint32_t left)
Sets the left margin to left.
Definition margin.h:75
void setTop(std::uint32_t top)
Sets the top margin to top.
Definition margin.h:59
constexpr Margin(std::uint32_t top=0, std::uint32_t left=0, std::uint32_t bottom=0, std::uint32_t right=0)
Constructs a Margin.
Definition margin.h:40
void setBottom(std::uint32_t bottom)
Sets the bottom margin to bottom.
Definition margin.h:91
#define TAG_PARSER_EXPORT
Marks the symbol to be exported by the tagparser library.
Definition global.h:14
Contains all classes and functions of the TagInfo library.
Definition aaccodebook.h:10