Uncrustifyed Status

This commit is contained in:
2020-01-13 19:37:22 +01:00
parent 7491472962
commit cc56f61247
14 changed files with 577 additions and 577 deletions

View File

@@ -2,98 +2,98 @@
IntelliInputDialog::IntelliInputDialog(Speichereinheit &Speicher, QEventLoop* Loop, IntelliInputDialog* Dialog, QString Title, QString Label, int value, int minValue, int maxValue, int step)
{
this->Dialog = Dialog;
createInputBox(Title, Label, value, minValue, maxValue, step);
createConnections(Loop);
setValuesOfPalette();
setInputBoxStyle();
this->Dialog = Dialog;
createInputBox(Title, Label, value, minValue, maxValue, step);
createConnections(Loop);
setValuesOfPalette();
setInputBoxStyle();
}
void IntelliInputDialog::createInputBox(QString Title, QString Label, int value, int minValue, int maxValue, int step){
this->Dialog = new QDialog();
Dialog->setWindowFlags(Dialog->windowFlags() & ~Qt::WindowContextHelpButtonHint);
if(Title == nullptr){
Dialog->setWindowTitle("Input Box");
}
else{
Dialog->setWindowTitle(Title);
}
Layout = new QGridLayout();
ButtonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
this->Dialog = new QDialog();
Dialog->setWindowFlags(Dialog->windowFlags() & ~Qt::WindowContextHelpButtonHint);
if(Title == nullptr) {
Dialog->setWindowTitle("Input Box");
}
else{
Dialog->setWindowTitle(Title);
}
Layout = new QGridLayout();
ButtonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
InputLabel = new QLabel();
if(Label == nullptr){
InputLabel->setText("Width:");
}
else{
InputLabel->setText(Label);
}
InputLabel->setFixedSize(Linesize);
InputLabel = new QLabel();
if(Label == nullptr) {
InputLabel->setText("Width:");
}
else{
InputLabel->setText(Label);
}
InputLabel->setFixedSize(Linesize);
Input = new QSpinBox();
Input->setFixedSize(Linesize);
Input->setRange(minValue,maxValue);
Input->setValue(value);
Input = new QSpinBox();
Input->setFixedSize(Linesize);
Input->setRange(minValue,maxValue);
Input->setValue(value);
okButton = ButtonBox->button(QDialogButtonBox::Ok);
okButton->setFixedSize(Buttonsize);
okButton->setAutoDefault(false);
okButton->setDefault(false);
okButton = ButtonBox->button(QDialogButtonBox::Ok);
okButton->setFixedSize(Buttonsize);
okButton->setAutoDefault(false);
okButton->setDefault(false);
cancelButton = ButtonBox->button(QDialogButtonBox::Cancel);
cancelButton->setFixedSize(Buttonsize);
cancelButton->setAutoDefault(false);
cancelButton->setDefault(false);
cancelButton = ButtonBox->button(QDialogButtonBox::Cancel);
cancelButton->setFixedSize(Buttonsize);
cancelButton->setAutoDefault(false);
cancelButton->setDefault(false);
Layout->addWidget(InputLabel,1,1,1,1);
Layout->addWidget(Input,2,1,1,1);
Layout->addWidget(ButtonBox,3,1,1,1);
Dialog->setLayout(Layout);
Dialog->resize(172,94);
Dialog->show();
Layout->addWidget(InputLabel,1,1,1,1);
Layout->addWidget(Input,2,1,1,1);
Layout->addWidget(ButtonBox,3,1,1,1);
Dialog->setLayout(Layout);
Dialog->resize(172,94);
Dialog->show();
}
void IntelliInputDialog::createConnections(QEventLoop* Loop){
connect(okButton, SIGNAL(clicked()), this, SLOT(slotEingabe(Speicher)));
connect(okButton, SIGNAL(clicked()), Loop, SLOT(quit()));
connect(cancelButton, SIGNAL(clicked()), this, SLOT(slotCloseEvent()));
connect(cancelButton, SIGNAL(clicked()), Loop, SLOT(quit()));
connect(okButton, SIGNAL(clicked()), this, SLOT(slotEingabe(Speicher)));
connect(okButton, SIGNAL(clicked()), Loop, SLOT(quit()));
connect(cancelButton, SIGNAL(clicked()), this, SLOT(slotCloseEvent()));
connect(cancelButton, SIGNAL(clicked()), Loop, SLOT(quit()));
}
void IntelliInputDialog::setInputBoxStyle(){
InputLabel->setPalette(Palette);
Input->setPalette(Palette);
okButton->setPalette(Palette);
cancelButton->setPalette(Palette);
Dialog->setStyleSheet("background-color:rgb(64,64,64)");
InputLabel->setPalette(Palette);
Input->setPalette(Palette);
okButton->setPalette(Palette);
cancelButton->setPalette(Palette);
Dialog->setStyleSheet("background-color:rgb(64,64,64)");
}
void IntelliInputDialog::setValuesOfPalette(){
Palette.setBrush(QPalette::HighlightedText, QColor(200, 10, 10));
Palette.setBrush(QPalette::Highlight, QColor(100, 5, 5));
Palette.setBrush(QPalette::ButtonText, QColor(255, 255, 255));
Palette.setBrush(QPalette::Button, QColor(64, 64, 64));
Palette.setBrush(QPalette::Window, QColor(64, 64, 64));
Palette.setBrush(QPalette::WindowText, QColor(255, 255, 255));
Palette.setBrush(QPalette::PlaceholderText, QColor(255, 255, 255));
Palette.setBrush(QPalette::ToolTipText, QColor(255, 255, 255));
Palette.setBrush(QPalette::Text, QColor(255, 255, 255));
Palette.setBrush(QPalette::HighlightedText, QColor(200, 10, 10));
Palette.setBrush(QPalette::Highlight, QColor(100, 5, 5));
Palette.setBrush(QPalette::ButtonText, QColor(255, 255, 255));
Palette.setBrush(QPalette::Button, QColor(64, 64, 64));
Palette.setBrush(QPalette::Window, QColor(64, 64, 64));
Palette.setBrush(QPalette::WindowText, QColor(255, 255, 255));
Palette.setBrush(QPalette::PlaceholderText, QColor(255, 255, 255));
Palette.setBrush(QPalette::ToolTipText, QColor(255, 255, 255));
Palette.setBrush(QPalette::Text, QColor(255, 255, 255));
}
void IntelliInputDialog::slotCloseEvent(){
Dialog->close();
Dialog->close();
}
void IntelliInputDialog::slotEingabe(Speichereinheit &Speicher){
qDebug() << Input->value();
SetValueToGUI();
Dialog->close();
qDebug() << Input->value();
SetValueToGUI();
Dialog->close();
}
void IntelliInputDialog::SetValueToGUI(){
Input->value();
Input->value();
}
void IntelliInputDialog::getIntInput(Speichereinheit &Speicher, QEventLoop* Loop, IntelliInputDialog* Dialog, QString Title, QString Label, int value, int minValue, int maxValue, int step){
this->Dialog = new IntelliInputDialog(Speicher, Loop, Dialog, Title, Label, value, minValue, maxValue, step);
this->Dialog = new IntelliInputDialog(Speicher, Loop, Dialog, Title, Label, value, minValue, maxValue, step);
}

View File

