Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #ifndef ANIMPREVIEW_H
- #define ANIMPREVIEW_H
- #include <QWidget>
- #include <QLabel>
- #include <QPaintEvent>
- #include <QPainter>
- #include <QMouseEvent>
- #include <QPixmap>
- class AnimPreview : public QLabel
- {
- Q_OBJECT
- public:
- int blw,blh;
- explicit AnimPreview(QWidget *parent = 0);
- void paintEvent(QPaintEvent *);
- void Rotate(int value);
- int sex = 0;
- int hair = 0;
- bool draw = true;
- void Create(int _sex, int _hair);
- int rotation = 0;
- const int offsetX = 16;
- const int offsetY = 32;
- QPixmap *base;
- QPixmap *Hair;
- QPixmap *Composited;
- bool compisition = false;
- void Composite();
- signals:
- public slots:
- };
- #endif // ANIMPREVIEW_H
- //----------------------------------------------------------------------------- AnimPreview Cpp
- #include "animpreview.h"
- AnimPreview::AnimPreview(QWidget *parent) :
- QLabel(parent)
- {
- }
- void AnimPreview::paintEvent(QPaintEvent *)
- {
- QPainter p(this);
- QPixmap pic;
- QPixmap hairs;
- if(draw)
- {
- //Sesso
- switch(sex)
- {
- case 0:
- pic.load(":/Male/Base/Res/man_f.png");
- break;
- case 1:
- pic.load(":/Female/Base/Res/woman_f.png");
- break;
- }
- //capelli
- if(sex == 1)
- {
- switch(hair)
- {
- case 0:
- break;
- case 1:
- hairs.load(":/Female/Hair/Res/7_aqua.png");
- break;
- case 2:
- hairs.load(":/Female/Hair/Res/5_gold.png");
- break;
- }
- }
- if(sex == 0)
- {
- switch (hair)
- {
- case 0:
- break;
- case 1:
- hairs.load(":/Male/Hair/Res/1_aqua.png");
- break;
- case 2:
- hairs.load(":/Male/Hair/Res/14_black.png");
- break;
- }
- }
- }
- p.drawPixmap(this->width()/2 - offsetX,this->height()/2 - offsetY,pic,0,rotation,32,48);
- p.drawPixmap(this->width()/2 - offsetX,this->height()/2 - offsetY,hairs,0,rotation,32,48);
- p.drawRect(0,0,this->width()-1,this->height()-1);
- base = &pic;
- Hair = &hairs;
- if(compisition)
- {
- QPixmap pix(128,192);
- QPainter *p = new QPainter(&pix);
- p->drawPixmap(0,0,128,192,*base);
- p->drawPixmap(0,0,128,192,*Hair);
- Composited = &pix;
- compisition = false;
- }
- }
- void AnimPreview::Create(int _sex, int _hair)
- {
- sex = _sex;
- hair = _hair;
- draw = true;
- }
- void AnimPreview::Rotate(int value)
- {
- rotation = value;
- this->update();
- }
- void AnimPreview::Composite()
- {
- compisition = true;
- this->update();
- }
- //---------------------------------------------------- Save point
- void MainWindow::on_commandLinkButton_clicked()
- {
- QString file = QFileDialog::getSaveFileName(this,
- tr("Save Sprite file"),
- "",tr("File PNG (*.png)"));
- const QPixmap *pix = ui->SpriteFront->pixmap();
- if(!file.isEmpty())
- {
- QFile files(file);
- files.open(QIODevice::WriteOnly);
- ui->SpriteFront->Composite();
- ui->SpriteFront->Composited->save(&files,"PNG");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement