ginebra2/ScaleNinePainter.h
author hgs
Fri, 15 Oct 2010 17:30:59 -0400
changeset 16 3c88a81ff781
permissions -rw-r--r--
201041
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
16
hgs
parents:
diff changeset
     1
#ifndef SCALENINEPAINTER_H
hgs
parents:
diff changeset
     2
#define SCALENINEPAINTER_H
hgs
parents:
diff changeset
     3
hgs
parents:
diff changeset
     4
#include <QPixmap>
hgs
parents:
diff changeset
     5
hgs
parents:
diff changeset
     6
class QPainter;
hgs
parents:
diff changeset
     7
class QString;
hgs
parents:
diff changeset
     8
class QStyleOptionGraphicsItem;
hgs
parents:
diff changeset
     9
class QWidget;
hgs
parents:
diff changeset
    10
hgs
parents:
diff changeset
    11
namespace GVA {
hgs
parents:
diff changeset
    12
hgs
parents:
diff changeset
    13
/*!
hgs
parents:
diff changeset
    14
 * This class paints a resizable window background using separate images for its' four corners,
hgs
parents:
diff changeset
    15
 * four edges and middle area.
hgs
parents:
diff changeset
    16
 */
hgs
parents:
diff changeset
    17
class ScaleNinePainter
hgs
parents:
diff changeset
    18
{
hgs
parents:
diff changeset
    19
public:
hgs
parents:
diff changeset
    20
    ScaleNinePainter(const QString &topLeftFilename,
hgs
parents:
diff changeset
    21
                     const QString &topMiddleFilename,
hgs
parents:
diff changeset
    22
                     const QString &topRightFilename,
hgs
parents:
diff changeset
    23
                     const QString &middleLeftFilename = QString::null,
hgs
parents:
diff changeset
    24
                     const QString &middleMiddleFilename = QString::null,
hgs
parents:
diff changeset
    25
                     const QString &middleRightFilename = QString::null,
hgs
parents:
diff changeset
    26
                     const QString &bottomLeftFilename = QString::null,
hgs
parents:
diff changeset
    27
                     const QString &bottomMiddleFilename = QString::null,
hgs
parents:
diff changeset
    28
                     const QString &bottomRightFilename = QString::null
hgs
parents:
diff changeset
    29
                     );
hgs
parents:
diff changeset
    30
    ~ScaleNinePainter();
hgs
parents:
diff changeset
    31
    void paint(QPainter* painter, const QRect &rect, QWidget* widget);
hgs
parents:
diff changeset
    32
    void unloadPixmaps();
hgs
parents:
diff changeset
    33
hgs
parents:
diff changeset
    34
private:
hgs
parents:
diff changeset
    35
    void loadPixmaps();
hgs
parents:
diff changeset
    36
hgs
parents:
diff changeset
    37
private:
hgs
parents:
diff changeset
    38
    QString m_topLeftFilename;
hgs
parents:
diff changeset
    39
    QString m_topMiddleFilename;
hgs
parents:
diff changeset
    40
    QString m_topRightFilename;
hgs
parents:
diff changeset
    41
    QString m_middleLeftFilename;
hgs
parents:
diff changeset
    42
    QString m_middleMiddleFilename;
hgs
parents:
diff changeset
    43
    QString m_middleRightFilename;
hgs
parents:
diff changeset
    44
    QString m_bottomLeftFilename;
hgs
parents:
diff changeset
    45
    QString m_bottomMiddleFilename;
hgs
parents:
diff changeset
    46
    QString m_bottomRightFilename;
hgs
parents:
diff changeset
    47
    QPixmap *m_topLeftPixmap;
hgs
parents:
diff changeset
    48
    QPixmap *m_topMiddlePixmap;
hgs
parents:
diff changeset
    49
    QPixmap *m_topRightPixmap;
hgs
parents:
diff changeset
    50
    QPixmap *m_middleLeftPixmap;
hgs
parents:
diff changeset
    51
    QPixmap *m_middleMiddlePixmap;
hgs
parents:
diff changeset
    52
    QPixmap *m_middleRightPixmap;
hgs
parents:
diff changeset
    53
    QPixmap *m_bottomLeftPixmap;
hgs
parents:
diff changeset
    54
    QPixmap *m_bottomMiddlePixmap;
hgs
parents:
diff changeset
    55
    QPixmap *m_bottomRightPixmap;
hgs
parents:
diff changeset
    56
    bool m_pixmapsLoaded;
hgs
parents:
diff changeset
    57
};
hgs
parents:
diff changeset
    58
hgs
parents:
diff changeset
    59
}  // GVA namespace
hgs
parents:
diff changeset
    60
hgs
parents:
diff changeset
    61
#endif // SCALENINEPAINTER_H