diff --git a/src/libtomahawk/utils/DpiScaler.cpp b/src/libtomahawk/utils/DpiScaler.cpp index 2a22f2259..4afbf822b 100644 --- a/src/libtomahawk/utils/DpiScaler.cpp +++ b/src/libtomahawk/utils/DpiScaler.cpp @@ -46,6 +46,26 @@ DpiScaler::scaled( const QSize& size ) const } +QMargins +DpiScaler::scaled( int left, int top, int right, int bottom ) const +{ + return QMargins( scaledX( left ), + scaledY( top ), + scaledX( right ), + scaledY( bottom ) ); +} + + +QMargins +DpiScaler::scaled( const QMargins& margins ) const +{ + return scaled( margins.left(), + margins.top(), + margins.right(), + margins.bottom() ); +} + + int DpiScaler::scaledX( int x ) const { @@ -75,6 +95,27 @@ DpiScaler::scaled( const QPaintDevice* pd, const QSize& size ) } +QMargins +DpiScaler::scaled( const QPaintDevice* pd, int left, int top, int right, int bottom ) +{ + return QMargins( scaledX( pd, left ), + scaledY( pd, top ), + scaledX( pd, right ), + scaledY( pd, bottom ) ); +} + + +QMargins +DpiScaler::scaled( const QPaintDevice* pd, const QMargins& margins ) +{ + return scaled( pd, + margins.left(), + margins.top(), + margins.right(), + margins.bottom() ); +} + + int DpiScaler::scaledX( const QPaintDevice* pd, int x ) { diff --git a/src/libtomahawk/utils/DpiScaler.h b/src/libtomahawk/utils/DpiScaler.h index 97b67ac7a..640d38c99 100644 --- a/src/libtomahawk/utils/DpiScaler.h +++ b/src/libtomahawk/utils/DpiScaler.h @@ -22,6 +22,7 @@ #include "DllMacro.h" #include +#include #include namespace TomahawkUtils @@ -40,12 +41,16 @@ public: QSize scaled( int w, int h ) const; QSize scaled( const QSize& size ) const; + QMargins scaled( int left, int top, int right, int bottom ) const; + QMargins scaled( const QMargins& margins ) const; int scaledX( int x ) const; int scaledY( int y ) const; // convenience one-shot methods, usable without composing or private-inheriting DpiScaler static QSize scaled( const QPaintDevice* pd, int w, int h ); static QSize scaled( const QPaintDevice* pd, const QSize& size ); + static QMargins scaled( const QPaintDevice* pd, int left, int top, int right, int bottom ); + static QMargins scaled( const QPaintDevice* pd, const QMargins& margins ); inline static int scaledX( const QPaintDevice* pd, int x ); inline static int scaledY( const QPaintDevice* pd, int y );