Diffstat (limited to 'noncore/multimedia/opieplayer2') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/multimedia/opieplayer2/skin.cpp | 57 | ||||
-rw-r--r-- | noncore/multimedia/opieplayer2/skin.h | 11 |
2 files changed, 41 insertions, 27 deletions
diff --git a/noncore/multimedia/opieplayer2/skin.cpp b/noncore/multimedia/opieplayer2/skin.cpp index cef3259..9ad5f3f 100644 --- a/noncore/multimedia/opieplayer2/skin.cpp +++ b/noncore/multimedia/opieplayer2/skin.cpp | |||
@@ -29,2 +29,13 @@ | |||
29 | 29 | ||
30 | struct SkinData | ||
31 | { | ||
32 | typedef QMap<QString, QImage> ButtonMaskImageMap; | ||
33 | |||
34 | QImage backgroundImage; | ||
35 | QImage buttonUpImage; | ||
36 | QImage buttonDownImage; | ||
37 | QImage buttonMask; | ||
38 | ButtonMaskImageMap buttonMasks; | ||
39 | }; | ||
40 | |||
30 | Skin::Skin( const QString &name, const QString &fileNameInfix ) | 41 | Skin::Skin( const QString &name, const QString &fileNameInfix ) |
@@ -41,2 +52,7 @@ Skin::Skin( const QString &fileNameInfix ) | |||
41 | 52 | ||
53 | Skin::~Skin() | ||
54 | { | ||
55 | delete d; | ||
56 | } | ||
57 | |||
42 | void Skin::init( const QString &name ) | 58 | void Skin::init( const QString &name ) |
@@ -44,2 +60,3 @@ void Skin::init( const QString &name ) | |||
44 | m_skinPath = "opieplayer2/skins/" + name; | 60 | m_skinPath = "opieplayer2/skins/" + name; |
61 | d = new SkinData; | ||
45 | } | 62 | } |
@@ -56,5 +73,5 @@ QImage Skin::backgroundImage() const | |||
56 | { | 73 | { |
57 | if ( m_backgroundImage.isNull() ) | 74 | if ( d->backgroundImage.isNull() ) |
58 | m_backgroundImage = SkinCache::self().loadImage( QString( "%1/background" ).arg( m_skinPath ) ); | 75 | d->backgroundImage = SkinCache::self().loadImage( QString( "%1/background" ).arg( m_skinPath ) ); |
59 | return m_backgroundImage; | 76 | return d->backgroundImage; |
60 | } | 77 | } |
@@ -63,5 +80,5 @@ QImage Skin::buttonUpImage() const | |||
63 | { | 80 | { |
64 | if ( m_buttonUpImage.isNull() ) | 81 | if ( d->buttonUpImage.isNull() ) |
65 | m_buttonUpImage = SkinCache::self().loadImage( QString( "%1/skin%2_up" ).arg( m_skinPath ).arg( m_fileNameInfix ) ); | 82 | d->buttonUpImage = SkinCache::self().loadImage( QString( "%1/skin%2_up" ).arg( m_skinPath ).arg( m_fileNameInfix ) ); |
66 | return m_buttonUpImage; | 83 | return d->buttonUpImage; |
67 | } | 84 | } |
@@ -70,5 +87,5 @@ QImage Skin::buttonDownImage() const | |||
70 | { | 87 | { |
71 | if ( m_buttonDownImage.isNull() ) | 88 | if ( d->buttonDownImage.isNull() ) |
72 | m_buttonDownImage = SkinCache::self().loadImage( QString( "%1/skin%2_down" ).arg( m_skinPath ).arg( m_fileNameInfix ) ); | 89 | d->buttonDownImage = SkinCache::self().loadImage( QString( "%1/skin%2_down" ).arg( m_skinPath ).arg( m_fileNameInfix ) ); |
73 | return m_buttonDownImage; | 90 | return d->buttonDownImage; |
74 | } | 91 | } |
@@ -77,4 +94,4 @@ QImage Skin::buttonMask( const MediaWidget::SkinButtonInfo *skinButtonInfo, uint | |||
77 | { | 94 | { |
78 | if ( !m_buttonMask.isNull() ) | 95 | if ( !d->buttonMask.isNull() ) |
79 | return m_buttonMask; | 96 | return d->buttonMask; |
80 | 97 | ||
@@ -82,4 +99,4 @@ QImage Skin::buttonMask( const MediaWidget::SkinButtonInfo *skinButtonInfo, uint | |||
82 | 99 | ||
83 | m_buttonMask = QImage( buttonAreaSize, 8, 255 ); | 100 | d->buttonMask = QImage( buttonAreaSize, 8, 255 ); |
84 | m_buttonMask.fill( 0 ); | 101 | d->buttonMask.fill( 0 ); |
85 | 102 | ||
@@ -88,3 +105,3 @@ QImage Skin::buttonMask( const MediaWidget::SkinButtonInfo *skinButtonInfo, uint | |||
88 | 105 | ||
89 | return m_buttonMask; | 106 | return d->buttonMask; |
90 | } | 107 | } |
@@ -96,6 +113,6 @@ void Skin::addButtonToMask( int tag, const QImage &maskImage ) const | |||
96 | 113 | ||
97 | uchar **dest = m_buttonMask.jumpTable(); | 114 | uchar **dest = d->buttonMask.jumpTable(); |
98 | for ( int y = 0; y < m_buttonMask.height(); y++ ) { | 115 | for ( int y = 0; y < d->buttonMask.height(); y++ ) { |
99 | uchar *line = dest[y]; | 116 | uchar *line = dest[y]; |
100 | for ( int x = 0; x < m_buttonMask.width(); x++ ) | 117 | for ( int x = 0; x < d->buttonMask.width(); x++ ) |
101 | if ( !qRed( maskImage.pixel( x, y ) ) ) | 118 | if ( !qRed( maskImage.pixel( x, y ) ) ) |
@@ -107,7 +124,7 @@ QImage Skin::buttonMaskImage( const QString &fileName ) const | |||
107 | { | 124 | { |
108 | ButtonMaskImageMap::Iterator it = m_buttonMasks.find( fileName ); | 125 | SkinData::ButtonMaskImageMap::Iterator it = d->buttonMasks.find( fileName ); |
109 | if ( it == m_buttonMasks.end() ) { | 126 | if ( it == d->buttonMasks.end() ) { |
110 | QString prefix = m_skinPath + QString::fromLatin1( "/skin%1_mask_" ).arg( m_fileNameInfix ); | 127 | QString prefix = m_skinPath + QString::fromLatin1( "/skin%1_mask_" ).arg( m_fileNameInfix ); |
111 | QString path = prefix + fileName + ".png"; | 128 | QString path = prefix + fileName + ".png"; |
112 | it = m_buttonMasks.insert( fileName, SkinCache::self().loadImage( path ) ); | 129 | it = d->buttonMasks.insert( fileName, SkinCache::self().loadImage( path ) ); |
113 | } | 130 | } |
diff --git a/noncore/multimedia/opieplayer2/skin.h b/noncore/multimedia/opieplayer2/skin.h index 9f7326e..5ab6574 100644 --- a/noncore/multimedia/opieplayer2/skin.h +++ b/noncore/multimedia/opieplayer2/skin.h | |||
@@ -34,2 +34,4 @@ | |||
34 | 34 | ||
35 | struct SkinData; | ||
36 | |||
35 | class Skin | 37 | class Skin |
@@ -39,2 +41,3 @@ public: | |||
39 | Skin( const QString &fileNameInfix ); | 41 | Skin( const QString &fileNameInfix ); |
42 | ~Skin(); | ||
40 | 43 | ||
@@ -60,9 +63,3 @@ private: | |||
60 | 63 | ||
61 | typedef QMap<QString, QImage> ButtonMaskImageMap; | 64 | SkinData *d; |
62 | |||
63 | mutable QImage m_backgroundImage; | ||
64 | mutable QImage m_buttonUpImage; | ||
65 | mutable QImage m_buttonDownImage; | ||
66 | mutable QImage m_buttonMask; | ||
67 | mutable ButtonMaskImageMap m_buttonMasks; | ||
68 | 65 | ||