87 Commits
v0.3 ... v0.4

Author SHA1 Message Date
Conrad
7fbc4b779a Merge branch 'dev' into 'master'
Weekly Update 5

See merge request creyd/intelliphoto!23
2019-12-19 18:46:10 +00:00
Conrad
6ff32a141a Merge branch 'dev-docs' into 'dev'
Documentation Branch Merge

See merge request creyd/intelliphoto!22
2019-12-19 18:44:06 +00:00
9c95059b93 Updated doxygen docs to latest changes 2019-12-19 19:39:08 +01:00
5073312f7a main.cpp uncrustify 2019-12-19 19:38:18 +01:00
0bcbe13f13 Update main.cpp 2019-12-19 18:38:38 +01:00
a838e3869f Restyled project for uncrustify 2019-12-19 18:27:46 +01:00
c415a53c83 Documented the gui file 2019-12-19 18:16:26 +01:00
8b42603332 Documented PaintingArea 2019-12-19 18:14:13 +01:00
105cff0f63 Added basic documentation for LayerObject Struct 2019-12-19 17:41:31 +01:00
Sonaion
dee229c09f Merge branch 'dev-docs' of https://gitlab.com/creyd/intelliphoto into dev-docs 2019-12-19 17:39:46 +01:00
Sonaion
11617c9f44 Merge branch 'PolygonUpdate' into dev-docs 2019-12-19 17:39:35 +01:00
91fc9a4308 Refraktored another misspelled variable
- hightOffset --> heightOffset
2019-12-19 17:39:24 +01:00
Sonaion
3252ec4404 Earfolding bug 2019-12-19 17:39:10 +01:00
dcd26f76ef Fixed misspelled variable 2019-12-19 17:32:07 +01:00
a2f2e38a06 Changed file extension for config file 2019-12-19 17:30:19 +01:00
Paul Norberger
bf47934bbe Fixed an ugly typo in the readme 2019-12-19 13:36:21 +00:00
Sonaion
cf4f9210dd Merge branch 'dev-docs' of https://gitlab.com/creyd/intelliphoto into dev-docs 2019-12-19 14:33:35 +01:00
Sonaion
9bc45dedfd gui changes for tool anwendung 2019-12-19 14:33:28 +01:00
Paul Norberger
92760ede42 Better introduction as well as line tool docs 2019-12-19 14:33:15 +01:00
Paul Norberger
0fb62f6279 Update manual to version 0.31 2019-12-19 14:08:01 +01:00
Sonaion
71dd9aa7c2 full doc tools 2019-12-19 13:58:46 +01:00
Sonaion
709c976cf0 Merge branch 'dev-docs' of https://gitlab.com/creyd/intelliphoto into dev-docs 2019-12-19 13:54:29 +01:00
Sonaion
ec37be62fc Tool anpassungen 2019-12-19 13:54:17 +01:00
ce32ea9a19 Remade Doxygen Docs 2019-12-19 13:50:50 +01:00
a3c19e9851 Merge branch 'dev' into dev-docs 2019-12-19 12:43:22 +01:00
050be88861 Added Uncrustify Config 2019-12-19 12:39:35 +01:00
Sonaion
07391b93b1 Small changes in grammer 2019-12-19 12:32:07 +01:00
Sonaion
e965162379 Tool COmments update 2019-12-19 12:29:58 +01:00
deranonymos
f24dfe5d33 Adding doc for Plain/Rectangle/Pen Tool, and also some update to Plaintool 2019-12-19 12:28:56 +01:00
Conrad
ef9ba33ade Merge branch 'dev_PolygonTool' into 'dev'
Polygon Tool Development

See merge request creyd/intelliphoto!21
2019-12-19 11:07:11 +00:00
Mienek
1de2f55e85 Documentation 2019-12-19 12:05:31 +01:00
deranonymos
22eb067c7a Added doc for PenTool 2019-12-19 12:04:54 +01:00
2da9e15d36 Minor Code Style Update + Documentation Spelling Fix 2019-12-19 12:03:21 +01:00
Mienek
c6151b1bbf Update IntelliToolPolygon.cpp 2019-12-19 11:47:33 +01:00
Sonaion
9db5304edc Merge branch 'dev-docs' of https://gitlab.com/creyd/intelliphoto into dev-docs 2019-12-19 11:44:19 +01:00
Sonaion
0516b0b921 circle docs 2019-12-19 11:43:52 +01:00
d52dd552f3 Merge branch 'dev' into dev_PolygonTool 2019-12-19 11:31:34 +01:00
4d68b6ab0a Updated docs 2019-12-19 11:29:26 +01:00
Sonaion
559f229b7b start of Tool Commentary 2019-12-19 09:44:48 +01:00
Sonaion
486f1a0815 FloodfillTool and more docs 2019-12-19 09:15:40 +01:00
Sonaion
b4317626cc Merge branch 'dev-tools-seb' into dev-docs 2019-12-18 20:39:24 +01:00
Sonaion
2ceacff4ef Performance Update 2019-12-18 20:37:38 +01:00
Mienek
c9a88909ad FloodFill
ist fertig
2019-12-18 19:41:11 +01:00
Sonaion
181e954cb9 Start of tool commentary 2019-12-18 18:59:35 +01:00
Sonaion
0f829646b9 Documentation of image 2019-12-18 18:19:30 +01:00
Sonaion
978ba61061 updated Image 2019-12-18 17:57:49 +01:00
Sonaion
cb34d8fcbe Merge branch 'dev-tools-seb' into dev-docs 2019-12-18 17:54:48 +01:00
Sonaion
554426eb94 Merge branch 'dev-tools-seb' into dev-docs 2019-12-18 17:51:53 +01:00
Mienek
fa4a8ddad2 nochmal 2019-12-18 17:50:10 +01:00
Mienek
4f808620b8 Halbfertig
weil Mucke es so wollte, keiner weiß warum
2019-12-18 17:49:24 +01:00
Sonaion
30c6d0badd Comments 2019-12-18 17:49:09 +01:00
Sonaion
1d65078df0 Image doc 2019-12-18 17:17:23 +01:00
Sonaion
197ac59998 gitignore update 2019-12-18 16:34:17 +01:00
Sonaion
3eff7d73eb Merge branch 'Polygon_Coverage_API' into dev 2019-12-18 16:32:38 +01:00
Sonaion
4953abc791 Integrated Polygon Test
Use calculate traingles and the isInPolygon with theese triangles, this is done because of performance reasons
2019-12-18 16:32:11 +01:00
AshBastian
89b9e44677 PolygonTool fertig 2019-12-18 15:47:23 +01:00
Paul Norberger
e5e64b984a Documentation update to current status 2019-12-18 15:10:10 +01:00
a2a44cefaa Minor README update 2019-12-18 14:36:59 +01:00
Conrad
38f89f30f9 Merge branch 'hotfix' into 'dev'
Fixed the Linux color picker and system dialog bugs

See merge request creyd/intelliphoto!20
2019-12-18 12:55:56 +00:00
3ad975a297 Changed empty string to nullpointer for file options 2019-12-18 13:48:53 +01:00
Conrad
f268bf584d Merge branch 'dev-rectangle-rename' into 'dev'
Rectangle Refractoring

See merge request creyd/intelliphoto!19
2019-12-18 11:43:07 +00:00
5534522440 Refractoring of "Rechteck" to "rectangle" 2019-12-18 12:42:10 +01:00
Jan Schuffenhauer
675fb0b97c Merge branch 'hotfix' of https://gitlab.com/creyd/intelliphoto into hotfix 2019-12-18 12:31:18 +01:00
d1d3599daa Merged gitignore statements 2019-12-18 13:28:41 +01:00
Jan Schuffenhauer
d193dc3b97 Edited the dialogs to work as intendet on linux and also fixed set second color 2019-12-18 12:31:03 +01:00
Jan Schuffenhauer
56dfdcc533 Update .gitignore 2019-12-18 12:16:37 +01:00
bbc733a8b5 Replaced empty string with nullpointer to dodge warning 2019-12-18 13:11:50 +01:00
325d1925ac Fixed a bug where the File Dialog wouldn't show up correctly on linux 2019-12-18 13:08:21 +01:00
a0f1203fb1 Fixed a bug where the system dialogs wouldn't show up on linux
Thx to @Jan for this contribution and testing
2019-12-18 13:02:25 +01:00
9e4cf9a07f Removed blank lines 2019-12-18 12:44:00 +01:00
a025ab5da5 Removed comment cause it ain't 2019-12-18 11:41:52 +01:00
AshBastian
3525261e1e Polygon Update 2019-12-17 17:45:42 +01:00
7444455094 Added doxygen documentation 2019-12-17 14:11:21 +01:00
Sonaion
21ade76563 Update .gitignore 2019-12-16 19:29:12 +01:00
Sonaion
67a72fe487 Scroll implemented 2019-12-16 19:23:56 +01:00
Sonaion
1c29d564c7 rectangle tool 2019-12-13 13:47:32 +01:00
Sonaion
c712fedbf0 Merge branch 'dev' into RechteckTool 2019-12-13 13:30:12 +01:00
Sonaion
ce331cafa8 testing for tools 2019-12-13 13:24:42 +01:00
Sonaion
4dac816505 Merge branch 'CyrcleTool' into dev 2019-12-13 13:22:15 +01:00
Sonaion
9da13bc002 Update .gitignore 2019-12-13 13:21:27 +01:00
Sonaion
ca9395901b Cryle Tool 2019-12-13 13:20:55 +01:00
Conrad
102238e5ab Merge branch 'dev' into 'master'
Readme Update

See merge request creyd/intelliphoto!18
2019-12-13 08:54:25 +00:00
58603f44dd Moved prezi links to README 2019-12-13 09:29:37 +01:00
fbffc331d4 Code Style Update
- Everything is beautiful now
2019-12-13 09:13:19 +01:00
9f9315c8a4 Moved up src/ one level 2019-12-13 08:57:53 +01:00
610ed9fa7f Create presentation.md 2019-12-13 08:52:38 +01:00
201129a635 Removed old src/ and manual state 2019-12-12 20:38:28 +01:00
624 changed files with 44780 additions and 4153 deletions

3
.gitignore vendored
View File

@@ -1,5 +1,5 @@
# Build folders
src/build-*/
build-*/
# QT Creator Files
*.creator.user*
@@ -13,6 +13,7 @@ CMakeLists.txt.user*
/share/qtcreator/fonts/
/share/qtcreator/generic-highlighter/
/share/qtcreator/qmldesigner/QtProject/
/build-*/
app_version.h
phony.c

View File

@@ -1,281 +0,0 @@
// ---------- IntelliPhotoGui.cpp ----------
#include <QtWidgets>
#include "IntelliPhotoGui.h"
#include "Layer/PaintingArea.h"
// IntelliPhotoGui constructor
IntelliPhotoGui::IntelliPhotoGui()
{
//create Gui elemnts and lay them out
createGui();
// Create actions
createActions();
//create Menus
createMenus();
//set style of the gui
setIntelliStyle();
// Size the app
resize(500, 500);
}
// User tried to close the app
void IntelliPhotoGui::closeEvent(QCloseEvent *event)
{
// If they try to close maybeSave() returns true
// if no changes have been made and the app closes
if (maybeSave()) {
event->accept();
} else {
// If there have been changes ignore the event
event->ignore();
}
}
// Check if the current image has been changed and then
// open a dialog to open a file
void IntelliPhotoGui::open()
{
// Check if changes have been made since last save
// maybeSave() returns true if no changes have been made
if (maybeSave()) {
// Get the file to open from a dialog
// tr sets the window title to Open File
// QDir opens the current dirctory
QString fileName = QFileDialog::getOpenFileName(this,
tr("Open File"), QDir::currentPath());
// If we have a file name load the image and place
// it in the paintingArea
if (!fileName.isEmpty())
paintingArea->openImage(fileName);
}
}
// Called when the user clicks Save As in the menu
void IntelliPhotoGui::save()
{
// A QAction represents the action of the user clicking
QAction *action = qobject_cast<QAction *>(sender());
// Stores the array of bytes of the users data
QByteArray fileFormat = action->data().toByteArray();
// Pass it to be saved
saveFile(fileFormat);
}
// Opens a dialog to change the pen color
void IntelliPhotoGui::penColor()
{
// Store the chosen color from the dialog
QColor newColor = QColorDialog::getColor(paintingArea->penColor());
// If a valid color set it
if (newColor.isValid())
paintingArea->setPenColor(newColor);
}
// Opens a dialog that allows the user to change the pen width
void IntelliPhotoGui::penWidth()
{
// Stores button value
bool ok;
// tr("Painting") is the title
// the next tr is the text to display
// Get the current pen width
// Define the min, max, step and ok button
int newWidth = QInputDialog::getInt(this, tr("Painting"),
tr("Select pen width:"),
paintingArea->penWidth(),
1, 500, 1, &ok);
// Change the pen width
if (ok)
paintingArea->setPenWidth(newWidth);
}
// Open an about dialog
void IntelliPhotoGui::about()
{
// Window title and text to display
QMessageBox::about(this, tr("About Painting"),
tr("<p><b>IntelliPhoto</b> Some nice ass looking software</p>"));
}
// Define menu actions that call functions
void IntelliPhotoGui::createActions()
{
//connect signal and slots of gui element
connect(this->clearButton, SIGNAL(clicked()), paintingArea, SLOT(clearImage()));
// Create the action tied to the menu
openAct = new QAction(tr("&Open..."), this);
// Define the associated shortcut key
openAct->setShortcuts(QKeySequence::Open);
// Tie the action to IntelliPhotoGui::open()
connect(openAct, SIGNAL(triggered()), this, SLOT(open()));
// Get a list of the supported file formats
// QImageWriter is used to write images to files
foreach (QByteArray format, QImageWriter::supportedImageFormats()) {
QString text = tr("%1...").arg(QString(format).toUpper());
// Create an action for each file format
QAction *action = new QAction(text, this);
// Set an action for each file format
action->setData(format);
// When clicked call IntelliPhotoGui::save()
connect(action, SIGNAL(triggered()), this, SLOT(save()));
// Attach each file format option menu item to Save As
saveAsActs.append(action);
}
// Create exit action and tie to IntelliPhotoGui::close()
exitAct = new QAction(tr("E&xit"), this);
exitAct->setShortcuts(QKeySequence::Quit);
connect(exitAct, SIGNAL(triggered()), this, SLOT(close()));
// Create pen color action and tie to IntelliPhotoGui::penColor()
penColorAct = new QAction(tr("&Pen Color..."), this);
connect(penColorAct, SIGNAL(triggered()), this, SLOT(penColor()));
// Create pen width action and tie to IntelliPhotoGui::penWidth()
penWidthAct = new QAction(tr("Pen &Width..."), this);
connect(penWidthAct, SIGNAL(triggered()), this, SLOT(penWidth()));
// Create clear screen action and tie to IntelliPhotoGui::clearImage()
clearScreenAct = new QAction(tr("&Clear Screen"), this);
clearScreenAct->setShortcut(tr("Ctrl+L"));
connect(clearScreenAct, SIGNAL(triggered()),
paintingArea, SLOT(clearImage()));
// Create about action and tie to IntelliPhotoGui::about()
aboutAct = new QAction(tr("&About"), this);
connect(aboutAct, SIGNAL(triggered()), this, SLOT(about()));
// Create about Qt action and tie to IntelliPhotoGui::aboutQt()
aboutQtAct = new QAction(tr("About &Qt"), this);
connect(aboutQtAct, SIGNAL(triggered()), qApp, SLOT(aboutQt()));
}
// Create the menubar
void IntelliPhotoGui::createMenus()
{
// Create Save As option and the list of file types
saveAsMenu = new QMenu(tr("&Save As"), this);
foreach (QAction *action, saveAsActs)
saveAsMenu->addAction(action);
// Attach all actions to File
fileMenu = new QMenu(tr("&File"), this);
fileMenu->addAction(openAct);
fileMenu->addMenu(saveAsMenu);
fileMenu->addSeparator();
fileMenu->addAction(exitAct);
// Attach all actions to Options
optionMenu = new QMenu(tr("&Options"), this);
optionMenu->addAction(penColorAct);
optionMenu->addAction(penWidthAct);
optionMenu->addSeparator();
optionMenu->addAction(clearScreenAct);
// Attach all actions to Help
helpMenu = new QMenu(tr("&Help"), this);
helpMenu->addAction(aboutAct);
helpMenu->addAction(aboutQtAct);
// Add menu items to the menubar
menuBar()->addMenu(fileMenu);
menuBar()->addMenu(optionMenu);
menuBar()->addMenu(helpMenu);
}
void IntelliPhotoGui::createGui(){
//create a central widget to work on
centralGuiWidget = new QWidget(this);
setCentralWidget(centralGuiWidget);
//create the grid for the layout
mainLayout = new QGridLayout(centralGuiWidget);
centralGuiWidget->setLayout(mainLayout);
//create Gui elements
clearButton = new QPushButton("Clear");
paintingArea = new PaintingArea();
//set gui elemtns position
mainLayout->addWidget(paintingArea,0,0,10,10);
mainLayout->addWidget(clearButton,0,10,1,1);
}
void IntelliPhotoGui::setIntelliStyle(){
// Set the title
setWindowTitle("IntelliPhoto Prototype");
//set style sheet
this->setStyleSheet("background-color:rgb(64,64,64)");
this->centralGuiWidget->setStyleSheet("color:rgb(255,255,255)");
this->menuBar()->setStyleSheet("color:rgb(255,255,255)");
}
bool IntelliPhotoGui::maybeSave()
{
// Check for changes since last save
if (paintingArea->isModified()) {
QMessageBox::StandardButton ret;
// Painting is the title
// Add text and the buttons
ret = QMessageBox::warning(this, tr("Painting"),
tr("The image has been modified.\n"
"Do you want to save your changes?"),
QMessageBox::Save | QMessageBox::Discard
| QMessageBox::Cancel);
// If save button clicked call for file to be saved
if (ret == QMessageBox::Save) {
return saveFile("png");
// If cancel do nothing
} else if (ret == QMessageBox::Cancel) {
return false;
}
}
return true;
}
bool IntelliPhotoGui::saveFile(const QByteArray &fileFormat)
{
// Define path, name and default file type
QString initialPath = QDir::currentPath() + "/untitled." + fileFormat;
// Get selected file from dialog
// Add the proper file formats and extensions
QString fileName = QFileDialog::getSaveFileName(this, tr("Save As"),
initialPath,
tr("%1 Files (*.%2);;All Files (*)")
.arg(QString::fromLatin1(fileFormat.toUpper()))
.arg(QString::fromLatin1(fileFormat)));
// If no file do nothing
if (fileName.isEmpty()) {
return false;
} else {
// Call for the file to be saved
return paintingArea->saveImage(fileName, fileFormat.constData());
}
}

View File

@@ -1,77 +0,0 @@
#ifndef IntelliPhotoGui_H
#define IntelliPhotoGui_H
#include <QList>
#include <QMainWindow>
#include<QGridLayout>
#include<QPushButton>
// PaintingArea used to paint the image
class PaintingArea;
class IntelliPhotoGui : public QMainWindow
{
// Declares our class as a QObject which is the base class
// for all Qt objects
// QObjects handle events
Q_OBJECT
public:
IntelliPhotoGui();
protected:
// Function used to close an event
void closeEvent(QCloseEvent *event) override;
// The events that can be triggered
private slots:
void open();
void save();
void penColor();
void penWidth();
void about();
private:
// Will tie user actions to functions
void createActions();
void createMenus();
//setup GUI elements
void createGui();
//set style of the GUI
void setIntelliStyle();
// Will check if changes have occurred since last save
bool maybeSave();
// Opens the Save dialog and saves
bool saveFile(const QByteArray &fileFormat);
// What we'll draw on
PaintingArea *paintingArea;
// The menu widgets
QMenu *saveAsMenu;
QMenu *fileMenu;
QMenu *optionMenu;
QMenu *helpMenu;
// All the actions that can occur
QAction *openAct;
// Actions tied to specific file formats
QList<QAction *> saveAsActs;
QAction *exitAct;
QAction *penColorAct;
QAction *penWidthAct;
QAction *clearScreenAct;
QAction *aboutAct;
QAction *aboutQtAct;
//main GUI elements
QWidget* centralGuiWidget;
QGridLayout *mainLayout;
QPushButton *clearButton;
};
#endif

View File

@@ -1,79 +0,0 @@
#include"Image/IntelliImage.h"
#include<QSize>
#include<QPainter>
IntelliImage::IntelliImage(int weight, int height)
:imageData(QSize(weight, height), QImage::Format_ARGB32){
imageData.fill(QColor(255,255,255,255));
}
IntelliImage::~IntelliImage(){
}
bool IntelliImage::loadImage(const QString &fileName){
// Holds the image
QImage loadedImage;
// If the image wasn't loaded leave this function
if (!loadedImage.load(fileName))
return false;
loadedImage =loadedImage.scaled(imageData.size(),Qt::IgnoreAspectRatio);
imageData= loadedImage.convertToFormat(QImage::Format_ARGB32);
return true;
}
void IntelliImage::resizeImage(QImage *image, const QSize &newSize){
// Check if we need to redraw the image
if (image->size() == newSize)
return;
// Create a new image to display and fill it with white
QImage newImage(newSize, QImage::Format_ARGB32);
newImage.fill(qRgb(255, 255, 255));
// Draw the image
QPainter painter(&newImage);
painter.drawImage(QPoint(0, 0), *image);
*image = newImage;
}
void IntelliImage::drawPixel(const QPoint &p1, const QColor& color){
// Used to draw on the widget
QPainter painter(&imageData);
// Set the current settings for the pen
painter.setPen(QPen(color, 1, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
// Draw a line from the last registered point to the current
painter.drawPoint(p1);
// Call to update the rectangular space where we drew
//update(QRect(p1, p2));
}
void IntelliImage::drawLine(const QPoint &p1, const QPoint& p2, const QColor& color, const int& penWidth){
// 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.drawLine(p1, p2);
}
void IntelliImage::floodFill(const QColor& color){
imageData.fill(color);
}
int IntelliImage::x(){
return imageData.size().width();
}
int IntelliImage::y(){
return imageData.size().height();
}

View File

@@ -1,46 +0,0 @@
#ifndef INTELLIIMAGE_H
#define INTELLIIMAGE_H
#include<QImage>
#include<QPoint>
#include<QColor>
#include<QSize>
#include<QWidget>
#include<vector>
enum class ImageType{
Raster_Image,
Shaped_Image
};
class IntelliImage{
protected:
void resizeImage(QImage *image, const QSize &newSize);
QImage imageData;
public:
IntelliImage(int weight, int height);
virtual ~IntelliImage() = 0;
//start on top left
virtual void drawPixel(const QPoint &p1, const QColor& color);
virtual void drawLine(const QPoint &p1, const QPoint& p2, const QColor& color, const int& penWidth);
virtual void floodFill(const QColor& color);
//returns the filtered output
virtual QImage getDisplayable(const QSize& displaySize)=0;
virtual QImage getDisplayable()=0;
//returns the filtered output
//sets the data for the visible image
virtual void setPolygon(const std::vector<QPoint>& polygonData)=0;
virtual bool loadImage(const QString &fileName);
int x();
int y();
};
#endif

View File

@@ -1,27 +0,0 @@
#include"Image/IntelliRasterImage.h"
#include<QPainter>
#include<QRect>
#include<QDebug>
IntelliRasterImage::IntelliRasterImage(int weight, int height)
:IntelliImage(weight, height){
}
IntelliRasterImage::~IntelliRasterImage(){
}
QImage IntelliRasterImage::getDisplayable(){
return getDisplayable(imageData.size());
}
QImage IntelliRasterImage::getDisplayable(const QSize& displaySize){
QImage copy = imageData;
return copy.scaled(displaySize,Qt::IgnoreAspectRatio);
}
void IntelliRasterImage::setPolygon(const std::vector<QPoint>& polygonData){
qDebug() << "Raster Image has no polygon data " << polygonData.size() <<"\n";
return;
}

View File

@@ -1,21 +0,0 @@
#ifndef INTELLIRASTER_H
#define INTELLIRASTER_H
#include"Image/IntelliImage.h"
class IntelliRasterImage : public IntelliImage{
public:
IntelliRasterImage(int weight, int height);
virtual ~IntelliRasterImage() override;
//returns the filtered output
virtual QImage getDisplayable(const QSize& displaySize) override;
virtual QImage getDisplayable() override;
//sets the data for the visible image
virtual void setPolygon(const std::vector<QPoint>& polygonData) override;
};
#endif

View File

@@ -1,53 +0,0 @@
#include"Image/IntelliShapedImage.h"
#include"IntelliHelper/IntelliHelper.h"
#include<QPainter>
#include<QRect>
#include<QDebug>
IntelliShapedImage::IntelliShapedImage(int weight, int height)
:IntelliImage(weight, height){
}
IntelliShapedImage::~IntelliShapedImage(){
}
QImage IntelliShapedImage::getDisplayable(){
return getDisplayable(imageData.size());
}
QImage IntelliShapedImage::getDisplayable(const QSize& displaySize){
QImage copy = imageData;
QPoint startPoint;
QPoint extrem(0,copy.width()+1);
for(int y = 0; y<copy.height(); y++){
extrem.setY(y);
startPoint.setY(y);
//traverse through x dircetion
for(int x=0; x<copy.width(); x++){
startPoint.setX(x);
//traverse all edges
int cutNumberX = 0;
for(size_t i=0; i<polygonData.size()-1; i++){
QPoint& start = polygonData[i];
QPoint& end = polygonData[i+1];
cutNumberX+=IntelliHelper::hasIntersection(startPoint, extrem, start, end);
}
//check if zhe cutNumber is Even -> not in Polygon
if(!(cutNumberX&1)){
QColor tmpColor(0,0,0);
tmpColor.setAlpha(0);
copy.setPixelColor(startPoint,tmpColor);
}
}
}
return copy.scaled(displaySize,Qt::IgnoreAspectRatio);
}
void IntelliShapedImage::setPolygon(const std::vector<QPoint>& polygonData){
for(auto element:polygonData){
this->polygonData.push_back(QPoint(element.x(), element.y()));
}
return;
}

View File

@@ -1,22 +0,0 @@
#ifndef INTELLISHAPE_H
#define INTELLISHAPE_H
#include"Image/IntelliImage.h"
class IntelliShapedImage : public IntelliImage{
protected:
std::vector<QPoint> polygonData;
public:
IntelliShapedImage(int weight, int height);
virtual ~IntelliShapedImage() override;
//returns the filtered output
virtual QImage getDisplayable(const QSize& displaySize) override;
virtual QImage getDisplayable() override;
//sets the data for the visible image
virtual void setPolygon(const std::vector<QPoint>& polygonData) override;
};
#endif

View File

@@ -1,39 +0,0 @@
#include"IntelliHelper.h"
#include<algorithm>
int IntelliHelper::orientation(QPoint& p, QPoint& q, QPoint& r){
int value = (q.y()-p.y())*(r.x()-q.x())-
(q.x()-p.x())*(r.y()-q.y());
if(value==0) return 0;
return (value>0)?1:2;
}
bool IntelliHelper::onSegment(QPoint& p1, QPoint& q, QPoint& p2){
return (q.x() >= std::min(p1.x(),p2.x()) && q.x() <= std::max(p1.x(), p2.x()) &&
q.y() >= std::min(p1.y(),p2.y()) && q.y() <= std::max(p1.y(), p2.y()));
}
bool IntelliHelper::hasIntersection(QPoint& p1, QPoint& q1, QPoint& p2, QPoint& q2){
int o1 = IntelliHelper::orientation(p1,q1,p2);
int o2 = IntelliHelper::orientation(p1,q1,q2);
int o3 = IntelliHelper::orientation(p2,q2,p1);
int o4 = IntelliHelper::orientation(p2,q2,q1);
// General case
if (o1 != o2 && o3 != o4)
return true;
// p1, q1 and p2 are colinear and p2 lies on segment p1q1
if (o1 == 0 && onSegment(p1, p2, q1)) return true;
// p1, q1 and q2 are colinear and q2 lies on segment p1q1
if (o2 == 0 && onSegment(p1, q2, q1)) return true;
// p2, q2 and p1 are colinear and p1 lies on segment p2q2
if (o3 == 0 && onSegment(p2, p1, q2)) return true;
// p2, q2 and q1 are colinear and q1 lies on segment p2q2
if (o4 == 0 && onSegment(p2, q1, q2)) return true;
return false; // Doesn't fall in any of the above cases
}

View File

@@ -1,22 +0,0 @@
#ifndef INTELLIHELPER_H
#define INTELLIHELPER_H
#include<QPoint>
class IntelliHelper{
public:
//checks for orientation:
// 0 - colinear
// 1 - clockwise
// 2 - counter clockwise
static int orientation(QPoint& p1, QPoint& p2, QPoint& p3);
//checks if q is on segment p1-p2
static bool onSegment(QPoint& p1, QPoint& q, QPoint& p2);
//cheks if p1-q1 intersects with p2-q2
static bool hasIntersection(QPoint& p1, QPoint& q1, QPoint& p2, QPoint& q2);
};
#endif

View File

@@ -1,337 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.10.2, 2019-11-20T18:43:58. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{87de10b7-9dd6-4379-8674-fd04613e186e}</value>
</data>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
<value type="int">0</value>
</data>
<data>
<variable>ProjectExplorer.Project.EditorSettings</variable>
<valuemap type="QVariantMap">
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
<value type="QString" key="language">Cpp</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
</valuemap>
</valuemap>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
<value type="QString" key="language">QmlJS</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
</valuemap>
</valuemap>
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
<value type="int" key="EditorConfiguration.IndentSize">4</value>
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
<value type="int" key="EditorConfiguration.TabSize">8</value>
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap">
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey">
<value type="QString">-fno-delayed-template-parsing</value>
</valuelist>
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.12.5 MinGW 64-bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.12.5 MinGW 64-bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5125.win64_mingw73_kit</value>
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:/Users/Jonas/Documents/QML/build-Scribble-Desktop_Qt_5_12_5_MinGW_64_bit-Debug</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:/Users/Jonas/Documents/QML/build-Scribble-Desktop_Qt_5_12_5_MinGW_64_bit-Release</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:/Users/Jonas/Documents/QML/build-Scribble-Desktop_Qt_5_12_5_MinGW_64_bit-Profile</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Profile</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment-Konfiguration</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
<value type="QString">cpu-cycles</value>
</valuelist>
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
<value type="int" key="Analyzer.Perf.Frequency">250</value>
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
<value type="int">0</value>
<value type="int">1</value>
<value type="int">2</value>
<value type="int">3</value>
<value type="int">4</value>
<value type="int">5</value>
<value type="int">6</value>
<value type="int">7</value>
<value type="int">8</value>
<value type="int">9</value>
<value type="int">10</value>
<value type="int">11</value>
<value type="int">12</value>
<value type="int">13</value>
<value type="int">14</value>
</valuelist>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Scribble</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:C:/Users/Jonas/Documents/QML/Scribble/Scribble.pro</value>
<value type="QString" key="RunConfiguration.Arguments"></value>
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory"></value>
<value type="QString" key="RunConfiguration.WorkingDirectory.default">C:/Users/Jonas/Documents/QML/build-Scribble-Desktop_Qt_5_12_5_MinGW_64_bit-Debug</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">1</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">22</value>
</data>
<data>
<variable>Version</variable>
<value type="int">22</value>
</data>
</qtcreator>

View File

@@ -1,47 +0,0 @@
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
CONFIG += c++11
# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS
# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
SOURCES += \
GUI/IntelliPhotoGui.cpp \
Image/IntelliImage.cpp \
Image/IntelliRasterImage.cpp \
Image/IntelliShapedImage.cpp \
IntelliHelper/IntelliHelper.cpp \
Layer/PaintingArea.cpp \
main.cpp
HEADERS += \
GUI/IntelliPhotoGui.h \
Image/IntelliImage.h \
Image/IntelliRasterImage.h \
Image/IntelliShapedImage.h \
IntelliHelper/IntelliHelper.h \
Layer/PaintingArea.h
FORMS += \
widget.ui
QMAKE_CXXFLAGS += -fopenmp
QMAKE_LFLAGS += -fopenmp
RC_ICONS = icon.ico
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

View File

@@ -1,342 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.10.2, 2019-11-28T16:37:27. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{426164d9-3771-4235-8f83-cb0b49423ffc}</value>
</data>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
<value type="int">0</value>
</data>
<data>
<variable>ProjectExplorer.Project.EditorSettings</variable>
<valuemap type="QVariantMap">
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
<value type="QString" key="language">Cpp</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
</valuemap>
</valuemap>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
<value type="QString" key="language">QmlJS</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
</valuemap>
</valuemap>
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
<value type="int" key="EditorConfiguration.IndentSize">4</value>
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
<value type="int" key="EditorConfiguration.TabSize">8</value>
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap">
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey">
<value type="QString">-fno-delayed-template-parsing</value>
</valuelist>
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.12.5 MinGW 64-bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.12.5 MinGW 64-bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5125.win64_mingw73_kit</value>
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">1</value>
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:/Users/jonas/OneDrive/Documents/GitHub/intelliphoto/IntelliPhoto/build-IntelliPhoto-Desktop_Qt_5_12_5_MinGW_64_bit-Debug</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:/Users/jonas/OneDrive/Documents/GitHub/intelliphoto/IntelliPhoto/build-IntelliPhoto-Desktop_Qt_5_12_5_MinGW_64_bit-Release</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:/Users/jonas/OneDrive/Documents/GitHub/intelliphoto/IntelliPhoto/build-IntelliPhoto-Desktop_Qt_5_12_5_MinGW_64_bit-Profile</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Profile</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment-Konfiguration</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
<value type="QString">cpu-cycles</value>
</valuelist>
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
<value type="int" key="Analyzer.Perf.Frequency">250</value>
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
<value type="int">0</value>
<value type="int">1</value>
<value type="int">2</value>
<value type="int">3</value>
<value type="int">4</value>
<value type="int">5</value>
<value type="int">6</value>
<value type="int">7</value>
<value type="int">8</value>
<value type="int">9</value>
<value type="int">10</value>
<value type="int">11</value>
<value type="int">12</value>
<value type="int">13</value>
<value type="int">14</value>
</valuelist>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">IntelliPhoto</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:C:/Users/jonas/OneDrive/Documents/GitHub/intelliphoto/IntelliPhoto/Painting/IntelliPhoto.pro</value>
<value type="QString" key="RunConfiguration.Arguments"></value>
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory"></value>
<value type="QString" key="RunConfiguration.WorkingDirectory.default">C:/Users/jonas/OneDrive/Documents/GitHub/intelliphoto/IntelliPhoto/build-IntelliPhoto-Desktop_Qt_5_12_5_MinGW_64_bit-Release</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">1</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">22</value>
</data>
<data>
<variable>Version</variable>
<value type="int">22</value>
</data>
</qtcreator>

View File

@@ -1,337 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.10.2, 2019-11-23T20:59:26. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{39e188fc-db7d-4dae-b6b7-f93e7e62e580}</value>
</data>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
<value type="int">0</value>
</data>
<data>
<variable>ProjectExplorer.Project.EditorSettings</variable>
<valuemap type="QVariantMap">
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
<value type="QString" key="language">Cpp</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
</valuemap>
</valuemap>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
<value type="QString" key="language">QmlJS</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
</valuemap>
</valuemap>
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
<value type="int" key="EditorConfiguration.IndentSize">4</value>
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
<value type="int" key="EditorConfiguration.TabSize">8</value>
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap">
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey">
<value type="QString">-fno-delayed-template-parsing</value>
</valuelist>
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.12.6 MinGW 32-bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.12.6 MinGW 32-bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5126.win32_mingw73_kit</value>
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:/Users/pauln/Documents/intelliphoto/IntelliPhoto/build-Scribble-Desktop_Qt_5_12_6_MinGW_32_bit-Debug</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:/Users/pauln/Documents/intelliphoto/IntelliPhoto/build-Scribble-Desktop_Qt_5_12_6_MinGW_32_bit-Release</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:/Users/pauln/Documents/intelliphoto/IntelliPhoto/build-Scribble-Desktop_Qt_5_12_6_MinGW_32_bit-Profile</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Profile</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment-Konfiguration</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
<value type="QString">cpu-cycles</value>
</valuelist>
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
<value type="int" key="Analyzer.Perf.Frequency">250</value>
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
<value type="int">0</value>
<value type="int">1</value>
<value type="int">2</value>
<value type="int">3</value>
<value type="int">4</value>
<value type="int">5</value>
<value type="int">6</value>
<value type="int">7</value>
<value type="int">8</value>
<value type="int">9</value>
<value type="int">10</value>
<value type="int">11</value>
<value type="int">12</value>
<value type="int">13</value>
<value type="int">14</value>
</valuelist>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Scribble</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:E:/Users/pauln/Documents/intelliphoto/IntelliPhoto/Scribble/Scribble.pro</value>
<value type="QString" key="RunConfiguration.Arguments"></value>
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory"></value>
<value type="QString" key="RunConfiguration.WorkingDirectory.default">E:/Users/pauln/Documents/intelliphoto/IntelliPhoto/build-Scribble-Desktop_Qt_5_12_6_MinGW_32_bit-Debug</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">1</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">22</value>
</data>
<data>
<variable>Version</variable>
<value type="int">22</value>
</data>
</qtcreator>

View File

@@ -1,164 +0,0 @@
// ---------- PaintingArea.cpp ----------
#include <QtWidgets>
#include<QRect>
#include "PaintingArea.h"
#include "Image/IntelliRasterImage.h"
#include "Image/IntelliShapedImage.h"
#include<vector>
#include<QPoint>
PaintingArea::PaintingArea(QWidget *parent)
: QWidget(parent)
{
//create standart image
this->image = new IntelliRasterImage(400,400);
std::vector<QPoint> poly;
poly.push_back(QPoint(200,0));
poly.push_back(QPoint(400,300));
poly.push_back(QPoint(0,300));
poly.push_back(QPoint(200,0));
image->setPolygon(poly);
this->setUp();
}
void PaintingArea::setUp(){
// Roots the widget to the top left even if resized
setAttribute(Qt::WA_StaticContents);
// Set defaults for the monitored variables
scribbling = false;
myPenWidth = 1;
myPenColor = Qt::blue;
}
PaintingArea::PaintingArea(int width, int height, ImageType type, QWidget *parent)
: QWidget(parent){
if(type==ImageType::Raster_Image){
this->image = new IntelliRasterImage(width, height);
}else if(type==ImageType::Shaped_Image){
this->image = new IntelliShapedImage(width, height);
}else{
qDebug() << "No valid Image type error";
return;
}
this->setUp();
}
// Used to load the image and place it in the widget
bool PaintingArea::openImage(const QString &fileName)
{
bool open = image->loadImage(fileName);
update();
return open;
}
// Save the current image
bool PaintingArea::saveImage(const QString &fileName, const char *fileFormat)
{
// Created to hold the image
QImage visibleImage = image->getDisplayable();
if (visibleImage.save(fileName, fileFormat)) {
return true;
} else {
return false;
}
}
// Used to change the pen color
void PaintingArea::setPenColor(const QColor &newColor)
{
myPenColor = newColor;
}
// Used to change the pen width
void PaintingArea::setPenWidth(int newWidth)
{
myPenWidth = newWidth;
}
// Color the image area with white
void PaintingArea::clearImage()
{
image->floodFill(qRgb(255, 255, 255));
update();
}
// If a mouse button is pressed check if it was the
// left button and if so store the current position
// Set that we are currently drawing
void PaintingArea::mousePressEvent(QMouseEvent *event)
{
if (event->button() == Qt::LeftButton) {
int x = event->x()*(float)image->x()/(float)size().width();
int y = event->y()*(float)image->y()/(float)size().height();
lastPoint=QPoint(x,y);
scribbling = true;
}
}
// When the mouse moves if the left button is clicked
// we call the drawline function which draws a line
// from the last position to the current
void PaintingArea::mouseMoveEvent(QMouseEvent *event)
{
if ((event->buttons() & Qt::LeftButton) && scribbling){
int x = event->x()*(float)image->x()/(float)size().width();
int y = event->y()*(float)image->y()/(float)size().height();
drawLineTo(QPoint(x,y));
update();
}
}
// If the button is released we set variables to stop drawing
void PaintingArea::mouseReleaseEvent(QMouseEvent *event)
{
if (event->button() == Qt::LeftButton && scribbling) {
int x = event->x()*(float)image->x()/(float)size().width();
int y = event->y()*(float)image->y()/(float)size().height();
drawLineTo(QPoint(x,y));
update();
scribbling = false;
}
}
// QPainter provides functions to draw on the widget
// The QPaintEvent is sent to widgets that need to
// update themselves
void PaintingArea::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
QRect dirtyRec = event->rect();
painter.drawImage(dirtyRec, image->getDisplayable(dirtyRec.size()), dirtyRec);
update();
}
// Resize the image to slightly larger then the main window
// to cut down on the need to resize the image
void PaintingArea::resizeEvent(QResizeEvent *event)
{
QPainter painter(this);
QRect dirtyRec(QPoint(0,0), event->size());
painter.drawImage(dirtyRec, image->getDisplayable(event->size()), dirtyRec);
update();
//QWidget::resizeEvent(event);
}
void PaintingArea::drawLineTo(const QPoint &endPoint)
{
// Used to draw on the widget
image->drawLine(lastPoint, endPoint,myPenColor, myPenWidth);
lastPoint = endPoint;
update();
}
void PaintingArea::resizeImage(QImage *image_res, const QSize &newSize){
image_res->scaled(newSize,Qt::IgnoreAspectRatio);
}

View File

@@ -1,77 +0,0 @@
#ifndef PaintingArea_H
#define PaintingArea_H
#include <QColor>
#include <QImage>
#include"Image/IntelliImage.h"
#include <QPoint>
#include <QWidget>
class PaintingArea : public QWidget
{
// Declares our class as a QObject which is the base class
// for all Qt objects
// QObjects handle events
Q_OBJECT
public:
//create raster image 400*200
PaintingArea(QWidget *parent = nullptr);
PaintingArea(int width, int height, ImageType type, QWidget *parent = nullptr);
// Handles all events
bool openImage(const QString &fileName);
bool saveImage(const QString &fileName, const char *fileFormat);
void setPenColor(const QColor &newColor);
void setPenWidth(int newWidth);
// Has the image been modified since last save
bool isModified() const { return modified; }
QColor penColor() const { return myPenColor; }
int penWidth() const { return myPenWidth; }
public slots:
// Events to handle
void clearImage();
//void setUp helper for konstruktor
void setUp();
protected:
void mousePressEvent(QMouseEvent *event) override;
void mouseMoveEvent(QMouseEvent *event) override;
void mouseReleaseEvent(QMouseEvent *event) override;
// Updates the painting area where we are painting
void paintEvent(QPaintEvent *event) override;
// Makes sure the area we are drawing on remains
// as large as the widget
void resizeEvent(QResizeEvent *event) override;
private:
void drawLineTo(const QPoint &endPoint);
void resizeImage(QImage *image_res, const QSize &newSize);
// Will be marked true or false depending on if
// we have saved after a change
bool modified=false;
// Marked true or false depending on if the user
// is drawing
bool scribbling;
// Holds the current pen width & color
int myPenWidth;
QColor myPenColor;
// Stores the image being drawn
IntelliImage* image;
// Stores the location at the current mouse event
QPoint lastPoint;
};
#endif

View File

@@ -1,337 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.10.2, 2019-11-21T13:26:30. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{426164d9-3771-4235-8f83-cb0b49423ffc}</value>
</data>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
<value type="int">0</value>
</data>
<data>
<variable>ProjectExplorer.Project.EditorSettings</variable>
<valuemap type="QVariantMap">
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
<value type="QString" key="language">Cpp</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
</valuemap>
</valuemap>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
<value type="QString" key="language">QmlJS</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
</valuemap>
</valuemap>
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
<value type="int" key="EditorConfiguration.IndentSize">4</value>
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
<value type="int" key="EditorConfiguration.TabSize">8</value>
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap">
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey">
<value type="QString">-fno-delayed-template-parsing</value>
</valuelist>
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.12.5 MinGW 64-bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.12.5 MinGW 64-bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5125.win64_mingw73_kit</value>
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:/Users/jonas/OneDrive/Desktop/build-Scribble-Desktop_Qt_5_12_5_MinGW_64_bit-Debug</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:/Users/jonas/OneDrive/Desktop/build-Scribble-Desktop_Qt_5_12_5_MinGW_64_bit-Release</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:/Users/jonas/OneDrive/Desktop/build-Scribble-Desktop_Qt_5_12_5_MinGW_64_bit-Profile</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Profile</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment-Konfiguration</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
<value type="QString">cpu-cycles</value>
</valuelist>
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
<value type="int" key="Analyzer.Perf.Frequency">250</value>
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
<value type="int">0</value>
<value type="int">1</value>
<value type="int">2</value>
<value type="int">3</value>
<value type="int">4</value>
<value type="int">5</value>
<value type="int">6</value>
<value type="int">7</value>
<value type="int">8</value>
<value type="int">9</value>
<value type="int">10</value>
<value type="int">11</value>
<value type="int">12</value>
<value type="int">13</value>
<value type="int">14</value>
</valuelist>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Scribble</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Scribble2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:C:/Users/jonas/OneDrive/Documents/GitHub/intelliphoto/IntelliPhoto/Scribble/Scribble.pro</value>
<value type="QString" key="RunConfiguration.Arguments"></value>
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory"></value>
<value type="QString" key="RunConfiguration.WorkingDirectory.default">C:/Users/jonas/OneDrive/Desktop/build-Scribble-Desktop_Qt_5_12_5_MinGW_64_bit-Debug</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">1</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">22</value>
</data>
<data>
<variable>Version</variable>
<value type="int">22</value>
</data>
</qtcreator>

View File

@@ -1,20 +0,0 @@
#include "GUI/IntelliPhotoGui.h"
#include <QApplication>
#include <QDebug>
int main(int argc, char *argv[])
{
// The main application
QApplication app(argc, argv);
// Create and open the main window
IntelliPhotoGui window;
window.show();
return app.exec();
}

View File

@@ -1,19 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Widget</class>
<widget class="QWidget" name="Widget">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>600</height>
</rect>
</property>
<property name="windowTitle">
<string>Widget</string>
</property>
</widget>
<resources/>
<connections/>
</ui>

Binary file not shown.

View File

@@ -1,3 +1,23 @@
# IntelliPhoto
For the user manual see docs/manual.pdf
For the user manual see `docs/manual.pdf`
## Content
- `src` - Source Code
- `docs` - Documentation of the source code and user manual
- `Examples` - Temporary folder for example pictures
- `Abgabe` - Files that were submitted prior to the development start
## Presentations
- since `0.3`: https://prezi.com/view/M593VBJhmfwQzuqt3t6f/
## Branching
- `master` branch: current state of the program, pull requests only by maintainers or developers
- `dev` branch: state of development for next week, will be merged every Thursday, pushable for maintainers, pull requests for everyone
- `dev-X` branches: feature development branches which will be merged into dev, when tested
- `hotfix-X` branches: braches to fix small but important bugs, will be merged into master and dev
On Thursday the development state (`dev`) will be merged into master and tagged with the current version.

2986
conf/uncrustify.cfg Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 814 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 964 B

BIN
docs/Manual/assets/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

244
docs/Manual/assets/icon.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 826 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 993 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1022 B

BIN
docs/Manual/manual.pdf Normal file

Binary file not shown.

123
docs/Manual/manual.tex Normal file
View File

@@ -0,0 +1,123 @@
\documentclass[a4paper, 12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{roboto}
\usepackage{parskip}
\usepackage[english]{babel}
\usepackage{a4wide}
\usepackage{graphicx}
\usepackage{svg}
\title{intelliPhoto 0.31 - Manual}
\author{Paul Norberger \& the intelliPhoto team}
\begin{document}
\begin{titlepage}
\maketitle
\thispagestyle{empty}
\begin{center}
\includegraphics[width=0.35\linewidth,keepaspectratio]{assets/icon}
\end{center}
\tableofcontents
\end{titlepage}
\section{Introduction}
intelliPhoto is a software for creating and editing graphics of various kinds. While it allows for work with a full color space, it will also allow export in a more restriced format, which uses 1 byte per pixel. Currently its in its early stages of development and has a very limited array of tools as well as a functional, but barebones interface. This will change in future versions.
Currently the following features are implemented, which will be described in further detail on the following pages:
\begin{itemize}
\item A barebones user interface
\item Loading and Saving images from and to standardized formats (such as .png, .bmp or .jpg)
\item Drawing with a pen with adjustable width and color, clearing the whole canvas with one color and drawing lines, rectangles, circles and polygons as well as flood filling adjacent pixels
\item A layer structure, that allows for creating, deleting, moving and changing the order of layers
\end{itemize}
\section{User Guide}
After startup the following window opens:
\begin{center}
\includegraphics[width=0.55\linewidth,keepaspectratio]{assets/startup}
\end{center}
\subsection{Loading images}
To load a preexisting image, click on \texttt{File} in the top menu bar and then on \texttt{Open...} in the appearing context menu.
\begin{center}
\includegraphics[width=0.3\linewidth,keepaspectratio]{assets/file-open}
\end{center}
A file explorer window opens. Navigate to the image you want to open and click on \texttt{Open} or the equivalent in your system language. The image will now be imported and displayed.
\subsection{Saving images}
To save the current canvas as an image, click on \texttt{File} in the top menu bar then hover over \texttt{Save As} and click on your preferred file format in the appearing context menu.
\begin{center}
\includegraphics[width=0.3\linewidth,keepaspectratio]{assets/file-save}
\end{center}
A file explorer window opens. Navigate to your preferred save location, input a file name and click on \texttt{Save} or the equivalent in your system language. The image will be saved at that location in the selected file format.
\subsection{Setting the active layer}
The active layer is the layer you are currently editing. To change it, you currently have to specify the index of the layer under \texttt{Layer > select Active...}.
\subsection{Setting the main and secondary color}
The main and secondary color are a concept used by all the drawing tools. You select them independendly of other tool parameters under \texttt{Tools > Color}.
\begin{center}
\includegraphics[width=0.3\linewidth,keepaspectratio]{assets/change-colors}
\end{center}
The appearing popup will allow you to specify a new color.
\subsection{Switching main and secondary color}
An often desired use case is to switch the main and secondary color. So that you don't have to this manually, which would be time consuming there is an easy command to do it under \texttt{Tools > Color}.
It is also bound to the keyboard shortcut \texttt{Ctrl+Shift+S}.
\subsection{Drawing with the pen tool}
To activate the pen tool simply select it under \texttt{Tools > Pen}. You will be prompted to input the pen width, just put in the width you desire.
\begin{center}
\includegraphics[width=0.2\linewidth,keepaspectratio]{assets/tool-pen}
\end{center}
To edit the active layer with the pen tool simply click and hold the left mouse button while hovering the layer on the canvas. When you click within the boundaries of the active layer, the pixels in the radius you selected will change their color to the main color which you selected under the section above.
\subsection{Drawing straight lines}
To activate the line tool select it under \texttt{Tools > Line}. You will be prompted to input the line width.
To draw a line you now have to left click on the starting point on the canvas, hold it pressed and move to the end point and release the mouse button.
You can cancel this operation at any time by clicking the right mouse button while holding the left and then releasing both.
\subsection{Fill the active layer in one color}
To fill the whole layer with the main color, you first specify the color on the right side of the picture.
\begin{center}
\includegraphics[width=0.3\linewidth,keepaspectratio]{assets/tool-plain}
\end{center}
\subsection{Moving layers}
The layers are flexible and can be moved to a different position on the canvas, their order can be changed at will. For this you can use the movement options under \texttt{Layer}. Keep in mind that the changes always only effect the active layer you have chosen in the section "Setting the active layer".
\begin{center}
\includegraphics[width=0.3\linewidth,keepaspectratio]{assets/layer-options}
\end{center}
\subsection{Creating and deleting layers}
Raster Layers can be created at will under \texttt{Layer > New Layer...} You will be prompted to input the width and height of the new layer. Afterwards it will be created.
\begin{center}
\includegraphics[width=0.3\linewidth,keepaspectratio]{assets/create-layer}
\end{center}
To delete the active layer you have to click on \texttt{Delete Layer...} in the same submenu.
\subsection{Transparency and layers}
Layers can also be made more or less transparent under \texttt{Layer > set Alpha}. Values between 0 and 255 are valid. There is currently no error handling and this can lead to memory leaks, so be careful. This also only effects the active layer.
\subsection{Closing the program}
To close the program you have to execute the exit program routine, which heavily depends on your operating system. Usually you can find a red cross symbol at the top right, though it may be different depending on your setup.
For Windows 10, the desired symbol looks like this when hovered:
\begin{center}
\includegraphics[width=0.9\linewidth,keepaspectratio]{assets/close-window}
\end{center}
Alternatively you can press \texttt{CTR+Q}.
\section{Next steps}
The following features are currently high priority and will be implimented in the near future:
\begin{itemize}
\item Refactoring the code, improving readability, structure and the dev documentation
\item Improving the UI and integrating all the tools in it
\end{itemize}
\end{document}

View File

@@ -0,0 +1,30 @@
Req-ID:
0001
Req-Type:
Nicht-Funktional
Events/UCs:
-Speicherung eines Bildes
-Pixel wird mit einem Byte dargestellt
-Overhead für Metainformationen erlaubt
-Keine seperate Abhandlung von "RasterImage" und "ShapedImage"
Description:
-Ein Bild wird mit maximal einem Byte pro Pixel kodiert
-Codierungsmöglichkeit nach folgendem Schema:
-Alle binären Codierung werden einer Farbe zugeordnet -> 2^(8)-1 mögliche Farben + Transparenz
-Die Zuordnung der Farben erfolgt automatisch und wird ebenfalls in der exportierten Datei gespeichert
-Die Umsetzung erfolgt mit dem Standart PNG8
Originator:
Jonas Mucke
Fit Criterion:
-Darstellung von mindestens 250 paarweise verschiedenen Farbstufen
-Darstellung einen transparenten Bits (Alpha Kanal = 1)
-Verarbeitungsmöglichkeit für 2^10 Pixel in unter 0.1 Sekunde beim Einlesen und Speichern
Priority:
0
Support Material:
Ubungsblat_01.pdf
Conflicts:
History:
-Erstellt am 30.10.2019, von Jonas Mucke
-Aktualisiert am 17.12.2019, von Paul Norberger
-Vollständig umgesetzt, Stand: 17.12.2019

View File

@@ -0,0 +1,78 @@
Req-ID:
0002
Req-Type:
Funktional
Events/UCs:
-Bearbeitung des Bildes mit einer Betriebssystem unterstützen Eingabemöglichkeit, zum Beispiel Maus oder Stift
-Bearbeitung mittels verschiedener Zeichen-Tools
-Freiwählbare Farbe aus dem möglichen Farbbereich
Description:
-Ein Farbwert, auch Transparent, welcher durch die genutzte Codierung (siehe Req_0001) darstellbar sein. Dies soll mittels Tools
gesetzt werden können, wobei diese spezifizieren was "gesetzt" bedeutet.
-Tools:
Pinsel:
-Der Pinsel ist ein Tool, welches um seinen Mittelpunkt alles in einem gewissen Pixelradius einfärbt.
Der Pixelradius geht dabei von 1-Pixel bis zu 10-Pixel.
Forms:
-Kreis:
Das Tool Kreis, soll es ermöglichen einen Kreis in einer gewählten Farbe aufzuspannen.
Dabei wird am Mittelpunkt angesetzt und dann zu einem beliebigen Punkt auf dem Kreis gezogen, die restlichen Punkte werden dann
mit dem selben Radius gefunden.
Das Rechteck besitzt 2 Farbattribute, den Rand und die Füllung. Der Rand kann im Bezug auf Breite und Farbe eingestellt werden.
Die Füllung ist innerhalb der Fläche, welche vom Rand aufgespannt wird, und kann im Bezug auf die Farbe und die Transparenz
eingestellt werden.
-Linie:
Das Tool Formen (Linie), soll es einem ermöglichen eine Linie in der gewählten Farbe zwischen 2 Punkten zu
ziehen. Dabei wird am ersten Punkt angesetzt und zum Zielpunkt gezogen, dabei verändert sich die Linie live.
Sobald das Eingabegerät getogglet wird, so wird die aktuelle Stelle als Endpunkt angenommen. Zwischen
Start und Endpunkt wird die Linie gezeichnet.
Es existieren verschiedene Linien-Formen:
-durchgezogene Linie (eine Linie ohne Lücken)
-gestrichelte Linie (auf der Linie werden nur Striche in regelmäßigen Abständen gezeichnet)
-gepunktete Linie (auf der Linie wird punktweise zwischen Farbig und Transparent alterniert)
Die Linie kann mittels dem Breite-Attribut verändert werden (Breite zwischen 1 und 10 Pixel)
-Rechteck:
Das Tool Formen (Rechteck), soll es einem ermöglichen ein Rechteck in ein einer gewählten Farbe aufzuspannen.
Dabei wird am ersten Punkt angesetzt und zum Zielpunkt gezogen. Dabei verändert sich das Rechteck live.
Sobald das Eingabegerät getogglet wird, so wird die aktuelle Stelle als Endpunkt angenommen. Zwischen Start und Endpunkt
wird das Rechteck aufgespannt.
Das Rechteck besitzt 2 Farbattribute, den Rand und die Füllung. Der Rand ist um das Rechteck gesetzt und kann
im Bezug auf Breite und Farbe eingestellt werden. Die Füllung ist innerhalb der Fläche, welche vom Rand aufgespannt wird,
und kann im Bezug auf die Farbe und die Transparenz eingestellt werden.
FloodFill:
-Das Floodfill Tool, bei diesem wird ein Pixel ausgewählt. Alle Pixel die mit diesem Pixel in einer Äquivalenzklasse
im Bezug auf Farbe und Nachbarschafts-Relation stehen, werden in die gewählte Farbe eingefärbt.
Einfarbig:
-Das Einfarbig Tool färbt das gesamte Bild in die gewählte Farbe ein.
Korrektur:
-Die Korrektur Tool ermöglicht das Anpassen verschiedener Bildwerte
-Helligkeit:
Das Tool Korrektur (Helligkeit), soll es ermöglichen die Helligkeit des Bildes anzupassen
-Farbton:
Das Tool Korrektur (Farbton), soll es ermöglichen den Farbton des Bildes anzupassen
Gradiation:
-Das Gradiations Tool soll es ermöglichen Farbverläufe mit einer Anfangs- und Endfarbe zu erstellen, zwischen welchen linear interpoliert wird.
Selektion:
-Das Selektionstool soll es ermöglichen ein Rechteck an Pixeln auszuwählen welche für die Bearbeitung durch andere Tools
berücksichtigt werden sollen.
Dabei wird am ersten Punkt angesetzt und zum Zielpunkt gezogen. Dabei verändert sich das Rechteck live.
Sobald das Eingabegerät getogglet wird, so wird die aktuelle Stelle als Endpunkt angenommen. Zwischen Start und Endpunkt
wird das Rechteck aufgespannt.
Cut:
-Das Cut Tool ermöglicht das Ausschneiden der selektierten Pixel
Originator:
Jonas Mucke
Fit Criterion:
-Das Setzten eines Pixels, in einer beliebigen Farbe, funktioniert in 99,9% in unter 0.01 Sekundens auf Referenzsystem
-Der Vollständige Farbbreich ist frei wählbar
-Es müssen mindestens 3 Tools benutzbar sein, das bedeutet eine 99,9% richtiges Verhalten in unter 0.1 Sekunden auf Referenzsystem
-Tools besitzen in 100% der Fälle das gewünschte Verhalten
Priority:
100
Support Material:
Ubungsblat_01.pdf
Conflicts:
- Keine bekannten Konflikte, Stand: 17.12.2019
History:
- Erstellt am 30.10.2019 um 22:10, von Jonas Mucke
- Aktualisiert am 17.12.2019, von Paul Norberger

View File

@@ -0,0 +1,26 @@
Req-ID:
0003
Req-Type:
Nicht-Funktional
Events/UCs:
- Selbsterklärendes & geordnetes User Interface
Description:
- Verständliches & gewohntes Design der Benutzeroberfläche
- Ähnlichkeit zu bewährten UIs, wie die beliebter Software (Gimp, Photoshop...)
- Toolleiste, die Icons für die einzelnen Tools beinhaltet und logisch in seperate Abschnitte eingeteilt ist
- Toolleiste als Block, der sich je nach Tool ändert auf einer linken Seite des Canvas
- Ein Layer"stack", der kleine Previewbilder der einzelnen Ebenen beinhaltet und das Verändern der Reihenfolge, sowie das Löschen & Erstellen von Layern erlaubt.
- Ein großer, zentraler Canvas, der die Bearbeitung ermöglicht
Originator:
Paul Norberger
Fit Criterion:
-Testgruppe von 3 Personen, die das Programm zuvor noch nie benutzt haben, stellen keine Fragen über die Benutzerobefläche nach einigen Minuten Ausprobieren.
-Kunde, der das neue Interface noch nie benutzt hat, hat keine größeren Schwierigkeiten damit zurecht zu kommen.
Priority:
20
Support Material:
Ubungsblat_01.pdf
Conflicts:
-Keine bekannten Konflikte, Stand: 17.12.2019
History:
-Erstellt am 17.12.2019

View File

@@ -0,0 +1,34 @@
Req-ID:
0004
Req-Type:
Funktional
Events/UCs:
-Rückgängigmachen eines vorherigen Fehlers
-Rückgängigmachen einer versehntlichen Korrektur
-Einen rückgängig gemachten Schritt wiederholen
Description:
-Es werden insgesamt 20 Bearbeitungschritte gespeichert
-Die gesamten Pixeldaten der Ebenen werden für jeden Schritt gespeichert
-Wird der Undo aktiviert, wird zunächst bestimmt ob sich die Daten für den Schritt direkt
davor im Speicher befinden. Ist dies der Fall, werden die Daten geladen und der intern
gespeicherte Index des geladenen Statuses verschiebt sich nach vorn, so kann mehrfach
geundoed und redoed werden. Ist dies nicht der Fall, gibt es ein audiovisuelles Feedback,
dass der Schritt nicht geladen werden kann.
-Wird der Undo aktiviert, wird zunächst bestimmt ob sich die Daten für den Schritt direkt
davor im Speicher befinden Ist dies der Fall, werden die Daten geladen und der intern
gespeicherte Index des geladenen Statuses verschiebt sich nach hinten, so kann mehrfach
geundoed und redoed werden. Ist dies nicht der Fall, gibt es ein audiovisuelles Feedback,
dass der Schritt nicht geladen werden kann.
Originator:
Paul Norberger
Fit Criterion:
-Bis zu 20 Schritte können geundoed und redoed werden
-Das Laden der einzelnen Schritte dauert für ein 512x512px Bild nicht länger als 0.2 Sekunden auf Referenzsystem
Priority:
50
Support Material:
Ubungsblat_01.pdf
Conflicts:
- Keine bekannten Konflikte, Stand: 18.12.2019
History:
- Erstellt am 18.12.2019, von Paul Norberger

View File

@@ -0,0 +1,129 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IntelliPhoto: intelliphoto/src/IntelliHelper/IntelliColorPicker.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">IntelliPhoto
&#160;<span id="projectnumber">0.5</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_intelli_color_picker_8h.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> </div>
<div class="headertitle">
<div class="title">IntelliColorPicker.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;QColor&quot;</code><br />
<code>#include &quot;QPoint&quot;</code><br />
<code>#include &quot;QColorDialog&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for IntelliColorPicker.h:</div>
<div class="dyncontent">
<div class="center"><img src="_intelli_color_picker_8h__incl.png" border="0" usemap="#intelliphoto_2src_2_intelli_helper_2_intelli_color_picker_8h" alt=""/></div>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="_intelli_color_picker_8h__dep__incl.png" border="0" usemap="#intelliphoto_2src_2_intelli_helper_2_intelli_color_picker_8hdep" alt=""/></div>
</div>
</div>
<p><a href="_intelli_color_picker_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_intelli_color_picker.html">IntelliColorPicker</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <a class="el" href="class_intelli_color_picker.html" title="The IntelliColorPicker manages the selected colors for one whole project.">IntelliColorPicker</a> manages the selected colors for one whole project. <a href="class_intelli_color_picker.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_8db5f55022e7670536cbc9a6a1d6f01c.html">intelliphoto</a></li><li class="navelem"><a class="el" href="dir_83a4347d11f2ba6343d546ab133722d2.html">src</a></li><li class="navelem"><a class="el" href="dir_f50aa5156fe016a259583c412dbf440c.html">IntelliHelper</a></li><li class="navelem"><a class="el" href="_intelli_color_picker_8h.html">IntelliColorPicker.h</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.16 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,65 @@
digraph "intelliphoto/src/IntelliHelper/IntelliColorPicker.h"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="intelliphoto/src/Intelli\lHelper/IntelliColorPicker.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="intelliphoto/src/Intelli\lHelper/IntelliColorPicker.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_helper_2_intelli_color_picker_8cpp.html",tooltip=" "];
Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node3 [label="intelliphoto/src/Layer\l/PaintingArea.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8h.html",tooltip=" "];
Node3 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node4 [label="intelliphoto/src/GUI\l/IntelliPhotoGui.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_photo_gui_8cpp.html",tooltip=" "];
Node3 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node5 [label="intelliphoto/src/Layer\l/PaintingArea.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8cpp.html",tooltip=" "];
Node3 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node6 [label="intelliphoto/src/Tool\l/IntelliTool.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_8cpp.html",tooltip=" "];
Node3 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node7 [label="intelliphoto/src/Tool\l/IntelliToolCircle.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_circle_8cpp.html",tooltip=" "];
Node3 -> Node8 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node8 [label="intelliphoto/src/Tool\l/IntelliToolFloodFill.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_flood_fill_8cpp.html",tooltip=" "];
Node3 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node9 [label="intelliphoto/src/Tool\l/IntelliToolLine.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_line_8cpp.html",tooltip=" "];
Node3 -> Node10 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node10 [label="intelliphoto/src/Tool\l/IntelliToolPen.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_pen_8cpp.html",tooltip=" "];
Node3 -> Node11 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node11 [label="intelliphoto/src/Tool\l/IntelliToolPlain.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_plain_8cpp.html",tooltip=" "];
Node3 -> Node12 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node12 [label="intelliphoto/src/Tool\l/IntelliToolPolygon.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_polygon_8cpp.html",tooltip=" "];
Node3 -> Node13 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node13 [label="intelliphoto/src/Tool\l/IntelliToolRectangle.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_rectangle_8cpp.html",tooltip=" "];
Node1 -> Node14 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node14 [label="intelliphoto/src/Tool\l/IntelliColorPicker.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_tool_2_intelli_color_picker_8cpp.html",tooltip=" "];
Node1 -> Node15 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node15 [label="intelliphoto/src/Tool\l/IntelliTool.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_8h.html",tooltip=" "];
Node15 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node15 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node15 -> Node16 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node16 [label="intelliphoto/src/Tool\l/IntelliToolCircle.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_circle_8h.html",tooltip=" "];
Node16 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node16 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node15 -> Node17 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node17 [label="intelliphoto/src/Tool\l/IntelliToolFloodFill.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_flood_fill_8h.html",tooltip=" "];
Node17 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node17 -> Node8 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node15 -> Node18 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node18 [label="intelliphoto/src/Tool\l/IntelliToolLine.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_line_8h.html",tooltip=" "];
Node18 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node18 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node15 -> Node19 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node19 [label="intelliphoto/src/Tool\l/IntelliToolPen.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_pen_8h.html",tooltip=" "];
Node19 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node19 -> Node10 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node15 -> Node20 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node20 [label="intelliphoto/src/Tool\l/IntelliToolPlain.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_plain_8h.html",tooltip=" "];
Node20 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node20 -> Node11 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node15 -> Node21 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node21 [label="intelliphoto/src/Tool\l/IntelliToolPolygon.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_polygon_8h.html",tooltip=" "];
Node21 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node21 -> Node12 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node15 -> Node22 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node22 [label="intelliphoto/src/Tool\l/IntelliToolRectangle.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_rectangle_8h.html",tooltip=" "];
Node22 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node22 -> Node13 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
}

View File

@@ -0,0 +1,13 @@
digraph "intelliphoto/src/IntelliHelper/IntelliColorPicker.h"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="intelliphoto/src/Intelli\lHelper/IntelliColorPicker.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node1 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node3 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node1 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node4 [label="QColorDialog",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
}

View File

@@ -0,0 +1,143 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IntelliPhoto: intelliphoto/src/IntelliHelper/IntelliColorPicker.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">IntelliPhoto
&#160;<span id="projectnumber">0.5</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_intelli_color_picker_8h_source.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">IntelliColorPicker.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="_intelli_color_picker_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#ifndef INTELLITOOLSETCOLORTOOL_H</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#define INTELLITOOLSETCOLORTOOL_H</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160; </div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#include &quot;QColor&quot;</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="preprocessor">#include &quot;QPoint&quot;</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="preprocessor">#include &quot;QColorDialog&quot;</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160; </div>
<div class="line"><a name="l00011"></a><span class="lineno"><a class="line" href="class_intelli_color_picker.html"> 11</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_intelli_color_picker.html">IntelliColorPicker</a> {</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<a class="code" href="class_intelli_color_picker.html#a0d1247bdd87add1396ea5d9acaad79ae">IntelliColorPicker</a>();</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; </div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="keyword">virtual</span> <a class="code" href="class_intelli_color_picker.html#a40b975268a1f05249e8a49dde9a862ff">~IntelliColorPicker</a>();</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; </div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_intelli_color_picker.html#a437a6f20bf2fc0a4cbaf4c030c2a26d9">switchColors</a>();</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; </div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;QColor <a class="code" href="class_intelli_color_picker.html#aae2eb27b928fe9388b9398b0556303b7">getFirstColor</a>();</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; </div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;QColor <a class="code" href="class_intelli_color_picker.html#a55568fbf5dc783f06284b7031ffe9415">getSecondColor</a>();</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; </div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_intelli_color_picker.html#a7e2ddbbbfbed383f06b24e5bf6b27ae8">setFirstColor</a>(QColor Color);</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; </div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_intelli_color_picker.html#a86bf4a940e4a0e465e30cbdf28748931">setSecondColor</a>(QColor Color);</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; </div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;QColor firstColor;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; </div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;QColor secondColor;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;};</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; </div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="preprocessor">#endif // INTELLITOOLSETCOLORTOOL_H</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclass_intelli_color_picker_html_a40b975268a1f05249e8a49dde9a862ff"><div class="ttname"><a href="class_intelli_color_picker.html#a40b975268a1f05249e8a49dde9a862ff">IntelliColorPicker::~IntelliColorPicker</a></div><div class="ttdeci">virtual ~IntelliColorPicker()</div><div class="ttdoc">IntelliColorPicker destructor clears up his used memory, if there is some.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_helper_2_intelli_color_picker_8cpp_source.html#l00008">IntelliColorPicker.cpp:8</a></div></div>
<div class="ttc" id="aclass_intelli_color_picker_html_a86bf4a940e4a0e465e30cbdf28748931"><div class="ttname"><a href="class_intelli_color_picker.html#a86bf4a940e4a0e465e30cbdf28748931">IntelliColorPicker::setSecondColor</a></div><div class="ttdeci">void setSecondColor(QColor Color)</div><div class="ttdoc">A function to set the secondary color.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_helper_2_intelli_color_picker_8cpp_source.html#l00028">IntelliColorPicker.cpp:28</a></div></div>
<div class="ttc" id="aclass_intelli_color_picker_html_a55568fbf5dc783f06284b7031ffe9415"><div class="ttname"><a href="class_intelli_color_picker.html#a55568fbf5dc783f06284b7031ffe9415">IntelliColorPicker::getSecondColor</a></div><div class="ttdeci">QColor getSecondColor()</div><div class="ttdoc">A function to read the secondary selected color.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_helper_2_intelli_color_picker_8cpp_source.html#l00020">IntelliColorPicker.cpp:20</a></div></div>
<div class="ttc" id="aclass_intelli_color_picker_html_a437a6f20bf2fc0a4cbaf4c030c2a26d9"><div class="ttname"><a href="class_intelli_color_picker.html#a437a6f20bf2fc0a4cbaf4c030c2a26d9">IntelliColorPicker::switchColors</a></div><div class="ttdeci">void switchColors()</div><div class="ttdoc">A function switching primary and secondary color.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_helper_2_intelli_color_picker_8cpp_source.html#l00012">IntelliColorPicker.cpp:12</a></div></div>
<div class="ttc" id="aclass_intelli_color_picker_html_a7e2ddbbbfbed383f06b24e5bf6b27ae8"><div class="ttname"><a href="class_intelli_color_picker.html#a7e2ddbbbfbed383f06b24e5bf6b27ae8">IntelliColorPicker::setFirstColor</a></div><div class="ttdeci">void setFirstColor(QColor Color)</div><div class="ttdoc">A function to set the primary color.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_helper_2_intelli_color_picker_8cpp_source.html#l00024">IntelliColorPicker.cpp:24</a></div></div>
<div class="ttc" id="aclass_intelli_color_picker_html_aae2eb27b928fe9388b9398b0556303b7"><div class="ttname"><a href="class_intelli_color_picker.html#aae2eb27b928fe9388b9398b0556303b7">IntelliColorPicker::getFirstColor</a></div><div class="ttdeci">QColor getFirstColor()</div><div class="ttdoc">A function to read the primary selected color.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_helper_2_intelli_color_picker_8cpp_source.html#l00016">IntelliColorPicker.cpp:16</a></div></div>
<div class="ttc" id="aclass_intelli_color_picker_html"><div class="ttname"><a href="class_intelli_color_picker.html">IntelliColorPicker</a></div><div class="ttdoc">The IntelliColorPicker manages the selected colors for one whole project.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_color_picker_8h_source.html#l00011">IntelliColorPicker.h:11</a></div></div>
<div class="ttc" id="aclass_intelli_color_picker_html_a0d1247bdd87add1396ea5d9acaad79ae"><div class="ttname"><a href="class_intelli_color_picker.html#a0d1247bdd87add1396ea5d9acaad79ae">IntelliColorPicker::IntelliColorPicker</a></div><div class="ttdeci">IntelliColorPicker()</div><div class="ttdoc">IntelliColorPicker constructor, setting 2 preset colors, be careful, theese color may change in produ...</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_helper_2_intelli_color_picker_8cpp_source.html#l00003">IntelliColorPicker.cpp:3</a></div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_8db5f55022e7670536cbc9a6a1d6f01c.html">intelliphoto</a></li><li class="navelem"><a class="el" href="dir_83a4347d11f2ba6343d546ab133722d2.html">src</a></li><li class="navelem"><a class="el" href="dir_f50aa5156fe016a259583c412dbf440c.html">IntelliHelper</a></li><li class="navelem"><a class="el" href="_intelli_color_picker_8h.html">IntelliColorPicker.h</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.16 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,113 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IntelliPhoto: intelliphoto/src/IntelliHelper/IntelliColorPicker.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">IntelliPhoto
&#160;<span id="projectnumber">0.5</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_intelli_helper_2_intelli_color_picker_8cpp.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">IntelliColorPicker.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="_intelli_color_picker_8h_source.html">IntelliColorPicker.h</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for IntelliColorPicker.cpp:</div>
<div class="dyncontent">
<div class="center"><img src="_intelli_helper_2_intelli_color_picker_8cpp__incl.png" border="0" usemap="#intelliphoto_2src_2_intelli_helper_2_intelli_color_picker_8cpp" alt=""/></div>
</div>
</div>
<p><a href="_intelli_helper_2_intelli_color_picker_8cpp_source.html">Go to the source code of this file.</a></p>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_8db5f55022e7670536cbc9a6a1d6f01c.html">intelliphoto</a></li><li class="navelem"><a class="el" href="dir_83a4347d11f2ba6343d546ab133722d2.html">src</a></li><li class="navelem"><a class="el" href="dir_f50aa5156fe016a259583c412dbf440c.html">IntelliHelper</a></li><li class="navelem"><a class="el" href="_intelli_helper_2_intelli_color_picker_8cpp.html">IntelliColorPicker.cpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.16 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,15 @@
digraph "intelliphoto/src/IntelliHelper/IntelliColorPicker.cpp"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="intelliphoto/src/Intelli\lHelper/IntelliColorPicker.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="IntelliColorPicker.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_color_picker_8h.html",tooltip=" "];
Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node3 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node2 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node4 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node2 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node5 [label="QColorDialog",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
}

