1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-07-31 19:30:21 +02:00

Add margins scaling to DpiScaler

This commit is contained in:
Teo Mrnjavac
2013-07-31 13:30:05 +02:00
parent 6a821eef2e
commit 43ceb25753
2 changed files with 46 additions and 0 deletions

View File

@@ -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 )
{

View File

@@ -22,6 +22,7 @@
#include "DllMacro.h"
#include <QPaintDevice>
#include <QMargins>
#include <QSize>
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 );