namespace CCL::DpiScale
namespace DpiScale {
// enums
enum RectScalingMode;
// global variables
constexpr float kFloatCoordPrecision = 0.00195;
// global functions
float getDpi (float dpiFactor);
float getFactor (int dpi);
float coordToPixelF (int coord, float dpiFactor);
float pixelToCoordF (int pixel, float dpiFactor);
float coordFToPixelF (float coord, float dpiFactor);
float pixelFToCoordF (float pixel, float dpiFactor);
int coordToPixel (int coord, float dpiFactor);
int pixelToCoord (int pixel, float dpiFactor);
void toPixelPoint (Point& p, float dpiFactor);
void toCoordPoint (Point& p, float dpiFactor);
void toPixelRect (
Rect& size,
float dpiFactor,
RectScalingMode mode = kScaleRectArea
);
void toCoordRect (
Rect& size,
float dpiFactor,
RectScalingMode mode = kScaleRectArea
);
void toPixelPointF (PointF& p, float dpiFactor);
void toCoordPointF (PointF& p, float dpiFactor);
void toPixelRectF (RectF& size, float dpiFactor);
void toCoordRectF (RectF& size, float dpiFactor);
bool isIntAligned (float f);
bool isPointIntAligned (const PointF& p);
bool isRectIntAligned (const RectF& r);
void adjustPositionPixelAligned (Point& p, float dpiFactor);
} // namespace DpiScale