View File

@@ -0,0 +1,143 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IntelliPhoto: intelliphoto/src/IntelliHelper/IntelliColorPicker.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">IntelliPhoto
&#160;<span id="projectnumber">0.5</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_intelli_helper_2_intelli_color_picker_8cpp_source.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">IntelliColorPicker.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="_intelli_helper_2_intelli_color_picker_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_intelli_color_picker_8h.html">IntelliColorPicker.h</a>&quot;</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160; </div>
<div class="line"><a name="l00003"></a><span class="lineno"><a class="line" href="class_intelli_color_picker.html#a0d1247bdd87add1396ea5d9acaad79ae"> 3</a></span>&#160;<a class="code" href="class_intelli_color_picker.html#a0d1247bdd87add1396ea5d9acaad79ae">IntelliColorPicker::IntelliColorPicker</a>(){</div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160; firstColor = {255,0,0,255};</div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160; secondColor = {0,255,255,255};</div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;}</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160; </div>
<div class="line"><a name="l00008"></a><span class="lineno"><a class="line" href="class_intelli_color_picker.html#a40b975268a1f05249e8a49dde9a862ff"> 8</a></span>&#160;<a class="code" href="class_intelli_color_picker.html#a40b975268a1f05249e8a49dde9a862ff">IntelliColorPicker::~IntelliColorPicker</a>(){</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160; </div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;}</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160; </div>
<div class="line"><a name="l00012"></a><span class="lineno"><a class="line" href="class_intelli_color_picker.html#a437a6f20bf2fc0a4cbaf4c030c2a26d9"> 12</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_intelli_color_picker.html#a437a6f20bf2fc0a4cbaf4c030c2a26d9">IntelliColorPicker::switchColors</a>(){</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160; std::swap(firstColor, secondColor);</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;}</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; </div>
<div class="line"><a name="l00016"></a><span class="lineno"><a class="line" href="class_intelli_color_picker.html#aae2eb27b928fe9388b9398b0556303b7"> 16</a></span>&#160;QColor <a class="code" href="class_intelli_color_picker.html#aae2eb27b928fe9388b9398b0556303b7">IntelliColorPicker::getFirstColor</a>(){</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; <span class="keywordflow">return</span> this-&gt;firstColor;</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;}</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; </div>
<div class="line"><a name="l00020"></a><span class="lineno"><a class="line" href="class_intelli_color_picker.html#a55568fbf5dc783f06284b7031ffe9415"> 20</a></span>&#160;QColor <a class="code" href="class_intelli_color_picker.html#a55568fbf5dc783f06284b7031ffe9415">IntelliColorPicker::getSecondColor</a>(){</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; <span class="keywordflow">return</span> this-&gt;secondColor;</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;}</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; </div>
<div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="class_intelli_color_picker.html#a7e2ddbbbfbed383f06b24e5bf6b27ae8"> 24</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_intelli_color_picker.html#a7e2ddbbbfbed383f06b24e5bf6b27ae8">IntelliColorPicker::setFirstColor</a>(QColor Color){</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; this-&gt;firstColor = Color;</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;}</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; </div>
<div class="line"><a name="l00028"></a><span class="lineno"><a class="line" href="class_intelli_color_picker.html#a86bf4a940e4a0e465e30cbdf28748931"> 28</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_intelli_color_picker.html#a86bf4a940e4a0e465e30cbdf28748931">IntelliColorPicker::setSecondColor</a>(QColor Color){</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; this-&gt;secondColor = Color;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;}</div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclass_intelli_color_picker_html_a40b975268a1f05249e8a49dde9a862ff"><div class="ttname"><a href="class_intelli_color_picker.html#a40b975268a1f05249e8a49dde9a862ff">IntelliColorPicker::~IntelliColorPicker</a></div><div class="ttdeci">virtual ~IntelliColorPicker()</div><div class="ttdoc">IntelliColorPicker destructor clears up his used memory, if there is some.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_helper_2_intelli_color_picker_8cpp_source.html#l00008">IntelliColorPicker.cpp:8</a></div></div>
<div class="ttc" id="aclass_intelli_color_picker_html_a86bf4a940e4a0e465e30cbdf28748931"><div class="ttname"><a href="class_intelli_color_picker.html#a86bf4a940e4a0e465e30cbdf28748931">IntelliColorPicker::setSecondColor</a></div><div class="ttdeci">void setSecondColor(QColor Color)</div><div class="ttdoc">A function to set the secondary color.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_helper_2_intelli_color_picker_8cpp_source.html#l00028">IntelliColorPicker.cpp:28</a></div></div>
<div class="ttc" id="aclass_intelli_color_picker_html_a55568fbf5dc783f06284b7031ffe9415"><div class="ttname"><a href="class_intelli_color_picker.html#a55568fbf5dc783f06284b7031ffe9415">IntelliColorPicker::getSecondColor</a></div><div class="ttdeci">QColor getSecondColor()</div><div class="ttdoc">A function to read the secondary selected color.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_helper_2_intelli_color_picker_8cpp_source.html#l00020">IntelliColorPicker.cpp:20</a></div></div>
<div class="ttc" id="aclass_intelli_color_picker_html_a437a6f20bf2fc0a4cbaf4c030c2a26d9"><div class="ttname"><a href="class_intelli_color_picker.html#a437a6f20bf2fc0a4cbaf4c030c2a26d9">IntelliColorPicker::switchColors</a></div><div class="ttdeci">void switchColors()</div><div class="ttdoc">A function switching primary and secondary color.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_helper_2_intelli_color_picker_8cpp_source.html#l00012">IntelliColorPicker.cpp:12</a></div></div>
<div class="ttc" id="a_intelli_color_picker_8h_html"><div class="ttname"><a href="_intelli_color_picker_8h.html">IntelliColorPicker.h</a></div></div>
<div class="ttc" id="aclass_intelli_color_picker_html_a7e2ddbbbfbed383f06b24e5bf6b27ae8"><div class="ttname"><a href="class_intelli_color_picker.html#a7e2ddbbbfbed383f06b24e5bf6b27ae8">IntelliColorPicker::setFirstColor</a></div><div class="ttdeci">void setFirstColor(QColor Color)</div><div class="ttdoc">A function to set the primary color.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_helper_2_intelli_color_picker_8cpp_source.html#l00024">IntelliColorPicker.cpp:24</a></div></div>
<div class="ttc" id="aclass_intelli_color_picker_html_aae2eb27b928fe9388b9398b0556303b7"><div class="ttname"><a href="class_intelli_color_picker.html#aae2eb27b928fe9388b9398b0556303b7">IntelliColorPicker::getFirstColor</a></div><div class="ttdeci">QColor getFirstColor()</div><div class="ttdoc">A function to read the primary selected color.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_helper_2_intelli_color_picker_8cpp_source.html#l00016">IntelliColorPicker.cpp:16</a></div></div>
<div class="ttc" id="aclass_intelli_color_picker_html_a0d1247bdd87add1396ea5d9acaad79ae"><div class="ttname"><a href="class_intelli_color_picker.html#a0d1247bdd87add1396ea5d9acaad79ae">IntelliColorPicker::IntelliColorPicker</a></div><div class="ttdeci">IntelliColorPicker()</div><div class="ttdoc">IntelliColorPicker constructor, setting 2 preset colors, be careful, theese color may change in produ...</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_helper_2_intelli_color_picker_8cpp_source.html#l00003">IntelliColorPicker.cpp:3</a></div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_8db5f55022e7670536cbc9a6a1d6f01c.html">intelliphoto</a></li><li class="navelem"><a class="el" href="dir_83a4347d11f2ba6343d546ab133722d2.html">src</a></li><li class="navelem"><a class="el" href="dir_f50aa5156fe016a259583c412dbf440c.html">IntelliHelper</a></li><li class="navelem"><a class="el" href="_intelli_helper_2_intelli_color_picker_8cpp.html">IntelliColorPicker.cpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.16 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,116 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IntelliPhoto: intelliphoto/src/IntelliHelper/IntelliHelper.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">IntelliPhoto
&#160;<span id="projectnumber">0.5</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_intelli_helper_8cpp.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">IntelliHelper.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="_intelli_helper_8h_source.html">IntelliHelper.h</a>&quot;</code><br />
<code>#include &lt;algorithm&gt;</code><br />
<code>#include &lt;queue&gt;</code><br />
<code>#include &lt;cmath&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for IntelliHelper.cpp:</div>
<div class="dyncontent">
<div class="center"><img src="_intelli_helper_8cpp__incl.png" border="0" usemap="#intelliphoto_2src_2_intelli_helper_2_intelli_helper_8cpp" alt=""/></div>
</div>
</div>
<p><a href="_intelli_helper_8cpp_source.html">Go to the source code of this file.</a></p>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_8db5f55022e7670536cbc9a6a1d6f01c.html">intelliphoto</a></li><li class="navelem"><a class="el" href="dir_83a4347d11f2ba6343d546ab133722d2.html">src</a></li><li class="navelem"><a class="el" href="dir_f50aa5156fe016a259583c412dbf440c.html">IntelliHelper</a></li><li class="navelem"><a class="el" href="_intelli_helper_8cpp.html">IntelliHelper.cpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.16 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,19 @@
digraph "intelliphoto/src/IntelliHelper/IntelliHelper.cpp"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="intelliphoto/src/Intelli\lHelper/IntelliHelper.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="IntelliHelper.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_helper_8h.html",tooltip=" "];
Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node3 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node2 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node4 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node1 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node5 [label="algorithm",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node1 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node6 [label="queue",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node1 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node7 [label="cmath",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
}

View File

@@ -0,0 +1,236 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IntelliPhoto: intelliphoto/src/IntelliHelper/IntelliHelper.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">IntelliPhoto
&#160;<span id="projectnumber">0.5</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_intelli_helper_8cpp_source.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">IntelliHelper.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="_intelli_helper_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_intelli_helper_8h.html">IntelliHelper.h</a>&quot;</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#include &lt;algorithm&gt;</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="preprocessor">#include &lt;queue&gt;</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#include &lt;cmath&gt;</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160; </div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160; </div>
<div class="line"><a name="l00007"></a><span class="lineno"><a class="line" href="namespace_intelli_helper.html#a214dc3624ba4562a03dc922e3dd7b617"> 7</a></span>&#160;std::vector&lt;Triangle&gt; <a class="code" href="namespace_intelli_helper.html#a214dc3624ba4562a03dc922e3dd7b617">IntelliHelper::calculateTriangles</a>(std::vector&lt;QPoint&gt; polyPoints){</div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160; <span class="comment">// helper for managing the triangle vertices and their state</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160; <span class="keyword">struct </span>TriangleHelper {</div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160; QPoint vertex;</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160; <span class="keywordtype">float</span> interiorAngle;</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160; <span class="keywordtype">int</span> index;</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160; <span class="keywordtype">bool</span> isTip;</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; };</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; </div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; <span class="comment">// calculates the inner angle of &#39;point&#39;</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; <span class="keyword">auto</span> calculateInner = [](QPoint&amp; point, QPoint&amp; prev, QPoint&amp; post){</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; QPoint AP(point.x()-prev.x(), point.y()-prev.y());</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; QPoint BP(point.x()-post.x(), point.y()-post.y());</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; </div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; <span class="keywordtype">float</span> topSclar = AP.x()*BP.x()+AP.y()*BP.y();</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; <span class="keywordtype">float</span> absolute = sqrt(pow(AP.x(),2.)+pow(AP.y(),2.))*sqrt(pow(BP.x(),2.)+pow(BP.y(),2.));</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; <span class="keywordflow">return</span> acos(topSclar/absolute);</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; };</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; </div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <span class="comment">// gets the first element of vec for which element.isTip == true holds</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="keyword">auto</span> getTip= [](<span class="keyword">const</span> std::vector&lt;TriangleHelper&gt;&amp; vec){</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="keywordtype">size_t</span> min = 0;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> i=0; i&lt;vec.size(); i++) {</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keywordflow">if</span>(vec[i].interiorAngle&lt;vec[min].interiorAngle) {</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; min = i;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; }</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; }</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="keywordflow">return</span> vec[min];</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; };</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; </div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="comment">// get the vertex Index bevor index in relation to the container length</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keyword">auto</span> getPrev = [](<span class="keywordtype">int</span> index, <span class="keywordtype">int</span> length){</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keywordflow">return</span> (index-1)&gt;=0 ? (index-1) : (length-1);</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; };</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; </div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="comment">// get the vertex Index after index in relation to the container lenght</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keyword">auto</span> getPost = [](<span class="keywordtype">int</span> index, <span class="keywordtype">int</span> length){</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordflow">return</span> (index+1)%length;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; };</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; </div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="comment">// return if the vertex is a tip</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keyword">auto</span> isTip = [](<span class="keywordtype">float</span> angle){</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keywordflow">return</span> static_cast&lt;double&gt;(angle)&lt;(M_PI/2.);</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; };</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; </div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; std::vector&lt;TriangleHelper&gt; Vertices;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; std::vector&lt;Triangle&gt; Triangles;</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; </div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="comment">// set up all vertices and calculate intirior angle</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i=0; i&lt;static_cast&lt;int&gt;(polyPoints.size()); i++) {</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; TriangleHelper helper;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordtype">int</span> prev = getPrev(i, static_cast&lt;int&gt;(polyPoints.size()));</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordtype">int</span> post = getPost(i, static_cast&lt;int&gt;(polyPoints.size()));</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; </div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; helper.vertex = polyPoints[static_cast&lt;size_t&gt;(i)];</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; helper.index = i;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; </div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; helper.interiorAngle = calculateInner(polyPoints[static_cast&lt;size_t&gt;(i)],</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; polyPoints[static_cast&lt;size_t&gt;(prev)],</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; polyPoints[static_cast&lt;size_t&gt;(post)]);</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; helper.isTip = isTip(helper.interiorAngle);</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; Vertices.push_back(helper);</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; }</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; </div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="comment">// search triangles based on the intirior angles of each vertey</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">while</span>(Triangles.size() != polyPoints.size()-2) {</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <a class="code" href="struct_triangle.html">Triangle</a> tri;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; TriangleHelper smallest = getTip(Vertices);</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordtype">int</span> prev = getPrev(smallest.index, static_cast&lt;int&gt;(Vertices.size()));</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordtype">int</span> post = getPost(smallest.index, static_cast&lt;int&gt;(Vertices.size()));</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; </div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="comment">// set triangle and push it</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; tri.<a class="code" href="struct_triangle.html#a4fe8b39e0144ebff908b7718c2f2751b">A</a> = Vertices[static_cast&lt;size_t&gt;(prev)].vertex;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; tri.<a class="code" href="struct_triangle.html#a64fa6a90a6131f12a1a3054bf86647d7">B</a> = Vertices[static_cast&lt;size_t&gt;(smallest.index)].vertex;</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; tri.<a class="code" href="struct_triangle.html#addb8aaab314d79f3617acca01e12872a">C</a> = Vertices[static_cast&lt;size_t&gt;(post)].vertex;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; Triangles.push_back(tri);</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; </div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="comment">// update Vertice array</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; Vertices.erase(Vertices.begin()+smallest.index);</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> i=static_cast&lt;size_t&gt;(smallest.index); i&lt;Vertices.size(); i++) {</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; Vertices[i].index-=1;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; }</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; </div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="comment">// update post und prev index</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; post = post-1;</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; prev = prev&lt;smallest.index ? prev : (prev-1);</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; </div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="comment">// calcultae neighboors of prev and post to calculate new interior angles</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordtype">int</span> prevOfPrev = getPrev(prev, static_cast&lt;int&gt;(Vertices.size()));</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordtype">int</span> postOfPrev = getPost(prev, static_cast&lt;int&gt;(Vertices.size()));</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; </div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordtype">int</span> prevOfPost = getPrev(post, static_cast&lt;int&gt;(Vertices.size()));</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordtype">int</span> postOfPost = getPost(post, static_cast&lt;int&gt;(Vertices.size()));</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; </div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="comment">// update vertices with interior angles</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="comment">// updtae prev</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; Vertices[static_cast&lt;size_t&gt;(prev)].interiorAngle = calculateInner(Vertices[static_cast&lt;size_t&gt;(prev)].vertex,</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; Vertices[static_cast&lt;size_t&gt;(prevOfPrev)].vertex,</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; Vertices[static_cast&lt;size_t&gt;(postOfPrev)].vertex);</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; Vertices[static_cast&lt;size_t&gt;(prev)].isTip = isTip(Vertices[static_cast&lt;size_t&gt;(prev)].interiorAngle);</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="comment">// update post</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; Vertices[static_cast&lt;size_t&gt;(post)].interiorAngle = calculateInner(Vertices[static_cast&lt;size_t&gt;(post)].vertex,</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; Vertices[static_cast&lt;size_t&gt;(prevOfPost)].vertex,</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; Vertices[static_cast&lt;size_t&gt;(postOfPost)].vertex);</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; Vertices[static_cast&lt;size_t&gt;(post)].isTip = isTip(Vertices[static_cast&lt;size_t&gt;(post)].interiorAngle);</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; }</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">return</span> Triangles;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;}</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; </div>
<div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="namespace_intelli_helper.html#a44d516b3e619e2a743e9c98dd75cf901"> 116</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="namespace_intelli_helper.html#a44d516b3e619e2a743e9c98dd75cf901">IntelliHelper::isInPolygon</a>(std::vector&lt;Triangle&gt; &amp;triangles, QPoint &amp;point){</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> triangle : triangles) {</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="namespace_intelli_helper.html#a9fcfe72f00e870be4a8ab9f2e17483c9">IntelliHelper::isInTriangle</a>(triangle, point)) {</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; }</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; }</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;}</div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="anamespace_intelli_helper_html_a9fcfe72f00e870be4a8ab9f2e17483c9"><div class="ttname"><a href="namespace_intelli_helper.html#a9fcfe72f00e870be4a8ab9f2e17483c9">IntelliHelper::isInTriangle</a></div><div class="ttdeci">bool isInTriangle(Triangle &amp;tri, QPoint &amp;P)</div><div class="ttdoc">A function to check if a given point is in a triangle.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_helper_8h_source.html#l00033">IntelliHelper.h:33</a></div></div>
<div class="ttc" id="a_intelli_helper_8h_html"><div class="ttname"><a href="_intelli_helper_8h.html">IntelliHelper.h</a></div></div>
<div class="ttc" id="astruct_triangle_html_a64fa6a90a6131f12a1a3054bf86647d7"><div class="ttname"><a href="struct_triangle.html#a64fa6a90a6131f12a1a3054bf86647d7">Triangle::B</a></div><div class="ttdeci">QPoint B</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_helper_8h_source.html#l00011">IntelliHelper.h:11</a></div></div>
<div class="ttc" id="astruct_triangle_html_addb8aaab314d79f3617acca01e12872a"><div class="ttname"><a href="struct_triangle.html#addb8aaab314d79f3617acca01e12872a">Triangle::C</a></div><div class="ttdeci">QPoint C</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_helper_8h_source.html#l00011">IntelliHelper.h:11</a></div></div>
<div class="ttc" id="astruct_triangle_html"><div class="ttname"><a href="struct_triangle.html">Triangle</a></div><div class="ttdoc">The Triangle struct holds the 3 vertices of a triangle.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_helper_8h_source.html#l00010">IntelliHelper.h:10</a></div></div>
<div class="ttc" id="anamespace_intelli_helper_html_a44d516b3e619e2a743e9c98dd75cf901"><div class="ttname"><a href="namespace_intelli_helper.html#a44d516b3e619e2a743e9c98dd75cf901">IntelliHelper::isInPolygon</a></div><div class="ttdeci">bool isInPolygon(std::vector&lt; Triangle &gt; &amp;triangles, QPoint &amp;point)</div><div class="ttdoc">A function to check if a point lies in a polygon by checking its spanning triangles.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_helper_8cpp_source.html#l00116">IntelliHelper.cpp:116</a></div></div>
<div class="ttc" id="astruct_triangle_html_a4fe8b39e0144ebff908b7718c2f2751b"><div class="ttname"><a href="struct_triangle.html#a4fe8b39e0144ebff908b7718c2f2751b">Triangle::A</a></div><div class="ttdeci">QPoint A</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_helper_8h_source.html#l00011">IntelliHelper.h:11</a></div></div>
<div class="ttc" id="anamespace_intelli_helper_html_a214dc3624ba4562a03dc922e3dd7b617"><div class="ttname"><a href="namespace_intelli_helper.html#a214dc3624ba4562a03dc922e3dd7b617">IntelliHelper::calculateTriangles</a></div><div class="ttdeci">std::vector&lt; Triangle &gt; calculateTriangles(std::vector&lt; QPoint &gt; polyPoints)</div><div class="ttdoc">A function to split a polygon in its spanning traingles by using Meisters Theorem of graph theory by ...</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_helper_8cpp_source.html#l00007">IntelliHelper.cpp:7</a></div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_8db5f55022e7670536cbc9a6a1d6f01c.html">intelliphoto</a></li><li class="navelem"><a class="el" href="dir_83a4347d11f2ba6343d546ab133722d2.html">src</a></li><li class="navelem"><a class="el" href="dir_f50aa5156fe016a259583c412dbf440c.html">IntelliHelper</a></li><li class="navelem"><a class="el" href="_intelli_helper_8cpp.html">IntelliHelper.cpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.16 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,150 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IntelliPhoto: intelliphoto/src/IntelliHelper/IntelliHelper.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">IntelliPhoto
&#160;<span id="projectnumber">0.5</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_intelli_helper_8h.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">IntelliHelper.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;QPoint&gt;</code><br />
<code>#include &lt;vector&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for IntelliHelper.h:</div>
<div class="dyncontent">
<div class="center"><img src="_intelli_helper_8h__incl.png" border="0" usemap="#intelliphoto_2src_2_intelli_helper_2_intelli_helper_8h" alt=""/></div>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="_intelli_helper_8h__dep__incl.png" border="0" usemap="#intelliphoto_2src_2_intelli_helper_2_intelli_helper_8hdep" alt=""/></div>
</div>
</div>
<p><a href="_intelli_helper_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_triangle.html">Triangle</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <a class="el" href="struct_triangle.html" title="The Triangle struct holds the 3 vertices of a triangle.">Triangle</a> struct holds the 3 vertices of a triangle. <a href="struct_triangle.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespace_intelli_helper"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_intelli_helper.html">IntelliHelper</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:afdd9fe78cc5d21b59642910220768149"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_intelli_helper.html#afdd9fe78cc5d21b59642910220768149">IntelliHelper::sign</a> (QPoint &amp;p1, QPoint &amp;p2, QPoint &amp;p3)</td></tr>
<tr class="memdesc:afdd9fe78cc5d21b59642910220768149"><td class="mdescLeft">&#160;</td><td class="mdescRight">A function to get the 2*area of a traingle, using its determinat. <a href="namespace_intelli_helper.html#afdd9fe78cc5d21b59642910220768149">More...</a><br /></td></tr>
<tr class="separator:afdd9fe78cc5d21b59642910220768149"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9fcfe72f00e870be4a8ab9f2e17483c9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_intelli_helper.html#a9fcfe72f00e870be4a8ab9f2e17483c9">IntelliHelper::isInTriangle</a> (<a class="el" href="struct_triangle.html">Triangle</a> &amp;tri, QPoint &amp;P)</td></tr>
<tr class="memdesc:a9fcfe72f00e870be4a8ab9f2e17483c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">A function to check if a given point is in a triangle. <a href="namespace_intelli_helper.html#a9fcfe72f00e870be4a8ab9f2e17483c9">More...</a><br /></td></tr>
<tr class="separator:a9fcfe72f00e870be4a8ab9f2e17483c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a214dc3624ba4562a03dc922e3dd7b617"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="struct_triangle.html">Triangle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_intelli_helper.html#a214dc3624ba4562a03dc922e3dd7b617">IntelliHelper::calculateTriangles</a> (std::vector&lt; QPoint &gt; polyPoints)</td></tr>
<tr class="memdesc:a214dc3624ba4562a03dc922e3dd7b617"><td class="mdescLeft">&#160;</td><td class="mdescRight">A function to split a polygon in its spanning traingles by using Meisters Theorem of graph theory by clipping ears of a planar graph. <a href="namespace_intelli_helper.html#a214dc3624ba4562a03dc922e3dd7b617">More...</a><br /></td></tr>
<tr class="separator:a214dc3624ba4562a03dc922e3dd7b617"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44d516b3e619e2a743e9c98dd75cf901"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_intelli_helper.html#a44d516b3e619e2a743e9c98dd75cf901">IntelliHelper::isInPolygon</a> (std::vector&lt; <a class="el" href="struct_triangle.html">Triangle</a> &gt; &amp;triangles, QPoint &amp;point)</td></tr>
<tr class="memdesc:a44d516b3e619e2a743e9c98dd75cf901"><td class="mdescLeft">&#160;</td><td class="mdescRight">A function to check if a point lies in a polygon by checking its spanning triangles. <a href="namespace_intelli_helper.html#a44d516b3e619e2a743e9c98dd75cf901">More...</a><br /></td></tr>
<tr class="separator:a44d516b3e619e2a743e9c98dd75cf901"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_8db5f55022e7670536cbc9a6a1d6f01c.html">intelliphoto</a></li><li class="navelem"><a class="el" href="dir_83a4347d11f2ba6343d546ab133722d2.html">src</a></li><li class="navelem"><a class="el" href="dir_f50aa5156fe016a259583c412dbf440c.html">IntelliHelper</a></li><li class="navelem"><a class="el" href="_intelli_helper_8h.html">IntelliHelper.h</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.16 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,8 @@
var _intelli_helper_8h =
[
[ "Triangle", "struct_triangle.html", "struct_triangle" ],
[ "calculateTriangles", "_intelli_helper_8h.html#a214dc3624ba4562a03dc922e3dd7b617", null ],
[ "isInPolygon", "_intelli_helper_8h.html#a44d516b3e619e2a743e9c98dd75cf901", null ],
[ "isInTriangle", "_intelli_helper_8h.html#a9fcfe72f00e870be4a8ab9f2e17483c9", null ],
[ "sign", "_intelli_helper_8h.html#afdd9fe78cc5d21b59642910220768149", null ]
];

View File

@@ -0,0 +1,43 @@
digraph "intelliphoto/src/IntelliHelper/IntelliHelper.h"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="intelliphoto/src/Intelli\lHelper/IntelliHelper.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="intelliphoto/src/Image\l/IntelliShapedImage.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_shaped_image_8cpp.html",tooltip=" "];
Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node3 [label="intelliphoto/src/Image\l/IntelliShapedImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_shaped_image_8h.html",tooltip=" "];
Node3 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node3 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node4 [label="intelliphoto/src/Layer\l/PaintingArea.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8h.html",tooltip=" "];
Node4 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node5 [label="intelliphoto/src/GUI\l/IntelliPhotoGui.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_photo_gui_8cpp.html",tooltip=" "];
Node4 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node6 [label="intelliphoto/src/Layer\l/PaintingArea.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8cpp.html",tooltip=" "];
Node4 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node7 [label="intelliphoto/src/Tool\l/IntelliTool.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_8cpp.html",tooltip=" "];
Node4 -> Node8 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node8 [label="intelliphoto/src/Tool\l/IntelliToolCircle.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_circle_8cpp.html",tooltip=" "];
Node4 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node9 [label="intelliphoto/src/Tool\l/IntelliToolFloodFill.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_flood_fill_8cpp.html",tooltip=" "];
Node4 -> Node10 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node10 [label="intelliphoto/src/Tool\l/IntelliToolLine.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_line_8cpp.html",tooltip=" "];
Node4 -> Node11 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node11 [label="intelliphoto/src/Tool\l/IntelliToolPen.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_pen_8cpp.html",tooltip=" "];
Node4 -> Node12 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node12 [label="intelliphoto/src/Tool\l/IntelliToolPlain.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_plain_8cpp.html",tooltip=" "];
Node4 -> Node13 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node13 [label="intelliphoto/src/Tool\l/IntelliToolPolygon.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_polygon_8cpp.html",tooltip=" "];
Node4 -> Node14 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node14 [label="intelliphoto/src/Tool\l/IntelliToolRectangle.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_rectangle_8cpp.html",tooltip=" "];
Node3 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node15 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node15 [label="intelliphoto/src/Intelli\lHelper/IntelliHelper.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_helper_8cpp.html",tooltip=" "];
Node1 -> Node16 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node16 [label="intelliphoto/src/main.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$main_8cpp.html",tooltip=" "];
Node1 -> Node17 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node17 [label="intelliphoto/src/Tool\l/IntelliToolPolygon.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_polygon_8h.html",tooltip=" "];
Node17 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node17 -> Node13 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
}

View File

@@ -0,0 +1,11 @@
digraph "intelliphoto/src/IntelliHelper/IntelliHelper.h"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="intelliphoto/src/Intelli\lHelper/IntelliHelper.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node1 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node3 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
}

View File

