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