Files
Renderive/Widget/global.h
T
2026-08-01 20:09:45 +08:00

43 lines
1.2 KiB
C++

#pragma once
#include "Psc_Cpp_Core/system/export.h"
#include "Psc_Cpp_Core/Base/global_include.h"
#include "Psc_Cpp_Core/Base/JSON.h"
#include <QPainter>
#if defined(_WIN32)
# if defined(WIDGET_BUILD_SHARED)
# define WIDGET_API __declspec(dllexport)
# elif defined(WIDGET_USE_SHARED)
# define WIDGET_API __declspec(dllimport)
# else
# define WIDGET_API
# endif
#else
# define WIDGET_API __attribute__((visibility("default")))
#endif
namespace Flex_Qt {
struct Range {
double origin;
double target;
[[nodiscard]] double size() const {
return target > origin ? target - origin : origin - target;
}
[[nodiscard]] double length() const {
return target - origin;
}
[[nodiscard]] double middle() const {
return origin + (target - origin) / 2.0;
}
bool operator==(const Range& other) const {
return origin == other.origin && target == other.target;
}
bool operator!=(const Range& other) const {
return !(*this == other);
}
[[nodiscard]] bool contain(double value) const {
if (origin < target)
return value > origin - 0.0001 && value < target + 0.0001;
return value > target - 0.0001 && value < origin + 0.0001;
}
};
}