@@ -0,0 +1,150 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IntelliPhoto: intelliphoto/src/IntelliHelper/IntelliHelper.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">IntelliPhoto
&#160;<span id="projectnumber">0.5</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_intelli_helper_8h_source.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">IntelliHelper.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="_intelli_helper_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#ifndef INTELLIHELPER_H</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#define INTELLIHELPER_H</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160; </div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#include &lt;QPoint&gt;</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160; </div>
<div class="line"><a name="l00010"></a><span class="lineno"><a class="line" href="struct_triangle.html"> 10</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_triangle.html">Triangle</a> {</div>
<div class="line"><a name="l00011"></a><span class="lineno"><a class="line" href="struct_triangle.html#addb8aaab314d79f3617acca01e12872a"> 11</a></span>&#160; QPoint <a class="code" href="struct_triangle.html#a4fe8b39e0144ebff908b7718c2f2751b">A</a>,<a class="code" href="struct_triangle.html#a64fa6a90a6131f12a1a3054bf86647d7">B</a>,<a class="code" href="struct_triangle.html#addb8aaab314d79f3617acca01e12872a">C</a>;</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;};</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160; </div>
<div class="line"><a name="l00014"></a><span class="lineno"><a class="line" href="namespace_intelli_helper.html"> 14</a></span>&#160;<span class="keyword">namespace </span><a class="code" href="namespace_intelli_helper.html">IntelliHelper</a> {</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; </div>
<div class="line"><a name="l00023"></a><span class="lineno"><a class="line" href="namespace_intelli_helper.html#afdd9fe78cc5d21b59642910220768149"> 23</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">float</span> <a class="code" href="namespace_intelli_helper.html#afdd9fe78cc5d21b59642910220768149">sign</a>(QPoint&amp; p1, QPoint&amp; p2, QPoint&amp; p3){</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <span class="keywordflow">return</span> (p1.x()-p3.x())*(p2.y()-p3.y())-(p2.x()-p3.x())*(p1.y()-p3.y());</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;}</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; </div>
<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="namespace_intelli_helper.html#a9fcfe72f00e870be4a8ab9f2e17483c9"> 33</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespace_intelli_helper.html#a9fcfe72f00e870be4a8ab9f2e17483c9">isInTriangle</a>(<a class="code" href="struct_triangle.html">Triangle</a>&amp; tri, QPoint&amp; P){</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="keywordtype">float</span> val1, val2, val3;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="keywordtype">bool</span> neg, pos;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; </div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; val1 = <a class="code" href="namespace_intelli_helper.html#afdd9fe78cc5d21b59642910220768149">IntelliHelper::sign</a>(P,tri.<a class="code" href="struct_triangle.html#a4fe8b39e0144ebff908b7718c2f2751b">A</a>,tri.<a class="code" href="struct_triangle.html#a64fa6a90a6131f12a1a3054bf86647d7">B</a>);</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; val2 = <a class="code" href="namespace_intelli_helper.html#afdd9fe78cc5d21b59642910220768149">IntelliHelper::sign</a>(P,tri.<a class="code" href="struct_triangle.html#a64fa6a90a6131f12a1a3054bf86647d7">B</a>,tri.<a class="code" href="struct_triangle.html#addb8aaab314d79f3617acca01e12872a">C</a>);</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; val3 = <a class="code" href="namespace_intelli_helper.html#afdd9fe78cc5d21b59642910220768149">IntelliHelper::sign</a>(P,tri.<a class="code" href="struct_triangle.html#addb8aaab314d79f3617acca01e12872a">C</a>,tri.<a class="code" href="struct_triangle.html#a4fe8b39e0144ebff908b7718c2f2751b">A</a>);</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; </div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; neg = (val1&lt;0.f) || (val2&lt;0.f) || (val3&lt;0.f);</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; pos = (val1&gt;0.f) || (val2&gt;0.f) || (val3&gt;0.f);</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; </div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordflow">return</span> !(neg &amp;&amp; pos);</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;}</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; </div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;std::vector&lt;Triangle&gt; <a class="code" href="namespace_intelli_helper.html#a214dc3624ba4562a03dc922e3dd7b617">calculateTriangles</a>(std::vector&lt;QPoint&gt; polyPoints);</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; </div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="namespace_intelli_helper.html#a44d516b3e619e2a743e9c98dd75cf901">isInPolygon</a>(std::vector&lt;Triangle&gt; &amp;triangles, QPoint &amp;point);</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;}</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; </div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="anamespace_intelli_helper_html_a9fcfe72f00e870be4a8ab9f2e17483c9"><div class="ttname"><a href="namespace_intelli_helper.html#a9fcfe72f00e870be4a8ab9f2e17483c9">IntelliHelper::isInTriangle</a></div><div class="ttdeci">bool isInTriangle(Triangle &amp;tri, QPoint &amp;P)</div><div class="ttdoc">A function to check if a given point is in a triangle.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_helper_8h_source.html#l00033">IntelliHelper.h:33</a></div></div>
<div class="ttc" id="astruct_triangle_html_a64fa6a90a6131f12a1a3054bf86647d7"><div class="ttname"><a href="struct_triangle.html#a64fa6a90a6131f12a1a3054bf86647d7">Triangle::B</a></div><div class="ttdeci">QPoint B</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_helper_8h_source.html#l00011">IntelliHelper.h:11</a></div></div>
<div class="ttc" id="astruct_triangle_html_addb8aaab314d79f3617acca01e12872a"><div class="ttname"><a href="struct_triangle.html#addb8aaab314d79f3617acca01e12872a">Triangle::C</a></div><div class="ttdeci">QPoint C</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_helper_8h_source.html#l00011">IntelliHelper.h:11</a></div></div>
<div class="ttc" id="anamespace_intelli_helper_html"><div class="ttname"><a href="namespace_intelli_helper.html">IntelliHelper</a></div><div class="ttdef"><b>Definition:</b> <a href="_intelli_helper_8h_source.html#l00014">IntelliHelper.h:14</a></div></div>
<div class="ttc" id="astruct_triangle_html"><div class="ttname"><a href="struct_triangle.html">Triangle</a></div><div class="ttdoc">The Triangle struct holds the 3 vertices of a triangle.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_helper_8h_source.html#l00010">IntelliHelper.h:10</a></div></div>
<div class="ttc" id="anamespace_intelli_helper_html_a44d516b3e619e2a743e9c98dd75cf901"><div class="ttname"><a href="namespace_intelli_helper.html#a44d516b3e619e2a743e9c98dd75cf901">IntelliHelper::isInPolygon</a></div><div class="ttdeci">bool isInPolygon(std::vector&lt; Triangle &gt; &amp;triangles, QPoint &amp;point)</div><div class="ttdoc">A function to check if a point lies in a polygon by checking its spanning triangles.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_helper_8cpp_source.html#l00116">IntelliHelper.cpp:116</a></div></div>
<div class="ttc" id="astruct_triangle_html_a4fe8b39e0144ebff908b7718c2f2751b"><div class="ttname"><a href="struct_triangle.html#a4fe8b39e0144ebff908b7718c2f2751b">Triangle::A</a></div><div class="ttdeci">QPoint A</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_helper_8h_source.html#l00011">IntelliHelper.h:11</a></div></div>
<div class="ttc" id="anamespace_intelli_helper_html_a214dc3624ba4562a03dc922e3dd7b617"><div class="ttname"><a href="namespace_intelli_helper.html#a214dc3624ba4562a03dc922e3dd7b617">IntelliHelper::calculateTriangles</a></div><div class="ttdeci">std::vector&lt; Triangle &gt; calculateTriangles(std::vector&lt; QPoint &gt; polyPoints)</div><div class="ttdoc">A function to split a polygon in its spanning traingles by using Meisters Theorem of graph theory by ...</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_helper_8cpp_source.html#l00007">IntelliHelper.cpp:7</a></div></div>
<div class="ttc" id="anamespace_intelli_helper_html_afdd9fe78cc5d21b59642910220768149"><div class="ttname"><a href="namespace_intelli_helper.html#afdd9fe78cc5d21b59642910220768149">IntelliHelper::sign</a></div><div class="ttdeci">float sign(QPoint &amp;p1, QPoint &amp;p2, QPoint &amp;p3)</div><div class="ttdoc">A function to get the 2*area of a traingle, using its determinat.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_helper_8h_source.html#l00023">IntelliHelper.h:23</a></div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_8db5f55022e7670536cbc9a6a1d6f01c.html">intelliphoto</a></li><li class="navelem"><a class="el" href="dir_83a4347d11f2ba6343d546ab133722d2.html">src</a></li><li class="navelem"><a class="el" href="dir_f50aa5156fe016a259583c412dbf440c.html">IntelliHelper</a></li><li class="navelem"><a class="el" href="_intelli_helper_8h.html">IntelliHelper.h</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.16 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,115 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IntelliPhoto: intelliphoto/src/Image/IntelliImage.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">IntelliPhoto
&#160;<span id="projectnumber">0.5</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_intelli_image_8cpp.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">IntelliImage.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="_intelli_image_8h_source.html">Image/IntelliImage.h</a>&quot;</code><br />
<code>#include &lt;QSize&gt;</code><br />
<code>#include &lt;QPainter&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for IntelliImage.cpp:</div>
<div class="dyncontent">
<div class="center"><img src="_intelli_image_8cpp__incl.png" border="0" usemap="#intelliphoto_2src_2_image_2_intelli_image_8cpp" alt=""/></div>
</div>
</div>
<p><a href="_intelli_image_8cpp_source.html">Go to the source code of this file.</a></p>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_8db5f55022e7670536cbc9a6a1d6f01c.html">intelliphoto</a></li><li class="navelem"><a class="el" href="dir_83a4347d11f2ba6343d546ab133722d2.html">src</a></li><li class="navelem"><a class="el" href="dir_544f9dcb748f922e4bb3be2540380bf2.html">Image</a></li><li class="navelem"><a class="el" href="_intelli_image_8cpp.html">IntelliImage.cpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.16 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,24 @@
digraph "intelliphoto/src/Image/IntelliImage.cpp"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="intelliphoto/src/Image\l/IntelliImage.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="Image/IntelliImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_image_8h.html",tooltip=" "];
Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node3 [label="QImage",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node2 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node4 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node2 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node5 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node2 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node6 [label="QSize",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node2 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node7 [label="QWidget",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node2 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node8 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node1 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node9 [label="QPainter",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
}

View File

@@ -0,0 +1,198 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IntelliPhoto: intelliphoto/src/Image/IntelliImage.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">IntelliPhoto
&#160;<span id="projectnumber">0.5</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_intelli_image_8cpp_source.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">IntelliImage.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="_intelli_image_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_intelli_image_8h.html">Image/IntelliImage.h</a>&quot;</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#include &lt;QSize&gt;</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="preprocessor">#include &lt;QPainter&gt;</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160; </div>
<div class="line"><a name="l00005"></a><span class="lineno"><a class="line" href="class_intelli_image.html#a47084f1cb668ea0242ab95162cf9e902"> 5</a></span>&#160;<a class="code" href="class_intelli_image.html#a47084f1cb668ea0242ab95162cf9e902">IntelliImage::IntelliImage</a>(<span class="keywordtype">int</span> weight, <span class="keywordtype">int</span> height)</div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160; : imageData(QSize(weight, height), QImage::Format_ARGB32){</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160; <a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.fill(QColor(255,255,255,255));</div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;}</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160; </div>
<div class="line"><a name="l00010"></a><span class="lineno"><a class="line" href="class_intelli_image.html#ac398bfa9ddd3185508a1e36ee15d80cc"> 10</a></span>&#160;<a class="code" href="class_intelli_image.html#ac398bfa9ddd3185508a1e36ee15d80cc">IntelliImage::~IntelliImage</a>(){</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160; </div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;}</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160; </div>
<div class="line"><a name="l00014"></a><span class="lineno"><a class="line" href="class_intelli_image.html#aec0e9c8184d89dee33fd9adefbd2f8aa"> 14</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="class_intelli_image.html#aec0e9c8184d89dee33fd9adefbd2f8aa">IntelliImage::loadImage</a>(<span class="keyword">const</span> QString &amp;fileName){</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; <span class="comment">// Holds the image</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; QImage loadedImage;</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; </div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; <span class="comment">// If the image wasn&#39;t loaded leave this function</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; <span class="keywordflow">if</span> (!loadedImage.load(fileName))</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; </div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; <span class="comment">// scaled Image to size of Layer</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; loadedImage = loadedImage.scaled(<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.size(),Qt::IgnoreAspectRatio);</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; </div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; <a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a> = loadedImage.convertToFormat(QImage::Format_ARGB32);</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;}</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; </div>
<div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="class_intelli_image.html#a177403ab9585d4ba31984a644c54d310"> 29</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_intelli_image.html#a177403ab9585d4ba31984a644c54d310">IntelliImage::resizeImage</a>(QImage*image, <span class="keyword">const</span> QSize &amp;newSize){</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="comment">// Check if we need to redraw the image</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <span class="keywordflow">if</span> (image-&gt;size() == newSize)</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; </div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="comment">// Create a new image to display and fill it with white</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; QImage newImage(newSize, QImage::Format_ARGB32);</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; newImage.fill(qRgb(255, 255, 255));</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; </div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="comment">// Draw the image</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; QPainter painter(&amp;newImage);</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; painter.drawImage(QPoint(0, 0), *image);</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; *image = newImage;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;}</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; </div>
<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="class_intelli_image.html#af3c859f5c409e37051edfd9e9fbca056"> 44</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_intelli_image.html#af3c859f5c409e37051edfd9e9fbca056">IntelliImage::drawPixel</a>(<span class="keyword">const</span> QPoint &amp;p1, <span class="keyword">const</span> QColor&amp; color){</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="comment">// Used to draw on the widget</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; QPainter painter(&amp;<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>);</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; </div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="comment">// Set the current settings for the pen</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; painter.setPen(QPen(color, 1, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; </div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="comment">// Draw a line from the last registered point to the current</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; painter.drawPoint(p1);</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;}</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; </div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="class_intelli_image.html#a2e787f1b333b59401643936ebb3dcfe1"> 55</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_intelli_image.html#a2e787f1b333b59401643936ebb3dcfe1">IntelliImage::drawPoint</a>(<span class="keyword">const</span> QPoint &amp;p1, <span class="keyword">const</span> QColor&amp; color, <span class="keyword">const</span> <span class="keywordtype">int</span>&amp; penWidth){</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="comment">// Used to draw on the widget</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; QPainter painter(&amp;<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>);</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; </div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="comment">// Set the current settings for the pen</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; painter.setPen(QPen(color, penWidth, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="comment">// Draw a line from the last registered point to the current</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; painter.drawPoint(p1);</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;}</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; </div>
<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="class_intelli_image.html#af8eddbd9aa54c8d37590d1d4bf8dce31"> 65</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_intelli_image.html#af8eddbd9aa54c8d37590d1d4bf8dce31">IntelliImage::drawLine</a>(<span class="keyword">const</span> QPoint &amp;p1, <span class="keyword">const</span> QPoint&amp; p2, <span class="keyword">const</span> QColor&amp; color, <span class="keyword">const</span> <span class="keywordtype">int</span>&amp; penWidth){</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="comment">// Used to draw on the widget</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; QPainter painter(&amp;<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>);</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; </div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="comment">// Set the current settings for the pen</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; painter.setPen(QPen(color, penWidth, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; </div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="comment">// Draw a line from the last registered point to the current</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; painter.drawLine(p1, p2);</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;}</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; </div>
<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="class_intelli_image.html#a6be622810dc2bc756054bb5769becb06"> 76</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_intelli_image.html#a6be622810dc2bc756054bb5769becb06">IntelliImage::drawPlain</a>(<span class="keyword">const</span> QColor&amp; color){</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.fill(color);</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;}</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; </div>
<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="class_intelli_image.html#a4576ebb6d863321c816293d7b7f9fd3f"> 80</a></span>&#160;QColor <a class="code" href="class_intelli_image.html#a4576ebb6d863321c816293d7b7f9fd3f">IntelliImage::getPixelColor</a>(QPoint&amp; point){</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordflow">return</span> <a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.pixelColor(point);</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;}</div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclass_intelli_image_html_af8eddbd9aa54c8d37590d1d4bf8dce31"><div class="ttname"><a href="class_intelli_image.html#af8eddbd9aa54c8d37590d1d4bf8dce31">IntelliImage::drawLine</a></div><div class="ttdeci">virtual void drawLine(const QPoint &amp;p1, const QPoint &amp;p2, const QColor &amp;color, const int &amp;penWidth)</div><div class="ttdoc">A function that draws A Line between two given Points in a given color.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00065">IntelliImage.cpp:65</a></div></div>
<div class="ttc" id="a_intelli_image_8h_html"><div class="ttname"><a href="_intelli_image_8h.html">IntelliImage.h</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_ac398bfa9ddd3185508a1e36ee15d80cc"><div class="ttname"><a href="class_intelli_image.html#ac398bfa9ddd3185508a1e36ee15d80cc">IntelliImage::~IntelliImage</a></div><div class="ttdeci">virtual ~IntelliImage()=0</div><div class="ttdoc">An Abstract Destructor.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00010">IntelliImage.cpp:10</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_af3c859f5c409e37051edfd9e9fbca056"><div class="ttname"><a href="class_intelli_image.html#af3c859f5c409e37051edfd9e9fbca056">IntelliImage::drawPixel</a></div><div class="ttdeci">virtual void drawPixel(const QPoint &amp;p1, const QColor &amp;color)</div><div class="ttdoc">A funtcion used to draw a pixel on the Image with the given Color.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00044">IntelliImage.cpp:44</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_aec0e9c8184d89dee33fd9adefbd2f8aa"><div class="ttname"><a href="class_intelli_image.html#aec0e9c8184d89dee33fd9adefbd2f8aa">IntelliImage::loadImage</a></div><div class="ttdeci">virtual bool loadImage(const QString &amp;fileName)</div><div class="ttdoc">A function that loads and sclaes an image to the fitting dimensions.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00014">IntelliImage.cpp:14</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_a2e787f1b333b59401643936ebb3dcfe1"><div class="ttname"><a href="class_intelli_image.html#a2e787f1b333b59401643936ebb3dcfe1">IntelliImage::drawPoint</a></div><div class="ttdeci">virtual void drawPoint(const QPoint &amp;p1, const QColor &amp;color, const int &amp;penWidth)</div><div class="ttdoc">A.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00055">IntelliImage.cpp:55</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_a47084f1cb668ea0242ab95162cf9e902"><div class="ttname"><a href="class_intelli_image.html#a47084f1cb668ea0242ab95162cf9e902">IntelliImage::IntelliImage</a></div><div class="ttdeci">IntelliImage(int weight, int height)</div><div class="ttdoc">The Construcor of the IntelliImage. Given the Image dimensions.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00005">IntelliImage.cpp:5</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_a177403ab9585d4ba31984a644c54d310"><div class="ttname"><a href="class_intelli_image.html#a177403ab9585d4ba31984a644c54d310">IntelliImage::resizeImage</a></div><div class="ttdeci">void resizeImage(QImage *image, const QSize &amp;newSize)</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00029">IntelliImage.cpp:29</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_a4576ebb6d863321c816293d7b7f9fd3f"><div class="ttname"><a href="class_intelli_image.html#a4576ebb6d863321c816293d7b7f9fd3f">IntelliImage::getPixelColor</a></div><div class="ttdeci">virtual QColor getPixelColor(QPoint &amp;point)</div><div class="ttdoc">A function that returns the pixelcolor at a certain point.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00080">IntelliImage.cpp:80</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_a2431be82e9e85dd34b62a7f7cba053c2"><div class="ttname"><a href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">IntelliImage::imageData</a></div><div class="ttdeci">QImage imageData</div><div class="ttdoc">The underlying image data.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8h_source.html#l00032">IntelliImage.h:32</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_a6be622810dc2bc756054bb5769becb06"><div class="ttname"><a href="class_intelli_image.html#a6be622810dc2bc756054bb5769becb06">IntelliImage::drawPlain</a></div><div class="ttdeci">virtual void drawPlain(const QColor &amp;color)</div><div class="ttdoc">A function that clears the whole image in a given Color.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00076">IntelliImage.cpp:76</a></div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_8db5f55022e7670536cbc9a6a1d6f01c.html">intelliphoto</a></li><li class="navelem"><a class="el" href="dir_83a4347d11f2ba6343d546ab133722d2.html">src</a></li><li class="navelem"><a class="el" href="dir_544f9dcb748f922e4bb3be2540380bf2.html">Image</a></li><li class="navelem"><a class="el" href="_intelli_image_8cpp.html">IntelliImage.cpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.16 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,172 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IntelliPhoto: intelliphoto/src/Image/IntelliImage.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">IntelliPhoto
&#160;<span id="projectnumber">0.5</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_intelli_image_8h.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#enum-members">Enumerations</a> </div>
<div class="headertitle">
<div class="title">IntelliImage.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;QImage&gt;</code><br />
<code>#include &lt;QPoint&gt;</code><br />
<code>#include &lt;QColor&gt;</code><br />
<code>#include &lt;QSize&gt;</code><br />
<code>#include &lt;QWidget&gt;</code><br />
<code>#include &lt;vector&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for IntelliImage.h:</div>
<div class="dyncontent">
<div class="center"><img src="_intelli_image_8h__incl.png" border="0" usemap="#intelliphoto_2src_2_image_2_intelli_image_8h" alt=""/></div>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="_intelli_image_8h__dep__incl.png" border="0" usemap="#intelliphoto_2src_2_image_2_intelli_image_8hdep" alt=""/></div>
</div>
</div>
<p><a href="_intelli_image_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_intelli_image.html">IntelliImage</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An abstract class which manages the basic <a class="el" href="class_intelli_image.html" title="An abstract class which manages the basic IntelliImage operations.">IntelliImage</a> operations. <a href="class_intelli_image.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a3154c405c975616503bac23f51b78fc0"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_intelli_image_8h.html#a3154c405c975616503bac23f51b78fc0">ImageType</a> { <a class="el" href="_intelli_image_8h.html#a3154c405c975616503bac23f51b78fc0a80e1612d2117f2b25530317279ffe7b3">ImageType::Raster_Image</a>,
<a class="el" href="_intelli_image_8h.html#a3154c405c975616503bac23f51b78fc0ab7e2d2c1c171e5a0e0b6b548449df79d">ImageType::Shaped_Image</a>
}</td></tr>
<tr class="memdesc:a3154c405c975616503bac23f51b78fc0"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Types, which an Image can be. <a href="_intelli_image_8h.html#a3154c405c975616503bac23f51b78fc0">More...</a><br /></td></tr>
<tr class="separator:a3154c405c975616503bac23f51b78fc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="a3154c405c975616503bac23f51b78fc0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3154c405c975616503bac23f51b78fc0">&#9670;&nbsp;</a></span>ImageType</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="_intelli_image_8h.html#a3154c405c975616503bac23f51b78fc0">ImageType</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">strong</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The Types, which an Image can be. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a3154c405c975616503bac23f51b78fc0a80e1612d2117f2b25530317279ffe7b3"></a>Raster_Image&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a3154c405c975616503bac23f51b78fc0ab7e2d2c1c171e5a0e0b6b548449df79d"></a>Shaped_Image&#160;</td><td class="fielddoc"></td></tr>
</table>
<p class="definition">Definition at line <a class="el" href="_intelli_image_8h_source.html#l00014">14</a> of file <a class="el" href="_intelli_image_8h_source.html">IntelliImage.h</a>.</p>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_8db5f55022e7670536cbc9a6a1d6f01c.html">intelliphoto</a></li><li class="navelem"><a class="el" href="dir_83a4347d11f2ba6343d546ab133722d2.html">src</a></li><li class="navelem"><a class="el" href="dir_544f9dcb748f922e4bb3be2540380bf2.html">Image</a></li><li class="navelem"><a class="el" href="_intelli_image_8h.html">IntelliImage.h</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.16 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,8 @@
var _intelli_image_8h =
[
[ "IntelliImage", "class_intelli_image.html", "class_intelli_image" ],
[ "ImageType", "_intelli_image_8h.html#a3154c405c975616503bac23f51b78fc0", [
[ "Raster_Image", "_intelli_image_8h.html#a3154c405c975616503bac23f51b78fc0a80e1612d2117f2b25530317279ffe7b3", null ],
[ "Shaped_Image", "_intelli_image_8h.html#a3154c405c975616503bac23f51b78fc0ab7e2d2c1c171e5a0e0b6b548449df79d", null ]
] ]
];

View File

@@ -0,0 +1,43 @@
digraph "intelliphoto/src/Image/IntelliImage.h"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="intelliphoto/src/Image\l/IntelliImage.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="intelliphoto/src/Image\l/IntelliImage.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_image_8cpp.html",tooltip=" "];
Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node3 [label="intelliphoto/src/Image\l/IntelliRasterImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_raster_image_8h.html",tooltip=" "];
Node3 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node4 [label="intelliphoto/src/Image\l/IntelliRasterImage.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_raster_image_8cpp.html",tooltip=" "];
Node3 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node5 [label="intelliphoto/src/Image\l/IntelliShapedImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_shaped_image_8h.html",tooltip=" "];
Node5 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node6 [label="intelliphoto/src/Image\l/IntelliShapedImage.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_shaped_image_8cpp.html",tooltip=" "];
Node5 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node7 [label="intelliphoto/src/Layer\l/PaintingArea.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8h.html",tooltip=" "];
Node7 -> Node8 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node8 [label="intelliphoto/src/GUI\l/IntelliPhotoGui.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_photo_gui_8cpp.html",tooltip=" "];
Node7 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node9 [label="intelliphoto/src/Layer\l/PaintingArea.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8cpp.html",tooltip=" "];
Node7 -> Node10 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node10 [label="intelliphoto/src/Tool\l/IntelliTool.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_8cpp.html",tooltip=" "];
Node7 -> Node11 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node11 [label="intelliphoto/src/Tool\l/IntelliToolCircle.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_circle_8cpp.html",tooltip=" "];
Node7 -> Node12 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node12 [label="intelliphoto/src/Tool\l/IntelliToolFloodFill.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_flood_fill_8cpp.html",tooltip=" "];
Node7 -> Node13 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node13 [label="intelliphoto/src/Tool\l/IntelliToolLine.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_line_8cpp.html",tooltip=" "];
Node7 -> Node14 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node14 [label="intelliphoto/src/Tool\l/IntelliToolPen.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_pen_8cpp.html",tooltip=" "];
Node7 -> Node15 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node15 [label="intelliphoto/src/Tool\l/IntelliToolPlain.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_plain_8cpp.html",tooltip=" "];
Node7 -> Node16 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node16 [label="intelliphoto/src/Tool\l/IntelliToolPolygon.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_polygon_8cpp.html",tooltip=" "];
Node7 -> Node17 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node17 [label="intelliphoto/src/Tool\l/IntelliToolRectangle.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_rectangle_8cpp.html",tooltip=" "];
Node5 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node3 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node3 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
}

View File

@@ -0,0 +1,19 @@
digraph "intelliphoto/src/Image/IntelliImage.h"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="intelliphoto/src/Image\l/IntelliImage.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="QImage",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node1 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node3 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node1 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node4 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node1 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node5 [label="QSize",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node1 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node6 [label="QWidget",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node1 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node7 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
}

View File

@@ -0,0 +1,182 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IntelliPhoto: intelliphoto/src/Image/IntelliImage.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">IntelliPhoto
&#160;<span id="projectnumber">0.5</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_intelli_image_8h_source.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">IntelliImage.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="_intelli_image_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#ifndef INTELLIIMAGE_H</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#define INTELLIIMAGE_H</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160; </div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#include &lt;QImage&gt;</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="preprocessor">#include &lt;QPoint&gt;</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="preprocessor">#include &lt;QColor&gt;</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#include &lt;QSize&gt;</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="preprocessor">#include &lt;QWidget&gt;</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160; </div>
<div class="line"><a name="l00014"></a><span class="lineno"><a class="line" href="_intelli_image_8h.html#a3154c405c975616503bac23f51b78fc0"> 14</a></span>&#160;<span class="keyword">enum class</span> <a class="code" href="_intelli_image_8h.html#a3154c405c975616503bac23f51b78fc0">ImageType</a> {</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; <a class="code" href="_intelli_image_8h.html#a3154c405c975616503bac23f51b78fc0a80e1612d2117f2b25530317279ffe7b3">Raster_Image</a>,</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; <a class="code" href="_intelli_image_8h.html#a3154c405c975616503bac23f51b78fc0ab7e2d2c1c171e5a0e0b6b548449df79d">Shaped_Image</a></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;};</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; </div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="keyword">class </span><a class="code" href="class_intelli_tool.html">IntelliTool</a>;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; </div>
<div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="class_intelli_image.html"> 24</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_intelli_image.html">IntelliImage</a> {</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="keyword">friend</span> <a class="code" href="class_intelli_tool.html">IntelliTool</a>;</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_intelli_image.html#a177403ab9585d4ba31984a644c54d310">resizeImage</a>(QImage*image, <span class="keyword">const</span> QSize &amp;newSize);</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; </div>
<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2"> 32</a></span>&#160;QImage <a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<a class="code" href="class_intelli_image.html#a47084f1cb668ea0242ab95162cf9e902">IntelliImage</a>(<span class="keywordtype">int</span> weight, <span class="keywordtype">int</span> height);</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; </div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="keyword">virtual</span> <a class="code" href="class_intelli_image.html#ac398bfa9ddd3185508a1e36ee15d80cc">~IntelliImage</a>() = 0;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; </div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; </div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_intelli_image.html#af3c859f5c409e37051edfd9e9fbca056">drawPixel</a>(<span class="keyword">const</span> QPoint &amp;p1, <span class="keyword">const</span> QColor&amp; color);</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; </div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_intelli_image.html#af8eddbd9aa54c8d37590d1d4bf8dce31">drawLine</a>(<span class="keyword">const</span> QPoint &amp;p1, <span class="keyword">const</span> QPoint&amp; p2, <span class="keyword">const</span> QColor&amp; color, <span class="keyword">const</span> <span class="keywordtype">int</span>&amp; penWidth);</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; </div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_intelli_image.html#a2e787f1b333b59401643936ebb3dcfe1">drawPoint</a>(<span class="keyword">const</span> QPoint &amp;p1, <span class="keyword">const</span> QColor&amp; color, <span class="keyword">const</span> <span class="keywordtype">int</span>&amp; penWidth);</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; </div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_intelli_image.html#a6be622810dc2bc756054bb5769becb06">drawPlain</a>(<span class="keyword">const</span> QColor&amp; color);</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; </div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="keyword">virtual</span> QImage <a class="code" href="class_intelli_image.html#a21c7e65b59a26db45aac3880133ef21d">getDisplayable</a>(<span class="keyword">const</span> QSize&amp; displaySize, <span class="keywordtype">int</span> alpha) = 0;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; </div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="keyword">virtual</span> QImage <a class="code" href="class_intelli_image.html#a21c7e65b59a26db45aac3880133ef21d">getDisplayable</a>(<span class="keywordtype">int</span> alpha=255) = 0;</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; </div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;<span class="keyword">virtual</span> <a class="code" href="class_intelli_image.html">IntelliImage</a>* <a class="code" href="class_intelli_image.html#af6381067bdf565669f856bb589008ae9">getDeepCopy</a>() = 0;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; </div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2">calculateVisiblity</a>() = 0;</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; </div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_intelli_image.html#aa4b3f4631bd972456917275afb9fd309">setPolygon</a>(<span class="keyword">const</span> std::vector&lt;QPoint&gt;&amp; polygonData) = 0;</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; </div>
<div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="class_intelli_image.html#aaf9f3e8db8666850024bee9aad9966ba"> 113</a></span>&#160;<span class="keyword">virtual</span> std::vector&lt;QPoint&gt; <a class="code" href="class_intelli_image.html#aaf9f3e8db8666850024bee9aad9966ba">getPolygonData</a>(){</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordflow">return</span> std::vector&lt;QPoint&gt;();</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;}</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; </div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_intelli_image.html#aec0e9c8184d89dee33fd9adefbd2f8aa">loadImage</a>(<span class="keyword">const</span> QString &amp;fileName);</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; </div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="keyword">virtual</span> QColor <a class="code" href="class_intelli_image.html#a4576ebb6d863321c816293d7b7f9fd3f">getPixelColor</a>(QPoint&amp; point);</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;};</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; </div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="a_intelli_image_8h_html_a3154c405c975616503bac23f51b78fc0"><div class="ttname"><a href="_intelli_image_8h.html#a3154c405c975616503bac23f51b78fc0">ImageType</a></div><div class="ttdeci">ImageType</div><div class="ttdoc">The Types, which an Image can be.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8h_source.html#l00014">IntelliImage.h:14</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_af8eddbd9aa54c8d37590d1d4bf8dce31"><div class="ttname"><a href="class_intelli_image.html#af8eddbd9aa54c8d37590d1d4bf8dce31">IntelliImage::drawLine</a></div><div class="ttdeci">virtual void drawLine(const QPoint &amp;p1, const QPoint &amp;p2, const QColor &amp;color, const int &amp;penWidth)</div><div class="ttdoc">A function that draws A Line between two given Points in a given color.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00065">IntelliImage.cpp:65</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_ac398bfa9ddd3185508a1e36ee15d80cc"><div class="ttname"><a href="class_intelli_image.html#ac398bfa9ddd3185508a1e36ee15d80cc">IntelliImage::~IntelliImage</a></div><div class="ttdeci">virtual ~IntelliImage()=0</div><div class="ttdoc">An Abstract Destructor.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00010">IntelliImage.cpp:10</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_af3c859f5c409e37051edfd9e9fbca056"><div class="ttname"><a href="class_intelli_image.html#af3c859f5c409e37051edfd9e9fbca056">IntelliImage::drawPixel</a></div><div class="ttdeci">virtual void drawPixel(const QPoint &amp;p1, const QColor &amp;color)</div><div class="ttdoc">A funtcion used to draw a pixel on the Image with the given Color.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00044">IntelliImage.cpp:44</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_aec0e9c8184d89dee33fd9adefbd2f8aa"><div class="ttname"><a href="class_intelli_image.html#aec0e9c8184d89dee33fd9adefbd2f8aa">IntelliImage::loadImage</a></div><div class="ttdeci">virtual bool loadImage(const QString &amp;fileName)</div><div class="ttdoc">A function that loads and sclaes an image to the fitting dimensions.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00014">IntelliImage.cpp:14</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_a21c7e65b59a26db45aac3880133ef21d"><div class="ttname"><a href="class_intelli_image.html#a21c7e65b59a26db45aac3880133ef21d">IntelliImage::getDisplayable</a></div><div class="ttdeci">virtual QImage getDisplayable(const QSize &amp;displaySize, int alpha)=0</div><div class="ttdoc">A function returning the displayable ImageData in a requested transparence and size.</div></div>
<div class="ttc" id="a_intelli_image_8h_html_a3154c405c975616503bac23f51b78fc0a80e1612d2117f2b25530317279ffe7b3"><div class="ttname"><a href="_intelli_image_8h.html#a3154c405c975616503bac23f51b78fc0a80e1612d2117f2b25530317279ffe7b3">ImageType::Raster_Image</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_aaf9f3e8db8666850024bee9aad9966ba"><div class="ttname"><a href="class_intelli_image.html#aaf9f3e8db8666850024bee9aad9966ba">IntelliImage::getPolygonData</a></div><div class="ttdeci">virtual std::vector&lt; QPoint &gt; getPolygonData()</div><div class="ttdoc">A function that returns the Polygondata if existent.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8h_source.html#l00113">IntelliImage.h:113</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_a2e787f1b333b59401643936ebb3dcfe1"><div class="ttname"><a href="class_intelli_image.html#a2e787f1b333b59401643936ebb3dcfe1">IntelliImage::drawPoint</a></div><div class="ttdeci">virtual void drawPoint(const QPoint &amp;p1, const QColor &amp;color, const int &amp;penWidth)</div><div class="ttdoc">A.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00055">IntelliImage.cpp:55</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_a47084f1cb668ea0242ab95162cf9e902"><div class="ttname"><a href="class_intelli_image.html#a47084f1cb668ea0242ab95162cf9e902">IntelliImage::IntelliImage</a></div><div class="ttdeci">IntelliImage(int weight, int height)</div><div class="ttdoc">The Construcor of the IntelliImage. Given the Image dimensions.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00005">IntelliImage.cpp:5</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html"><div class="ttname"><a href="class_intelli_tool.html">IntelliTool</a></div><div class="ttdoc">An abstract class that manages the basic events, like mouse clicks or scrolls events.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8h_source.html#l00013">IntelliTool.h:13</a></div></div>
<div class="ttc" id="a_intelli_image_8h_html_a3154c405c975616503bac23f51b78fc0ab7e2d2c1c171e5a0e0b6b548449df79d"><div class="ttname"><a href="_intelli_image_8h.html#a3154c405c975616503bac23f51b78fc0ab7e2d2c1c171e5a0e0b6b548449df79d">ImageType::Shaped_Image</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_a177403ab9585d4ba31984a644c54d310"><div class="ttname"><a href="class_intelli_image.html#a177403ab9585d4ba31984a644c54d310">IntelliImage::resizeImage</a></div><div class="ttdeci">void resizeImage(QImage *image, const QSize &amp;newSize)</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00029">IntelliImage.cpp:29</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_a4576ebb6d863321c816293d7b7f9fd3f"><div class="ttname"><a href="class_intelli_image.html#a4576ebb6d863321c816293d7b7f9fd3f">IntelliImage::getPixelColor</a></div><div class="ttdeci">virtual QColor getPixelColor(QPoint &amp;point)</div><div class="ttdoc">A function that returns the pixelcolor at a certain point.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00080">IntelliImage.cpp:80</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_a2431be82e9e85dd34b62a7f7cba053c2"><div class="ttname"><a href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">IntelliImage::imageData</a></div><div class="ttdeci">QImage imageData</div><div class="ttdoc">The underlying image data.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8h_source.html#l00032">IntelliImage.h:32</a></div></div>
<div class="ttc" id="aclass_intelli_image_html"><div class="ttname"><a href="class_intelli_image.html">IntelliImage</a></div><div class="ttdoc">An abstract class which manages the basic IntelliImage operations.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8h_source.html#l00024">IntelliImage.h:24</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_af6381067bdf565669f856bb589008ae9"><div class="ttname"><a href="class_intelli_image.html#af6381067bdf565669f856bb589008ae9">IntelliImage::getDeepCopy</a></div><div class="ttdeci">virtual IntelliImage * getDeepCopy()=0</div><div class="ttdoc">A function that copys all that returns a [allocated] Image.</div></div>
<div class="ttc" id="aclass_intelli_image_html_aebbced93f4744fad81b7f141b21f4ab2"><div class="ttname"><a href="class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2">IntelliImage::calculateVisiblity</a></div><div class="ttdeci">virtual void calculateVisiblity()=0</div><div class="ttdoc">An abstract function that calculates the visiblity of the Image data if needed.</div></div>
<div class="ttc" id="aclass_intelli_image_html_a6be622810dc2bc756054bb5769becb06"><div class="ttname"><a href="class_intelli_image.html#a6be622810dc2bc756054bb5769becb06">IntelliImage::drawPlain</a></div><div class="ttdeci">virtual void drawPlain(const QColor &amp;color)</div><div class="ttdoc">A function that clears the whole image in a given Color.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00076">IntelliImage.cpp:76</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_aa4b3f4631bd972456917275afb9fd309"><div class="ttname"><a href="class_intelli_image.html#aa4b3f4631bd972456917275afb9fd309">IntelliImage::setPolygon</a></div><div class="ttdeci">virtual void setPolygon(const std::vector&lt; QPoint &gt; &amp;polygonData)=0</div><div class="ttdoc">An abstract function that sets the data of the visible Polygon, if needed.</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_8db5f55022e7670536cbc9a6a1d6f01c.html">intelliphoto</a></li><li class="navelem"><a class="el" href="dir_83a4347d11f2ba6343d546ab133722d2.html">src</a></li><li class="navelem"><a class="el" href="dir_544f9dcb748f922e4bb3be2540380bf2.html">Image</a></li><li class="navelem"><a class="el" href="_intelli_image_8h.html">IntelliImage.h</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.16 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,116 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IntelliPhoto: intelliphoto/src/GUI/IntelliPhotoGui.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">IntelliPhoto
&#160;<span id="projectnumber">0.5</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_intelli_photo_gui_8cpp.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">IntelliPhotoGui.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;QtWidgets&gt;</code><br />
<code>#include &lt;QPixmap&gt;</code><br />
<code>#include &quot;<a class="el" href="_intelli_photo_gui_8h_source.html">IntelliPhotoGui.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="_painting_area_8h_source.html">Layer/PaintingArea.h</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for IntelliPhotoGui.cpp:</div>
<div class="dyncontent">
<div class="center"><img src="_intelli_photo_gui_8cpp__incl.png" border="0" usemap="#intelliphoto_2src_2_g_u_i_2_intelli_photo_gui_8cpp" alt=""/></div>
</div>
</div>
<p><a href="_intelli_photo_gui_8cpp_source.html">Go to the source code of this file.</a></p>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_8db5f55022e7670536cbc9a6a1d6f01c.html">intelliphoto</a></li><li class="navelem"><a class="el" href="dir_83a4347d11f2ba6343d546ab133722d2.html">src</a></li><li class="navelem"><a class="el" href="dir_5dabb14988a75c922e285f444641a133.html">GUI</a></li><li class="navelem"><a class="el" href="_intelli_photo_gui_8cpp.html">IntelliPhotoGui.cpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.16 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,5 @@
var _intelli_photo_gui_8cpp =
[
[ "slotCreateFloodFillTool", "_intelli_photo_gui_8cpp.html#ac2f8320173dfaf943bb39e39cb1a23e5", null ],
[ "slotCreatePenTool", "_intelli_photo_gui_8cpp.html#a30169da42b55e0339af0d28dfc8ccd40", null ]
];

View File

@@ -0,0 +1,69 @@
digraph "intelliphoto/src/GUI/IntelliPhotoGui.cpp"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="intelliphoto/src/GUI\l/IntelliPhotoGui.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="QtWidgets",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node1 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node3 [label="QPixmap",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node1 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node4 [label="IntelliPhotoGui.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_photo_gui_8h.html",tooltip=" "];
Node4 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node5 [label="QList",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node4 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node6 [label="QMainWindow",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node4 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node7 [label="QGridLayout",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node4 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node8 [label="QPushButton",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node4 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node9 [label="QTextEdit",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node4 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node10 [label="QLabel",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node4 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node11 [label="QLineEdit",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node1 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node12 [label="Layer/PaintingArea.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8h.html",tooltip=" "];
Node12 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node13 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node12 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node14 [label="QImage",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node12 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node15 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node12 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node16 [label="QWidget",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node12 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node12 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node17 [label="Image/IntelliImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_image_8h.html",tooltip=" "];
Node17 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node17 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node17 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node17 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node18 [label="QSize",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node17 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node17 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node19 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node12 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node20 [label="Image/IntelliRasterImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_raster_image_8h.html",tooltip=" "];
Node20 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node12 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node21 [label="Image/IntelliShapedImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_shaped_image_8h.html",tooltip=" "];
Node21 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node21 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node21 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node22 [label="IntelliHelper/IntelliHelper.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_helper_8h.html",tooltip=" "];
Node22 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node22 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node12 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node23 [label="Tool/IntelliTool.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_8h.html",tooltip=" "];
Node23 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node24 [label="IntelliHelper/IntelliColor\lPicker.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_color_picker_8h.html",tooltip=" "];
Node24 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node24 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node24 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node25 [label="QColorDialog",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node23 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node12 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
}

View File

@@ -0,0 +1,629 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IntelliPhoto: intelliphoto/src/GUI/IntelliPhotoGui.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">IntelliPhoto
&#160;<span id="projectnumber">0.5</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_intelli_photo_gui_8cpp_source.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">IntelliPhotoGui.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="_intelli_photo_gui_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// ---------- IntelliPhotoGui.cpp ----------</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160; </div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="preprocessor">#include &lt;QtWidgets&gt;</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#include &lt;QPixmap&gt;</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160; </div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_intelli_photo_gui_8h.html">IntelliPhotoGui.h</a>&quot;</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_painting_area_8h.html">Layer/PaintingArea.h</a>&quot;</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160; </div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// IntelliPhotoGui constructor</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"><a class="line" href="class_intelli_photo_gui.html#ad2aaec3c1517a9aaa461b54e341b97e0"> 10</a></span>&#160;<a class="code" href="class_intelli_photo_gui.html#ad2aaec3c1517a9aaa461b54e341b97e0">IntelliPhotoGui::IntelliPhotoGui</a>(){</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160; <span class="comment">// create Gui elements and lay them out</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160; createGui();</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160; <span class="comment">// Create actions</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; createActions();</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; <span class="comment">// create Menus</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; createMenus();</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; <span class="comment">// set style of the gui</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; setIntelliStyle();</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; <span class="comment">// Size the app</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; resize(600,600);</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; showMaximized();</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; </div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;}</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; </div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment">// User tried to close the app</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="class_intelli_photo_gui.html#a2cf48070236ae8b35245e7f30482ef13"> 26</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_intelli_photo_gui.html#a2cf48070236ae8b35245e7f30482ef13">IntelliPhotoGui::closeEvent</a>(QCloseEvent*event){</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="comment">// If they try to close maybeSave() returns true</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="comment">// if no changes have been made and the app closes</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="keywordflow">if</span> (maybeSave()) {</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keyword">event</span>-&gt;accept();</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <span class="comment">// If there have been changes ignore the event</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <span class="keyword">event</span>-&gt;ignore();</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; }</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;}</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; </div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="comment">// Check if the current image has been changed and then</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="comment">// open a dialog to open a file</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="keywordtype">void</span> IntelliPhotoGui::slotOpen(){</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="comment">// Check if changes have been made since last save</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="comment">// maybeSave() returns true if no changes have been made</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keywordflow">if</span> (maybeSave()) {</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; </div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="comment">// Get the file to open from a dialog</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="comment">// tr sets the window title to Open File</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="comment">// QDir opens the current dirctory</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; QString fileName = QFileDialog::getOpenFileName(<span class="keyword">this</span>,</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; tr(<span class="stringliteral">&quot;Open File&quot;</span>), QDir::currentPath(), <span class="keyword">nullptr</span>, <span class="keyword">nullptr</span>, QFileDialog::DontUseNativeDialog);</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; </div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="comment">// If we have a file name load the image and place</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="comment">// it in the paintingArea</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordflow">if</span> (!fileName.isEmpty())</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; paintingArea-&gt;<a class="code" href="class_painting_area.html#a1f597740b4d7b4bc2e24c51f8cb0b6eb">open</a>(fileName);</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; }</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;}</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; </div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="comment">// Called when the user clicks Save As in the menu</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="keywordtype">void</span> IntelliPhotoGui::slotSave(){</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="comment">// A QAction represents the action of the user clicking</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; QAction*action = qobject_cast&lt;QAction*&gt;(sender());</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; </div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="comment">// Stores the array of bytes of the users data</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; QByteArray fileFormat = action-&gt;data().toByteArray();</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; </div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="comment">// Pass it to be saved</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; saveFile(fileFormat);</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;}</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; </div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="comment">// Opens a dialog that allows the user to create a New Layer</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="keywordtype">void</span> IntelliPhotoGui::slotCreateNewLayer(){</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="comment">// Stores button value</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordtype">bool</span> ok1, ok2;</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; </div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="comment">// &quot;New Layer&quot; is the title of the window</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="comment">// the next tr is the text to display</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="comment">// Define the standard Value, min, max, step and ok button</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordtype">int</span> width = QInputDialog::getInt(<span class="keyword">this</span>, tr(<span class="stringliteral">&quot;New Layer&quot;</span>),</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; tr(<span class="stringliteral">&quot;Width:&quot;</span>),</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; 200,1, 500, 1, &amp;ok1);</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordtype">int</span> height = QInputDialog::getInt(<span class="keyword">this</span>, tr(<span class="stringliteral">&quot;New Layer&quot;</span>),</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; tr(<span class="stringliteral">&quot;Height:&quot;</span>),</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; 200,1, 500, 1, &amp;ok2);</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="comment">// Create New Layer</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keywordflow">if</span> (ok1&amp;&amp;ok2)</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; {</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordtype">int</span> layer = paintingArea-&gt;<a class="code" href="class_painting_area.html#a39ad76e1319659bfa38eee88ef33d395">addLayer</a>(width,height,0,0);</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; paintingArea-&gt;<a class="code" href="class_painting_area.html#a71ac281e0de263208d4a3b9de74258ec">slotActivateLayer</a>(layer);</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; }</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;}</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; </div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="comment">// Opens a dialog that allows the user to delete a Layer</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;<span class="keywordtype">void</span> IntelliPhotoGui::slotDeleteLayer(){</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="comment">// Stores button value</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordtype">bool</span> ok;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; </div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="comment">// &quot;delete Layer&quot; is the title of the window</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="comment">// the next tr is the text to display</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="comment">// Define the standard Value, min, max, step and ok button</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordtype">int</span> layerNumber = QInputDialog::getInt(<span class="keyword">this</span>, tr(<span class="stringliteral">&quot;delete Layer&quot;</span>),</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; tr(<span class="stringliteral">&quot;Number:&quot;</span>),</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; 1,0, 500, 1, &amp;ok);</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="comment">// Create New Layer</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">if</span> (ok)</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; paintingArea-&gt;<a class="code" href="class_painting_area.html#a6efad6f8ea060674b157b42b431cd173">deleteLayer</a>(layerNumber);</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;}</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; </div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="keywordtype">void</span> IntelliPhotoGui::slotSetActiveAlpha(){</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="comment">// Stores button value</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordtype">bool</span> ok1, ok2;</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; </div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="comment">// &quot;Layer to set on&quot; is the title of the window</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="comment">// the next tr is the text to display</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="comment">// Define the standard Value, min, max, step and ok button</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordtype">int</span> layer = QInputDialog::getInt(<span class="keyword">this</span>, tr(<span class="stringliteral">&quot;Layer to set on&quot;</span>),</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; tr(<span class="stringliteral">&quot;Layer:&quot;</span>),</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; -1,-1,100,1, &amp;ok1);</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="comment">// &quot;New Alpha&quot; is the title of the window</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordtype">int</span> alpha = QInputDialog::getInt(<span class="keyword">this</span>, tr(<span class="stringliteral">&quot;New Alpha&quot;</span>),</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; tr(<span class="stringliteral">&quot;Alpha:&quot;</span>),</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; 255,0, 255, 1, &amp;ok2);</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">if</span> (ok1&amp;&amp;ok2)</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; {</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; paintingArea-&gt;<a class="code" href="class_painting_area.html#aec59be20f1c27135700754882dd6383d">setAlphaOfLayer</a>(layer,alpha);</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; }</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;}</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; </div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="keywordtype">void</span> IntelliPhotoGui::slotPositionMoveUp(){</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; paintingArea-&gt;<a class="code" href="class_painting_area.html#ac6d089f4357b22d9a9906fd4771de3e7">movePositionActive</a>(0,-20);</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; update();</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;}</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; </div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="keywordtype">void</span> IntelliPhotoGui::slotPositionMoveDown(){</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; paintingArea-&gt;<a class="code" href="class_painting_area.html#ac6d089f4357b22d9a9906fd4771de3e7">movePositionActive</a>(0,20);</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; update();</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;}</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; </div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="keywordtype">void</span> IntelliPhotoGui::slotPositionMoveLeft(){</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; paintingArea-&gt;<a class="code" href="class_painting_area.html#ac6d089f4357b22d9a9906fd4771de3e7">movePositionActive</a>(-20,0);</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; update();</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;}</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; </div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="keywordtype">void</span> IntelliPhotoGui::slotPositionMoveRight(){</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; paintingArea-&gt;<a class="code" href="class_painting_area.html#ac6d089f4357b22d9a9906fd4771de3e7">movePositionActive</a>(20,0);</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; update();</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;}</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; </div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;<span class="keywordtype">void</span> IntelliPhotoGui::slotMoveLayerUp(){</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; paintingArea-&gt;<a class="code" href="class_painting_area.html#ae05f6893fb44bfcb34018573a609cd1a">moveActiveLayer</a>(1);</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; update();</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;}</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; </div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="keywordtype">void</span> IntelliPhotoGui::slotMoveLayerDown(){</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; paintingArea-&gt;<a class="code" href="class_painting_area.html#ae05f6893fb44bfcb34018573a609cd1a">moveActiveLayer</a>(-1);</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; update();</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;}</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; </div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="keywordtype">void</span> IntelliPhotoGui::slotClearActiveLayer(){</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="comment">// Stores button value</span></div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordtype">bool</span> ok1, ok2, ok3, ok4;</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; </div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="comment">// &quot;Red Input&quot; is the title of the window</span></div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="comment">// the next tr is the text to display</span></div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="comment">// Define the standard Value, min, max, step and ok button</span></div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordtype">int</span> red = QInputDialog::getInt(<span class="keyword">this</span>, tr(<span class="stringliteral">&quot;Red Input&quot;</span>),</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; tr(<span class="stringliteral">&quot;Red:&quot;</span>),</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; 255,0, 255,1, &amp;ok1);</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="comment">// &quot;Green Input&quot; is the title of the window</span></div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordtype">int</span> green = QInputDialog::getInt(<span class="keyword">this</span>, tr(<span class="stringliteral">&quot;Green Input&quot;</span>),</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; tr(<span class="stringliteral">&quot;Green:&quot;</span>),</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; 255,0, 255, 1, &amp;ok2);</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="comment">// &quot;Blue Input&quot; is the title of the window</span></div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordtype">int</span> blue = QInputDialog::getInt(<span class="keyword">this</span>, tr(<span class="stringliteral">&quot;Blue Input&quot;</span>),</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; tr(<span class="stringliteral">&quot;Blue:&quot;</span>),</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; 255,0, 255, 1, &amp;ok3);</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="comment">// &quot;Alpha Input&quot; is the title of the window</span></div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordtype">int</span> alpha = QInputDialog::getInt(<span class="keyword">this</span>, tr(<span class="stringliteral">&quot;Alpha Input&quot;</span>),</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; tr(<span class="stringliteral">&quot;Alpha:&quot;</span>),</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; 255,0, 255, 1, &amp;ok4);</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordflow">if</span> (ok1&amp;&amp;ok2&amp;&amp;ok3&amp;&amp;ok4)</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; {</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; paintingArea-&gt;<a class="code" href="class_painting_area.html#aeb5eb394b979ea90f2be9849fdda1774">floodFill</a>(red, green, blue, alpha);</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; }</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;}</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; </div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<span class="keywordtype">void</span> IntelliPhotoGui::slotSetActiveLayer(){</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="comment">// Stores button value</span></div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keywordtype">bool</span> ok1;</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; </div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="comment">// &quot;Layer to set on&quot; is the title of the window</span></div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="comment">// the next tr is the text to display</span></div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="comment">// Define the standard Value, min, max, step and ok button</span></div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keywordtype">int</span> layer = QInputDialog::getInt(<span class="keyword">this</span>, tr(<span class="stringliteral">&quot;Layer to set on&quot;</span>),</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; tr(<span class="stringliteral">&quot;Layer:&quot;</span>),</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; -1,0,255,1, &amp;ok1);</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="keywordflow">if</span> (ok1)</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; {</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; paintingArea-&gt;<a class="code" href="class_painting_area.html#a1d6d86c25efdce9fe9031a9cd01c74c8">setLayerToActive</a>(layer);</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; }</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;}</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; </div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;<span class="keywordtype">void</span> IntelliPhotoGui::slotSetFirstColor(){</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; paintingArea-&gt;<a class="code" href="class_painting_area.html#a4735d4cf1dc58a9096d904e74c39c4df">colorPickerSetFirstColor</a>();</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;}</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; </div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;<span class="keywordtype">void</span> IntelliPhotoGui::slotSetSecondColor(){</div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; paintingArea-&gt;<a class="code" href="class_painting_area.html#ae261acaaa346610dfed489dbac17e789">colorPickerSetSecondColor</a>();</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;}</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; </div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;<span class="keywordtype">void</span> IntelliPhotoGui::slotSwitchColor(){</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; paintingArea-&gt;<a class="code" href="class_painting_area.html#a66115307ff4a99cd7ca16423c5c8ecfb">colorPickerSwitchColor</a>();</div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;}</div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; </div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;<span class="keywordtype">void</span> IntelliPhotoGui::slotCreatePenTool(){</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; paintingArea-&gt;<a class="code" href="class_painting_area.html#a96c6248e343e44b61cf2625cb6d21353">createPenTool</a>();</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;}</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; </div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;<span class="keywordtype">void</span> IntelliPhotoGui::slotCreatePlainTool(){</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; paintingArea-&gt;<a class="code" href="class_painting_area.html#a3de83443d2d5cf460ff48d0602070938">createPlainTool</a>();</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;}</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; </div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;<span class="keywordtype">void</span> IntelliPhotoGui::slotCreateLineTool(){</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; paintingArea-&gt;<a class="code" href="class_painting_area.html#a240c33a7875addac86080cdfb0db036a">createLineTool</a>();</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;}</div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; </div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;<span class="keywordtype">void</span> IntelliPhotoGui::slotCreateRectangleTool(){</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; paintingArea-&gt;<a class="code" href="class_painting_area.html#a5b04ce62ce024e307f54e0281f7ae4bd">createRectangleTool</a>();</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;}</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; </div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;<span class="keywordtype">void</span> IntelliPhotoGui::slotCreateCircleTool(){</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; paintingArea-&gt;<a class="code" href="class_painting_area.html#a2d9f4b3585f7dd1acb11f432ca503466">createCircleTool</a>();</div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;}</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; </div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;<span class="keywordtype">void</span> IntelliPhotoGui::slotCreatePolygonTool(){</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; paintingArea-&gt;<a class="code" href="class_painting_area.html#a13c2f94644bea9c2d3123d0b7898f34b">createPolygonTool</a>();</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;}</div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; </div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;<span class="keywordtype">void</span> IntelliPhotoGui::slotCreateFloodFillTool(){</div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; paintingArea-&gt;<a class="code" href="class_painting_area.html#a0b22e18069b524f3e75857d203baf256">createFloodFillTool</a>();</div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;}</div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; </div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;<span class="comment">// Open an about dialog</span></div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;<span class="keywordtype">void</span> IntelliPhotoGui::slotAboutDialog(){</div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="comment">// Window title and text to display</span></div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; QMessageBox::about(<span class="keyword">this</span>, tr(<span class="stringliteral">&quot;About Painting&quot;</span>),</div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; tr(<span class="stringliteral">&quot;&lt;p&gt;&lt;b&gt;IntelliPhoto&lt;/b&gt;Pretty basic editor.&lt;/p&gt;&quot;</span>));</div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;}</div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; </div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;<span class="comment">// Define menu actions that call functions</span></div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;<span class="keywordtype">void</span> IntelliPhotoGui::createActions(){</div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="comment">// Get a list of the supported file formats</span></div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="comment">// QImageWriter is used to write images to files</span></div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordflow">foreach</span> (QByteArray format, QImageWriter::supportedImageFormats()) {</div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; QString text = tr(<span class="stringliteral">&quot;%1...&quot;</span>).arg(QString(format).toUpper());</div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; </div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="comment">// Create an action for each file format</span></div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; QAction*action = <span class="keyword">new</span> QAction(text, <span class="keyword">this</span>);</div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; </div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="comment">// Set an action for each file format</span></div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; action-&gt;setData(format);</div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; </div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="comment">// When clicked call IntelliPhotoGui::save()</span></div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; connect(action, SIGNAL(triggered()), <span class="keyword">this</span>, SLOT(slotSave()));</div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; </div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="comment">// Attach each file format option menu item to Save As</span></div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; actionSaveAs.append(action);</div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; }</div>
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; </div>
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="comment">//set exporter to actions</span></div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; QAction*pngSaveAction = <span class="keyword">new</span> QAction(<span class="stringliteral">&quot;PNG-8&quot;</span>, <span class="keyword">this</span>);</div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; pngSaveAction-&gt;setData(<span class="stringliteral">&quot;PNG&quot;</span>);</div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="comment">// When clicked call IntelliPhotoGui::save()</span></div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; connect(pngSaveAction, SIGNAL(triggered()), <span class="keyword">this</span>, SLOT(slotSave()));</div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="comment">// Attach each PNG in save Menu</span></div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; actionSaveAs.append(pngSaveAction);</div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; </div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="comment">// Create exit action and tie to IntelliPhotoGui::close()</span></div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; actionExit = <span class="keyword">new</span> QAction(tr(<span class="stringliteral">&quot;&amp;Exit&quot;</span>), <span class="keyword">this</span>);</div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; actionExit-&gt;setShortcuts(QKeySequence::Quit);</div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; connect(actionExit, SIGNAL(triggered()), <span class="keyword">this</span>, SLOT(close()));</div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; </div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; actionOpen = <span class="keyword">new</span> QAction(tr(<span class="stringliteral">&quot;&amp;Open&quot;</span>), <span class="keyword">this</span>);</div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; actionOpen-&gt;setShortcut(QKeySequence(Qt::CTRL + Qt::Key_O));</div>
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; connect(actionOpen, SIGNAL(triggered()), <span class="keyword">this</span>, SLOT(slotOpen()));</div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; </div>
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="comment">// Create New Layer action and tie to IntelliPhotoGui::newLayer()</span></div>
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; actionCreateNewLayer = <span class="keyword">new</span> QAction(tr(<span class="stringliteral">&quot;&amp;New Layer...&quot;</span>), <span class="keyword">this</span>);</div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; actionCreateNewLayer-&gt;setShortcut(QKeySequence(Qt::CTRL + Qt::Key_N));</div>
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; connect(actionCreateNewLayer, SIGNAL(triggered()), <span class="keyword">this</span>, SLOT(slotCreateNewLayer()));</div>
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; </div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="comment">// Delete New Layer action and tie to IntelliPhotoGui::deleteLayer()</span></div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; actionDeleteLayer = <span class="keyword">new</span> QAction(tr(<span class="stringliteral">&quot;&amp;Delete Layer...&quot;</span>), <span class="keyword">this</span>);</div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; connect(actionDeleteLayer, SIGNAL(triggered()), <span class="keyword">this</span>, SLOT(slotDeleteLayer()));</div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; </div>
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; actionSetActiveLayer = <span class="keyword">new</span> QAction(tr(<span class="stringliteral">&quot;&amp;set Active&quot;</span>), <span class="keyword">this</span>);</div>
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; connect(actionSetActiveLayer, SIGNAL(triggered()), <span class="keyword">this</span>, SLOT(slotSetActiveLayer()));</div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; </div>
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; actionSetActiveAlpha = <span class="keyword">new</span> QAction(tr(<span class="stringliteral">&quot;&amp;set Alpha&quot;</span>), <span class="keyword">this</span>);</div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; connect(actionSetActiveAlpha, SIGNAL(triggered()), <span class="keyword">this</span>, SLOT(slotSetActiveAlpha()));</div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; </div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; actionMovePositionUp = <span class="keyword">new</span> QAction(tr(<span class="stringliteral">&quot;&amp;move Up&quot;</span>), <span class="keyword">this</span>);</div>
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; actionMovePositionUp-&gt;setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Up));</div>
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; connect(actionMovePositionUp, SIGNAL(triggered()), <span class="keyword">this</span>, SLOT(slotPositionMoveUp()));</div>
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; </div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; actionMovePositionDown = <span class="keyword">new</span> QAction(tr(<span class="stringliteral">&quot;&amp;move Down&quot;</span>), <span class="keyword">this</span>);</div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; actionMovePositionDown-&gt;setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Down));</div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; connect(actionMovePositionDown, SIGNAL(triggered()), <span class="keyword">this</span>, SLOT(slotPositionMoveDown()));</div>
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; </div>
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; actionMovePositionLeft = <span class="keyword">new</span> QAction(tr(<span class="stringliteral">&quot;&amp;move Left&quot;</span>), <span class="keyword">this</span>);</div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; actionMovePositionLeft-&gt;setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Left));</div>
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; connect(actionMovePositionLeft, SIGNAL(triggered()), <span class="keyword">this</span>, SLOT(slotPositionMoveLeft()));</div>
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; </div>
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; actionMovePositionRight = <span class="keyword">new</span> QAction(tr(<span class="stringliteral">&quot;&amp;move Right&quot;</span>), <span class="keyword">this</span>);</div>
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; actionMovePositionRight-&gt;setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Right));</div>
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; connect(actionMovePositionRight, SIGNAL(triggered()), <span class="keyword">this</span>, SLOT(slotPositionMoveRight()));</div>
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; </div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; actionMoveLayerUp = <span class="keyword">new</span> QAction(tr(<span class="stringliteral">&quot;&amp;move Layer Up&quot;</span>), <span class="keyword">this</span>);</div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; actionMoveLayerUp-&gt;setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_Up));</div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; connect(actionMoveLayerUp, SIGNAL(triggered()), <span class="keyword">this</span>, SLOT(slotMoveLayerUp()));</div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; </div>
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; actionMoveLayerDown= <span class="keyword">new</span> QAction(tr(<span class="stringliteral">&quot;&amp;move Layer Down&quot;</span>), <span class="keyword">this</span>);</div>
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; actionMoveLayerDown-&gt;setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_Down));</div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; connect(actionMoveLayerDown, SIGNAL(triggered()), <span class="keyword">this</span>, SLOT(slotMoveLayerDown()));</div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; </div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="comment">//Create Color Actions here</span></div>
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; actionColorPickerFirstColor = <span class="keyword">new</span> QAction(tr(<span class="stringliteral">&quot;&amp;Main&quot;</span>), <span class="keyword">this</span>);</div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; connect(actionColorPickerFirstColor, SIGNAL(triggered()), <span class="keyword">this</span>, SLOT(slotSetFirstColor()));</div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; </div>
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; actionColorPickerSecondColor = <span class="keyword">new</span> QAction(tr(<span class="stringliteral">&quot;&amp;Secondary&quot;</span>), <span class="keyword">this</span>);</div>
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; connect(actionColorPickerSecondColor, SIGNAL(triggered()), <span class="keyword">this</span>, SLOT(slotSetSecondColor()));</div>
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; </div>
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; actionColorSwitch = <span class="keyword">new</span> QAction(tr(<span class="stringliteral">&quot;&amp;Switch&quot;</span>), <span class="keyword">this</span>);</div>
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; actionColorSwitch-&gt;setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_S));</div>
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; connect(actionColorSwitch, SIGNAL(triggered()), <span class="keyword">this</span>, SLOT(slotSwitchColor()));</div>
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; </div>
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <span class="comment">//Create Tool actions down here</span></div>
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; actionCreatePlainTool = <span class="keyword">new</span> QAction(tr(<span class="stringliteral">&quot;&amp;Plain&quot;</span>), <span class="keyword">this</span>);</div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; connect(actionCreatePlainTool, SIGNAL(triggered()), <span class="keyword">this</span>, SLOT(slotCreatePlainTool()));</div>
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; </div>
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; actionCreatePenTool = <span class="keyword">new</span> QAction(tr(<span class="stringliteral">&quot;&amp;Pen&quot;</span>),<span class="keyword">this</span>);</div>
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; connect(actionCreatePenTool, SIGNAL(triggered()), <span class="keyword">this</span>, SLOT(slotCreatePenTool()));</div>
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; </div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; actionCreateLineTool = <span class="keyword">new</span> QAction(tr(<span class="stringliteral">&quot;&amp;Line&quot;</span>), <span class="keyword">this</span>);</div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; connect(actionCreateLineTool, SIGNAL(triggered()), <span class="keyword">this</span>, SLOT(slotCreateLineTool()));</div>
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; </div>
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; actionCreateCircleTool = <span class="keyword">new</span> QAction(tr(<span class="stringliteral">&quot;&amp;Circle&quot;</span>), <span class="keyword">this</span>);</div>
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; connect(actionCreateCircleTool, SIGNAL(triggered()), <span class="keyword">this</span>, SLOT(slotCreateCircleTool()));</div>
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; </div>
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; actionCreateRectangleTool = <span class="keyword">new</span> QAction(tr(<span class="stringliteral">&quot;&amp;Rectangle&quot;</span>), <span class="keyword">this</span>);</div>
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; connect(actionCreateRectangleTool, SIGNAL(triggered()), <span class="keyword">this</span>, SLOT(slotCreateRectangleTool()));</div>
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; </div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; actionCreatePolygonTool = <span class="keyword">new</span> QAction(tr(<span class="stringliteral">&quot;&amp;Polygon&quot;</span>), <span class="keyword">this</span>);</div>
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; connect(actionCreatePolygonTool, SIGNAL(triggered()), <span class="keyword">this</span>, SLOT(slotCreatePolygonTool()));</div>
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; </div>
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; actionCreateFloodFillTool = <span class="keyword">new</span> QAction(tr(<span class="stringliteral">&quot;&amp;FloodFill&quot;</span>), <span class="keyword">this</span>);</div>
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; connect(actionCreateFloodFillTool, SIGNAL(triggered()), <span class="keyword">this</span>, SLOT(slotCreateFloodFillTool()));</div>
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; </div>
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="comment">// Create about action and tie to IntelliPhotoGui::about()</span></div>
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; actionAboutDialog = <span class="keyword">new</span> QAction(tr(<span class="stringliteral">&quot;&amp;About&quot;</span>), <span class="keyword">this</span>);</div>
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; connect(actionAboutDialog, SIGNAL(triggered()), <span class="keyword">this</span>, SLOT(slotAboutDialog()));</div>
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; </div>
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="comment">// Create about Qt action and tie to IntelliPhotoGui::aboutQt()</span></div>
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; actionAboutQtDialog = <span class="keyword">new</span> QAction(tr(<span class="stringliteral">&quot;About &amp;Qt&quot;</span>), <span class="keyword">this</span>);</div>
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; connect(actionAboutQtDialog, SIGNAL(triggered()), qApp, SLOT(aboutQt()));</div>
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160;}</div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; </div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160;<span class="comment">// Create the menubar</span></div>
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160;<span class="keywordtype">void</span> IntelliPhotoGui::createMenus(){</div>
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <span class="comment">// Create Save As option and the list of file types</span></div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; saveAsMenu = <span class="keyword">new</span> QMenu(tr(<span class="stringliteral">&quot;&amp;Save As&quot;</span>), <span class="keyword">this</span>);</div>
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <span class="keywordflow">foreach</span> (QAction *action, actionSaveAs)</div>
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; saveAsMenu-&gt;addAction(action);</div>
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; </div>
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; </div>
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="comment">// Attach all actions to File</span></div>
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; fileMenu = <span class="keyword">new</span> QMenu(tr(<span class="stringliteral">&quot;&amp;File&quot;</span>), <span class="keyword">this</span>);</div>
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; fileMenu-&gt;addAction(actionOpen);</div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; fileMenu-&gt;addMenu(saveAsMenu);</div>
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; fileMenu-&gt;addSeparator();</div>
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; fileMenu-&gt;addAction(actionExit);</div>
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; </div>
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <span class="comment">// Attach all actions to Options</span></div>
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; optionMenu = <span class="keyword">new</span> QMenu(tr(<span class="stringliteral">&quot;&amp;Options&quot;</span>), <span class="keyword">this</span>);</div>
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; optionMenu-&gt;addAction(actionSetActiveLayer);</div>
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; optionMenu-&gt;addAction(actionSetActiveAlpha);</div>
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; optionMenu-&gt;addAction(actionMovePositionUp);</div>
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; optionMenu-&gt;addAction(actionMovePositionDown);</div>
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; optionMenu-&gt;addAction(actionMovePositionLeft);</div>
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; optionMenu-&gt;addAction(actionMovePositionRight);</div>
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; optionMenu-&gt;addAction(actionMoveLayerUp);</div>
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; optionMenu-&gt;addAction(actionMoveLayerDown);</div>
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; </div>
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; <span class="comment">// Attach all actions to Layer</span></div>
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; layerMenu = <span class="keyword">new</span> QMenu(tr(<span class="stringliteral">&quot;&amp;Layer&quot;</span>), <span class="keyword">this</span>);</div>
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; layerMenu-&gt;addAction(actionCreateNewLayer);</div>
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; layerMenu-&gt;addAction(actionDeleteLayer);</div>
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; </div>
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="comment">//Attach all Color Options</span></div>
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; colorMenu = <span class="keyword">new</span> QMenu(tr(<span class="stringliteral">&quot;&amp;Color&quot;</span>), <span class="keyword">this</span>);</div>
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; colorMenu-&gt;addAction(actionColorPickerFirstColor);</div>
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; colorMenu-&gt;addAction(actionColorPickerSecondColor);</div>
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; colorMenu-&gt;addAction(actionColorSwitch);</div>
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; </div>
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; <span class="comment">//Attach all Tool Options</span></div>
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; toolMenu = <span class="keyword">new</span> QMenu(tr(<span class="stringliteral">&quot;&amp;Tools&quot;</span>), <span class="keyword">this</span>);</div>
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; toolMenu-&gt;addAction(actionCreatePenTool);</div>
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; toolMenu-&gt;addAction(actionCreatePlainTool);</div>
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; toolMenu-&gt;addAction(actionCreateLineTool);</div>
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; toolMenu-&gt;addAction(actionCreateRectangleTool);</div>
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; toolMenu-&gt;addAction(actionCreateCircleTool);</div>
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; toolMenu-&gt;addAction(actionCreatePolygonTool);</div>
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; toolMenu-&gt;addAction(actionCreateFloodFillTool);</div>
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; toolMenu-&gt;addSeparator();</div>
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; toolMenu-&gt;addMenu(colorMenu);</div>
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; </div>
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; <span class="comment">// Attach all actions to Help</span></div>
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; helpMenu = <span class="keyword">new</span> QMenu(tr(<span class="stringliteral">&quot;&amp;Help&quot;</span>), <span class="keyword">this</span>);</div>
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; helpMenu-&gt;addAction(actionAboutDialog);</div>
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; helpMenu-&gt;addAction(actionAboutQtDialog);</div>
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; </div>
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; <span class="comment">// Add menu items to the menubar</span></div>
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; menuBar()-&gt;addMenu(fileMenu);</div>
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; menuBar()-&gt;addMenu(optionMenu);</div>
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; menuBar()-&gt;addMenu(layerMenu);</div>
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; menuBar()-&gt;addMenu(toolMenu);</div>
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; menuBar()-&gt;addMenu(helpMenu);</div>
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160;}</div>
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; </div>
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160;<span class="keywordtype">void</span> IntelliPhotoGui::createGui(){</div>
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; <span class="comment">// create a central widget to work on</span></div>
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; centralGuiWidget = <span class="keyword">new</span> QWidget(<span class="keyword">this</span>);</div>
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; setCentralWidget(centralGuiWidget);</div>
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; </div>
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; <span class="comment">// create the grid for the layout</span></div>
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; mainLayout = <span class="keyword">new</span> QGridLayout(centralGuiWidget);</div>
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; centralGuiWidget-&gt;setLayout(mainLayout);</div>
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; </div>
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; <span class="comment">// create Gui elements</span></div>
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; paintingArea = <span class="keyword">new</span> <a class="code" href="class_painting_area.html">PaintingArea</a>();</div>
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; </div>
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; <span class="comment">// set gui elements</span></div>
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; mainLayout-&gt;addWidget(paintingArea);</div>
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160;}</div>
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; </div>
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160;<span class="keywordtype">void</span> IntelliPhotoGui::setIntelliStyle(){</div>
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; <span class="comment">// Set the title</span></div>
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; setWindowTitle(<span class="stringliteral">&quot;IntelliPhoto Prototype&quot;</span>);</div>
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; <span class="comment">// Set style sheet</span></div>
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; this-&gt;setStyleSheet(<span class="stringliteral">&quot;background-color:rgb(64,64,64)&quot;</span>);</div>
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; this-&gt;centralGuiWidget-&gt;setStyleSheet(<span class="stringliteral">&quot;color:rgb(255,255,255)&quot;</span>);</div>
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; this-&gt;menuBar()-&gt;setStyleSheet(<span class="stringliteral">&quot;color:rgb(255,255,255)&quot;</span>);</div>
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160;}</div>
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; </div>
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160;<span class="keywordtype">bool</span> IntelliPhotoGui::maybeSave(){</div>
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; <span class="comment">// Check for changes since last save</span></div>
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; </div>
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <span class="comment">// TODO insert variable for modified status here to make an save exit message</span></div>
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">false</span>) {</div>
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; QMessageBox::StandardButton ret;</div>
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; </div>
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; <span class="comment">// Painting is the title of the window</span></div>
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <span class="comment">// Add text and the buttons</span></div>
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; ret = QMessageBox::warning(<span class="keyword">this</span>, tr(<span class="stringliteral">&quot;Painting&quot;</span>),</div>
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; tr(<span class="stringliteral">&quot;The image has been modified.\n&quot;</span></div>
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; <span class="stringliteral">&quot;Do you want to save your changes?&quot;</span>),</div>
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; QMessageBox::Save | QMessageBox::Discard</div>
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; | QMessageBox::Cancel);</div>
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; </div>
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; <span class="comment">// If save button clicked call for file to be saved</span></div>
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; <span class="keywordflow">if</span> (ret == QMessageBox::Save) {</div>
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; <span class="keywordflow">return</span> saveFile(<span class="stringliteral">&quot;png&quot;</span>);</div>
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; </div>
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; <span class="comment">// If cancel do nothing</span></div>
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ret == QMessageBox::Cancel) {</div>
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; }</div>
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; }</div>
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160;}</div>
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; </div>
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160;<span class="keywordtype">bool</span> IntelliPhotoGui::saveFile(<span class="keyword">const</span> QByteArray &amp;fileFormat){</div>
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <span class="comment">// Define path, name and default file type</span></div>
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; QString initialPath = QDir::currentPath() + <span class="stringliteral">&quot;/untitled.&quot;</span> + fileFormat;</div>
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; </div>
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; <span class="comment">// Get selected file from dialog</span></div>
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; <span class="comment">// Add the proper file formats and extensions</span></div>
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; QString fileName = QFileDialog::getSaveFileName(<span class="keyword">this</span>, tr(<span class="stringliteral">&quot;Save As&quot;</span>),</div>
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; initialPath,</div>
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; tr(<span class="stringliteral">&quot;%1 Files (*.%2);;All Files (*)&quot;</span>)</div>
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; .arg(QString::fromLatin1(fileFormat.toUpper()))</div>
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; .arg(QString::fromLatin1(fileFormat)), <span class="keyword">nullptr</span>, QFileDialog::DontUseNativeDialog);</div>
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; </div>
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; <span class="comment">// If no file do nothing</span></div>
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; <span class="keywordflow">if</span> (fileName.isEmpty()) {</div>
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <span class="comment">// Call for the file to be saved</span></div>
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <span class="keywordflow">return</span> paintingArea-&gt;<a class="code" href="class_painting_area.html#a612176cc9d629d22fd3fe1a746cce564">save</a>(fileName, fileFormat.constData());</div>
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; }</div>
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160;}</div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclass_painting_area_html_a2d9f4b3585f7dd1acb11f432ca503466"><div class="ttname"><a href="class_painting_area.html#a2d9f4b3585f7dd1acb11f432ca503466">PaintingArea::createCircleTool</a></div><div class="ttdeci">void createCircleTool()</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00200">PaintingArea.cpp:200</a></div></div>
<div class="ttc" id="aclass_painting_area_html_a39ad76e1319659bfa38eee88ef33d395"><div class="ttname"><a href="class_painting_area.html#a39ad76e1319659bfa38eee88ef33d395">PaintingArea::addLayer</a></div><div class="ttdeci">int addLayer(int width, int height, int widthOffset=0, int heightOffset=0, ImageType type=ImageType::Raster_Image)</div><div class="ttdoc">The addLayer adds a layer to the current project/ painting area.</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00056">PaintingArea.cpp:56</a></div></div>
<div class="ttc" id="aclass_painting_area_html_a5b04ce62ce024e307f54e0281f7ae4bd"><div class="ttname"><a href="class_painting_area.html#a5b04ce62ce024e307f54e0281f7ae4bd">PaintingArea::createRectangleTool</a></div><div class="ttdeci">void createRectangleTool()</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00195">PaintingArea.cpp:195</a></div></div>
<div class="ttc" id="aclass_painting_area_html_a1f597740b4d7b4bc2e24c51f8cb0b6eb"><div class="ttname"><a href="class_painting_area.html#a1f597740b4d7b4bc2e24c51f8cb0b6eb">PaintingArea::open</a></div><div class="ttdeci">bool open(const QString &amp;fileName)</div><div class="ttdoc">The open method is used for loading a picture into the current layer.</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00102">PaintingArea.cpp:102</a></div></div>
<div class="ttc" id="aclass_painting_area_html_a1d6d86c25efdce9fe9031a9cd01c74c8"><div class="ttname"><a href="class_painting_area.html#a1d6d86c25efdce9fe9031a9cd01c74c8">PaintingArea::setLayerToActive</a></div><div class="ttdeci">void setLayerToActive(int index)</div><div class="ttdoc">The setLayerToActive method marks a specific layer as active.</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00089">PaintingArea.cpp:89</a></div></div>
<div class="ttc" id="aclass_painting_area_html_aeb5eb394b979ea90f2be9849fdda1774"><div class="ttname"><a href="class_painting_area.html#aeb5eb394b979ea90f2be9849fdda1774">PaintingArea::floodFill</a></div><div class="ttdeci">void floodFill(int r, int g, int b, int a)</div><div class="ttdoc">The floodFill method fills a the active layer with a given color.</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00138">PaintingArea.cpp:138</a></div></div>
<div class="ttc" id="aclass_painting_area_html_a612176cc9d629d22fd3fe1a746cce564"><div class="ttname"><a href="class_painting_area.html#a612176cc9d629d22fd3fe1a746cce564">PaintingArea::save</a></div><div class="ttdeci">bool save(const QString &amp;fileName, const char *fileFormat)</div><div class="ttdoc">The save method is used for exporting the current project as one picture.</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00114">PaintingArea.cpp:114</a></div></div>
<div class="ttc" id="aclass_painting_area_html_a3de83443d2d5cf460ff48d0602070938"><div class="ttname"><a href="class_painting_area.html#a3de83443d2d5cf460ff48d0602070938">PaintingArea::createPlainTool</a></div><div class="ttdeci">void createPlainTool()</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00185">PaintingArea.cpp:185</a></div></div>
<div class="ttc" id="aclass_intelli_photo_gui_html_ad2aaec3c1517a9aaa461b54e341b97e0"><div class="ttname"><a href="class_intelli_photo_gui.html#ad2aaec3c1517a9aaa461b54e341b97e0">IntelliPhotoGui::IntelliPhotoGui</a></div><div class="ttdeci">IntelliPhotoGui()</div><div class="ttdoc">The IntelliPhotoGui method is the constructor and is used to create a new instance of the main progra...</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_photo_gui_8cpp_source.html#l00010">IntelliPhotoGui.cpp:10</a></div></div>
<div class="ttc" id="aclass_painting_area_html"><div class="ttname"><a href="class_painting_area.html">PaintingArea</a></div><div class="ttdoc">The PaintingArea class manages the methods and stores information about the current painting area,...</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8h_source.html#l00036">PaintingArea.h:36</a></div></div>
<div class="ttc" id="aclass_painting_area_html_a6efad6f8ea060674b157b42b431cd173"><div class="ttname"><a href="class_painting_area.html#a6efad6f8ea060674b157b42b431cd173">PaintingArea::deleteLayer</a></div><div class="ttdeci">void deleteLayer(int index)</div><div class="ttdoc">The deleteLayer method removes a layer at a given index.</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00073">PaintingArea.cpp:73</a></div></div>
<div class="ttc" id="aclass_painting_area_html_a96c6248e343e44b61cf2625cb6d21353"><div class="ttname"><a href="class_painting_area.html#a96c6248e343e44b61cf2625cb6d21353">PaintingArea::createPenTool</a></div><div class="ttdeci">void createPenTool()</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00180">PaintingArea.cpp:180</a></div></div>
<div class="ttc" id="aclass_painting_area_html_a240c33a7875addac86080cdfb0db036a"><div class="ttname"><a href="class_painting_area.html#a240c33a7875addac86080cdfb0db036a">PaintingArea::createLineTool</a></div><div class="ttdeci">void createLineTool()</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00190">PaintingArea.cpp:190</a></div></div>
<div class="ttc" id="aclass_painting_area_html_ae261acaaa346610dfed489dbac17e789"><div class="ttname"><a href="class_painting_area.html#ae261acaaa346610dfed489dbac17e789">PaintingArea::colorPickerSetSecondColor</a></div><div class="ttdeci">void colorPickerSetSecondColor()</div><div class="ttdoc">The colorPickerSetSecondColor calls the QTColorPicker to determine the secondary drawing color.</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00171">PaintingArea.cpp:171</a></div></div>
<div class="ttc" id="aclass_painting_area_html_a4735d4cf1dc58a9096d904e74c39c4df"><div class="ttname"><a href="class_painting_area.html#a4735d4cf1dc58a9096d904e74c39c4df">PaintingArea::colorPickerSetFirstColor</a></div><div class="ttdeci">void colorPickerSetFirstColor()</div><div class="ttdoc">The colorPickerSetFirstColor calls the QTColorPicker to determine the primary drawing color.</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00166">PaintingArea.cpp:166</a></div></div>
<div class="ttc" id="aclass_painting_area_html_a66115307ff4a99cd7ca16423c5c8ecfb"><div class="ttname"><a href="class_painting_area.html#a66115307ff4a99cd7ca16423c5c8ecfb">PaintingArea::colorPickerSwitchColor</a></div><div class="ttdeci">void colorPickerSwitchColor()</div><div class="ttdoc">The colorPickerSwitchColor swaps the primary color with the secondary drawing color.</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00176">PaintingArea.cpp:176</a></div></div>
<div class="ttc" id="a_intelli_photo_gui_8h_html"><div class="ttname"><a href="_intelli_photo_gui_8h.html">IntelliPhotoGui.h</a></div></div>
<div class="ttc" id="aclass_intelli_photo_gui_html_a2cf48070236ae8b35245e7f30482ef13"><div class="ttname"><a href="class_intelli_photo_gui.html#a2cf48070236ae8b35245e7f30482ef13">IntelliPhotoGui::closeEvent</a></div><div class="ttdeci">void closeEvent(QCloseEvent *event) override</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_photo_gui_8cpp_source.html#l00026">IntelliPhotoGui.cpp:26</a></div></div>
<div class="ttc" id="aclass_painting_area_html_a13c2f94644bea9c2d3123d0b7898f34b"><div class="ttname"><a href="class_painting_area.html#a13c2f94644bea9c2d3123d0b7898f34b">PaintingArea::createPolygonTool</a></div><div class="ttdeci">void createPolygonTool()</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00204">PaintingArea.cpp:204</a></div></div>
<div class="ttc" id="aclass_painting_area_html_ae05f6893fb44bfcb34018573a609cd1a"><div class="ttname"><a href="class_painting_area.html#ae05f6893fb44bfcb34018573a609cd1a">PaintingArea::moveActiveLayer</a></div><div class="ttdeci">void moveActiveLayer(int idx)</div><div class="ttdoc">The moveActiveLayer moves the active layer to a specific position in the layer stack.</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00152">PaintingArea.cpp:152</a></div></div>
<div class="ttc" id="a_painting_area_8h_html"><div class="ttname"><a href="_painting_area_8h.html">PaintingArea.h</a></div></div>
<div class="ttc" id="aclass_painting_area_html_a0b22e18069b524f3e75857d203baf256"><div class="ttname"><a href="class_painting_area.html#a0b22e18069b524f3e75857d203baf256">PaintingArea::createFloodFillTool</a></div><div class="ttdeci">void createFloodFillTool()</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00209">PaintingArea.cpp:209</a></div></div>
<div class="ttc" id="aclass_painting_area_html_a71ac281e0de263208d4a3b9de74258ec"><div class="ttname"><a href="class_painting_area.html#a71ac281e0de263208d4a3b9de74258ec">PaintingArea::slotActivateLayer</a></div><div class="ttdeci">void slotActivateLayer(int a)</div><div class="ttdoc">The slotActivateLayer method handles the event of selecting one layer as active.</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00160">PaintingArea.cpp:160</a></div></div>
<div class="ttc" id="aclass_painting_area_html_aec59be20f1c27135700754882dd6383d"><div class="ttname"><a href="class_painting_area.html#aec59be20f1c27135700754882dd6383d">PaintingArea::setAlphaOfLayer</a></div><div class="ttdeci">void setAlphaOfLayer(int index, int alpha)</div><div class="ttdoc">The setAlphaOfLayer method sets the alpha value of a specific layer.</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00095">PaintingArea.cpp:95</a></div></div>
<div class="ttc" id="aclass_painting_area_html_ac6d089f4357b22d9a9906fd4771de3e7"><div class="ttname"><a href="class_painting_area.html#ac6d089f4357b22d9a9906fd4771de3e7">PaintingArea::movePositionActive</a></div><div class="ttdeci">void movePositionActive(int x, int y)</div><div class="ttdoc">The movePositionActive method moves the active layer to certain position.</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00147">PaintingArea.cpp:147</a></div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_8db5f55022e7670536cbc9a6a1d6f01c.html">intelliphoto</a></li><li class="navelem"><a class="el" href="dir_83a4347d11f2ba6343d546ab133722d2.html">src</a></li><li class="navelem"><a class="el" href="dir_5dabb14988a75c922e285f444641a133.html">GUI</a></li><li class="navelem"><a class="el" href="_intelli_photo_gui_8cpp.html">IntelliPhotoGui.cpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.16 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,133 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IntelliPhoto: intelliphoto/src/GUI/IntelliPhotoGui.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">IntelliPhoto
&#160;<span id="projectnumber">0.5</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_intelli_photo_gui_8h.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> </div>
<div class="headertitle">
<div class="title">IntelliPhotoGui.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;QList&gt;</code><br />
<code>#include &lt;QMainWindow&gt;</code><br />
<code>#include &lt;QGridLayout&gt;</code><br />
<code>#include &lt;QPushButton&gt;</code><br />
<code>#include &lt;QTextEdit&gt;</code><br />
<code>#include &lt;QLabel&gt;</code><br />
<code>#include &lt;QLineEdit&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for IntelliPhotoGui.h:</div>
<div class="dyncontent">
<div class="center"><img src="_intelli_photo_gui_8h__incl.png" border="0" usemap="#intelliphoto_2src_2_g_u_i_2_intelli_photo_gui_8h" alt=""/></div>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="_intelli_photo_gui_8h__dep__incl.png" border="0" usemap="#intelliphoto_2src_2_g_u_i_2_intelli_photo_gui_8hdep" alt=""/></div>
</div>
</div>
<p><a href="_intelli_photo_gui_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_intelli_photo_gui.html">IntelliPhotoGui</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <a class="el" href="class_intelli_photo_gui.html" title="The IntelliPhotoGui class handles the graphical user interface for the intelliPhoto program.">IntelliPhotoGui</a> class handles the graphical user interface for the intelliPhoto program. <a href="class_intelli_photo_gui.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_8db5f55022e7670536cbc9a6a1d6f01c.html">intelliphoto</a></li><li class="navelem"><a class="el" href="dir_83a4347d11f2ba6343d546ab133722d2.html">src</a></li><li class="navelem"><a class="el" href="dir_5dabb14988a75c922e285f444641a133.html">GUI</a></li><li class="navelem"><a class="el" href="_intelli_photo_gui_8h.html">IntelliPhotoGui.h</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.16 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,11 @@
digraph "intelliphoto/src/GUI/IntelliPhotoGui.h"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="intelliphoto/src/GUI\l/IntelliPhotoGui.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="intelliphoto/src/GUI\l/IntelliPhotoGui.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_photo_gui_8cpp.html",tooltip=" "];
Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node3 [label="intelliphoto/src/main.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$main_8cpp.html",tooltip=" "];
}