@@ -5,42 +5,42 @@
#include <QDebug>
#include "IntelliPhotoGui.h"
class Speichereinheit{
int value;
class Speichereinheit {
int value;
};
class IntelliInputDialog : public QDialog
{
Q_OBJECT
public:
IntelliInputDialog(Speichereinheit &Speicher, QEventLoop* Loop = nullptr, IntelliInputDialog* Dialog = nullptr, QString Title = nullptr, QString Label = nullptr, int value = 5, int minValue = -2147483647, int maxValue = 2147483647, int step = 1);
IntelliInputDialog(Speichereinheit &Speicher, QEventLoop* Loop = nullptr, IntelliInputDialog* Dialog = nullptr, QString Title = nullptr, QString Label = nullptr, int value = 5, int minValue = -2147483647, int maxValue = 2147483647, int step = 1);
void getIntInput(Speichereinheit &Speicher, QEventLoop* Loop = nullptr, IntelliInputDialog* Dialog = nullptr, QString Title = "InputBox", QString Label = "Weight:", int value = 0, int minValue = -2147483647, int maxValue = 2147483647, int step = 1);
void getIntInput(Speichereinheit &Speicher, QEventLoop* Loop = nullptr, IntelliInputDialog* Dialog = nullptr, QString Title = "InputBox", QString Label = "Weight:", int value = 0, int minValue = -2147483647, int maxValue = 2147483647, int step = 1);
public slots:
void slotCloseEvent();
void slotEingabe(Speichereinheit &Speicher);
void slotCloseEvent();
void slotEingabe(Speichereinheit &Speicher);
private:
void createInputBox(QString Title = nullptr, QString Label = nullptr, int value = 5, int minValue = -2147483647, int maxValue = 2147483647, int step = 1);
void createConnections(QEventLoop* Loop = nullptr);
void setValuesOfPalette();
void setInputBoxStyle();
void createInputBox(QString Title = nullptr, QString Label = nullptr, int value = 5, int minValue = -2147483647, int maxValue = 2147483647, int step = 1);
void createConnections(QEventLoop* Loop = nullptr);
void setValuesOfPalette();
void setInputBoxStyle();
void SetValueToGUI();
void SetValueToGUI();
QDialog* Dialog;
QDialog* Dialog;
QGridLayout* Layout;
QDialogButtonBox* ButtonBox;
QGridLayout* Layout;
QDialogButtonBox* ButtonBox;
const QSize Linesize = QSize(150,20);
const QSize Buttonsize = QSize(72,20);
QPalette Palette;
QLabel* InputLabel;
QSpinBox* Input;
QPushButton* okButton;
QPushButton* cancelButton;
const QSize Linesize = QSize(150,20);
const QSize Buttonsize = QSize(72,20);
QPalette Palette;
QLabel* InputLabel;
QSpinBox* Input;
QPushButton* okButton;
QPushButton* cancelButton;
};
#endif // INTELLIINPUTDIALOG_H

View File

@@ -5,7 +5,7 @@
// IntelliPhotoGui constructor
IntelliPhotoGui::IntelliPhotoGui(IntelliInputDialog* InputDialog){
//this->InputDialog = InputDialog;
//this->InputDialog = InputDialog;
// create Gui elements and lay them out
createGui();
// Create actions
@@ -13,11 +13,11 @@ IntelliPhotoGui::IntelliPhotoGui(IntelliInputDialog* InputDialog){
// create Menus
createMenus();
// set style of the gui
setIntelliStyle();
// Size the app
resize(600,600);
//showMaximized();
setDefaultToolValue();
setIntelliStyle();
// Size the app
resize(600,600);
//showMaximized();
setDefaultToolValue();
}
// User tried to close the app
@@ -47,10 +47,10 @@ void IntelliPhotoGui::slotOpen(){
// If we have a file name load the image and place
// it in the paintingArea
if (!fileName.isEmpty()){
if (!fileName.isEmpty()) {
paintingArea->open(fileName);
UpdateGui();
}
UpdateGui();
}
}
}
@@ -73,18 +73,18 @@ void IntelliPhotoGui::slotCreateNewLayer(){
// "New Layer" is the title of the window
// the next tr is the text to display
// Define the standard Value, min, max, step and ok button
Speichereinheit Speicher;
this->InputDialog->getIntInput(Speicher, &Loop, this->InputDialog, "New Layer", "Width:", 5, 0, 5000, 1);
Speichereinheit Speicher;
this->InputDialog->getIntInput(Speicher, &Loop, this->InputDialog, "New Layer", "Width:", 5, 0, 5000, 1);
int width = returnValueOfInputDialog;
int width = returnValueOfInputDialog;
qDebug() << width;
qDebug() << width;
int height = 25;//QInputDialog::getInt(this, tr("New Layer"),tr("Height:"),200,1, 500, 1, &ok2);
int height = 25;//QInputDialog::getInt(this, tr("New Layer"),tr("Height:"),200,1, 500, 1, &ok2);
// Create New Layer
paintingArea->addLayer(width,height,0,0);
UpdateGui();
paintingArea->addLayer(width,height,0,0);
UpdateGui();
}
// Opens a dialog that allows the user to delete a Layer
@@ -97,10 +97,10 @@ void IntelliPhotoGui::slotDeleteLayer(){
// Define the standard Value, min, max, step and ok button
int layerNumber = QInputDialog::getInt(this, tr("delete Layer"),
tr("Number:"),
paintingArea->getNumberOfActiveLayer()+1,1, 501, 1, &ok);
paintingArea->getNumberOfActiveLayer()+1,1, 501, 1, &ok);
// Create New Layer
if (ok) {
paintingArea->deleteLayer(layerNumber-1);
paintingArea->deleteLayer(layerNumber-1);
UpdateGui();
}
}
@@ -114,14 +114,14 @@ void IntelliPhotoGui::slotSetActiveAlpha(){
// Define the standard Value, min, max, step and ok button
int layer = QInputDialog::getInt(this, tr("Layer to set on"),
tr("Layer:"),
1,1,500,1, &ok1);
1,1,500,1, &ok1);
// "New Alpha" is the title of the window
int alpha = QInputDialog::getInt(this, tr("New Alpha"),
tr("Alpha:"),
255,0, 255, 1, &ok2);
if (ok1&&ok2)
{
paintingArea->setLayerAlpha(layer-1,alpha);
paintingArea->setLayerAlpha(layer-1,alpha);
UpdateGui();
}
}
@@ -194,22 +194,22 @@ void IntelliPhotoGui::slotSetActiveLayer(){
// Define the standard Value, min, max, step and ok button
int layer = QInputDialog::getInt(this, tr("Layer to set on"),
tr("Layer:"),
1,1,500,1, &ok1);
1,1,500,1, &ok1);
if (ok1)
{
paintingArea->setLayerActive(layer-1);
paintingArea->setLayerActive(layer-1);
UpdateGui();
}
}
void IntelliPhotoGui::slotUpdateRenderSettingsOn(){
paintingArea->setRenderSettings(true);
UpdateGui();
paintingArea->setRenderSettings(true);
UpdateGui();
}
void IntelliPhotoGui::slotUpdateRenderSettingsOff(){
paintingArea->setRenderSettings(false);
UpdateGui();
paintingArea->setRenderSettings(false);
UpdateGui();
}
void IntelliPhotoGui::slotSetFirstColor(){
@@ -266,7 +266,7 @@ void IntelliPhotoGui::slotCreateFloodFillTool(){
void IntelliPhotoGui::slotAboutDialog(){
// Window title and text to display
QMessageBox::about(this, tr("About Painting"),
tr("<p><b>IntelliPhoto - </b>A Pretty basic editor.</p> <br>Developed by Team 7."));
tr("<p><b>IntelliPhoto - </b>A Pretty basic editor.</p> <br>Developed by Team 7."));
}
void IntelliPhotoGui::slotEnterPressed(){
@@ -293,13 +293,13 @@ void IntelliPhotoGui::slotResetTools(){
}
void IntelliPhotoGui::slotSetWidth(){
paintingArea->Toolsettings.setLineWidth();
EditLineWidth->setText(QString("%1").arg(paintingArea->Toolsettings.getLineWidth()));
paintingArea->Toolsettings.setLineWidth();
EditLineWidth->setText(QString("%1").arg(paintingArea->Toolsettings.getLineWidth()));
}
void IntelliPhotoGui::slotSetInnerAlpha(){
paintingArea->Toolsettings.setInnerAlpha();
EditLineInnerAlpha->setText(QString("%1").arg(paintingArea->Toolsettings.getInnerAlpha()));
paintingArea->Toolsettings.setInnerAlpha();
EditLineInnerAlpha->setText(QString("%1").arg(paintingArea->Toolsettings.getInnerAlpha()));
}
// Define menu actions that call functions
@@ -329,7 +329,7 @@ void IntelliPhotoGui::createActions(){
connect(pngSaveAction, SIGNAL(triggered()), this, SLOT(slotSave()));
// Attach each PNG in save Menu
actionSaveAs.append(pngSaveAction);
pngSaveAction->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_S));
pngSaveAction->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_S));
// Create exit action and tie to IntelliPhotoGui::close()
actionExit = new QAction(tr("&Exit"), this);
@@ -347,15 +347,15 @@ void IntelliPhotoGui::createActions(){
// Delete New Layer action and tie to IntelliPhotoGui::deleteLayer()
actionDeleteLayer = new QAction(tr("&Delete Layer..."), this);
actionDeleteLayer->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_D));
actionDeleteLayer->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_D));
connect(actionDeleteLayer, SIGNAL(triggered()), this, SLOT(slotDeleteLayer()));
actionSetActiveLayer = new QAction(tr("&set Active"), this);
actionSetActiveLayer->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_A));
actionSetActiveLayer->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_A));
connect(actionSetActiveLayer, SIGNAL(triggered()), this, SLOT(slotSetActiveLayer()));
actionSetActiveAlpha = new QAction(tr("&set Alpha"), this);
actionSetActiveAlpha->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_A));
actionSetActiveAlpha = new QAction(tr("&set Alpha"), this);
actionSetActiveAlpha->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_A));
connect(actionSetActiveAlpha, SIGNAL(triggered()), this, SLOT(slotSetActiveAlpha()));
actionMovePositionUp = new QAction(tr("&move Up"), this);
@@ -382,76 +382,76 @@ void IntelliPhotoGui::createActions(){
actionMoveLayerDown->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_Down));
connect(actionMoveLayerDown, SIGNAL(triggered()), this, SLOT(slotMoveLayerDown()));
//Create Update RenderSettings Actions here
actionUpdateRenderSettingsOn = new QAction(tr("&On"), this);
actionUpdateRenderSettingsOn->setShortcut(QKeySequence(Qt::ALT +Qt::SHIFT + +Qt::Key_A));
connect(actionUpdateRenderSettingsOn, SIGNAL(triggered()),this, SLOT(slotUpdateRenderSettingsOn()));
//Create Update RenderSettings Actions here
actionUpdateRenderSettingsOn = new QAction(tr("&On"), this);
actionUpdateRenderSettingsOn->setShortcut(QKeySequence(Qt::ALT +Qt::SHIFT + +Qt::Key_A));
connect(actionUpdateRenderSettingsOn, SIGNAL(triggered()),this, SLOT(slotUpdateRenderSettingsOn()));
actionUpdateRenderSettingsOff = new QAction(tr("&Off"), this);
actionUpdateRenderSettingsOff->setShortcut(QKeySequence(Qt::ALT +Qt::SHIFT + +Qt::Key_D));
connect(actionUpdateRenderSettingsOff, SIGNAL(triggered()),this, SLOT(slotUpdateRenderSettingsOff()));
actionUpdateRenderSettingsOff = new QAction(tr("&Off"), this);
actionUpdateRenderSettingsOff->setShortcut(QKeySequence(Qt::ALT +Qt::SHIFT + +Qt::Key_D));
connect(actionUpdateRenderSettingsOff, SIGNAL(triggered()),this, SLOT(slotUpdateRenderSettingsOff()));
//Create Color Actions here
actionColorPickerFirstColor = new QAction(tr("&Main"), this);
actionColorPickerFirstColor->setShortcut(QKeySequence(Qt::ALT + Qt::Key_N));
actionColorPickerFirstColor->setShortcut(QKeySequence(Qt::ALT + Qt::Key_N));
connect(actionColorPickerFirstColor, SIGNAL(triggered()), this, SLOT(slotSetFirstColor()));
connect(FirstColorButton, SIGNAL(clicked()), this, SLOT(slotSetFirstColor()));
actionColorPickerSecondColor = new QAction(tr("&Secondary"), this);
actionColorPickerSecondColor->setShortcut(QKeySequence(Qt::ALT + Qt::Key_M));
actionColorPickerSecondColor->setShortcut(QKeySequence(Qt::ALT + Qt::Key_M));
connect(actionColorPickerSecondColor, SIGNAL(triggered()), this, SLOT(slotSetSecondColor()));
connect(SecondColorButton, SIGNAL(clicked()), this, SLOT(slotSetSecondColor()));
actionColorSwap = new QAction(tr("&Switch"), this);
actionColorSwap->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_S));
actionColorSwap->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_S));
connect(actionColorSwap, SIGNAL(triggered()), this, SLOT(slotSwapColor()));
connect(SwitchColorButton, SIGNAL(clicked()), this, SLOT(slotSwapColor()));
//Create Tool actions down here
actionCreatePlainTool = new QAction(tr("&Plain"), this);
actionCreatePlainTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT +Qt::Key_P));
actionCreatePlainTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT +Qt::Key_P));
connect(actionCreatePlainTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
connect(actionCreatePlainTool, SIGNAL(triggered()), this, SLOT(slotCreatePlainTool()));
actionCreatePenTool = new QAction(tr("&Pen"),this);
actionCreatePenTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT +Qt::Key_S));
actionCreatePenTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT +Qt::Key_S));
connect(actionCreatePenTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
connect(actionCreatePenTool, SIGNAL(triggered()), this, SLOT(slotCreatePenTool()));
actionCreateLineTool = new QAction(tr("&Line"), this);
actionCreateLineTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT +Qt::Key_L));
actionCreateLineTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT +Qt::Key_L));
connect(actionCreateLineTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
connect(actionCreateLineTool, SIGNAL(triggered()), this, SLOT(slotCreateLineTool()));
actionCreateCircleTool = new QAction(tr("&Circle"), this);
actionCreateCircleTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT +Qt::Key_C));
actionCreateCircleTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT +Qt::Key_C));
connect(actionCreateCircleTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
connect(actionCreateCircleTool, SIGNAL(triggered()), this, SLOT(slotCreateCircleTool()));
actionCreateRectangleTool = new QAction(tr("&Rectangle"), this);
actionCreateRectangleTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT +Qt::Key_R));
actionCreateRectangleTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT +Qt::Key_R));
connect(actionCreateRectangleTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
connect(actionCreateRectangleTool, SIGNAL(triggered()), this, SLOT(slotCreateRectangleTool()));
actionCreatePolygonTool = new QAction(tr("&Polygon"), this);
actionCreatePolygonTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT +Qt::Key_V));
actionCreatePolygonTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT +Qt::Key_V));
connect(actionCreatePolygonTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
connect(actionCreatePolygonTool, SIGNAL(triggered()), this, SLOT(slotCreatePolygonTool()));
actionCreateFloodFillTool = new QAction(tr("&FloodFill"), this);
actionCreateFloodFillTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT +Qt::Key_F));
actionCreateFloodFillTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT +Qt::Key_F));
connect(actionCreateFloodFillTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
connect(actionCreateFloodFillTool, SIGNAL(triggered()), this, SLOT(slotCreateFloodFillTool()));
// Create about action and tie to IntelliPhotoGui::about()
actionAboutDialog = new QAction(tr("&About"), this);
actionAboutDialog->setShortcut(Qt::Key_F2);
actionAboutDialog->setShortcut(Qt::Key_F2);
connect(actionAboutDialog, SIGNAL(triggered()), this, SLOT(slotAboutDialog()));
// Create about Qt action and tie to IntelliPhotoGui::aboutQt()
actionAboutQtDialog = new QAction(tr("About &Qt"), this);
actionAboutQtDialog->setShortcut(Qt::Key_F3);
actionAboutQtDialog->setShortcut(Qt::Key_F3);
connect(actionAboutQtDialog, SIGNAL(triggered()), qApp, SLOT(aboutQt()));
connect(EditLineWidth, SIGNAL(returnPressed()), this, SLOT(slotEnterPressed()));
@@ -478,13 +478,13 @@ void IntelliPhotoGui::createActions(){
connect(RectangleButton,SIGNAL(pressed()), this, SLOT(slotResetTools()));
connect(RectangleButton, SIGNAL(clicked()), this, SLOT(slotCreateRectangleTool()));
actionSetWidth = new QAction(tr("&Set Width"),this);
actionSetWidth->setShortcut(QKeySequence(Qt::ALT + Qt::Key_W));
connect(actionSetWidth, SIGNAL(triggered()), this, SLOT(slotSetWidth()));
actionSetWidth = new QAction(tr("&Set Width"),this);
actionSetWidth->setShortcut(QKeySequence(Qt::ALT + Qt::Key_W));
connect(actionSetWidth, SIGNAL(triggered()), this, SLOT(slotSetWidth()));
actionSetInnerAlpha = new QAction(tr("&Set Inner Alpha"),this);
actionSetInnerAlpha->setShortcut(QKeySequence(Qt::ALT + Qt::Key_A));
connect(actionSetInnerAlpha, SIGNAL(triggered()), this, SLOT(slotSetInnerAlpha()));
actionSetInnerAlpha = new QAction(tr("&Set Inner Alpha"),this);
actionSetInnerAlpha->setShortcut(QKeySequence(Qt::ALT + Qt::Key_A));
connect(actionSetInnerAlpha, SIGNAL(triggered()), this, SLOT(slotSetInnerAlpha()));
}
// Create the menubar
@@ -501,61 +501,61 @@ void IntelliPhotoGui::createMenus(){
fileMenu->addSeparator();
fileMenu->addAction(actionExit);
//Attach all actions to Render Settings
renderMenu = new QMenu(tr("&Fast Renderer"), this);
renderMenu->addAction(actionUpdateRenderSettingsOn);
renderMenu->addAction(actionUpdateRenderSettingsOff);
//Attach all actions to Render Settings
renderMenu = new QMenu(tr("&Fast Renderer"), this);
renderMenu->addAction(actionUpdateRenderSettingsOn);
renderMenu->addAction(actionUpdateRenderSettingsOff);
// Attach all actions to Layer
layerMenu = new QMenu(tr("&Layer"), this);
layerMenu->addAction(actionCreateNewLayer);
layerMenu->addSeparator();
layerMenu->addAction(actionSetActiveAlpha);
layerMenu->addAction(actionSetActiveLayer);
layerMenu->addSeparator();
layerMenu->addAction(actionMovePositionUp);
layerMenu->addAction(actionMovePositionDown);
layerMenu->addAction(actionMovePositionLeft);
layerMenu->addAction(actionMovePositionRight);
layerMenu->addAction(actionMoveLayerUp);
layerMenu->addAction(actionMoveLayerDown);
layerMenu->addSeparator();
layerMenu->addAction(actionDeleteLayer);
// Attach all actions to Layer
layerMenu = new QMenu(tr("&Layer"), this);
layerMenu->addAction(actionCreateNewLayer);
layerMenu->addSeparator();
layerMenu->addAction(actionSetActiveAlpha);
layerMenu->addAction(actionSetActiveLayer);
layerMenu->addSeparator();
layerMenu->addAction(actionMovePositionUp);
layerMenu->addAction(actionMovePositionDown);
layerMenu->addAction(actionMovePositionLeft);
layerMenu->addAction(actionMovePositionRight);
layerMenu->addAction(actionMoveLayerUp);
layerMenu->addAction(actionMoveLayerDown);
layerMenu->addSeparator();
layerMenu->addAction(actionDeleteLayer);
//Attach all Color Options
colorMenu = new QMenu(tr("&Color"), this);
colorMenu->addAction(actionColorPickerFirstColor);
colorMenu->addAction(actionColorPickerSecondColor);
colorMenu->addAction(actionColorSwap);
//Attach all Color Options
colorMenu = new QMenu(tr("&Color"), this);
colorMenu->addAction(actionColorPickerFirstColor);
colorMenu->addAction(actionColorPickerSecondColor);
colorMenu->addAction(actionColorSwap);
//Attach all Tool Creation Actions
toolCreationMenu = new QMenu(tr("&Drawingtools"), this);
toolCreationMenu->addAction(actionCreateCircleTool);
toolCreationMenu->addAction(actionCreateFloodFillTool);
toolCreationMenu->addAction(actionCreateLineTool);
toolCreationMenu->addAction(actionCreatePenTool);
toolCreationMenu->addAction(actionCreatePlainTool);
toolCreationMenu->addAction(actionCreatePolygonTool);
toolCreationMenu->addAction(actionCreateRectangleTool);
//Attach all Tool Creation Actions
toolCreationMenu = new QMenu(tr("&Drawingtools"), this);
toolCreationMenu->addAction(actionCreateCircleTool);
toolCreationMenu->addAction(actionCreateFloodFillTool);
toolCreationMenu->addAction(actionCreateLineTool);
toolCreationMenu->addAction(actionCreatePenTool);
toolCreationMenu->addAction(actionCreatePlainTool);
toolCreationMenu->addAction(actionCreatePolygonTool);
toolCreationMenu->addAction(actionCreateRectangleTool);
//Attach all Tool Setting Actions
toolSettingsMenu = new QMenu(tr("&Toolsettings"), this);
toolSettingsMenu->addAction(actionSetWidth);
toolSettingsMenu->addAction(actionSetInnerAlpha);
//Attach all Tool Setting Actions
toolSettingsMenu = new QMenu(tr("&Toolsettings"), this);
toolSettingsMenu->addAction(actionSetWidth);
toolSettingsMenu->addAction(actionSetInnerAlpha);
//Attach all Tool Options
toolMenu = new QMenu(tr("&Tools"), this);
toolMenu->addMenu(toolCreationMenu);
toolMenu->addMenu(toolSettingsMenu);
toolMenu->addSeparator();
toolMenu->addMenu(colorMenu);
//Attach all Tool Options
toolMenu = new QMenu(tr("&Tools"), this);
toolMenu->addMenu(toolCreationMenu);
toolMenu->addMenu(toolSettingsMenu);
toolMenu->addSeparator();
toolMenu->addMenu(colorMenu);
// Attach all actions to Options
optionMenu = new QMenu(tr("&Options"), this);
optionMenu->addMenu(layerMenu);
optionMenu->addMenu(toolMenu);
optionMenu->addSeparator();
optionMenu->addMenu(renderMenu);
optionMenu->addMenu(layerMenu);
optionMenu->addMenu(toolMenu);
optionMenu->addSeparator();
optionMenu->addMenu(renderMenu);
// Attach all actions to Help
helpMenu = new QMenu(tr("&Help"), this);
@@ -579,63 +579,63 @@ void IntelliPhotoGui::createGui(){
// create Gui elements
paintingArea = new PaintingArea();
paintingArea->DummyGui = this;
paintingArea->DummyGui = this;
preview = QPixmap(":/Icons/Buttons/icons/circle-tool.svg");
preview = QPixmap(":/Icons/Buttons/icons/circle-tool.svg");
CircleButton = new QPushButton();
CircleButton->setFixedSize(Buttonsize);
CircleButton->setIcon(preview);
CircleButton->setIconSize(Buttonsize);
CircleButton->setFixedSize(Buttonsize);
CircleButton->setIcon(preview);
CircleButton->setIconSize(Buttonsize);
CircleButton->setCheckable(true);
preview = QPixmap(":/Icons/Buttons/icons/flood-fill-tool.svg");
preview = QPixmap(":/Icons/Buttons/icons/flood-fill-tool.svg");
FloodFillButton = new QPushButton();
FloodFillButton->setFixedSize(Buttonsize);
FloodFillButton->setIcon(preview);
FloodFillButton->setIcon(preview);
FloodFillButton->setIconSize(Buttonsize);
FloodFillButton->setCheckable(true);
preview = QPixmap(":/Icons/Buttons/icons/line-tool.svg");
preview = QPixmap(":/Icons/Buttons/icons/line-tool.svg");
LineButton = new QPushButton();
LineButton->setFixedSize(Buttonsize);
LineButton->setIcon(preview);
LineButton->setIcon(preview);
LineButton->setIconSize(Buttonsize);
LineButton->setCheckable(true);
preview = QPixmap(":/Icons/Buttons/icons/pen-tool.svg");
preview = QPixmap(":/Icons/Buttons/icons/pen-tool.svg");
PenButton = new QPushButton();
PenButton->setFixedSize(Buttonsize);
PenButton->setIcon(preview);
PenButton->setIcon(preview);
PenButton->setIconSize(Buttonsize);
PenButton->setCheckable(true);
preview = QPixmap(":/Icons/Buttons/icons/plain-tool.svg");
preview = QPixmap(":/Icons/Buttons/icons/plain-tool.svg");
PlainButton = new QPushButton();
PlainButton->setFixedSize(Buttonsize);
PlainButton->setIcon(preview);
PlainButton->setIcon(preview);
PlainButton->setIconSize(Buttonsize);
PlainButton->setCheckable(true);
preview = QPixmap(":/Icons/Buttons/icons/polygon-tool.svg");
preview = QPixmap(":/Icons/Buttons/icons/polygon-tool.svg");
PolygonButton = new QPushButton();
PolygonButton->setFixedSize(Buttonsize);
PolygonButton->setIcon(preview);
PolygonButton->setIcon(preview);
PolygonButton->setIconSize(Buttonsize);
PolygonButton->setCheckable(true);
preview = QPixmap(":/Icons/Buttons/icons/rectangle-tool.svg");
preview = QPixmap(":/Icons/Buttons/icons/rectangle-tool.svg");
RectangleButton = new QPushButton();
RectangleButton->setFixedSize(Buttonsize);
RectangleButton->setIcon(preview);
RectangleButton->setIcon(preview);
RectangleButton->setIconSize(Buttonsize);
RectangleButton->setCheckable(true);
WidthLine = new QLabel();
WidthLine->setText("Width");
WidthLine->setFixedSize(Buttonsize.width()*2,(Buttonsize.height()*2)/3);
WidthLine->setFixedSize(Buttonsize.width()*2,(Buttonsize.height()*2)/3);
EditLineWidth = new QLineEdit();
EditLineWidth->setFixedSize(Buttonsize.width()*2,(Buttonsize.height()*2)/3);
EditLineWidth->setFixedSize(Buttonsize.width()*2,(Buttonsize.height()*2)/3);
EditLineWidth->setText("5");
ValidatorLineWidth = new QIntValidator();
ValidatorLineWidth->setTop(99);
@@ -644,10 +644,10 @@ void IntelliPhotoGui::createGui(){
innerAlphaLine = new QLabel();
innerAlphaLine->setText("Inner Alpha");
innerAlphaLine->setFixedSize(Buttonsize.width()*2,(Buttonsize.height()*2)/3);
innerAlphaLine->setFixedSize(Buttonsize.width()*2,(Buttonsize.height()*2)/3);
EditLineInnerAlpha = new QLineEdit();
EditLineInnerAlpha->setFixedSize(Buttonsize.width()*2,(Buttonsize.height()*2)/3);
EditLineInnerAlpha->setFixedSize(Buttonsize.width()*2,(Buttonsize.height()*2)/3);
EditLineInnerAlpha->setText("255");
ValidatorInnerAlpha = new QIntValidator();
ValidatorInnerAlpha->setTop(999);
@@ -655,87 +655,87 @@ void IntelliPhotoGui::createGui(){
EditLineInnerAlpha->setValidator(ValidatorInnerAlpha);
FirstColorButton = new QPushButton();
FirstColorButton->setFixedSize(Buttonsize);
FirstColorButton->setFixedSize(Buttonsize);
SecondColorButton = new QPushButton();
SecondColorButton->setFixedSize(Buttonsize);
SecondColorButton->setFixedSize(Buttonsize);
preview = QPixmap(":/Icons/Buttons/icons/Wechselpfeile.png");
preview = QPixmap(":/Icons/Buttons/icons/Wechselpfeile.png");
SwitchColorButton = new QPushButton();
SwitchColorButton->setFixedSize(Buttonsize.width()*2,Buttonsize.height());
SwitchColorButton->setIcon(preview);
SwitchColorButton->setIconSize(QSize(Buttonsize.width()*2,Buttonsize.height()));
SwitchColorButton->setFixedSize(Buttonsize.width()*2,Buttonsize.height());
SwitchColorButton->setIcon(preview);
SwitchColorButton->setIconSize(QSize(Buttonsize.width()*2,Buttonsize.height()));
ActiveLayerLine = new QLabel();
QString string = QString("Active Layer: %1").arg(paintingArea->getNumberOfActiveLayer() + 1);
QString string = QString("Active Layer: %1").arg(paintingArea->getNumberOfActiveLayer() + 1);
ActiveLayerLine->setText(string);
ActiveLayerLine->setFixedSize(Buttonsize.width()*2+10,(Buttonsize.height()*2)/3);
ActiveLayerLine->setFixedSize(Buttonsize.width()*2+10,(Buttonsize.height()*2)/3);
IntelliImage* activePicture = paintingArea->getImageOfActiveLayer();
if(activePicture){
preview = preview.fromImage(activePicture->getImageData());
}else{
QImage tmp(1,1,QImage::Format_ARGB32);
tmp.fill(Qt::transparent);
preview = preview.fromImage(tmp);
}
IntelliImage* activePicture = paintingArea->getImageOfActiveLayer();
if(activePicture) {
preview = preview.fromImage(activePicture->getImageData());
}else{
QImage tmp(1,1,QImage::Format_ARGB32);
tmp.fill(Qt::transparent);
preview = preview.fromImage(tmp);
}
ActiveLayerImageLabel = new QLabel();
ActiveLayerImageLabel->setFixedSize(Buttonsize*2);
ActiveLayerImageLabel->setPixmap(preview.scaled(Buttonsize*2));
ActiveLayerImageLabel = new QLabel();
ActiveLayerImageLabel->setFixedSize(Buttonsize*2);
ActiveLayerImageLabel->setPixmap(preview.scaled(Buttonsize*2));
// set gui elements
mainLayout->addWidget(paintingArea,1,1,20,1);
mainLayout->addWidget(CircleButton,1,2,1,1);
mainLayout->addWidget(FloodFillButton,1,3,1,1);
mainLayout->addWidget(LineButton,2,2,1,1);
mainLayout->addWidget(PenButton,2,3,1,1);
mainLayout->addWidget(PlainButton,3,2,1,1);
mainLayout->addWidget(PolygonButton,3,3,1,1);
mainLayout->addWidget(RectangleButton,4,2,1,1);
mainLayout->addWidget(WidthLine,5,2,1,2);
mainLayout->addWidget(EditLineWidth,6,2,1,2);
mainLayout->addWidget(innerAlphaLine,7,2,1,2);
mainLayout->addWidget(EditLineInnerAlpha,8,2,1,2);
mainLayout->addWidget(FirstColorButton,9,2,1,1);
mainLayout->addWidget(SecondColorButton,9,3,1,1);
mainLayout->addWidget(SwitchColorButton,10,2,1,2);
mainLayout->addWidget(ActiveLayerLine,11,2,1,2);
mainLayout->addWidget(ActiveLayerImageLabel,12,2,1,2);
mainLayout->setHorizontalSpacing(0);
mainLayout->addWidget(CircleButton,1,2,1,1);
mainLayout->addWidget(FloodFillButton,1,3,1,1);
mainLayout->addWidget(LineButton,2,2,1,1);
mainLayout->addWidget(PenButton,2,3,1,1);
mainLayout->addWidget(PlainButton,3,2,1,1);
mainLayout->addWidget(PolygonButton,3,3,1,1);
mainLayout->addWidget(RectangleButton,4,2,1,1);
mainLayout->addWidget(WidthLine,5,2,1,2);
mainLayout->addWidget(EditLineWidth,6,2,1,2);
mainLayout->addWidget(innerAlphaLine,7,2,1,2);
mainLayout->addWidget(EditLineInnerAlpha,8,2,1,2);
mainLayout->addWidget(FirstColorButton,9,2,1,1);
mainLayout->addWidget(SecondColorButton,9,3,1,1);
mainLayout->addWidget(SwitchColorButton,10,2,1,2);
mainLayout->addWidget(ActiveLayerLine,11,2,1,2);
mainLayout->addWidget(ActiveLayerImageLabel,12,2,1,2);
mainLayout->setHorizontalSpacing(0);
}
void IntelliPhotoGui::setIntelliStyle(){
// Set the title
setWindowTitle("IntelliPhoto Prototype");
Palette.setBrush(QPalette::HighlightedText, QColor(200, 10, 10));
Palette.setBrush(QPalette::Highlight, QColor(100, 5, 5));
Palette.setBrush(QPalette::ButtonText, QColor(255, 255, 255));
Palette.setBrush(QPalette::Button, QColor(64, 64, 64));
Palette.setBrush(QPalette::Window, QColor(64, 64, 64));
Palette.setBrush(QPalette::WindowText, QColor(255, 255, 255));
Palette.setBrush(QPalette::PlaceholderText, QColor(255, 255, 255));
Palette.setBrush(QPalette::ToolTipText, QColor(255, 255, 255));
Palette.setBrush(QPalette::Text, QColor(255, 255, 255));
Palette.setBrush(QPalette::HighlightedText, QColor(200, 10, 10));
Palette.setBrush(QPalette::Highlight, QColor(100, 5, 5));
Palette.setBrush(QPalette::ButtonText, QColor(255, 255, 255));
Palette.setBrush(QPalette::Button, QColor(64, 64, 64));
Palette.setBrush(QPalette::Window, QColor(64, 64, 64));
Palette.setBrush(QPalette::WindowText, QColor(255, 255, 255));
Palette.setBrush(QPalette::PlaceholderText, QColor(255, 255, 255));
Palette.setBrush(QPalette::ToolTipText, QColor(255, 255, 255));
Palette.setBrush(QPalette::Text, QColor(255, 255, 255));
// Set style sheet
this->setStyleSheet("background-color:rgb(64,64,64)");
this->menuBar()->setPalette(Palette);
this->fileMenu->setPalette(Palette);
this->saveAsMenu->setPalette(Palette);
this->optionMenu->setPalette(Palette);
this->helpMenu->setPalette(Palette);
this->renderMenu->setPalette(Palette);
this->toolMenu->setPalette(Palette);
this->layerMenu->setPalette(Palette);
this->colorMenu->setPalette(Palette);
this->toolCreationMenu->setPalette(Palette);
this->toolSettingsMenu->setPalette(Palette);
this->setStyleSheet("background-color:rgb(64,64,64)");
this->menuBar()->setPalette(Palette);
this->fileMenu->setPalette(Palette);
this->saveAsMenu->setPalette(Palette);
this->optionMenu->setPalette(Palette);
this->helpMenu->setPalette(Palette);
this->renderMenu->setPalette(Palette);
this->toolMenu->setPalette(Palette);
this->layerMenu->setPalette(Palette);
this->colorMenu->setPalette(Palette);
this->toolCreationMenu->setPalette(Palette);
this->toolSettingsMenu->setPalette(Palette);
this->WidthLine->setPalette(Palette);
this->EditLineWidth->setPalette(Palette);
this->innerAlphaLine->setPalette(Palette);
this->EditLineInnerAlpha->setPalette(Palette);
this->ActiveLayerLine->setPalette(Palette);
this->WidthLine->setPalette(Palette);
this->EditLineWidth->setPalette(Palette);
this->innerAlphaLine->setPalette(Palette);
this->EditLineInnerAlpha->setPalette(Palette);
this->ActiveLayerLine->setPalette(Palette);
QString string = QString("background-color: %1").arg(paintingArea->colorPicker.getFirstColor().name());
FirstColorButton->setStyleSheet(string);
@@ -796,27 +796,27 @@ void IntelliPhotoGui::setDefaultToolValue(){
}
void IntelliPhotoGui::setToolWidth(int value){
if(value < 1){
value = 1;
}else if(value > 50){
value = 50;
}
EditLineWidth->setText(QString("%1").arg(value));
if(value < 1) {
value = 1;
}else if(value > 50) {
value = 50;
}
EditLineWidth->setText(QString("%1").arg(value));
}
void IntelliPhotoGui::UpdateGui(){
QString string = QString("Active Layer: %1").arg(paintingArea->getNumberOfActiveLayer() + 1);
QString string = QString("Active Layer: %1").arg(paintingArea->getNumberOfActiveLayer() + 1);
ActiveLayerLine->setText(string);
IntelliImage* activePicture = paintingArea->getImageOfActiveLayer();
if(activePicture){
preview = preview.fromImage(activePicture->getImageData());
}else{
QImage tmp(1,1,QImage::Format_ARGB32);
tmp.fill(Qt::transparent);
preview = preview.fromImage(tmp);
}
ActiveLayerImageLabel->setPixmap(preview.scaled(Buttonsize*2));
IntelliImage* activePicture = paintingArea->getImageOfActiveLayer();
if(activePicture) {
preview = preview.fromImage(activePicture->getImageData());
}else{
QImage tmp(1,1,QImage::Format_ARGB32);
tmp.fill(Qt::transparent);
preview = preview.fromImage(tmp);
}
ActiveLayerImageLabel->setPixmap(preview.scaled(Buttonsize*2));
string = QString("background-color: %1").arg(paintingArea->colorPicker.getFirstColor().name());
FirstColorButton->setStyleSheet(string);

View File

@@ -3,15 +3,15 @@
#include <QPainter>
IntelliImage::IntelliImage(int width, int height, bool fastRendererOn)
: imageData(QSize(width, height), fastRendererOn ? QImage::Format_Indexed8 : QImage::Format_ARGB32){
if(fastRendererOn){
imageData = imageData.convertToFormat(QImage::Format_ARGB32);
}
imageData.fill(QColor(255,255,255,255));
if(fastRendererOn){
imageData = imageData.convertToFormat(QImage::Format_Indexed8);
}
this->fastRenderering = fastRendererOn;
: imageData(QSize(width, height), fastRendererOn ? QImage::Format_Indexed8 : QImage::Format_ARGB32){
if(fastRendererOn) {
imageData = imageData.convertToFormat(QImage::Format_ARGB32);
}
imageData.fill(QColor(255,255,255,255));
if(fastRendererOn) {
imageData = imageData.convertToFormat(QImage::Format_Indexed8);
}
this->fastRenderering = fastRendererOn;
}
@@ -30,7 +30,7 @@ bool IntelliImage::loadImage(const QString &filePath){
// scaled Image to size of Layer
loadedImage = loadedImage.scaled(imageData.size(),Qt::IgnoreAspectRatio);
imageData = loadedImage.convertToFormat(fastRenderering ? QImage::Format_Indexed8 : QImage::Format_ARGB32);
imageData = loadedImage.convertToFormat(fastRenderering ? QImage::Format_Indexed8 : QImage::Format_ARGB32);
return true;
}
@@ -46,19 +46,19 @@ void IntelliImage::resizeImage(QImage*image, const QSize &newSize){
// Draw the image
QPainter painter(&newImage);
painter.drawImage(QPoint(0, 0), *image);
if(fastRenderering){
*image = newImage.convertToFormat(QImage::Format_Indexed8);
}
else{
*image = newImage;
}
if(fastRenderering) {
*image = newImage.convertToFormat(QImage::Format_Indexed8);
}
else{
*image = newImage;
}
}
void IntelliImage::drawPixel(const QPoint &p1, const QColor& color){
if(fastRenderering){
this->imageData = this->imageData.convertToFormat(QImage::Format_ARGB32);
}
// Used to draw on the widget
if(fastRenderering) {
this->imageData = this->imageData.convertToFormat(QImage::Format_ARGB32);
}
// Used to draw on the widget
QPainter painter(&imageData);
// Set the current settings for the pen
@@ -66,32 +66,32 @@ void IntelliImage::drawPixel(const QPoint &p1, const QColor& color){
// Draw a line from the last registered point to the current
painter.drawPoint(p1);
if(fastRenderering){
this->imageData = this->imageData.convertToFormat(QImage::Format_Indexed8);
}
if(fastRenderering) {
this->imageData = this->imageData.convertToFormat(QImage::Format_Indexed8);
}
}
void IntelliImage::drawPoint(const QPoint &p1, const QColor& color, const int& penWidth){
if(fastRenderering){
this->imageData = this->imageData.convertToFormat(QImage::Format_ARGB32);
}
// Used to draw on the widget
if(fastRenderering) {
this->imageData = this->imageData.convertToFormat(QImage::Format_ARGB32);
}
// Used to draw on the widget
QPainter painter(&imageData);
// Set the current settings for the pen
painter.setPen(QPen(color, penWidth, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
// Draw a line from the last registered point to the current
painter.drawPoint(p1);
if(fastRenderering){
this->imageData = this->imageData.convertToFormat(QImage::Format_Indexed8);
}
if(fastRenderering) {
this->imageData = this->imageData.convertToFormat(QImage::Format_Indexed8);
}
}
void IntelliImage::drawLine(const QPoint &p1, const QPoint& p2, const QColor& color, const int& penWidth){
if(fastRenderering){
this->imageData = this->imageData.convertToFormat(QImage::Format_ARGB32);
}
// Used to draw on the widget
if(fastRenderering) {
this->imageData = this->imageData.convertToFormat(QImage::Format_ARGB32);
}
// Used to draw on the widget
QPainter painter(&imageData);
// Set the current settings for the pen
@@ -99,53 +99,53 @@ void IntelliImage::drawLine(const QPoint &p1, const QPoint& p2, const QColor& co
// Draw a line from the last registered point to the current
painter.drawLine(p1, p2);
if(fastRenderering){
this->imageData = this->imageData.convertToFormat(QImage::Format_Indexed8);
}
if(fastRenderering) {
this->imageData = this->imageData.convertToFormat(QImage::Format_Indexed8);
}
}
void IntelliImage::drawPlain(const QColor& color){
if(fastRenderering){
this->imageData = this->imageData.convertToFormat(QImage::Format_ARGB32);
}
imageData.fill(color);
if(fastRenderering){
this->imageData = this->imageData.convertToFormat(QImage::Format_Indexed8);
}
if(fastRenderering) {
this->imageData = this->imageData.convertToFormat(QImage::Format_ARGB32);
}
imageData.fill(color);
if(fastRenderering) {
this->imageData = this->imageData.convertToFormat(QImage::Format_Indexed8);
}
}
QColor IntelliImage::getPixelColor(QPoint& point){
if(fastRenderering){
QImage copy = this->imageData.convertToFormat(QImage::Format_ARGB32);
return copy.pixelColor(point);
}
return imageData.pixelColor(point);
if(fastRenderering) {
QImage copy = this->imageData.convertToFormat(QImage::Format_ARGB32);
return copy.pixelColor(point);
}
return imageData.pixelColor(point);
}
QImage IntelliImage::getImageData(){
QImage copy = imageData;
if(fastRenderering){
copy = copy.convertToFormat(QImage::Format_ARGB32);
}
return copy;
QImage copy = imageData;
if(fastRenderering) {
copy = copy.convertToFormat(QImage::Format_ARGB32);
}
return copy;
}
void IntelliImage::setImageData(const QImage& newData){
imageData = newData;
if(fastRenderering){
this->imageData = imageData.convertToFormat(QImage::Format_Indexed8);
}
else {
this->imageData = imageData.convertToFormat(QImage::Format_ARGB32);
}
imageData = newData;
if(fastRenderering) {
this->imageData = imageData.convertToFormat(QImage::Format_Indexed8);
}
else {
this->imageData = imageData.convertToFormat(QImage::Format_ARGB32);
}
}
void IntelliImage::updateRendererSetting(bool fastRendererOn){
this->fastRenderering = fastRendererOn;
if(fastRenderering){
this->imageData = imageData.convertToFormat(QImage::Format_Indexed8);
}
else {
this->imageData = imageData.convertToFormat(QImage::Format_ARGB32);
}
this->fastRenderering = fastRendererOn;
if(fastRenderering) {
this->imageData = imageData.convertToFormat(QImage::Format_Indexed8);
}
else {
this->imageData = imageData.convertToFormat(QImage::Format_ARGB32);
}
}

View File

@@ -4,9 +4,9 @@
#include <QDebug>
IntelliRasterImage::IntelliRasterImage(int width, int height, bool fastRendererOn)
: IntelliImage(width, height, fastRendererOn){
TypeOfImage = IntelliImage::ImageType::RASTERIMAGE;
this->fastRenderering = fastRendererOn;
: IntelliImage(width, height, fastRendererOn){
TypeOfImage = IntelliImage::ImageType::RASTERIMAGE;
this->fastRenderering = fastRendererOn;
}
IntelliRasterImage::~IntelliRasterImage(){
@@ -30,9 +30,9 @@ QImage IntelliRasterImage::getDisplayable(int alpha){
QImage IntelliRasterImage::getDisplayable(const QSize& displaySize, int alpha){
QImage copy = imageData;
if(fastRenderering){
copy = copy.convertToFormat(QImage::Format_ARGB32);
}
if(fastRenderering) {
copy = copy.convertToFormat(QImage::Format_ARGB32);
}
for(int y = 0; y<copy.height(); y++) {
for(int x = 0; x<copy.width(); x++) {
QColor clr = copy.pixelColor(x,y);
@@ -40,9 +40,9 @@ QImage IntelliRasterImage::getDisplayable(const QSize& displaySize, int alpha){
copy.setPixelColor(x,y, clr);
}
}
if(fastRenderering){
copy = copy.convertToFormat(QImage::Format_Indexed8);
}
if(fastRenderering) {
copy = copy.convertToFormat(QImage::Format_Indexed8);
}
return copy.scaled(displaySize,Qt::IgnoreAspectRatio);
}

View File

@@ -5,9 +5,9 @@
#include <QDebug>
IntelliShapedImage::IntelliShapedImage(int width, int height, bool fastRendererOn)
: IntelliRasterImage(width, height, fastRendererOn){
TypeOfImage = IntelliImage::ImageType::SHAPEDIMAGE;
this->fastRenderering = fastRendererOn;
: IntelliRasterImage(width, height, fastRendererOn){
TypeOfImage = IntelliImage::ImageType::SHAPEDIMAGE;
this->fastRenderering = fastRendererOn;
}
IntelliShapedImage::~IntelliShapedImage(){
@@ -27,9 +27,9 @@ IntelliImage* IntelliShapedImage::getDeepCopy(){
}
void IntelliShapedImage::calculateVisiblity(){
if(fastRenderering){
this->imageData = imageData.convertToFormat(QImage::Format_ARGB32);
}
if(fastRenderering) {
this->imageData = imageData.convertToFormat(QImage::Format_ARGB32);
}
if(polygonData.size()<=2) {
QColor clr;
@@ -40,9 +40,9 @@ void IntelliShapedImage::calculateVisiblity(){
imageData.setPixelColor(x,y,clr);
}
}
if(fastRenderering){
this->imageData = this->imageData.convertToFormat(QImage::Format_Indexed8);
}
if(fastRenderering) {
this->imageData = this->imageData.convertToFormat(QImage::Format_Indexed8);
}
return;
}
QColor clr;
@@ -59,16 +59,16 @@ void IntelliShapedImage::calculateVisiblity(){
imageData.setPixelColor(x,y,clr);
}
}
if(fastRenderering){
this->imageData = this->imageData.convertToFormat(QImage::Format_Indexed8);
}
if(fastRenderering) {
this->imageData = this->imageData.convertToFormat(QImage::Format_Indexed8);
}
}
QImage IntelliShapedImage::getDisplayable(const QSize& displaySize, int alpha){
QImage copy = imageData;
if(fastRenderering){
copy = copy.convertToFormat(QImage::Format_ARGB32);
}
if(fastRenderering) {
copy = copy.convertToFormat(QImage::Format_ARGB32);
}
for(int y = 0; y<copy.height(); y++) {
for(int x = 0; x<copy.width(); x++) {
QColor clr = copy.pixelColor(x,y);
@@ -76,9 +76,9 @@ QImage IntelliShapedImage::getDisplayable(const QSize& displaySize, int alpha){
copy.setPixelColor(x,y, clr);
}
}
if(fastRenderering){
copy = copy.convertToFormat(QImage::Format_Indexed8);
}
if(fastRenderering) {
copy = copy.convertToFormat(QImage::Format_Indexed8);
}
return copy.scaled(displaySize,Qt::IgnoreAspectRatio);
}

View File

@@ -6,9 +6,9 @@ IntelliRenderSettings::IntelliRenderSettings()
}
void IntelliRenderSettings::setFastRendering(bool Updatedsetting){
this->fastRenderering = Updatedsetting;
this->fastRenderering = Updatedsetting;
}
bool IntelliRenderSettings::isFastRenderering(){
return fastRenderering;
return fastRenderering;
}

View File

@@ -43,12 +43,12 @@ PaintingArea::~PaintingArea(){
}
void PaintingArea::setRenderSettings(bool isFastRenderingOn){
if(isFastRenderingOn != renderSettings.isFastRenderering()){
renderSettings.setFastRendering(isFastRenderingOn);
for(auto& layer : layerBundle){
layer.image->updateRendererSetting(isFastRenderingOn);
}
}
if(isFastRenderingOn != renderSettings.isFastRenderering()) {
renderSettings.setFastRendering(isFastRenderingOn);
for(auto& layer : layerBundle) {
layer.image->updateRendererSetting(isFastRenderingOn);
}
}
}
void PaintingArea::setLayerDimensions(int maxWidth, int maxHeight){
@@ -68,10 +68,10 @@ int PaintingArea::addLayer(int width, int height, int widthOffset, int heightOff
newLayer.height = height;
newLayer.widthOffset = widthOffset;
newLayer.heightOffset = heightOffset;
if(type==IntelliImage::ImageType::RASTERIMAGE) {
newLayer.image = new IntelliRasterImage(width,height,renderSettings.isFastRenderering());
}else if(type==IntelliImage::ImageType::SHAPEDIMAGE) {
newLayer.image = new IntelliShapedImage(width, height, renderSettings.isFastRenderering());
if(type==IntelliImage::ImageType::RASTERIMAGE) {
newLayer.image = new IntelliRasterImage(width,height,renderSettings.isFastRenderering());
}else if(type==IntelliImage::ImageType::SHAPEDIMAGE) {
newLayer.image = new IntelliShapedImage(width, height, renderSettings.isFastRenderering());
}
newLayer.alpha = 255;
this->layerBundle.push_back(newLayer);
@@ -83,12 +83,12 @@ int PaintingArea::addLayer(int width, int height, int widthOffset, int heightOff
void PaintingArea::deleteLayer(int idx){
if(idx<static_cast<int>(layerBundle.size())) {
this->layerBundle.erase(layerBundle.begin()+idx);
if(activeLayer>=idx) {
if(activeLayer>=idx) {
activeLayer--;
}
if(activeLayer < 0 && layerBundle.size()){
activeLayer=0;
}
if(activeLayer < 0 && layerBundle.size()) {
activeLayer=0;
}
}
}
@@ -265,9 +265,9 @@ std::vector<QPoint> PaintingArea::getPolygonDataOfRealLayer(){
// left button and if so store the current position
// Set that we are currently drawing
void PaintingArea::mousePressEvent(QMouseEvent*event){
if(this->activeLayer < 0){
return;
}
if(this->activeLayer < 0) {
return;
}
if(Tool == nullptr)
return;
int x = event->x()-layerBundle[static_cast<unsigned long long>(activeLayer)].widthOffset;
@@ -284,9 +284,9 @@ void PaintingArea::mousePressEvent(QMouseEvent*event){
// we call the drawline function which draws a line
// from the last position to the current
void PaintingArea::mouseMoveEvent(QMouseEvent*event){
if(this->activeLayer < 0){
return;
}
if(this->activeLayer < 0) {
return;
}
if(Tool == nullptr)
return;
int x = event->x()-layerBundle[static_cast<unsigned long long>(activeLayer)].widthOffset;
@@ -297,9 +297,9 @@ void PaintingArea::mouseMoveEvent(QMouseEvent*event){
// If the button is released we set variables to stop drawing
void PaintingArea::mouseReleaseEvent(QMouseEvent*event){
if(this->activeLayer < 0)
return;
if(Tool == nullptr)
if(this->activeLayer < 0)
return;
if(Tool == nullptr)
return;
int x = event->x()-layerBundle[static_cast<unsigned long long>(activeLayer)].widthOffset;
int y = event->y()-layerBundle[static_cast<unsigned long long>(activeLayer)].heightOffset;
@@ -312,9 +312,9 @@ void PaintingArea::mouseReleaseEvent(QMouseEvent*event){
}
void PaintingArea::wheelEvent(QWheelEvent*event){
if(this->activeLayer < 0)
return;
if(this->Tool != nullptr) {
if(this->activeLayer < 0)
return;
if(this->Tool != nullptr) {
QPoint numDegrees = event->angleDelta() / 8;
if(!numDegrees.isNull()) {
QPoint numSteps = numDegrees / 15;
@@ -405,9 +405,9 @@ bool PaintingArea::createTempTopLayer(int idx){
newLayer.widthOffset = layerBundle[static_cast<unsigned long long>(idx)].widthOffset;
newLayer.image = layerBundle[static_cast<unsigned long long>(idx)].image->getDeepCopy();
layerBundle.insert(layerBundle.begin()+idx+1,newLayer);
return true;
return true;
}
return false;
return false;
}
IntelliTool* PaintingArea::copyActiveTool(){
@@ -428,8 +428,8 @@ int PaintingArea::getNumberOfActiveLayer(){
}
IntelliImage* PaintingArea::getImageOfActiveLayer(){
if(activeLayer<0){
return nullptr;
}
if(activeLayer<0) {
return nullptr;
}
return layerBundle[activeLayer].image;
}

View File

@@ -43,142 +43,142 @@ Q_OBJECT
friend IntelliTool;
friend IntelliPhotoGui;
public:
/*!
* \brief PaintingArea is the constructor of the PaintingArea class, which initiates the working environment
* \param maxWidth - The maximum amount of pixles that are inside painting area from left to right (default=600px)
* \param maxHeight - The maximum amount of pixles that are inside painting area from top to bottom (default=600px)
* \param parent - The parent window of the main window (default=nullptr)
*/
PaintingArea(int maxWidth=600, int maxHeight=600, QWidget *parent = nullptr);
/*!
* \brief PaintingArea is the constructor of the PaintingArea class, which initiates the working environment
* \param maxWidth - The maximum amount of pixles that are inside painting area from left to right (default=600px)
* \param maxHeight - The maximum amount of pixles that are inside painting area from top to bottom (default=600px)
* \param parent - The parent window of the main window (default=nullptr)
*/
PaintingArea(int maxWidth=600, int maxHeight=600, QWidget*parent = nullptr);
/*!
* \brief This deconstructor is used to clear up the memory and remove the currently active window
*/
~PaintingArea() override;
/*!
* \brief This deconstructor is used to clear up the memory and remove the currently active window
*/
~PaintingArea() override;
// Handles all events
// Handles all events
/*!
* \brief setRenderSettings updates all Images to the new Rendersetting.
* \param isFastRenderingOn is the new given flag for the FastRenderer.
*/
void setRenderSettings(bool isFastRenderingOn);
/*!
* \brief setRenderSettings updates all Images to the new Rendersetting.
* \param isFastRenderingOn is the new given flag for the FastRenderer.
*/
void setRenderSettings(bool isFastRenderingOn);
/*!
* \brief The open method is used for loading a picture into the current layer
* \param fileName - Path and filename which are used to determine where the to-be-opened file is stored
* \return Returns a boolean variable whether the file was successfully opened or not
*/
bool open(const QString &filePath);
/*!
* \brief The save method is used for exporting the current project as one picture
* \param fileName
* \param fileFormat
* \return Returns a boolean variable, true if the file was saved successfully, false if not
*/
bool save(const QString &filePath, const char *fileFormat);
/*!
* \brief The open method is used for loading a picture into the current layer
* \param fileName - Path and filename which are used to determine where the to-be-opened file is stored
* \return Returns a boolean variable whether the file was successfully opened or not
*/
bool open(const QString &filePath);
/*!
* \brief The save method is used for exporting the current project as one picture
* \param fileName
* \param fileFormat
* \return Returns a boolean variable, true if the file was saved successfully, false if not
*/
bool save(const QString &filePath, const char*fileFormat);
/*!
* \brief The addLayer adds a layer to the current project/ painting area
* \param width - Width of the layer in pixles
* \param height - Height of the layer in pixles
* \param widthOffset - Offset of the layer measured to the left border of the painting area in pixles
* \param heightOffset - Offset of the layer measured to the top border of the painting area in pixles
* \param type - Defining the ImageType of the new layer
* \return Returns the number of layers in the project
*/
int addLayer(int width, int height, int widthOffset=0, int heightOffset=0, IntelliImage::ImageType type = IntelliImage::ImageType::RASTERIMAGE);
/*!
* \brief The addLayerAt adds a layer to the current project/ painting area at a specific position in the layer stack
* \param idx - Index of the position the new layer should be added
* \param width - Width of the layer in pixles
* \param height - Height of the layer in pixles
* \param widthOffset - Offset of the layer measured to the left border of the painting area in pixles
* \param heightOffset - Offset of the layer measured to the top border of the painting area in pixles
* \param type - Defining the ImageType of the new layer
* \return Returns the id of the layer position
*/
int addLayerAt(int idx, int width, int height, int widthOffset=0, int heightOffset=0, IntelliImage::ImageType type = IntelliImage::ImageType::RASTERIMAGE);
/*!
* \brief The deleteLayer method removes a layer at a given idx
* \param idx - The index of the layer to be removed
*/
void deleteLayer(int idx);
/*!
* \brief The setLayerToActive method marks a specific layer as active
* \param idx - The index of the layer to be active
*/
void setLayerActive(int idx);
/*!
* \brief The setAlphaOfLayer method sets the alpha value of a specific layer
* \param idx - The index of the layer where the change should be applied
* \param alpha - New alpha value of the layer
*/
void setLayerAlpha(int idx, int alpha);
/*!
* \brief The floodFill method fills a the active layer with a given color
* \param r - Red value of the color the layer should be filled with
* \param g - Green value of the color the layer should be filled with
* \param b - Blue value of the color the layer should be filled with
* \param a - Alpha value of the color the layer should be filled with
*/
void floodFill(int r, int g, int b, int a);
/*!
* \brief The movePositionActive method moves the active layer to certain position
* \param x - The x value the new center of the layer should be at
* \param y - The y value the new center of the layer should be at
*/
void movePositionActive(int x, int y);
/*!
* \brief The moveActiveLayer moves the active layer to a specific position in the layer stack
* \param idx - The index of the new position the layer should be in
*/
void moveActiveLayer(int idx);
/*!
* \brief The addLayer adds a layer to the current project/ painting area
* \param width - Width of the layer in pixles
* \param height - Height of the layer in pixles
* \param widthOffset - Offset of the layer measured to the left border of the painting area in pixles
* \param heightOffset - Offset of the layer measured to the top border of the painting area in pixles
* \param type - Defining the ImageType of the new layer
* \return Returns the number of layers in the project
*/
int addLayer(int width, int height, int widthOffset=0, int heightOffset=0, IntelliImage::ImageType type = IntelliImage::ImageType::RASTERIMAGE);
/*!
* \brief The addLayerAt adds a layer to the current project/ painting area at a specific position in the layer stack
* \param idx - Index of the position the new layer should be added
* \param width - Width of the layer in pixles
* \param height - Height of the layer in pixles
* \param widthOffset - Offset of the layer measured to the left border of the painting area in pixles
* \param heightOffset - Offset of the layer measured to the top border of the painting area in pixles
* \param type - Defining the ImageType of the new layer
* \return Returns the id of the layer position
*/
int addLayerAt(int idx, int width, int height, int widthOffset=0, int heightOffset=0, IntelliImage::ImageType type = IntelliImage::ImageType::RASTERIMAGE);
/*!
* \brief The deleteLayer method removes a layer at a given idx
* \param idx - The index of the layer to be removed
*/
void deleteLayer(int idx);
/*!
* \brief The setLayerToActive method marks a specific layer as active
* \param idx - The index of the layer to be active
*/
void setLayerActive(int idx);
/*!
* \brief The setAlphaOfLayer method sets the alpha value of a specific layer
* \param idx - The index of the layer where the change should be applied
* \param alpha - New alpha value of the layer
*/
void setLayerAlpha(int idx, int alpha);
/*!
* \brief The floodFill method fills a the active layer with a given color
* \param r - Red value of the color the layer should be filled with
* \param g - Green value of the color the layer should be filled with
* \param b - Blue value of the color the layer should be filled with
* \param a - Alpha value of the color the layer should be filled with
*/
void floodFill(int r, int g, int b, int a);
/*!
* \brief The movePositionActive method moves the active layer to certain position
* \param x - The x value the new center of the layer should be at
* \param y - The y value the new center of the layer should be at
*/
void movePositionActive(int x, int y);
/*!
* \brief The moveActiveLayer moves the active layer to a specific position in the layer stack
* \param idx - The index of the new position the layer should be in
*/
void moveActiveLayer(int idx);
//change properties of colorPicker
/*!
* \brief The colorPickerSetFirstColor calls the QTColorPicker to determine the primary drawing color
*/
void colorPickerSetFirstColor();
/*!
* \brief The colorPickerSetSecondColor calls the QTColorPicker to determine the secondary drawing color
*/
void colorPickerSetSecondColor();
/*!
* \brief The colorPickerSwitchColor swaps the primary color with the secondary drawing color
*/
void colorPickerSwapColors();
//change properties of colorPicker
/*!
* \brief The colorPickerSetFirstColor calls the QTColorPicker to determine the primary drawing color
*/
void colorPickerSetFirstColor();
/*!
* \brief The colorPickerSetSecondColor calls the QTColorPicker to determine the secondary drawing color
*/
void colorPickerSetSecondColor();
/*!
* \brief The colorPickerSwitchColor swaps the primary color with the secondary drawing color
*/
void colorPickerSwapColors();
// Create tools
void createPenTool();
void createPlainTool();
void createLineTool();
void createRectangleTool();
void createCircleTool();
void createPolygonTool();
void createFloodFillTool();
// Create tools
void createPenTool();
void createPlainTool();
void createLineTool();
void createRectangleTool();
void createCircleTool();
void createPolygonTool();
void createFloodFillTool();
/*!
* \brief The getWidthOfActive gets the horizontal dimensions of the active layer
* \return Returns the horizontal pixle count of the active layer
*/
int getWidthOfActive();
/*!
* \brief The getHeightOfActive gets the vertical dimensions of the active layer
* \return Returns the vertical pixle count of the active layer
*/
int getHeightOfActive();
/*!
* \brief The getWidthOfActive gets the horizontal dimensions of the active layer
* \return Returns the horizontal pixle count of the active layer
*/
int getWidthOfActive();
/*!
* \brief The getHeightOfActive gets the vertical dimensions of the active layer
* \return Returns the vertical pixle count of the active layer
*/
int getHeightOfActive();
IntelliImage::ImageType getTypeOfImageRealLayer();
IntelliImage::ImageType getTypeOfImageRealLayer();
std::vector<QPoint> getPolygonDataOfRealLayer();
std::vector<QPoint> getPolygonDataOfRealLayer();
int getNumberOfActiveLayer();
int getNumberOfActiveLayer();
IntelliImage* getImageOfActiveLayer();
IntelliImage* getImageOfActiveLayer();
IntelliToolsettings Toolsettings;
IntelliColorPicker colorPicker;
IntelliToolsettings Toolsettings;
IntelliColorPicker colorPicker;
public slots:
// Events to handle
@@ -226,8 +226,8 @@ void drawLayers(bool forSaving=false);
void resizeLayer(QImage*image_res, const QSize &newSize);
// Helper for Tool
bool createTempTopLayer(int idx);
// Helper for Tool
bool createTempTopLayer(int idx);
};
#endif

View File

@@ -24,10 +24,10 @@ void IntelliTool::onMouseRightReleased(int x, int y){
}
void IntelliTool::onMouseLeftPressed(int x, int y){
this->isDrawing=this->createToolLayer();
if(isDrawing){
Canvas->image->calculateVisiblity();
}
this->isDrawing=this->createToolLayer();
if(isDrawing) {
Canvas->image->calculateVisiblity();
}
}
void IntelliTool::onMouseLeftReleased(int x, int y){
@@ -45,27 +45,27 @@ void IntelliTool::onMouseMoved(int x, int y){
}
void IntelliTool::onWheelScrolled(int value){
//if needed for future general tasks implement in here
Area->DummyGui->setToolWidth(value+Toolsettings->getLineWidth());
//if needed for future general tasks implement in here
Area->DummyGui->setToolWidth(value+Toolsettings->getLineWidth());
}
bool IntelliTool::createToolLayer(){
if(Area->createTempTopLayer(Area->activeLayer)){
this->activeLayer=&Area->layerBundle[static_cast<unsigned long long>(Area->activeLayer)];
this->Canvas=&Area->layerBundle[static_cast<unsigned long long>(Area->activeLayer+1)];
return true;
}
return false;
if(Area->createTempTopLayer(Area->activeLayer)) {
this->activeLayer=&Area->layerBundle[static_cast<unsigned long long>(Area->activeLayer)];
this->Canvas=&Area->layerBundle[static_cast<unsigned long long>(Area->activeLayer+1)];
return true;
}
return false;
}
void IntelliTool::mergeToolLayer(){
QColor clr_0;
QColor clr_1;
QImage updatedImage = activeLayer->image->getImageData();
QImage updatedImage = activeLayer->image->getImageData();
for(int y=0; y<activeLayer->height; y++) {
for(int x=0; x<activeLayer->width; x++) {
clr_0=updatedImage.pixelColor(x,y);
for(int x=0; x<activeLayer->width; x++) {
clr_0=updatedImage.pixelColor(x,y);
clr_1=Canvas->image->imageData.pixelColor(x,y);
float t = static_cast<float>(clr_1.alpha())/255.f;
int r =static_cast<int>(static_cast<float>(clr_1.red())*(t)+static_cast<float>(clr_0.red())*(1.f-t)+0.5f);
@@ -77,11 +77,11 @@ void IntelliTool::mergeToolLayer(){
clr_0.setBlue(b);
clr_0.setAlpha(a);
updatedImage.setPixelColor(x, y, clr_0);
updatedImage.setPixelColor(x, y, clr_0);
}
}
activeLayer->image->setImageData(updatedImage);
Area->DummyGui->UpdateGui();
activeLayer->image->setImageData(updatedImage);
Area->DummyGui->UpdateGui();
}
void IntelliTool::deleteToolLayer(){

View File

@@ -26,7 +26,7 @@ void IntelliToolCircle::drawCircle(int radius){
}
//TODO implement circle drawing algorithm bresenham
radius = static_cast<int>(radius +(Toolsettings->getLineWidth()/2.));
radius = static_cast<int>(radius +(Toolsettings->getLineWidth()/2.));
yMin = (centerPoint.y()-radius);
yMax = (centerPoint.y()+radius);
for(int i=yMin; i<=yMax; i++) {
@@ -56,12 +56,12 @@ void IntelliToolCircle::onMouseRightReleased(int x, int y){
void IntelliToolCircle::onMouseLeftPressed(int x, int y){
IntelliTool::onMouseLeftPressed(x,y);
if(this->isDrawing){
this->centerPoint=QPoint(x,y);
int radius = 1;
drawCircle(radius);
Canvas->image->calculateVisiblity();
}
if(this->isDrawing) {
this->centerPoint=QPoint(x,y);
int radius = 1;
drawCircle(radius);
Canvas->image->calculateVisiblity();
}
}
void IntelliToolCircle::onMouseLeftReleased(int x, int y){

View File

@@ -49,7 +49,7 @@ void IntelliToolLine::onMouseMoved(int x, int y){
QPoint p2 =lineStartingPoint.x() < next.x() ? next : lineStartingPoint;
int m = static_cast<int>(static_cast<float>(p2.y()-p1.y())/static_cast<float>(p2.x()-p1.x())+0.5f);
int c = lineStartingPoint.y()-lineStartingPoint.x()*m;
//TODO implement dotted algorithm
//TODO implement dotted algorithm
break;
}
}

View File

@@ -58,6 +58,6 @@ void IntelliToolRectangle::onMouseMoved(int x, int y){
}
void IntelliToolRectangle::onWheelScrolled(int value){
IntelliTool::onWheelScrolled(value);
Toolsettings->setLineWidth(Toolsettings->getLineWidth()+value);
IntelliTool::onWheelScrolled(value);
Toolsettings->setLineWidth(Toolsettings->getLineWidth()+value);
}

View File

@@ -8,11 +8,11 @@ int main(int argc, char*argv[]){
// The main application
QApplication app(argc, argv);
IntelliInputDialog* InputDialog;
IntelliInputDialog* InputDialog;
// Create and open the main window
IntelliPhotoGui window(InputDialog);
window.show();
IntelliPhotoGui window(InputDialog);
window.show();
return app.exec();
}