57 lines
1.3 KiB
C++
57 lines
1.3 KiB
C++
#pragma once
|
|
|
|
#include <QString>
|
|
|
|
class Node {
|
|
public:
|
|
Node() = default;
|
|
|
|
void setBounds(const int x1, const int y1, const int x2, const int y2) {
|
|
m_x1 = x1;
|
|
m_y1 = y1;
|
|
m_x2 = x2;
|
|
m_y2 = y2;
|
|
}
|
|
|
|
[[nodiscard]] bool isEmpty() const {
|
|
return m_x1 < 0 && m_y1 < 0 && m_x2 < 0 && m_y2 < 0 && text.isEmpty() && className.isEmpty();
|
|
}
|
|
|
|
/**
|
|
* const int x = (x1() + x2()) / 2;
|
|
* const int y = (y1() + y2()) / 2;
|
|
*/
|
|
[[nodiscard]] int x1() const { return m_x1; }
|
|
[[nodiscard]] int y1() const { return m_y1; }
|
|
[[nodiscard]] int x2() const { return m_x2; }
|
|
[[nodiscard]] int y2() const { return m_y2; }
|
|
[[nodiscard]] int width() const { return m_x2 - m_x1; }
|
|
[[nodiscard]] int height() const { return m_y2 - m_y1; }
|
|
|
|
[[nodiscard]] int x() const {
|
|
if (m_x1 < 0) {
|
|
return -1;
|
|
}
|
|
return m_x1 + (m_x2 - m_x1) / 2;
|
|
}
|
|
|
|
[[nodiscard]] int y() const {
|
|
if (m_y1 < 0) {
|
|
return -1;
|
|
}
|
|
return m_y1 + (m_y2 - m_y1) / 2;
|
|
}
|
|
|
|
QString text;
|
|
QString contentDesc;
|
|
QString resourceId;
|
|
QString className;
|
|
QString hint;
|
|
bool clickable = false;
|
|
bool focusable = false;
|
|
bool password = false;
|
|
|
|
private:
|
|
int m_x1 = -1, m_y1 = -1, m_x2 = -1, m_y2 = -1;
|
|
};
|