View File

@@ -0,0 +1,21 @@
digraph "intelliphoto/src/GUI/IntelliPhotoGui.h"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="intelliphoto/src/GUI\l/IntelliPhotoGui.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="QList",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node1 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node3 [label="QMainWindow",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node1 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node4 [label="QGridLayout",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node1 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node5 [label="QPushButton",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node1 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node6 [label="QTextEdit",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node1 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node7 [label="QLabel",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node1 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node8 [label="QLineEdit",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
}

View File

@@ -0,0 +1,246 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IntelliPhoto: intelliphoto/src/GUI/IntelliPhotoGui.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">IntelliPhoto
&#160;<span id="projectnumber">0.5</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_intelli_photo_gui_8h_source.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">IntelliPhotoGui.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="_intelli_photo_gui_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#ifndef IntelliPhotoGui_H</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#define IntelliPhotoGui_H</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160; </div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#include &lt;QList&gt;</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="preprocessor">#include &lt;QMainWindow&gt;</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="preprocessor">#include &lt;QGridLayout&gt;</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#include &lt;QPushButton&gt;</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="preprocessor">#include &lt;QTextEdit&gt;</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &lt;QLabel&gt;</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#include &lt;QLineEdit&gt;</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160; </div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment">// PaintingArea used to paint the image</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="keyword">class </span><a class="code" href="class_painting_area.html">PaintingArea</a>;</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; </div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="keyword">class </span><a class="code" href="class_intelli_tool.html">IntelliTool</a>;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; </div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="keyword">class </span><a class="code" href="class_intelli_color_picker.html">IntelliColorPicker</a>;</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; </div>
<div class="line"><a name="l00022"></a><span class="lineno"><a class="line" href="class_intelli_photo_gui.html"> 22</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_intelli_photo_gui.html">IntelliPhotoGui</a> : <span class="keyword">public</span> QMainWindow {</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">// Declares our class as a QObject which is the base class</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment">// for all Qt objects</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment">// QObjects handle events</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;Q_OBJECT</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<a class="code" href="class_intelli_photo_gui.html#ad2aaec3c1517a9aaa461b54e341b97e0">IntelliPhotoGui</a>();</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; </div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="comment">// Function used to close an event</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_intelli_photo_gui.html#a2cf48070236ae8b35245e7f30482ef13">closeEvent</a>(QCloseEvent*event) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; </div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="keyword">private</span> slots:</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="comment">// meta slots here (need further )</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="keywordtype">void</span> slotOpen();</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="keywordtype">void</span> slotSave();</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; </div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="comment">// layer slots here</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="keywordtype">void</span> slotCreateNewLayer();</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="keywordtype">void</span> slotDeleteLayer();</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="keywordtype">void</span> slotClearActiveLayer();</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="keywordtype">void</span> slotSetActiveLayer();</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="keywordtype">void</span> slotSetActiveAlpha();</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="keywordtype">void</span> slotPositionMoveUp();</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="keywordtype">void</span> slotPositionMoveDown();</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="keywordtype">void</span> slotPositionMoveLeft();</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="keywordtype">void</span> slotPositionMoveRight();</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="keywordtype">void</span> slotMoveLayerUp();</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="keywordtype">void</span> slotMoveLayerDown();</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; </div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="comment">// color Picker slots here</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="keywordtype">void</span> slotSetFirstColor();</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="keywordtype">void</span> slotSetSecondColor();</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="keywordtype">void</span> slotSwitchColor();</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; </div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment">// tool slots here</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="keywordtype">void</span> slotCreatePenTool();</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="keywordtype">void</span> slotCreatePlainTool();</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="keywordtype">void</span> slotCreateLineTool();</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="keywordtype">void</span> slotCreateRectangleTool();</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="keywordtype">void</span> slotCreateCircleTool();</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="keywordtype">void</span> slotCreatePolygonTool();</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="keywordtype">void</span> slotCreateFloodFillTool();</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; </div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="comment">// slots for dialogs</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="keywordtype">void</span> slotAboutDialog();</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; </div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="comment">// Will tie user actions to functions</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="keywordtype">void</span> createActions();</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="keywordtype">void</span> createMenus();</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="comment">// setup GUI elements</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="keywordtype">void</span> createGui();</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="comment">// set style of the GUI</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="keywordtype">void</span> setIntelliStyle();</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; </div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="comment">// Will check if changes have occurred since last save</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="keywordtype">bool</span> maybeSave();</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="comment">// Opens the Save dialog and saves</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="keywordtype">bool</span> saveFile(<span class="keyword">const</span> QByteArray &amp;fileFormat);</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; </div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="comment">// What we&#39;ll draw on</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;<a class="code" href="class_painting_area.html">PaintingArea</a>* paintingArea;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; </div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="comment">// The menu widgets</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;QMenu*saveAsMenu;</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;QMenu*fileMenu;</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;QMenu*optionMenu;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;QMenu*layerMenu;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;QMenu*colorMenu;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;QMenu*toolMenu;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;QMenu*helpMenu;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; </div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="comment">// All the actions that can occur</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;<span class="comment">// meta image actions (need further modularisation)</span></div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;QAction*actionOpen;</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;QAction*actionExit;</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; </div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment">// color Picker actions</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;QAction*actionColorPickerFirstColor;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;QAction*actionColorPickerSecondColor;</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;QAction*actionColorSwitch;</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; </div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment">// tool actions</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;QAction*actionCreatePenTool;</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;QAction*actionCreatePlainTool;</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;QAction*actionCreateLineTool;</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;QAction*actionCreateRectangleTool;</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;QAction*actionCreateCircleTool;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;QAction*actionCreatePolygonTool;</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;QAction*actionCreateFloodFillTool;</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; </div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment">// dialog actions</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;QAction*actionAboutDialog;</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;QAction*actionAboutQtDialog;</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; </div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment">// layer change actions</span></div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;QAction*actionCreateNewLayer;</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;QAction*actionDeleteLayer;</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;QAction* actionSetActiveLayer;</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;QAction* actionSetActiveAlpha;</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;QAction* actionMovePositionUp;</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;QAction* actionMovePositionDown;</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;QAction* actionMovePositionLeft;</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;QAction* actionMovePositionRight;</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;QAction* actionMoveLayerUp;</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;QAction* actionMoveLayerDown;</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; </div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment">// Actions tied to specific file formats</span></div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;QList&lt;QAction*&gt; actionSaveAs;</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; </div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment">// main GUI elements</span></div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;QWidget* centralGuiWidget;</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;QGridLayout*mainLayout;</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;};</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; </div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclass_intelli_photo_gui_html"><div class="ttname"><a href="class_intelli_photo_gui.html">IntelliPhotoGui</a></div><div class="ttdoc">The IntelliPhotoGui class handles the graphical user interface for the intelliPhoto program.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_photo_gui_8h_source.html#l00022">IntelliPhotoGui.h:22</a></div></div>
<div class="ttc" id="aclass_intelli_photo_gui_html_ad2aaec3c1517a9aaa461b54e341b97e0"><div class="ttname"><a href="class_intelli_photo_gui.html#ad2aaec3c1517a9aaa461b54e341b97e0">IntelliPhotoGui::IntelliPhotoGui</a></div><div class="ttdeci">IntelliPhotoGui()</div><div class="ttdoc">The IntelliPhotoGui method is the constructor and is used to create a new instance of the main progra...</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_photo_gui_8cpp_source.html#l00010">IntelliPhotoGui.cpp:10</a></div></div>
<div class="ttc" id="aclass_painting_area_html"><div class="ttname"><a href="class_painting_area.html">PaintingArea</a></div><div class="ttdoc">The PaintingArea class manages the methods and stores information about the current painting area,...</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8h_source.html#l00036">PaintingArea.h:36</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html"><div class="ttname"><a href="class_intelli_tool.html">IntelliTool</a></div><div class="ttdoc">An abstract class that manages the basic events, like mouse clicks or scrolls events.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8h_source.html#l00013">IntelliTool.h:13</a></div></div>
<div class="ttc" id="aclass_intelli_photo_gui_html_a2cf48070236ae8b35245e7f30482ef13"><div class="ttname"><a href="class_intelli_photo_gui.html#a2cf48070236ae8b35245e7f30482ef13">IntelliPhotoGui::closeEvent</a></div><div class="ttdeci">void closeEvent(QCloseEvent *event) override</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_photo_gui_8cpp_source.html#l00026">IntelliPhotoGui.cpp:26</a></div></div>
<div class="ttc" id="aclass_intelli_color_picker_html"><div class="ttname"><a href="class_intelli_color_picker.html">IntelliColorPicker</a></div><div class="ttdoc">The IntelliColorPicker manages the selected colors for one whole project.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_color_picker_8h_source.html#l00011">IntelliColorPicker.h:11</a></div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_8db5f55022e7670536cbc9a6a1d6f01c.html">intelliphoto</a></li><li class="navelem"><a class="el" href="dir_83a4347d11f2ba6343d546ab133722d2.html">src</a></li><li class="navelem"><a class="el" href="dir_5dabb14988a75c922e285f444641a133.html">GUI</a></li><li class="navelem"><a class="el" href="_intelli_photo_gui_8h.html">IntelliPhotoGui.h</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.16 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,116 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IntelliPhoto: intelliphoto/src/Image/IntelliRasterImage.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">IntelliPhoto
&#160;<span id="projectnumber">0.5</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_intelli_raster_image_8cpp.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">IntelliRasterImage.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="_intelli_raster_image_8h_source.html">Image/IntelliRasterImage.h</a>&quot;</code><br />
<code>#include &lt;QPainter&gt;</code><br />
<code>#include &lt;QRect&gt;</code><br />
<code>#include &lt;QDebug&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for IntelliRasterImage.cpp:</div>
<div class="dyncontent">
<div class="center"><img src="_intelli_raster_image_8cpp__incl.png" border="0" usemap="#intelliphoto_2src_2_image_2_intelli_raster_image_8cpp" alt=""/></div>
</div>
</div>
<p><a href="_intelli_raster_image_8cpp_source.html">Go to the source code of this file.</a></p>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_8db5f55022e7670536cbc9a6a1d6f01c.html">intelliphoto</a></li><li class="navelem"><a class="el" href="dir_83a4347d11f2ba6343d546ab133722d2.html">src</a></li><li class="navelem"><a class="el" href="dir_544f9dcb748f922e4bb3be2540380bf2.html">Image</a></li><li class="navelem"><a class="el" href="_intelli_raster_image_8cpp.html">IntelliRasterImage.cpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.16 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,29 @@
digraph "intelliphoto/src/Image/IntelliRasterImage.cpp"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="intelliphoto/src/Image\l/IntelliRasterImage.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="Image/IntelliRasterImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_raster_image_8h.html",tooltip=" "];
Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node3 [label="Image/IntelliImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_image_8h.html",tooltip=" "];
Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node4 [label="QImage",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node3 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node5 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node3 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node6 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node3 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node7 [label="QSize",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node3 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node8 [label="QWidget",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node3 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node9 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node1 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node10 [label="QPainter",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node1 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node11 [label="QRect",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node1 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node12 [label="QDebug",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
}

View File

@@ -0,0 +1,159 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IntelliPhoto: intelliphoto/src/Image/IntelliRasterImage.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">IntelliPhoto
&#160;<span id="projectnumber">0.5</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_intelli_raster_image_8cpp_source.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">IntelliRasterImage.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="_intelli_raster_image_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_intelli_raster_image_8h.html">Image/IntelliRasterImage.h</a>&quot;</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#include &lt;QPainter&gt;</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="preprocessor">#include &lt;QRect&gt;</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#include &lt;QDebug&gt;</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160; </div>
<div class="line"><a name="l00006"></a><span class="lineno"><a class="line" href="class_intelli_raster_image.html#aad9b561fe499a4da3c6ef98971aa3468"> 6</a></span>&#160;<a class="code" href="class_intelli_raster_image.html#aad9b561fe499a4da3c6ef98971aa3468">IntelliRasterImage::IntelliRasterImage</a>(<span class="keywordtype">int</span> weight, <span class="keywordtype">int</span> height)</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160; : <a class="code" href="class_intelli_image.html">IntelliImage</a>(weight, height){</div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160; </div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;}</div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160; </div>
<div class="line"><a name="l00011"></a><span class="lineno"><a class="line" href="class_intelli_raster_image.html#a844a2b58c43f7e01f2ca116286371bc8"> 11</a></span>&#160;<a class="code" href="class_intelli_raster_image.html#a844a2b58c43f7e01f2ca116286371bc8">IntelliRasterImage::~IntelliRasterImage</a>(){</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160; </div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;}</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; </div>
<div class="line"><a name="l00015"></a><span class="lineno"><a class="line" href="class_intelli_raster_image.html#a8f901301b106504de3c27308ade897dc"> 15</a></span>&#160;<a class="code" href="class_intelli_image.html">IntelliImage</a>* <a class="code" href="class_intelli_raster_image.html#a8f901301b106504de3c27308ade897dc">IntelliRasterImage::getDeepCopy</a>(){</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; <a class="code" href="class_intelli_raster_image.html">IntelliRasterImage</a>* raster = <span class="keyword">new</span> <a class="code" href="class_intelli_raster_image.html#aad9b561fe499a4da3c6ef98971aa3468">IntelliRasterImage</a>(<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.width(), <a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.height());</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; raster-&gt;<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.fill(Qt::transparent);</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; <span class="keywordflow">return</span> raster;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;}</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; </div>
<div class="line"><a name="l00021"></a><span class="lineno"><a class="line" href="class_intelli_raster_image.html#a87cf2d360c129d64a5db0db85818eb60"> 21</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_intelli_raster_image.html#a87cf2d360c129d64a5db0db85818eb60">IntelliRasterImage::calculateVisiblity</a>(){</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; <span class="comment">// not used in raster image</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;}</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; </div>
<div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="class_intelli_raster_image.html#a612d79124f0e2c158a4f0abbe4b5f97f"> 25</a></span>&#160;QImage <a class="code" href="class_intelli_raster_image.html#ae43393397b0141a8033fe34d3a1b1884">IntelliRasterImage::getDisplayable</a>(<span class="keywordtype">int</span> alpha){</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <span class="keywordflow">return</span> <a class="code" href="class_intelli_raster_image.html#ae43393397b0141a8033fe34d3a1b1884">getDisplayable</a>(<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.size(), alpha);</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;}</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; </div>
<div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="class_intelli_raster_image.html#ae43393397b0141a8033fe34d3a1b1884"> 29</a></span>&#160;QImage <a class="code" href="class_intelli_raster_image.html#ae43393397b0141a8033fe34d3a1b1884">IntelliRasterImage::getDisplayable</a>(<span class="keyword">const</span> QSize&amp; displaySize, <span class="keywordtype">int</span> alpha){</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; QImage copy = <a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> y = 0; y&lt;copy.height(); y++) {</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> x = 0; x&lt;copy.width(); x++) {</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; QColor clr = copy.pixelColor(x,y);</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; clr.setAlpha(std::min(alpha, clr.alpha()));</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; copy.setPixelColor(x,y, clr);</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; }</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; }</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keywordflow">return</span> copy.scaled(displaySize,Qt::IgnoreAspectRatio);</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;}</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; </div>
<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="class_intelli_raster_image.html#a6462fa5f94c5e64e9e1f0c4658e0507b"> 41</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_intelli_raster_image.html#a6462fa5f94c5e64e9e1f0c4658e0507b">IntelliRasterImage::setPolygon</a>(<span class="keyword">const</span> std::vector&lt;QPoint&gt;&amp; polygonData){</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; qDebug() &lt;&lt; <span class="stringliteral">&quot;Raster Image has no polygon data &quot;</span> &lt;&lt; polygonData.size() &lt;&lt;<span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;}</div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclass_intelli_raster_image_html_a844a2b58c43f7e01f2ca116286371bc8"><div class="ttname"><a href="class_intelli_raster_image.html#a844a2b58c43f7e01f2ca116286371bc8">IntelliRasterImage::~IntelliRasterImage</a></div><div class="ttdeci">virtual ~IntelliRasterImage() override</div><div class="ttdoc">An Destructor.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_raster_image_8cpp_source.html#l00011">IntelliRasterImage.cpp:11</a></div></div>
<div class="ttc" id="a_intelli_raster_image_8h_html"><div class="ttname"><a href="_intelli_raster_image_8h.html">IntelliRasterImage.h</a></div></div>
<div class="ttc" id="aclass_intelli_raster_image_html_ae43393397b0141a8033fe34d3a1b1884"><div class="ttname"><a href="class_intelli_raster_image.html#ae43393397b0141a8033fe34d3a1b1884">IntelliRasterImage::getDisplayable</a></div><div class="ttdeci">virtual QImage getDisplayable(const QSize &amp;displaySize, int alpha) override</div><div class="ttdoc">A function returning the displayable ImageData in a requested transparence and size.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_raster_image_8cpp_source.html#l00029">IntelliRasterImage.cpp:29</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_a2431be82e9e85dd34b62a7f7cba053c2"><div class="ttname"><a href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">IntelliImage::imageData</a></div><div class="ttdeci">QImage imageData</div><div class="ttdoc">The underlying image data.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8h_source.html#l00032">IntelliImage.h:32</a></div></div>
<div class="ttc" id="aclass_intelli_image_html"><div class="ttname"><a href="class_intelli_image.html">IntelliImage</a></div><div class="ttdoc">An abstract class which manages the basic IntelliImage operations.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8h_source.html#l00024">IntelliImage.h:24</a></div></div>
<div class="ttc" id="aclass_intelli_raster_image_html_a8f901301b106504de3c27308ade897dc"><div class="ttname"><a href="class_intelli_raster_image.html#a8f901301b106504de3c27308ade897dc">IntelliRasterImage::getDeepCopy</a></div><div class="ttdeci">virtual IntelliImage * getDeepCopy() override</div><div class="ttdoc">A function that copys all that returns a [allocated] Image.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_raster_image_8cpp_source.html#l00015">IntelliRasterImage.cpp:15</a></div></div>
<div class="ttc" id="aclass_intelli_raster_image_html_a87cf2d360c129d64a5db0db85818eb60"><div class="ttname"><a href="class_intelli_raster_image.html#a87cf2d360c129d64a5db0db85818eb60">IntelliRasterImage::calculateVisiblity</a></div><div class="ttdeci">virtual void calculateVisiblity() override</div><div class="ttdoc">A function that calculates the visibility of the image if a polygon is given. [does nothing in Raster...</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_raster_image_8cpp_source.html#l00021">IntelliRasterImage.cpp:21</a></div></div>
<div class="ttc" id="aclass_intelli_raster_image_html_a6462fa5f94c5e64e9e1f0c4658e0507b"><div class="ttname"><a href="class_intelli_raster_image.html#a6462fa5f94c5e64e9e1f0c4658e0507b">IntelliRasterImage::setPolygon</a></div><div class="ttdeci">virtual void setPolygon(const std::vector&lt; QPoint &gt; &amp;polygonData) override</div><div class="ttdoc">An abstract function that sets the data of the visible Polygon, if needed.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_raster_image_8cpp_source.html#l00041">IntelliRasterImage.cpp:41</a></div></div>
<div class="ttc" id="aclass_intelli_raster_image_html_aad9b561fe499a4da3c6ef98971aa3468"><div class="ttname"><a href="class_intelli_raster_image.html#aad9b561fe499a4da3c6ef98971aa3468">IntelliRasterImage::IntelliRasterImage</a></div><div class="ttdeci">IntelliRasterImage(int weight, int height)</div><div class="ttdoc">The Construcor of the IntelliRasterImage. Given the Image dimensions.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_raster_image_8cpp_source.html#l00006">IntelliRasterImage.cpp:6</a></div></div>
<div class="ttc" id="aclass_intelli_raster_image_html"><div class="ttname"><a href="class_intelli_raster_image.html">IntelliRasterImage</a></div><div class="ttdoc">The IntelliRasterImage manages a Rasterimage.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_raster_image_8h_source.html#l00009">IntelliRasterImage.h:9</a></div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_8db5f55022e7670536cbc9a6a1d6f01c.html">intelliphoto</a></li><li class="navelem"><a class="el" href="dir_83a4347d11f2ba6343d546ab133722d2.html">src</a></li><li class="navelem"><a class="el" href="dir_544f9dcb748f922e4bb3be2540380bf2.html">Image</a></li><li class="navelem"><a class="el" href="_intelli_raster_image_8cpp.html">IntelliRasterImage.cpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.16 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,127 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IntelliPhoto: intelliphoto/src/Image/IntelliRasterImage.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">IntelliPhoto
&#160;<span id="projectnumber">0.5</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_intelli_raster_image_8h.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> </div>
<div class="headertitle">
<div class="title">IntelliRasterImage.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="_intelli_image_8h_source.html">Image/IntelliImage.h</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for IntelliRasterImage.h:</div>
<div class="dyncontent">
<div class="center"><img src="_intelli_raster_image_8h__incl.png" border="0" usemap="#intelliphoto_2src_2_image_2_intelli_raster_image_8h" alt=""/></div>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="_intelli_raster_image_8h__dep__incl.png" border="0" usemap="#intelliphoto_2src_2_image_2_intelli_raster_image_8hdep" alt=""/></div>
</div>
</div>
<p><a href="_intelli_raster_image_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_intelli_raster_image.html">IntelliRasterImage</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <a class="el" href="class_intelli_raster_image.html" title="The IntelliRasterImage manages a Rasterimage.">IntelliRasterImage</a> manages a Rasterimage. <a href="class_intelli_raster_image.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_8db5f55022e7670536cbc9a6a1d6f01c.html">intelliphoto</a></li><li class="navelem"><a class="el" href="dir_83a4347d11f2ba6343d546ab133722d2.html">src</a></li><li class="navelem"><a class="el" href="dir_544f9dcb748f922e4bb3be2540380bf2.html">Image</a></li><li class="navelem"><a class="el" href="_intelli_raster_image_8h.html">IntelliRasterImage.h</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.16 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,38 @@
digraph "intelliphoto/src/Image/IntelliRasterImage.h"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="intelliphoto/src/Image\l/IntelliRasterImage.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="intelliphoto/src/Image\l/IntelliRasterImage.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_raster_image_8cpp.html",tooltip=" "];
Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node3 [label="intelliphoto/src/Image\l/IntelliShapedImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_shaped_image_8h.html",tooltip=" "];
Node3 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node4 [label="intelliphoto/src/Image\l/IntelliShapedImage.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_shaped_image_8cpp.html",tooltip=" "];
Node3 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node5 [label="intelliphoto/src/Layer\l/PaintingArea.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8h.html",tooltip=" "];
Node5 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node6 [label="intelliphoto/src/GUI\l/IntelliPhotoGui.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_photo_gui_8cpp.html",tooltip=" "];
Node5 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node7 [label="intelliphoto/src/Layer\l/PaintingArea.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8cpp.html",tooltip=" "];
Node5 -> Node8 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node8 [label="intelliphoto/src/Tool\l/IntelliTool.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_8cpp.html",tooltip=" "];
Node5 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node9 [label="intelliphoto/src/Tool\l/IntelliToolCircle.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_circle_8cpp.html",tooltip=" "];
Node5 -> Node10 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node10 [label="intelliphoto/src/Tool\l/IntelliToolFloodFill.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_flood_fill_8cpp.html",tooltip=" "];
Node5 -> Node11 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node11 [label="intelliphoto/src/Tool\l/IntelliToolLine.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_line_8cpp.html",tooltip=" "];
Node5 -> Node12 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node12 [label="intelliphoto/src/Tool\l/IntelliToolPen.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_pen_8cpp.html",tooltip=" "];
Node5 -> Node13 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node13 [label="intelliphoto/src/Tool\l/IntelliToolPlain.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_plain_8cpp.html",tooltip=" "];
Node5 -> Node14 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node14 [label="intelliphoto/src/Tool\l/IntelliToolPolygon.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_polygon_8cpp.html",tooltip=" "];
Node5 -> Node15 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node15 [label="intelliphoto/src/Tool\l/IntelliToolRectangle.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_rectangle_8cpp.html",tooltip=" "];
Node3 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
}

View File

@@ -0,0 +1,21 @@
digraph "intelliphoto/src/Image/IntelliRasterImage.h"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="intelliphoto/src/Image\l/IntelliRasterImage.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="Image/IntelliImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_image_8h.html",tooltip=" "];
Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node3 [label="QImage",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node2 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node4 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node2 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node5 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node2 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node6 [label="QSize",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node2 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node7 [label="QWidget",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node2 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node8 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
}

View File

@@ -0,0 +1,139 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IntelliPhoto: intelliphoto/src/Image/IntelliRasterImage.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">IntelliPhoto
&#160;<span id="projectnumber">0.5</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_intelli_raster_image_8h_source.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">IntelliRasterImage.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="_intelli_raster_image_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#ifndef INTELLIRASTER_H</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#define INTELLIRASTER_H</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160; </div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_intelli_image_8h.html">Image/IntelliImage.h</a>&quot;</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160; </div>
<div class="line"><a name="l00009"></a><span class="lineno"><a class="line" href="class_intelli_raster_image.html"> 9</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_intelli_raster_image.html">IntelliRasterImage</a> : <span class="keyword">public</span> <a class="code" href="class_intelli_image.html">IntelliImage</a> {</div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="keyword">friend</span> <a class="code" href="class_intelli_tool.html">IntelliTool</a>;</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_intelli_raster_image.html#a87cf2d360c129d64a5db0db85818eb60">calculateVisiblity</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<a class="code" href="class_intelli_raster_image.html#aad9b561fe499a4da3c6ef98971aa3468">IntelliRasterImage</a>(<span class="keywordtype">int</span> weight, <span class="keywordtype">int</span> height);</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; </div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="keyword">virtual</span> <a class="code" href="class_intelli_raster_image.html#a844a2b58c43f7e01f2ca116286371bc8">~IntelliRasterImage</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; </div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="keyword">virtual</span> QImage <a class="code" href="class_intelli_raster_image.html#ae43393397b0141a8033fe34d3a1b1884">getDisplayable</a>(<span class="keyword">const</span> QSize&amp; displaySize,<span class="keywordtype">int</span> alpha) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; </div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="keyword">virtual</span> QImage <a class="code" href="class_intelli_raster_image.html#ae43393397b0141a8033fe34d3a1b1884">getDisplayable</a>(<span class="keywordtype">int</span> alpha=255) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; </div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="keyword">virtual</span> <a class="code" href="class_intelli_image.html">IntelliImage</a>* <a class="code" href="class_intelli_raster_image.html#a8f901301b106504de3c27308ade897dc">getDeepCopy</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; </div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_intelli_raster_image.html#a6462fa5f94c5e64e9e1f0c4658e0507b">setPolygon</a>(<span class="keyword">const</span> std::vector&lt;QPoint&gt;&amp; polygonData) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;};</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; </div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="a_intelli_image_8h_html"><div class="ttname"><a href="_intelli_image_8h.html">IntelliImage.h</a></div></div>
<div class="ttc" id="aclass_intelli_raster_image_html_a844a2b58c43f7e01f2ca116286371bc8"><div class="ttname"><a href="class_intelli_raster_image.html#a844a2b58c43f7e01f2ca116286371bc8">IntelliRasterImage::~IntelliRasterImage</a></div><div class="ttdeci">virtual ~IntelliRasterImage() override</div><div class="ttdoc">An Destructor.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_raster_image_8cpp_source.html#l00011">IntelliRasterImage.cpp:11</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html"><div class="ttname"><a href="class_intelli_tool.html">IntelliTool</a></div><div class="ttdoc">An abstract class that manages the basic events, like mouse clicks or scrolls events.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8h_source.html#l00013">IntelliTool.h:13</a></div></div>
<div class="ttc" id="aclass_intelli_raster_image_html_ae43393397b0141a8033fe34d3a1b1884"><div class="ttname"><a href="class_intelli_raster_image.html#ae43393397b0141a8033fe34d3a1b1884">IntelliRasterImage::getDisplayable</a></div><div class="ttdeci">virtual QImage getDisplayable(const QSize &amp;displaySize, int alpha) override</div><div class="ttdoc">A function returning the displayable ImageData in a requested transparence and size.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_raster_image_8cpp_source.html#l00029">IntelliRasterImage.cpp:29</a></div></div>
<div class="ttc" id="aclass_intelli_image_html"><div class="ttname"><a href="class_intelli_image.html">IntelliImage</a></div><div class="ttdoc">An abstract class which manages the basic IntelliImage operations.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8h_source.html#l00024">IntelliImage.h:24</a></div></div>
<div class="ttc" id="aclass_intelli_raster_image_html_a8f901301b106504de3c27308ade897dc"><div class="ttname"><a href="class_intelli_raster_image.html#a8f901301b106504de3c27308ade897dc">IntelliRasterImage::getDeepCopy</a></div><div class="ttdeci">virtual IntelliImage * getDeepCopy() override</div><div class="ttdoc">A function that copys all that returns a [allocated] Image.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_raster_image_8cpp_source.html#l00015">IntelliRasterImage.cpp:15</a></div></div>
<div class="ttc" id="aclass_intelli_raster_image_html_a87cf2d360c129d64a5db0db85818eb60"><div class="ttname"><a href="class_intelli_raster_image.html#a87cf2d360c129d64a5db0db85818eb60">IntelliRasterImage::calculateVisiblity</a></div><div class="ttdeci">virtual void calculateVisiblity() override</div><div class="ttdoc">A function that calculates the visibility of the image if a polygon is given. [does nothing in Raster...</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_raster_image_8cpp_source.html#l00021">IntelliRasterImage.cpp:21</a></div></div>
<div class="ttc" id="aclass_intelli_raster_image_html_a6462fa5f94c5e64e9e1f0c4658e0507b"><div class="ttname"><a href="class_intelli_raster_image.html#a6462fa5f94c5e64e9e1f0c4658e0507b">IntelliRasterImage::setPolygon</a></div><div class="ttdeci">virtual void setPolygon(const std::vector&lt; QPoint &gt; &amp;polygonData) override</div><div class="ttdoc">An abstract function that sets the data of the visible Polygon, if needed.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_raster_image_8cpp_source.html#l00041">IntelliRasterImage.cpp:41</a></div></div>
<div class="ttc" id="aclass_intelli_raster_image_html_aad9b561fe499a4da3c6ef98971aa3468"><div class="ttname"><a href="class_intelli_raster_image.html#aad9b561fe499a4da3c6ef98971aa3468">IntelliRasterImage::IntelliRasterImage</a></div><div class="ttdeci">IntelliRasterImage(int weight, int height)</div><div class="ttdoc">The Construcor of the IntelliRasterImage. Given the Image dimensions.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_raster_image_8cpp_source.html#l00006">IntelliRasterImage.cpp:6</a></div></div>
<div class="ttc" id="aclass_intelli_raster_image_html"><div class="ttname"><a href="class_intelli_raster_image.html">IntelliRasterImage</a></div><div class="ttdoc">The IntelliRasterImage manages a Rasterimage.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_raster_image_8h_source.html#l00009">IntelliRasterImage.h:9</a></div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_8db5f55022e7670536cbc9a6a1d6f01c.html">intelliphoto</a></li><li class="navelem"><a class="el" href="dir_83a4347d11f2ba6343d546ab133722d2.html">src</a></li><li class="navelem"><a class="el" href="dir_544f9dcb748f922e4bb3be2540380bf2.html">Image</a></li><li class="navelem"><a class="el" href="_intelli_raster_image_8h.html">IntelliRasterImage.h</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.16 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,117 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IntelliPhoto: intelliphoto/src/Image/IntelliShapedImage.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">IntelliPhoto
&#160;<span id="projectnumber">0.5</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_intelli_shaped_image_8cpp.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">IntelliShapedImage.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="_intelli_shaped_image_8h_source.html">Image/IntelliShapedImage.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="_intelli_helper_8h_source.html">IntelliHelper/IntelliHelper.h</a>&quot;</code><br />
<code>#include &lt;QPainter&gt;</code><br />
<code>#include &lt;QRect&gt;</code><br />
<code>#include &lt;QDebug&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for IntelliShapedImage.cpp:</div>
<div class="dyncontent">
<div class="center"><img src="_intelli_shaped_image_8cpp__incl.png" border="0" usemap="#intelliphoto_2src_2_image_2_intelli_shaped_image_8cpp" alt=""/></div>
</div>
</div>
<p><a href="_intelli_shaped_image_8cpp_source.html">Go to the source code of this file.</a></p>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_8db5f55022e7670536cbc9a6a1d6f01c.html">intelliphoto</a></li><li class="navelem"><a class="el" href="dir_83a4347d11f2ba6343d546ab133722d2.html">src</a></li><li class="navelem"><a class="el" href="dir_544f9dcb748f922e4bb3be2540380bf2.html">Image</a></li><li class="navelem"><a class="el" href="_intelli_shaped_image_8cpp.html">IntelliShapedImage.cpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.16 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,37 @@
digraph "intelliphoto/src/Image/IntelliShapedImage.cpp"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="intelliphoto/src/Image\l/IntelliShapedImage.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="Image/IntelliShapedImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_shaped_image_8h.html",tooltip=" "];
Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node3 [label="Image/IntelliRasterImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_raster_image_8h.html",tooltip=" "];
Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node4 [label="Image/IntelliImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_image_8h.html",tooltip=" "];
Node4 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node5 [label="QImage",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node4 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node6 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node4 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node7 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node4 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node8 [label="QSize",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node4 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node9 [label="QWidget",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node4 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node10 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node2 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node11 [label="IntelliHelper/IntelliHelper.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_helper_8h.html",tooltip=" "];
Node11 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node11 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node12 [label="QPainter",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node1 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node13 [label="QRect",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node1 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node14 [label="QDebug",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
}

View File

@@ -0,0 +1,197 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IntelliPhoto: intelliphoto/src/Image/IntelliShapedImage.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">IntelliPhoto
&#160;<span id="projectnumber">0.5</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_intelli_shaped_image_8cpp_source.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">IntelliShapedImage.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="_intelli_shaped_image_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_intelli_shaped_image_8h.html">Image/IntelliShapedImage.h</a>&quot;</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_intelli_helper_8h.html">IntelliHelper/IntelliHelper.h</a>&quot;</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="preprocessor">#include &lt;QPainter&gt;</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#include &lt;QRect&gt;</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="preprocessor">#include &lt;QDebug&gt;</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160; </div>
<div class="line"><a name="l00007"></a><span class="lineno"><a class="line" href="class_intelli_shaped_image.html#a0f834c3f255baeb50c98ef335a6d0ea9"> 7</a></span>&#160;<a class="code" href="class_intelli_shaped_image.html#a0f834c3f255baeb50c98ef335a6d0ea9">IntelliShapedImage::IntelliShapedImage</a>(<span class="keywordtype">int</span> weight, <span class="keywordtype">int</span> height)</div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160; : <a class="code" href="class_intelli_raster_image.html">IntelliRasterImage</a>(weight, height){</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;}</div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160; </div>
<div class="line"><a name="l00011"></a><span class="lineno"><a class="line" href="class_intelli_shaped_image.html#a43d63d8a814852d377ee2030658fbab9"> 11</a></span>&#160;<a class="code" href="class_intelli_shaped_image.html#a43d63d8a814852d377ee2030658fbab9">IntelliShapedImage::~IntelliShapedImage</a>(){</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160; </div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;}</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; </div>
<div class="line"><a name="l00015"></a><span class="lineno"><a class="line" href="class_intelli_shaped_image.html#ac6a99e1a96134073bceea252b37636cc"> 15</a></span>&#160;QImage <a class="code" href="class_intelli_shaped_image.html#a68cf374247c16f07fd84d50e4cd05630">IntelliShapedImage::getDisplayable</a>(<span class="keywordtype">int</span> alpha){</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; <span class="keywordflow">return</span> <a class="code" href="class_intelli_shaped_image.html#a68cf374247c16f07fd84d50e4cd05630">getDisplayable</a>(<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.size(),alpha);</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;}</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; </div>
<div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="class_intelli_shaped_image.html#aed0b31e0fa771104399d1f5ff39a0337"> 19</a></span>&#160;<a class="code" href="class_intelli_image.html">IntelliImage</a>* <a class="code" href="class_intelli_shaped_image.html#aed0b31e0fa771104399d1f5ff39a0337">IntelliShapedImage::getDeepCopy</a>(){</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; <a class="code" href="class_intelli_shaped_image.html">IntelliShapedImage</a>* shaped = <span class="keyword">new</span> <a class="code" href="class_intelli_shaped_image.html#a0f834c3f255baeb50c98ef335a6d0ea9">IntelliShapedImage</a>(<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.width(), <a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.height());</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; shaped-&gt;<a class="code" href="class_intelli_shaped_image.html#a4b69d75de7a3b85032482982f249458e">setPolygon</a>(this-&gt;<a class="code" href="class_intelli_shaped_image.html#a727d19ce314c0874be6b0633a3a603c8">polygonData</a>);</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; shaped-&gt;<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.fill(Qt::transparent);</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; <span class="keywordflow">return</span> shaped;</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;}</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; </div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="keywordtype">void</span> IntelliShapedImage::calculateVisiblity(){</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="class_intelli_shaped_image.html#a727d19ce314c0874be6b0633a3a603c8">polygonData</a>.size()&lt;=2) {</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; QColor clr;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> y=0; y&lt;<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.height(); y++) {</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> x=0; x&lt;<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.width(); x++) {</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; clr = <a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.pixel(x,y);</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; clr.setAlpha(255);</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.setPixelColor(x,y,clr);</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; }</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; }</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; }</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; QColor clr;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> y=0; y&lt;<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.height(); y++) {</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> x=0; x&lt;<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.width(); x++) {</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; QPoint ptr(x,y);</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; clr = <a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.pixelColor(x,y);</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespace_intelli_helper.html#a44d516b3e619e2a743e9c98dd75cf901">isInPolygon</a> = <a class="code" href="namespace_intelli_helper.html#a44d516b3e619e2a743e9c98dd75cf901">IntelliHelper::isInPolygon</a>(triangles, ptr);</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="namespace_intelli_helper.html#a44d516b3e619e2a743e9c98dd75cf901">isInPolygon</a>) {</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; clr.setAlpha(std::min(255, clr.alpha()));</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; }<span class="keywordflow">else</span>{</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; clr.setAlpha(0);</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; }</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.setPixelColor(x,y,clr);</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; }</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; }</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;}</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; </div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="class_intelli_shaped_image.html#a68cf374247c16f07fd84d50e4cd05630"> 54</a></span>&#160;QImage <a class="code" href="class_intelli_shaped_image.html#a68cf374247c16f07fd84d50e4cd05630">IntelliShapedImage::getDisplayable</a>(<span class="keyword">const</span> QSize&amp; displaySize, <span class="keywordtype">int</span> alpha){</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; QImage copy = <a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> y = 0; y&lt;copy.height(); y++) {</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> x = 0; x&lt;copy.width(); x++) {</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; QColor clr = copy.pixelColor(x,y);</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; clr.setAlpha(std::min(alpha,clr.alpha()));</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; copy.setPixelColor(x,y, clr);</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; }</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; }</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordflow">return</span> copy.scaled(displaySize,Qt::IgnoreAspectRatio);</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;}</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; </div>
<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="class_intelli_shaped_image.html#a4b69d75de7a3b85032482982f249458e"> 66</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_intelli_shaped_image.html#a4b69d75de7a3b85032482982f249458e">IntelliShapedImage::setPolygon</a>(<span class="keyword">const</span> std::vector&lt;QPoint&gt;&amp; polygonData){</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="class_intelli_shaped_image.html#a727d19ce314c0874be6b0633a3a603c8">polygonData</a>.size()&lt;3) {</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; this-&gt;polygonData.clear();</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; }<span class="keywordflow">else</span>{</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; this-&gt;polygonData.clear();</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> element:<a class="code" href="class_intelli_shaped_image.html#a727d19ce314c0874be6b0633a3a603c8">polygonData</a>) {</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; this-&gt;polygonData.push_back(QPoint(element.x(), element.y()));</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; }</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; triangles = <a class="code" href="namespace_intelli_helper.html#a214dc3624ba4562a03dc922e3dd7b617">IntelliHelper::calculateTriangles</a>(<a class="code" href="class_intelli_shaped_image.html#a727d19ce314c0874be6b0633a3a603c8">polygonData</a>);</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; }</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; calculateVisiblity();</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;}</div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclass_intelli_shaped_image_html_a68cf374247c16f07fd84d50e4cd05630"><div class="ttname"><a href="class_intelli_shaped_image.html#a68cf374247c16f07fd84d50e4cd05630">IntelliShapedImage::getDisplayable</a></div><div class="ttdeci">virtual QImage getDisplayable(const QSize &amp;displaySize, int alpha=255) override</div><div class="ttdoc">A function returning the displayable ImageData in a requested transparence and size.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_shaped_image_8cpp_source.html#l00054">IntelliShapedImage.cpp:54</a></div></div>
<div class="ttc" id="a_intelli_shaped_image_8h_html"><div class="ttname"><a href="_intelli_shaped_image_8h.html">IntelliShapedImage.h</a></div></div>
<div class="ttc" id="a_intelli_helper_8h_html"><div class="ttname"><a href="_intelli_helper_8h.html">IntelliHelper.h</a></div></div>
<div class="ttc" id="aclass_intelli_shaped_image_html"><div class="ttname"><a href="class_intelli_shaped_image.html">IntelliShapedImage</a></div><div class="ttdoc">The IntelliShapedImage manages a Shapedimage.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_shaped_image_8h_source.html#l00011">IntelliShapedImage.h:11</a></div></div>
<div class="ttc" id="aclass_intelli_shaped_image_html_aed0b31e0fa771104399d1f5ff39a0337"><div class="ttname"><a href="class_intelli_shaped_image.html#aed0b31e0fa771104399d1f5ff39a0337">IntelliShapedImage::getDeepCopy</a></div><div class="ttdeci">virtual IntelliImage * getDeepCopy() override</div><div class="ttdoc">A function that copys all that returns a [allocated] Image.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_shaped_image_8cpp_source.html#l00019">IntelliShapedImage.cpp:19</a></div></div>
<div class="ttc" id="anamespace_intelli_helper_html_a44d516b3e619e2a743e9c98dd75cf901"><div class="ttname"><a href="namespace_intelli_helper.html#a44d516b3e619e2a743e9c98dd75cf901">IntelliHelper::isInPolygon</a></div><div class="ttdeci">bool isInPolygon(std::vector&lt; Triangle &gt; &amp;triangles, QPoint &amp;point)</div><div class="ttdoc">A function to check if a point lies in a polygon by checking its spanning triangles.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_helper_8cpp_source.html#l00116">IntelliHelper.cpp:116</a></div></div>
<div class="ttc" id="anamespace_intelli_helper_html_a214dc3624ba4562a03dc922e3dd7b617"><div class="ttname"><a href="namespace_intelli_helper.html#a214dc3624ba4562a03dc922e3dd7b617">IntelliHelper::calculateTriangles</a></div><div class="ttdeci">std::vector&lt; Triangle &gt; calculateTriangles(std::vector&lt; QPoint &gt; polyPoints)</div><div class="ttdoc">A function to split a polygon in its spanning traingles by using Meisters Theorem of graph theory by ...</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_helper_8cpp_source.html#l00007">IntelliHelper.cpp:7</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_a2431be82e9e85dd34b62a7f7cba053c2"><div class="ttname"><a href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">IntelliImage::imageData</a></div><div class="ttdeci">QImage imageData</div><div class="ttdoc">The underlying image data.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8h_source.html#l00032">IntelliImage.h:32</a></div></div>
<div class="ttc" id="aclass_intelli_image_html"><div class="ttname"><a href="class_intelli_image.html">IntelliImage</a></div><div class="ttdoc">An abstract class which manages the basic IntelliImage operations.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8h_source.html#l00024">IntelliImage.h:24</a></div></div>
<div class="ttc" id="aclass_intelli_shaped_image_html_a727d19ce314c0874be6b0633a3a603c8"><div class="ttname"><a href="class_intelli_shaped_image.html#a727d19ce314c0874be6b0633a3a603c8">IntelliShapedImage::polygonData</a></div><div class="ttdeci">std::vector&lt; QPoint &gt; polygonData</div><div class="ttdoc">The Vertices of The Polygon. Needs to be a planar Polygon.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_shaped_image_8h_source.html#l00028">IntelliShapedImage.h:28</a></div></div>
<div class="ttc" id="aclass_intelli_shaped_image_html_a0f834c3f255baeb50c98ef335a6d0ea9"><div class="ttname"><a href="class_intelli_shaped_image.html#a0f834c3f255baeb50c98ef335a6d0ea9">IntelliShapedImage::IntelliShapedImage</a></div><div class="ttdeci">IntelliShapedImage(int weight, int height)</div><div class="ttdoc">The Construcor of the IntelliShapedImage. Given the Image dimensions.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_shaped_image_8cpp_source.html#l00007">IntelliShapedImage.cpp:7</a></div></div>
<div class="ttc" id="aclass_intelli_shaped_image_html_a43d63d8a814852d377ee2030658fbab9"><div class="ttname"><a href="class_intelli_shaped_image.html#a43d63d8a814852d377ee2030658fbab9">IntelliShapedImage::~IntelliShapedImage</a></div><div class="ttdeci">virtual ~IntelliShapedImage() override</div><div class="ttdoc">An Destructor.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_shaped_image_8cpp_source.html#l00011">IntelliShapedImage.cpp:11</a></div></div>
<div class="ttc" id="aclass_intelli_raster_image_html"><div class="ttname"><a href="class_intelli_raster_image.html">IntelliRasterImage</a></div><div class="ttdoc">The IntelliRasterImage manages a Rasterimage.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_raster_image_8h_source.html#l00009">IntelliRasterImage.h:9</a></div></div>
<div class="ttc" id="aclass_intelli_shaped_image_html_a4b69d75de7a3b85032482982f249458e"><div class="ttname"><a href="class_intelli_shaped_image.html#a4b69d75de7a3b85032482982f249458e">IntelliShapedImage::setPolygon</a></div><div class="ttdeci">virtual void setPolygon(const std::vector&lt; QPoint &gt; &amp;polygonData) override</div><div class="ttdoc">A function that sets the data of the visible Polygon.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_shaped_image_8cpp_source.html#l00066">IntelliShapedImage.cpp:66</a></div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_8db5f55022e7670536cbc9a6a1d6f01c.html">intelliphoto</a></li><li class="navelem"><a class="el" href="dir_83a4347d11f2ba6343d546ab133722d2.html">src</a></li><li class="navelem"><a class="el" href="dir_544f9dcb748f922e4bb3be2540380bf2.html">Image</a></li><li class="navelem"><a class="el" href="_intelli_shaped_image_8cpp.html">IntelliShapedImage.cpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.16 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,129 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IntelliPhoto: intelliphoto/src/Image/IntelliShapedImage.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">IntelliPhoto
&#160;<span id="projectnumber">0.5</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_intelli_shaped_image_8h.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> </div>
<div class="headertitle">
<div class="title">IntelliShapedImage.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="_intelli_raster_image_8h_source.html">Image/IntelliRasterImage.h</a>&quot;</code><br />
<code>#include &lt;vector&gt;</code><br />
<code>#include &quot;<a class="el" href="_intelli_helper_8h_source.html">IntelliHelper/IntelliHelper.h</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for IntelliShapedImage.h:</div>
<div class="dyncontent">
<div class="center"><img src="_intelli_shaped_image_8h__incl.png" border="0" usemap="#intelliphoto_2src_2_image_2_intelli_shaped_image_8h" alt=""/></div>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="_intelli_shaped_image_8h__dep__incl.png" border="0" usemap="#intelliphoto_2src_2_image_2_intelli_shaped_image_8hdep" alt=""/></div>
</div>
</div>
<p><a href="_intelli_shaped_image_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_intelli_shaped_image.html">IntelliShapedImage</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <a class="el" href="class_intelli_shaped_image.html" title="The IntelliShapedImage manages a Shapedimage.">IntelliShapedImage</a> manages a Shapedimage. <a href="class_intelli_shaped_image.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_8db5f55022e7670536cbc9a6a1d6f01c.html">intelliphoto</a></li><li class="navelem"><a class="el" href="dir_83a4347d11f2ba6343d546ab133722d2.html">src</a></li><li class="navelem"><a class="el" href="dir_544f9dcb748f922e4bb3be2540380bf2.html">Image</a></li><li class="navelem"><a class="el" href="_intelli_shaped_image_8h.html">IntelliShapedImage.h</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.16 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,32 @@
digraph "intelliphoto/src/Image/IntelliShapedImage.h"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="intelliphoto/src/Image\l/IntelliShapedImage.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="intelliphoto/src/Image\l/IntelliShapedImage.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_shaped_image_8cpp.html",tooltip=" "];
Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node3 [label="intelliphoto/src/Layer\l/PaintingArea.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8h.html",tooltip=" "];
Node3 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node4 [label="intelliphoto/src/GUI\l/IntelliPhotoGui.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_photo_gui_8cpp.html",tooltip=" "];
Node3 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node5 [label="intelliphoto/src/Layer\l/PaintingArea.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8cpp.html",tooltip=" "];
Node3 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node6 [label="intelliphoto/src/Tool\l/IntelliTool.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_8cpp.html",tooltip=" "];
Node3 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node7 [label="intelliphoto/src/Tool\l/IntelliToolCircle.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_circle_8cpp.html",tooltip=" "];
Node3 -> Node8 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node8 [label="intelliphoto/src/Tool\l/IntelliToolFloodFill.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_flood_fill_8cpp.html",tooltip=" "];
Node3 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node9 [label="intelliphoto/src/Tool\l/IntelliToolLine.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_line_8cpp.html",tooltip=" "];
Node3 -> Node10 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node10 [label="intelliphoto/src/Tool\l/IntelliToolPen.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_pen_8cpp.html",tooltip=" "];
Node3 -> Node11 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node11 [label="intelliphoto/src/Tool\l/IntelliToolPlain.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_plain_8cpp.html",tooltip=" "];
Node3 -> Node12 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node12 [label="intelliphoto/src/Tool\l/IntelliToolPolygon.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_polygon_8cpp.html",tooltip=" "];
Node3 -> Node13 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node13 [label="intelliphoto/src/Tool\l/IntelliToolRectangle.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_rectangle_8cpp.html",tooltip=" "];
Node1 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
}

View File

@@ -0,0 +1,28 @@
digraph "intelliphoto/src/Image/IntelliShapedImage.h"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="intelliphoto/src/Image\l/IntelliShapedImage.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="Image/IntelliRasterImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_raster_image_8h.html",tooltip=" "];
Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node3 [label="Image/IntelliImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_image_8h.html",tooltip=" "];
Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node4 [label="QImage",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node3 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node5 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node3 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node6 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node3 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node7 [label="QSize",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node3 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node8 [label="QWidget",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node3 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node9 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node1 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node10 [label="IntelliHelper/IntelliHelper.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_helper_8h.html",tooltip=" "];
Node10 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node10 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
}

View File

@@ -0,0 +1,153 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IntelliPhoto: intelliphoto/src/Image/IntelliShapedImage.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">IntelliPhoto
&#160;<span id="projectnumber">0.5</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_intelli_shaped_image_8h_source.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">IntelliShapedImage.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="_intelli_shaped_image_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#ifndef INTELLISHAPE_H</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#define INTELLISHAPE_H</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160; </div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_intelli_raster_image_8h.html">Image/IntelliRasterImage.h</a>&quot;</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_intelli_helper_8h.html">IntelliHelper/IntelliHelper.h</a>&quot;</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160; </div>
<div class="line"><a name="l00011"></a><span class="lineno"><a class="line" href="class_intelli_shaped_image.html"> 11</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_intelli_shaped_image.html">IntelliShapedImage</a> : <span class="keyword">public</span> <a class="code" href="class_intelli_raster_image.html">IntelliRasterImage</a> {</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="keyword">friend</span> <a class="code" href="class_intelli_tool.html">IntelliTool</a>;</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;std::vector&lt;Triangle&gt; triangles;</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; </div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="keyword">virtual</span> <span class="keywordtype">void</span> calculateVisiblity() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; </div>
<div class="line"><a name="l00028"></a><span class="lineno"><a class="line" href="class_intelli_shaped_image.html#a727d19ce314c0874be6b0633a3a603c8"> 28</a></span>&#160;std::vector&lt;QPoint&gt; <a class="code" href="class_intelli_shaped_image.html#a727d19ce314c0874be6b0633a3a603c8">polygonData</a>;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<a class="code" href="class_intelli_shaped_image.html#a0f834c3f255baeb50c98ef335a6d0ea9">IntelliShapedImage</a>(<span class="keywordtype">int</span> weight, <span class="keywordtype">int</span> height);</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; </div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="keyword">virtual</span> <a class="code" href="class_intelli_shaped_image.html#a43d63d8a814852d377ee2030658fbab9">~IntelliShapedImage</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; </div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="keyword">virtual</span> QImage <a class="code" href="class_intelli_shaped_image.html#a68cf374247c16f07fd84d50e4cd05630">getDisplayable</a>(<span class="keyword">const</span> QSize&amp; displaySize, <span class="keywordtype">int</span> alpha=255) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; </div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="keyword">virtual</span> QImage <a class="code" href="class_intelli_shaped_image.html#a68cf374247c16f07fd84d50e4cd05630">getDisplayable</a>(<span class="keywordtype">int</span> alpha=255) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; </div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="keyword">virtual</span> <a class="code" href="class_intelli_image.html">IntelliImage</a>* <a class="code" href="class_intelli_shaped_image.html#aed0b31e0fa771104399d1f5ff39a0337">getDeepCopy</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; </div>
<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="class_intelli_shaped_image.html#ae4518c7f5a105cc4f33fabb60c794a93"> 67</a></span>&#160;<span class="keyword">virtual</span> std::vector&lt;QPoint&gt; <a class="code" href="class_intelli_shaped_image.html#ae4518c7f5a105cc4f33fabb60c794a93">getPolygonData</a>()<span class="keyword"> override </span>{</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordflow">return</span> <a class="code" href="class_intelli_shaped_image.html#a727d19ce314c0874be6b0633a3a603c8">polygonData</a>;</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;}</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; </div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_intelli_shaped_image.html#a4b69d75de7a3b85032482982f249458e">setPolygon</a>(<span class="keyword">const</span> std::vector&lt;QPoint&gt;&amp; <a class="code" href="class_intelli_shaped_image.html#a727d19ce314c0874be6b0633a3a603c8">polygonData</a>) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;};</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; </div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclass_intelli_shaped_image_html_a68cf374247c16f07fd84d50e4cd05630"><div class="ttname"><a href="class_intelli_shaped_image.html#a68cf374247c16f07fd84d50e4cd05630">IntelliShapedImage::getDisplayable</a></div><div class="ttdeci">virtual QImage getDisplayable(const QSize &amp;displaySize, int alpha=255) override</div><div class="ttdoc">A function returning the displayable ImageData in a requested transparence and size.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_shaped_image_8cpp_source.html#l00054">IntelliShapedImage.cpp:54</a></div></div>
<div class="ttc" id="a_intelli_helper_8h_html"><div class="ttname"><a href="_intelli_helper_8h.html">IntelliHelper.h</a></div></div>
<div class="ttc" id="aclass_intelli_shaped_image_html"><div class="ttname"><a href="class_intelli_shaped_image.html">IntelliShapedImage</a></div><div class="ttdoc">The IntelliShapedImage manages a Shapedimage.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_shaped_image_8h_source.html#l00011">IntelliShapedImage.h:11</a></div></div>
<div class="ttc" id="aclass_intelli_shaped_image_html_aed0b31e0fa771104399d1f5ff39a0337"><div class="ttname"><a href="class_intelli_shaped_image.html#aed0b31e0fa771104399d1f5ff39a0337">IntelliShapedImage::getDeepCopy</a></div><div class="ttdeci">virtual IntelliImage * getDeepCopy() override</div><div class="ttdoc">A function that copys all that returns a [allocated] Image.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_shaped_image_8cpp_source.html#l00019">IntelliShapedImage.cpp:19</a></div></div>
<div class="ttc" id="a_intelli_raster_image_8h_html"><div class="ttname"><a href="_intelli_raster_image_8h.html">IntelliRasterImage.h</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html"><div class="ttname"><a href="class_intelli_tool.html">IntelliTool</a></div><div class="ttdoc">An abstract class that manages the basic events, like mouse clicks or scrolls events.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8h_source.html#l00013">IntelliTool.h:13</a></div></div>
<div class="ttc" id="aclass_intelli_shaped_image_html_ae4518c7f5a105cc4f33fabb60c794a93"><div class="ttname"><a href="class_intelli_shaped_image.html#ae4518c7f5a105cc4f33fabb60c794a93">IntelliShapedImage::getPolygonData</a></div><div class="ttdeci">virtual std::vector&lt; QPoint &gt; getPolygonData() override</div><div class="ttdoc">A function that returns the Polygondata if existent.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_shaped_image_8h_source.html#l00067">IntelliShapedImage.h:67</a></div></div>
<div class="ttc" id="aclass_intelli_image_html"><div class="ttname"><a href="class_intelli_image.html">IntelliImage</a></div><div class="ttdoc">An abstract class which manages the basic IntelliImage operations.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8h_source.html#l00024">IntelliImage.h:24</a></div></div>
<div class="ttc" id="aclass_intelli_shaped_image_html_a727d19ce314c0874be6b0633a3a603c8"><div class="ttname"><a href="class_intelli_shaped_image.html#a727d19ce314c0874be6b0633a3a603c8">IntelliShapedImage::polygonData</a></div><div class="ttdeci">std::vector&lt; QPoint &gt; polygonData</div><div class="ttdoc">The Vertices of The Polygon. Needs to be a planar Polygon.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_shaped_image_8h_source.html#l00028">IntelliShapedImage.h:28</a></div></div>
<div class="ttc" id="aclass_intelli_shaped_image_html_a0f834c3f255baeb50c98ef335a6d0ea9"><div class="ttname"><a href="class_intelli_shaped_image.html#a0f834c3f255baeb50c98ef335a6d0ea9">IntelliShapedImage::IntelliShapedImage</a></div><div class="ttdeci">IntelliShapedImage(int weight, int height)</div><div class="ttdoc">The Construcor of the IntelliShapedImage. Given the Image dimensions.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_shaped_image_8cpp_source.html#l00007">IntelliShapedImage.cpp:7</a></div></div>
<div class="ttc" id="aclass_intelli_shaped_image_html_a43d63d8a814852d377ee2030658fbab9"><div class="ttname"><a href="class_intelli_shaped_image.html#a43d63d8a814852d377ee2030658fbab9">IntelliShapedImage::~IntelliShapedImage</a></div><div class="ttdeci">virtual ~IntelliShapedImage() override</div><div class="ttdoc">An Destructor.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_shaped_image_8cpp_source.html#l00011">IntelliShapedImage.cpp:11</a></div></div>
<div class="ttc" id="aclass_intelli_raster_image_html"><div class="ttname"><a href="class_intelli_raster_image.html">IntelliRasterImage</a></div><div class="ttdoc">The IntelliRasterImage manages a Rasterimage.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_raster_image_8h_source.html#l00009">IntelliRasterImage.h:9</a></div></div>
<div class="ttc" id="aclass_intelli_shaped_image_html_a4b69d75de7a3b85032482982f249458e"><div class="ttname"><a href="class_intelli_shaped_image.html#a4b69d75de7a3b85032482982f249458e">IntelliShapedImage::setPolygon</a></div><div class="ttdeci">virtual void setPolygon(const std::vector&lt; QPoint &gt; &amp;polygonData) override</div><div class="ttdoc">A function that sets the data of the visible Polygon.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_shaped_image_8cpp_source.html#l00066">IntelliShapedImage.cpp:66</a></div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_8db5f55022e7670536cbc9a6a1d6f01c.html">intelliphoto</a></li><li class="navelem"><a class="el" href="dir_83a4347d11f2ba6343d546ab133722d2.html">src</a></li><li class="navelem"><a class="el" href="dir_544f9dcb748f922e4bb3be2540380bf2.html">Image</a></li><li class="navelem"><a class="el" href="_intelli_shaped_image_8h.html">IntelliShapedImage.h</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.16 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,114 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IntelliPhoto: intelliphoto/src/Tool/IntelliTool.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">IntelliPhoto
&#160;<span id="projectnumber">0.5</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_intelli_tool_8cpp.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">IntelliTool.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="_intelli_tool_8h_source.html">IntelliTool.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="_painting_area_8h_source.html">Layer/PaintingArea.h</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for IntelliTool.cpp:</div>
<div class="dyncontent">
<div class="center"><img src="_intelli_tool_8cpp__incl.png" border="0" usemap="#intelliphoto_2src_2_tool_2_intelli_tool_8cpp" alt=""/></div>
</div>
</div>
<p><a href="_intelli_tool_8cpp_source.html">Go to the source code of this file.</a></p>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_8db5f55022e7670536cbc9a6a1d6f01c.html">intelliphoto</a></li><li class="navelem"><a class="el" href="dir_83a4347d11f2ba6343d546ab133722d2.html">src</a></li><li class="navelem"><a class="el" href="dir_941490de56ac122cf77df9922cbcc750.html">Tool</a></li><li class="navelem"><a class="el" href="_intelli_tool_8cpp.html">IntelliTool.cpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.16 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,51 @@
digraph "intelliphoto/src/Tool/IntelliTool.cpp"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="intelliphoto/src/Tool\l/IntelliTool.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="IntelliTool.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_8h.html",tooltip=" "];
Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node3 [label="IntelliHelper/IntelliColor\lPicker.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_color_picker_8h.html",tooltip=" "];
Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node4 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node3 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node5 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node3 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node6 [label="QColorDialog",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node2 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node7 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node1 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node8 [label="Layer/PaintingArea.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8h.html",tooltip=" "];
Node8 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node8 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node9 [label="QImage",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node8 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node8 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node10 [label="QWidget",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node8 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node11 [label="QList",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node8 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node12 [label="Image/IntelliImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_image_8h.html",tooltip=" "];
Node12 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node12 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node12 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node12 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node13 [label="QSize",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node12 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node12 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node8 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node14 [label="Image/IntelliRasterImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_raster_image_8h.html",tooltip=" "];
Node14 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node8 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node15 [label="Image/IntelliShapedImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_shaped_image_8h.html",tooltip=" "];
Node15 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node15 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node15 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node16 [label="IntelliHelper/IntelliHelper.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_helper_8h.html",tooltip=" "];
Node16 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node16 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node8 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node8 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
}

View File

@@ -0,0 +1,209 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IntelliPhoto: intelliphoto/src/Tool/IntelliTool.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">IntelliPhoto
&#160;<span id="projectnumber">0.5</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_intelli_tool_8cpp_source.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">IntelliTool.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="_intelli_tool_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_intelli_tool_8h.html">IntelliTool.h</a>&quot;</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_painting_area_8h.html">Layer/PaintingArea.h</a>&quot;</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160; </div>
<div class="line"><a name="l00004"></a><span class="lineno"><a class="line" href="class_intelli_tool.html#a346dd55d489fced38e7bb46f9168af91"> 4</a></span>&#160;<a class="code" href="class_intelli_tool.html#a346dd55d489fced38e7bb46f9168af91">IntelliTool::IntelliTool</a>(<a class="code" href="class_painting_area.html">PaintingArea</a>* Area, <a class="code" href="class_intelli_color_picker.html">IntelliColorPicker</a>* colorPicker){</div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160; this-&gt;Area=<a class="code" href="class_intelli_tool.html#ab4c2698a0f9f25fb6639ec760d2d0289">Area</a>;</div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160; this-&gt;colorPicker=<a class="code" href="class_intelli_tool.html#ae2e0ac394611a361ab4ef2fe55c03fef">colorPicker</a>;</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;}</div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160; </div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160; </div>
<div class="line"><a name="l00010"></a><span class="lineno"><a class="line" href="class_intelli_tool.html#a57fb1b27d364c9e3696eb928b75fa9f2"> 10</a></span>&#160;<a class="code" href="class_intelli_tool.html#a57fb1b27d364c9e3696eb928b75fa9f2">IntelliTool::~IntelliTool</a>(){</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160; </div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;}</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160; </div>
<div class="line"><a name="l00014"></a><span class="lineno"><a class="line" href="class_intelli_tool.html#a1e6aa68ac5f3c2ca02319e5ef3f0c966"> 14</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_intelli_tool.html#a1e6aa68ac5f3c2ca02319e5ef3f0c966">IntelliTool::onMouseRightPressed</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y){</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="class_intelli_tool.html#af256de16e9825922d20a23d11617b51b">drawing</a>) {</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; <a class="code" href="class_intelli_tool.html#af256de16e9825922d20a23d11617b51b">drawing</a>=<span class="keyword">false</span>;</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; this-&gt;deleteToolLayer();</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; }</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;}</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; </div>
<div class="line"><a name="l00021"></a><span class="lineno"><a class="line" href="class_intelli_tool.html#a16189b00307c6d7e89f28198f54404b0"> 21</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_intelli_tool.html#a16189b00307c6d7e89f28198f54404b0">IntelliTool::onMouseRightReleased</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y){</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; <span class="comment">//optional for tool</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;}</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; </div>
<div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="class_intelli_tool.html#a34b7ef1dde96b94a0ce450a25ae1778c"> 25</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_intelli_tool.html#a34b7ef1dde96b94a0ce450a25ae1778c">IntelliTool::onMouseLeftPressed</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y){</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; this-&gt;<a class="code" href="class_intelli_tool.html#af256de16e9825922d20a23d11617b51b">drawing</a>=<span class="keyword">true</span>;</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="comment">//create drawing layer</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; this-&gt;createToolLayer();</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <a class="code" href="class_intelli_tool.html#a144d469cc03584f501194529a1b53c77">Canvas</a>-&gt;<a class="code" href="struct_layer_object.html#af01a139bc8edfdbb338393874e89bd83">image</a>-&gt;<a class="code" href="class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2">calculateVisiblity</a>();</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;}</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; </div>
<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="class_intelli_tool.html#a906a2575c16c8a33cb2a5197f8d8cc5b"> 32</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_intelli_tool.html#a906a2575c16c8a33cb2a5197f8d8cc5b">IntelliTool::onMouseLeftReleased</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y){</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="class_intelli_tool.html#af256de16e9825922d20a23d11617b51b">drawing</a>) {</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <a class="code" href="class_intelli_tool.html#af256de16e9825922d20a23d11617b51b">drawing</a>=<span class="keyword">false</span>;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; this-&gt;mergeToolLayer();</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; this-&gt;deleteToolLayer();</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="class_intelli_tool.html#a13512e95d21a9934ecb36d73b118c25f">Active</a>-&gt;<a class="code" href="struct_layer_object.html#af01a139bc8edfdbb338393874e89bd83">image</a>-&gt;<a class="code" href="class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2">calculateVisiblity</a>();</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; }</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;}</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; </div>
<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="class_intelli_tool.html#ac10e20414cd8855a2f9b103fb6408639"> 41</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_intelli_tool.html#ac10e20414cd8855a2f9b103fb6408639">IntelliTool::onMouseMoved</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y){</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="class_intelli_tool.html#af256de16e9825922d20a23d11617b51b">drawing</a>)</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <a class="code" href="class_intelli_tool.html#a144d469cc03584f501194529a1b53c77">Canvas</a>-&gt;<a class="code" href="struct_layer_object.html#af01a139bc8edfdbb338393874e89bd83">image</a>-&gt;<a class="code" href="class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2">calculateVisiblity</a>();</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;}</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; </div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="class_intelli_tool.html#a4dccfd4460255ccb866f336406a33574"> 46</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_intelli_tool.html#a4dccfd4460255ccb866f336406a33574">IntelliTool::onWheelScrolled</a>(<span class="keywordtype">int</span> value){</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="comment">//if needed for future general tasks implement in here</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;}</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; </div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="keywordtype">void</span> IntelliTool::createToolLayer(){</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <a class="code" href="class_intelli_tool.html#ab4c2698a0f9f25fb6639ec760d2d0289">Area</a>-&gt;createTempLayerAfter(<a class="code" href="class_intelli_tool.html#ab4c2698a0f9f25fb6639ec760d2d0289">Area</a>-&gt;activeLayer);</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; this-&gt;<a class="code" href="class_intelli_tool.html#a13512e95d21a9934ecb36d73b118c25f">Active</a>=&amp;<a class="code" href="class_intelli_tool.html#ab4c2698a0f9f25fb6639ec760d2d0289">Area</a>-&gt;layerBundle[<a class="code" href="class_intelli_tool.html#ab4c2698a0f9f25fb6639ec760d2d0289">Area</a>-&gt;activeLayer];</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; this-&gt;<a class="code" href="class_intelli_tool.html#a144d469cc03584f501194529a1b53c77">Canvas</a>=&amp;<a class="code" href="class_intelli_tool.html#ab4c2698a0f9f25fb6639ec760d2d0289">Area</a>-&gt;layerBundle[<a class="code" href="class_intelli_tool.html#ab4c2698a0f9f25fb6639ec760d2d0289">Area</a>-&gt;activeLayer+1];</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;}</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; </div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="keywordtype">void</span> IntelliTool::mergeToolLayer(){</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; QColor clr_0;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; QColor clr_1;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> y=0; y&lt;<a class="code" href="class_intelli_tool.html#a13512e95d21a9934ecb36d73b118c25f">Active</a>-&gt;<a class="code" href="struct_layer_object.html#ae0003fb815e50ed587a9897988befc90">height</a>; y++) {</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> x=0; x&lt;<a class="code" href="class_intelli_tool.html#a13512e95d21a9934ecb36d73b118c25f">Active</a>-&gt;<a class="code" href="struct_layer_object.html#af261813df52ff0b0c82bfa57efeb9897">width</a>; x++) {</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; clr_0=<a class="code" href="class_intelli_tool.html#a13512e95d21a9934ecb36d73b118c25f">Active</a>-&gt;<a class="code" href="struct_layer_object.html#af01a139bc8edfdbb338393874e89bd83">image</a>-&gt;<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.pixelColor(x,y);</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; clr_1=<a class="code" href="class_intelli_tool.html#a144d469cc03584f501194529a1b53c77">Canvas</a>-&gt;<a class="code" href="struct_layer_object.html#af01a139bc8edfdbb338393874e89bd83">image</a>-&gt;<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.pixelColor(x,y);</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordtype">float</span> t = static_cast&lt;float&gt;(clr_1.alpha())/255.f;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordtype">int</span> r =static_cast&lt;int&gt;(static_cast&lt;float&gt;(clr_1.red())*(t)+static_cast&lt;float&gt;(clr_0.red())*(1.f-t)+0.5f);</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordtype">int</span> g =static_cast&lt;int&gt;(static_cast&lt;float&gt;(clr_1.green())*(t)+static_cast&lt;float&gt;(clr_0.green())*(1.f-t)+0.5f);</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordtype">int</span> b =static_cast&lt;int&gt;(static_cast&lt;float&gt;(clr_1.blue())*(t)+static_cast&lt;float&gt;(clr_0.blue()*(1.f-t))+0.5f);</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordtype">int</span> a =std::min(clr_0.alpha()+clr_1.alpha(), 255);</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; clr_0.setRed(r);</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; clr_0.setGreen(g);</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; clr_0.setBlue(b);</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; clr_0.setAlpha(a);</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; </div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <a class="code" href="class_intelli_tool.html#a13512e95d21a9934ecb36d73b118c25f">Active</a>-&gt;<a class="code" href="struct_layer_object.html#af01a139bc8edfdbb338393874e89bd83">image</a>-&gt;<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.setPixelColor(x, y, clr_0);</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; }</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; }</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;}</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; </div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="keywordtype">void</span> IntelliTool::deleteToolLayer(){</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <a class="code" href="class_intelli_tool.html#ab4c2698a0f9f25fb6639ec760d2d0289">Area</a>-&gt;<a class="code" href="class_painting_area.html#a6efad6f8ea060674b157b42b431cd173">deleteLayer</a>(<a class="code" href="class_intelli_tool.html#ab4c2698a0f9f25fb6639ec760d2d0289">Area</a>-&gt;activeLayer+1);</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; this-&gt;<a class="code" href="class_intelli_tool.html#a144d469cc03584f501194529a1b53c77">Canvas</a>=<span class="keyword">nullptr</span>;</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;}</div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclass_intelli_tool_html_a1e6aa68ac5f3c2ca02319e5ef3f0c966"><div class="ttname"><a href="class_intelli_tool.html#a1e6aa68ac5f3c2ca02319e5ef3f0c966">IntelliTool::onMouseRightPressed</a></div><div class="ttdeci">virtual void onMouseRightPressed(int x, int y)</div><div class="ttdoc">A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on....</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8cpp_source.html#l00014">IntelliTool.cpp:14</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_a906a2575c16c8a33cb2a5197f8d8cc5b"><div class="ttname"><a href="class_intelli_tool.html#a906a2575c16c8a33cb2a5197f8d8cc5b">IntelliTool::onMouseLeftReleased</a></div><div class="ttdeci">virtual void onMouseLeftReleased(int x, int y)</div><div class="ttdoc">A function managing the left click Released of a Mouse. Call this in child classes!</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8cpp_source.html#l00032">IntelliTool.cpp:32</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_ae2e0ac394611a361ab4ef2fe55c03fef"><div class="ttname"><a href="class_intelli_tool.html#ae2e0ac394611a361ab4ef2fe55c03fef">IntelliTool::colorPicker</a></div><div class="ttdeci">IntelliColorPicker * colorPicker</div><div class="ttdoc">A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8h_source.html#l00038">IntelliTool.h:38</a></div></div>
<div class="ttc" id="a_intelli_tool_8h_html"><div class="ttname"><a href="_intelli_tool_8h.html">IntelliTool.h</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_a34b7ef1dde96b94a0ce450a25ae1778c"><div class="ttname"><a href="class_intelli_tool.html#a34b7ef1dde96b94a0ce450a25ae1778c">IntelliTool::onMouseLeftPressed</a></div><div class="ttdeci">virtual void onMouseLeftPressed(int x, int y)</div><div class="ttdoc">A function managing the left click Pressed of a Mouse. Resetting the current draw....</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8cpp_source.html#l00025">IntelliTool.cpp:25</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_a346dd55d489fced38e7bb46f9168af91"><div class="ttname"><a href="class_intelli_tool.html#a346dd55d489fced38e7bb46f9168af91">IntelliTool::IntelliTool</a></div><div class="ttdeci">IntelliTool(PaintingArea *Area, IntelliColorPicker *colorPicker)</div><div class="ttdoc">A constructor setting the general Painting Area and colorPicker.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8cpp_source.html#l00004">IntelliTool.cpp:4</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_ab4c2698a0f9f25fb6639ec760d2d0289"><div class="ttname"><a href="class_intelli_tool.html#ab4c2698a0f9f25fb6639ec760d2d0289">IntelliTool::Area</a></div><div class="ttdeci">PaintingArea * Area</div><div class="ttdoc">A pointer to the general PaintingArea to interact with.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8h_source.html#l00033">IntelliTool.h:33</a></div></div>
<div class="ttc" id="aclass_painting_area_html"><div class="ttname"><a href="class_painting_area.html">PaintingArea</a></div><div class="ttdoc">The PaintingArea class manages the methods and stores information about the current painting area,...</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8h_source.html#l00036">PaintingArea.h:36</a></div></div>
<div class="ttc" id="aclass_painting_area_html_a6efad6f8ea060674b157b42b431cd173"><div class="ttname"><a href="class_painting_area.html#a6efad6f8ea060674b157b42b431cd173">PaintingArea::deleteLayer</a></div><div class="ttdeci">void deleteLayer(int index)</div><div class="ttdoc">The deleteLayer method removes a layer at a given index.</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8cpp_source.html#l00073">PaintingArea.cpp:73</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_a16189b00307c6d7e89f28198f54404b0"><div class="ttname"><a href="class_intelli_tool.html#a16189b00307c6d7e89f28198f54404b0">IntelliTool::onMouseRightReleased</a></div><div class="ttdeci">virtual void onMouseRightReleased(int x, int y)</div><div class="ttdoc">A function managing the right click Released of a Mouse. Merging the Canvas to Active....</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8cpp_source.html#l00021">IntelliTool.cpp:21</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_a144d469cc03584f501194529a1b53c77"><div class="ttname"><a href="class_intelli_tool.html#a144d469cc03584f501194529a1b53c77">IntelliTool::Canvas</a></div><div class="ttdeci">LayerObject * Canvas</div><div class="ttdoc">A pointer to the drawing canvas of the tool, work on this.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8h_source.html#l00048">IntelliTool.h:48</a></div></div>
<div class="ttc" id="astruct_layer_object_html_af261813df52ff0b0c82bfa57efeb9897"><div class="ttname"><a href="struct_layer_object.html#af261813df52ff0b0c82bfa57efeb9897">LayerObject::width</a></div><div class="ttdeci">int width</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8h_source.html#l00026">PaintingArea.h:26</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_af256de16e9825922d20a23d11617b51b"><div class="ttname"><a href="class_intelli_tool.html#af256de16e9825922d20a23d11617b51b">IntelliTool::drawing</a></div><div class="ttdeci">bool drawing</div><div class="ttdoc">A flag checking if the user is currently drawing or not.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8h_source.html#l00053">IntelliTool.h:53</a></div></div>
<div class="ttc" id="a_painting_area_8h_html"><div class="ttname"><a href="_painting_area_8h.html">PaintingArea.h</a></div></div>
<div class="ttc" id="astruct_layer_object_html_ae0003fb815e50ed587a9897988befc90"><div class="ttname"><a href="struct_layer_object.html#ae0003fb815e50ed587a9897988befc90">LayerObject::height</a></div><div class="ttdeci">int height</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8h_source.html#l00027">PaintingArea.h:27</a></div></div>
<div class="ttc" id="aclass_intelli_color_picker_html"><div class="ttname"><a href="class_intelli_color_picker.html">IntelliColorPicker</a></div><div class="ttdoc">The IntelliColorPicker manages the selected colors for one whole project.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_color_picker_8h_source.html#l00011">IntelliColorPicker.h:11</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_a2431be82e9e85dd34b62a7f7cba053c2"><div class="ttname"><a href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">IntelliImage::imageData</a></div><div class="ttdeci">QImage imageData</div><div class="ttdoc">The underlying image data.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8h_source.html#l00032">IntelliImage.h:32</a></div></div>
<div class="ttc" id="astruct_layer_object_html_af01a139bc8edfdbb338393874e89bd83"><div class="ttname"><a href="struct_layer_object.html#af01a139bc8edfdbb338393874e89bd83">LayerObject::image</a></div><div class="ttdeci">IntelliImage * image</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8h_source.html#l00025">PaintingArea.h:25</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_a13512e95d21a9934ecb36d73b118c25f"><div class="ttname"><a href="class_intelli_tool.html#a13512e95d21a9934ecb36d73b118c25f">IntelliTool::Active</a></div><div class="ttdeci">LayerObject * Active</div><div class="ttdoc">A pointer to the underlying active Layer, do not work on this. This is used for data grabbing or prev...</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8h_source.html#l00043">IntelliTool.h:43</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_ac10e20414cd8855a2f9b103fb6408639"><div class="ttname"><a href="class_intelli_tool.html#ac10e20414cd8855a2f9b103fb6408639">IntelliTool::onMouseMoved</a></div><div class="ttdeci">virtual void onMouseMoved(int x, int y)</div><div class="ttdoc">A function managing the mouse moved event. Call this in child classes!</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8cpp_source.html#l00041">IntelliTool.cpp:41</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_aebbced93f4744fad81b7f141b21f4ab2"><div class="ttname"><a href="class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2">IntelliImage::calculateVisiblity</a></div><div class="ttdeci">virtual void calculateVisiblity()=0</div><div class="ttdoc">An abstract function that calculates the visiblity of the Image data if needed.</div></div>
<div class="ttc" id="aclass_intelli_tool_html_a4dccfd4460255ccb866f336406a33574"><div class="ttname"><a href="class_intelli_tool.html#a4dccfd4460255ccb866f336406a33574">IntelliTool::onWheelScrolled</a></div><div class="ttdeci">virtual void onWheelScrolled(int value)</div><div class="ttdoc">A function managing the scroll event. A positive value means scrolling outwards. Call this in child c...</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8cpp_source.html#l00046">IntelliTool.cpp:46</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_a57fb1b27d364c9e3696eb928b75fa9f2"><div class="ttname"><a href="class_intelli_tool.html#a57fb1b27d364c9e3696eb928b75fa9f2">IntelliTool::~IntelliTool</a></div><div class="ttdeci">virtual ~IntelliTool()=0</div><div class="ttdoc">An abstract Destructor.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8cpp_source.html#l00010">IntelliTool.cpp:10</a></div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_8db5f55022e7670536cbc9a6a1d6f01c.html">intelliphoto</a></li><li class="navelem"><a class="el" href="dir_83a4347d11f2ba6343d546ab133722d2.html">src</a></li><li class="navelem"><a class="el" href="dir_941490de56ac122cf77df9922cbcc750.html">Tool</a></li><li class="navelem"><a class="el" href="_intelli_tool_8cpp.html">IntelliTool.cpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.16 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,128 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IntelliPhoto: intelliphoto/src/Tool/IntelliTool.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">IntelliPhoto
&#160;<span id="projectnumber">0.5</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_intelli_tool_8h.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> </div>
<div class="headertitle">
<div class="title">IntelliTool.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="_intelli_color_picker_8h_source.html">IntelliHelper/IntelliColorPicker.h</a>&quot;</code><br />
<code>#include &lt;vector&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for IntelliTool.h:</div>
<div class="dyncontent">
<div class="center"><img src="_intelli_tool_8h__incl.png" border="0" usemap="#intelliphoto_2src_2_tool_2_intelli_tool_8h" alt=""/></div>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="_intelli_tool_8h__dep__incl.png" border="0" usemap="#intelliphoto_2src_2_tool_2_intelli_tool_8hdep" alt=""/></div>
</div>
</div>
<p><a href="_intelli_tool_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_intelli_tool.html">IntelliTool</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An abstract class that manages the basic events, like mouse clicks or scrolls events. <a href="class_intelli_tool.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_8db5f55022e7670536cbc9a6a1d6f01c.html">intelliphoto</a></li><li class="navelem"><a class="el" href="dir_83a4347d11f2ba6343d546ab133722d2.html">src</a></li><li class="navelem"><a class="el" href="dir_941490de56ac122cf77df9922cbcc750.html">Tool</a></li><li class="navelem"><a class="el" href="_intelli_tool_8h.html">IntelliTool.h</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.16 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,58 @@
digraph "intelliphoto/src/Tool/IntelliTool.h"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="intelliphoto/src/Tool\l/IntelliTool.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="intelliphoto/src/Layer\l/PaintingArea.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8h.html",tooltip=" "];
Node2 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node3 [label="intelliphoto/src/GUI\l/IntelliPhotoGui.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_photo_gui_8cpp.html",tooltip=" "];
Node2 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node4 [label="intelliphoto/src/Layer\l/PaintingArea.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8cpp.html",tooltip=" "];
Node2 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node5 [label="intelliphoto/src/Tool\l/IntelliTool.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_8cpp.html",tooltip=" "];
Node2 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node6 [label="intelliphoto/src/Tool\l/IntelliToolCircle.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_circle_8cpp.html",tooltip=" "];
Node2 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node7 [label="intelliphoto/src/Tool\l/IntelliToolFloodFill.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_flood_fill_8cpp.html",tooltip=" "];
Node2 -> Node8 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node8 [label="intelliphoto/src/Tool\l/IntelliToolLine.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_line_8cpp.html",tooltip=" "];
Node2 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node9 [label="intelliphoto/src/Tool\l/IntelliToolPen.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_pen_8cpp.html",tooltip=" "];
Node2 -> Node10 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node10 [label="intelliphoto/src/Tool\l/IntelliToolPlain.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_plain_8cpp.html",tooltip=" "];
Node2 -> Node11 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node11 [label="intelliphoto/src/Tool\l/IntelliToolPolygon.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_polygon_8cpp.html",tooltip=" "];
Node2 -> Node12 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node12 [label="intelliphoto/src/Tool\l/IntelliToolRectangle.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_rectangle_8cpp.html",tooltip=" "];
Node1 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node13 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node13 [label="intelliphoto/src/Tool\l/IntelliToolCircle.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_circle_8h.html",tooltip=" "];
Node13 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node13 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node14 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node14 [label="intelliphoto/src/Tool\l/IntelliToolFloodFill.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_flood_fill_8h.html",tooltip=" "];
Node14 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node14 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node15 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node15 [label="intelliphoto/src/Tool\l/IntelliToolLine.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_line_8h.html",tooltip=" "];
Node15 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node15 -> Node8 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node16 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node16 [label="intelliphoto/src/Tool\l/IntelliToolPen.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_pen_8h.html",tooltip=" "];
Node16 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node16 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node17 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node17 [label="intelliphoto/src/Tool\l/IntelliToolPlain.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_plain_8h.html",tooltip=" "];
Node17 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node17 -> Node10 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node18 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node18 [label="intelliphoto/src/Tool\l/IntelliToolPolygon.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_polygon_8h.html",tooltip=" "];
Node18 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node18 -> Node11 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node19 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node19 [label="intelliphoto/src/Tool\l/IntelliToolRectangle.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_rectangle_8h.html",tooltip=" "];
Node19 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node19 -> Node12 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
}

View File

@@ -0,0 +1,17 @@
digraph "intelliphoto/src/Tool/IntelliTool.h"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="intelliphoto/src/Tool\l/IntelliTool.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="IntelliHelper/IntelliColor\lPicker.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_color_picker_8h.html",tooltip=" "];
Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node3 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node2 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node4 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node2 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node5 [label="QColorDialog",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
Node1 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node6 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "];
}

View File

@@ -0,0 +1,170 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IntelliPhoto: intelliphoto/src/Tool/IntelliTool.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">IntelliPhoto
&#160;<span id="projectnumber">0.5</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_intelli_tool_8h_source.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">IntelliTool.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="_intelli_tool_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#ifndef Intelli_Tool_H</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#define Intelli_Tool_H</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160; </div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_intelli_color_picker_8h.html">IntelliHelper/IntelliColorPicker.h</a>&quot;</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160; </div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="keyword">class </span><a class="code" href="struct_layer_object.html">LayerObject</a>;</div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="keyword">class </span><a class="code" href="class_painting_area.html">PaintingArea</a>;</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160; </div>
<div class="line"><a name="l00013"></a><span class="lineno"><a class="line" href="class_intelli_tool.html"> 13</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_intelli_tool.html">IntelliTool</a> {</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="keywordtype">void</span> createToolLayer();</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; </div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="keywordtype">void</span> mergeToolLayer();</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; </div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="keywordtype">void</span> deleteToolLayer();</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="class_intelli_tool.html#ab4c2698a0f9f25fb6639ec760d2d0289"> 33</a></span>&#160;<a class="code" href="class_painting_area.html">PaintingArea</a>* <a class="code" href="class_intelli_tool.html#ab4c2698a0f9f25fb6639ec760d2d0289">Area</a>;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; </div>
<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="class_intelli_tool.html#ae2e0ac394611a361ab4ef2fe55c03fef"> 38</a></span>&#160;<a class="code" href="class_intelli_color_picker.html">IntelliColorPicker</a>* <a class="code" href="class_intelli_tool.html#ae2e0ac394611a361ab4ef2fe55c03fef">colorPicker</a>;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; </div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="class_intelli_tool.html#a13512e95d21a9934ecb36d73b118c25f"> 43</a></span>&#160;<a class="code" href="struct_layer_object.html">LayerObject</a>* <a class="code" href="class_intelli_tool.html#a13512e95d21a9934ecb36d73b118c25f">Active</a>;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; </div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="class_intelli_tool.html#a144d469cc03584f501194529a1b53c77"> 48</a></span>&#160;<a class="code" href="struct_layer_object.html">LayerObject</a>* <a class="code" href="class_intelli_tool.html#a144d469cc03584f501194529a1b53c77">Canvas</a>;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; </div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="class_intelli_tool.html#af256de16e9825922d20a23d11617b51b"> 53</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="class_intelli_tool.html#af256de16e9825922d20a23d11617b51b">drawing</a> = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; </div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<a class="code" href="class_intelli_tool.html#a346dd55d489fced38e7bb46f9168af91">IntelliTool</a>(<a class="code" href="class_painting_area.html">PaintingArea</a>* <a class="code" href="class_intelli_tool.html#ab4c2698a0f9f25fb6639ec760d2d0289">Area</a>, <a class="code" href="class_intelli_color_picker.html">IntelliColorPicker</a>* <a class="code" href="class_intelli_tool.html#ae2e0ac394611a361ab4ef2fe55c03fef">colorPicker</a>);</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; </div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="keyword">virtual</span> <a class="code" href="class_intelli_tool.html#a57fb1b27d364c9e3696eb928b75fa9f2">~IntelliTool</a>() = 0;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; </div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_intelli_tool.html#a1e6aa68ac5f3c2ca02319e5ef3f0c966">onMouseRightPressed</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; </div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_intelli_tool.html#a16189b00307c6d7e89f28198f54404b0">onMouseRightReleased</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; </div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;<span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_intelli_tool.html#a34b7ef1dde96b94a0ce450a25ae1778c">onMouseLeftPressed</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; </div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_intelli_tool.html#a906a2575c16c8a33cb2a5197f8d8cc5b">onMouseLeftReleased</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; </div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_intelli_tool.html#a4dccfd4460255ccb866f336406a33574">onWheelScrolled</a>(<span class="keywordtype">int</span> value);</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; </div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_intelli_tool.html#ac10e20414cd8855a2f9b103fb6408639">onMouseMoved</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; </div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; </div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;};</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclass_intelli_tool_html_a1e6aa68ac5f3c2ca02319e5ef3f0c966"><div class="ttname"><a href="class_intelli_tool.html#a1e6aa68ac5f3c2ca02319e5ef3f0c966">IntelliTool::onMouseRightPressed</a></div><div class="ttdeci">virtual void onMouseRightPressed(int x, int y)</div><div class="ttdoc">A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on....</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8cpp_source.html#l00014">IntelliTool.cpp:14</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_a906a2575c16c8a33cb2a5197f8d8cc5b"><div class="ttname"><a href="class_intelli_tool.html#a906a2575c16c8a33cb2a5197f8d8cc5b">IntelliTool::onMouseLeftReleased</a></div><div class="ttdeci">virtual void onMouseLeftReleased(int x, int y)</div><div class="ttdoc">A function managing the left click Released of a Mouse. Call this in child classes!</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8cpp_source.html#l00032">IntelliTool.cpp:32</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_ae2e0ac394611a361ab4ef2fe55c03fef"><div class="ttname"><a href="class_intelli_tool.html#ae2e0ac394611a361ab4ef2fe55c03fef">IntelliTool::colorPicker</a></div><div class="ttdeci">IntelliColorPicker * colorPicker</div><div class="ttdoc">A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8h_source.html#l00038">IntelliTool.h:38</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_a34b7ef1dde96b94a0ce450a25ae1778c"><div class="ttname"><a href="class_intelli_tool.html#a34b7ef1dde96b94a0ce450a25ae1778c">IntelliTool::onMouseLeftPressed</a></div><div class="ttdeci">virtual void onMouseLeftPressed(int x, int y)</div><div class="ttdoc">A function managing the left click Pressed of a Mouse. Resetting the current draw....</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8cpp_source.html#l00025">IntelliTool.cpp:25</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_a346dd55d489fced38e7bb46f9168af91"><div class="ttname"><a href="class_intelli_tool.html#a346dd55d489fced38e7bb46f9168af91">IntelliTool::IntelliTool</a></div><div class="ttdeci">IntelliTool(PaintingArea *Area, IntelliColorPicker *colorPicker)</div><div class="ttdoc">A constructor setting the general Painting Area and colorPicker.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8cpp_source.html#l00004">IntelliTool.cpp:4</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_ab4c2698a0f9f25fb6639ec760d2d0289"><div class="ttname"><a href="class_intelli_tool.html#ab4c2698a0f9f25fb6639ec760d2d0289">IntelliTool::Area</a></div><div class="ttdeci">PaintingArea * Area</div><div class="ttdoc">A pointer to the general PaintingArea to interact with.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8h_source.html#l00033">IntelliTool.h:33</a></div></div>
<div class="ttc" id="aclass_painting_area_html"><div class="ttname"><a href="class_painting_area.html">PaintingArea</a></div><div class="ttdoc">The PaintingArea class manages the methods and stores information about the current painting area,...</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8h_source.html#l00036">PaintingArea.h:36</a></div></div>
<div class="ttc" id="astruct_layer_object_html"><div class="ttname"><a href="struct_layer_object.html">LayerObject</a></div><div class="ttdoc">The LayerObject struct holds all the information needed to construct a layer.</div><div class="ttdef"><b>Definition:</b> <a href="_painting_area_8h_source.html#l00024">PaintingArea.h:24</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_a16189b00307c6d7e89f28198f54404b0"><div class="ttname"><a href="class_intelli_tool.html#a16189b00307c6d7e89f28198f54404b0">IntelliTool::onMouseRightReleased</a></div><div class="ttdeci">virtual void onMouseRightReleased(int x, int y)</div><div class="ttdoc">A function managing the right click Released of a Mouse. Merging the Canvas to Active....</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8cpp_source.html#l00021">IntelliTool.cpp:21</a></div></div>
<div class="ttc" id="a_intelli_color_picker_8h_html"><div class="ttname"><a href="_intelli_color_picker_8h.html">IntelliColorPicker.h</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_a144d469cc03584f501194529a1b53c77"><div class="ttname"><a href="class_intelli_tool.html#a144d469cc03584f501194529a1b53c77">IntelliTool::Canvas</a></div><div class="ttdeci">LayerObject * Canvas</div><div class="ttdoc">A pointer to the drawing canvas of the tool, work on this.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8h_source.html#l00048">IntelliTool.h:48</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_af256de16e9825922d20a23d11617b51b"><div class="ttname"><a href="class_intelli_tool.html#af256de16e9825922d20a23d11617b51b">IntelliTool::drawing</a></div><div class="ttdeci">bool drawing</div><div class="ttdoc">A flag checking if the user is currently drawing or not.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8h_source.html#l00053">IntelliTool.h:53</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html"><div class="ttname"><a href="class_intelli_tool.html">IntelliTool</a></div><div class="ttdoc">An abstract class that manages the basic events, like mouse clicks or scrolls events.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8h_source.html#l00013">IntelliTool.h:13</a></div></div>
<div class="ttc" id="aclass_intelli_color_picker_html"><div class="ttname"><a href="class_intelli_color_picker.html">IntelliColorPicker</a></div><div class="ttdoc">The IntelliColorPicker manages the selected colors for one whole project.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_color_picker_8h_source.html#l00011">IntelliColorPicker.h:11</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_a13512e95d21a9934ecb36d73b118c25f"><div class="ttname"><a href="class_intelli_tool.html#a13512e95d21a9934ecb36d73b118c25f">IntelliTool::Active</a></div><div class="ttdeci">LayerObject * Active</div><div class="ttdoc">A pointer to the underlying active Layer, do not work on this. This is used for data grabbing or prev...</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8h_source.html#l00043">IntelliTool.h:43</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_ac10e20414cd8855a2f9b103fb6408639"><div class="ttname"><a href="class_intelli_tool.html#ac10e20414cd8855a2f9b103fb6408639">IntelliTool::onMouseMoved</a></div><div class="ttdeci">virtual void onMouseMoved(int x, int y)</div><div class="ttdoc">A function managing the mouse moved event. Call this in child classes!</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8cpp_source.html#l00041">IntelliTool.cpp:41</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_a4dccfd4460255ccb866f336406a33574"><div class="ttname"><a href="class_intelli_tool.html#a4dccfd4460255ccb866f336406a33574">IntelliTool::onWheelScrolled</a></div><div class="ttdeci">virtual void onWheelScrolled(int value)</div><div class="ttdoc">A function managing the scroll event. A positive value means scrolling outwards. Call this in child c...</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8cpp_source.html#l00046">IntelliTool.cpp:46</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html_a57fb1b27d364c9e3696eb928b75fa9f2"><div class="ttname"><a href="class_intelli_tool.html#a57fb1b27d364c9e3696eb928b75fa9f2">IntelliTool::~IntelliTool</a></div><div class="ttdeci">virtual ~IntelliTool()=0</div><div class="ttdoc">An abstract Destructor.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8cpp_source.html#l00010">IntelliTool.cpp:10</a></div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_8db5f55022e7670536cbc9a6a1d6f01c.html">intelliphoto</a></li><li class="navelem"><a class="el" href="dir_83a4347d11f2ba6343d546ab133722d2.html">src</a></li><li class="navelem"><a class="el" href="dir_941490de56ac122cf77df9922cbcc750.html">Tool</a></li><li class="navelem"><a class="el" href="_intelli_tool_8h.html">IntelliTool.h</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.16 </li>
</ul>
</div>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More