IntelliPhoto  1
PaintingArea Class Reference

The PaintingArea class manages the methods and stores information about the current painting area, which is the currently opened project. More...

#include <PaintingArea.h>

Inheritance diagram for PaintingArea:

Public Slots

void slotActivateLayer (int a)
 The slotActivateLayer method handles the event of selecting one layer as active. More...
 
void slotDeleteActiveLayer ()
 The slotDeleteActiveLayer method handles the deletion of the active layer. More...
 

Public Member Functions

 PaintingArea (int newMaxWidth=600, int newMaxHeight=600, QWidget *parent=nullptr)
 PaintingArea is the constructor of the PaintingArea class, which initiates the working environment. More...
 
 ~PaintingArea () override
 This deconstructor is used to clear up the memory and remove the currently active window. More...
 
void setRenderSettings (bool isFastRenderingOn)
 setRenderSettings updates all Images to the new Rendersetting. More...
 
bool getRenderSettings ()
 getRenderSettings updates all Images to the new Rendersetting. More...
 
bool open (const QString &filePath)
 The open method is used for loading a picture into the current layer. More...
 
bool save (const QString &filePath, const char *fileFormat)
 The save method is used for exporting the current project as one picture. More...
 
void deleteAllLayers ()
 deleteAllLayers deletes all layers More...
 
int addLayer (int width, int height, int widthOffset=0, int heightOffset=0, int alpha=255, ImageType type=ImageType::RASTERIMAGE)
 The addLayer adds a layer to the current project/ painting area. More...
 
int addLayerAt (int idx, int width, int height, int widthOffset=0, int heightOffset=0, ImageType type=ImageType::RASTERIMAGE)
 The addLayerAt adds a layer to the current project/ painting area at a specific position in the layer stack. More...
 
void deleteLayer (int idx, bool isTool=false)
 The deleteLayer method removes a layer at a given idx. More...
 
void setLayerActive (int idx)
 The setLayerToActive method marks a specific layer as active. More...
 
void setLayerAlpha (int idx, int alpha)
 The setAlphaOfLayer method sets the alpha value of a specific layer. More...
 
void setPolygon (int idx)
 setPolygon is used for setting polygondata, it only works on RASTER images More...
 
void movePositionActive (int x, int y)
 The movePositionActive method moves the active layer to certain position. More...
 
void moveActiveLayer (int idx)
 The moveActiveLayer moves the active layer to a specific position in the layer stack. More...
 
void colorPickerSetFirstColor ()
 The colorPickerSetFirstColor calls the QTColorPicker to determine the primary drawing color. More...
 
void colorPickerSetSecondColor ()
 The colorPickerSetSecondColor calls the QTColorPicker to determine the secondary drawing color. More...
 
void colorPickerSwapColors ()
 The colorPickerSwitchColor swaps the primary color with the secondary drawing color. More...
 
void createPenTool ()
 createPenTool creates a Pen Tool. More...
 
void createPlainTool ()
 createPlainTool creates a Plain Tool. More...
 
void createLineTool ()
 createLineTool creates a Line Tool. More...
 
void createRectangleTool ()
 createRectangleTool creates a Rectangle Tool. More...
 
void createCircleTool ()
 createCircleTool creates a Circle Tool. More...
 
void createPolygonTool ()
 createPolygonTool creates a Polygon Tool. More...
 
void createFloodFillTool ()
 createFloodFillTool creates a Floodfill Tool. More...
 
void createGradientTool ()
 createGradientTool creates a Gradient Tool. More...
 
int getWidthOfActive ()
 The getWidthOfActive gets the horizontal dimensions of the active layer. More...
 
int getHeightOfActive ()
 The getHeightOfActive gets the vertical dimensions of the active layer. More...
 
int getMaxWidth ()
 getMaxWidth gets the max width of the Canvas. More...
 
int getMaxHeight ()
 getMaxHeight gets the max height of the Canvas. More...
 
ImageType getTypeOfImageActiveLayer ()
 getTypeOfImageActiveLayer get the type of the active Layer. More...
 
std::vector< QPoint > getPolygonDataOfActiveLayer ()
 getPolygonDataOfActiveLayer get the polygon data of the active Layer. More...
 
int getIndexOfActiveLayer ()
 getIndexOfActiveLayer returns the index of athe active Layer. More...
 
IntelliImagegetImageOfActiveLayer ()
 getImageOfActiveLayer returns the image of the active Layer. More...
 
QImage getImageDataOfActiveLayer ()
 getImageDataOfActiveLayer used to get the currents active imageData (if there isn't any active layer it return a 10*10 white picture) More...
 
std::vector< LayerObject > * getLayerBundle ()
 getLayerBundle returns the real active layerbundle (care!) More...
 
void historyadd ()
 historyadd adds an hisotry step More...
 
void historyGoBack ()
 historyGoBack go back in hisotry More...
 
void historyGoForward ()
 historyGoForward a function to undo the return of the previous state of the project. More...
 
void setCanvasDimensions (int newMaxWidth, int newMaxHeight)
 setCanvasDimensions sets the dimension of the Canvas More...
 
void drawPixelOntoActive (QColor color, QPoint point)
 drawPixelOntoActive draws a pixel onto the image data of the active Layer. More...
 
void setPolygonDataToActive (std::vector< QPoint > points)
 setPolygonDataToActive sets polygondata to the active Layer. More...
 

Public Attributes

IntelliToolsettings Toolsettings
 Toolsettings - a class to manage Tool settings. More...
 
IntelliColorPicker colorPicker
 colorPicker a class to manage Tool color. More...
 

Protected Member Functions

void mousePressEvent (QMouseEvent *event) override
 mousePressEvent handles a mouse pressed event. More...
 
void mouseMoveEvent (QMouseEvent *event) override
 mouseMoveEvent handles a mouse moved event More...
 
void mouseReleaseEvent (QMouseEvent *event) override
 mouseReleaseEvent handles a mouse released event More...
 
void wheelEvent (QWheelEvent *event) override
 wheelEvent handles a mouse wheel event More...
 
void paintEvent (QPaintEvent *event) override
 paintEvent handles a painting event More...
 

Detailed Description

The PaintingArea class manages the methods and stores information about the current painting area, which is the currently opened project.

Definition at line 57 of file PaintingArea.h.

Constructor & Destructor Documentation

◆ PaintingArea()

PaintingArea::PaintingArea ( int  newMaxWidth = 600,
int  newMaxHeight = 600,
QWidget *  parent = nullptr 
)

PaintingArea is the constructor of the PaintingArea class, which initiates the working environment.

Parameters
newMaxWidth- The maximum amount of pixles that are inside painting area from left to right (default=600px)
newMaxHeight- The maximum amount of pixles that are inside painting area from top to bottom (default=600px)
parent- The parent window of the main window (default=nullptr)

Definition at line 40 of file PaintingArea.cpp.

◆ ~PaintingArea()

PaintingArea::~PaintingArea ( )
override

This deconstructor is used to clear up the memory and remove the currently active window.

Definition at line 47 of file PaintingArea.cpp.

Member Function Documentation

◆ addLayer()

int PaintingArea::addLayer ( int  width,
int  height,
int  widthOffset = 0,
int  heightOffset = 0,
int  alpha = 255,
ImageType  type = ImageType::RASTERIMAGE 
)

The addLayer adds a layer to the current project/ painting area.

Parameters
width- Width of the layer in pixles
height- Height of the layer in pixles
widthOffset- Offset of the layer measured to the left border of the painting area in pixles
heightOffset- Offset of the layer measured to the top border of the painting area in pixles
alpha- Transparence of the layer
type- Defining the ImageType of the new layer
Returns
Returns the number of layers in the project

Definition at line 94 of file PaintingArea.cpp.

◆ addLayerAt()

int PaintingArea::addLayerAt ( int  idx,
int  width,
int  height,
int  widthOffset = 0,
int  heightOffset = 0,
ImageType  type = ImageType::RASTERIMAGE 
)

The addLayerAt adds a layer to the current project/ painting area at a specific position in the layer stack.

Parameters
idx- Index of the position the new layer should be added
width- Width of the layer in pixles
height- Height of the layer in pixles
widthOffset- Offset of the layer measured to the left border of the painting area in pixles
heightOffset- Offset of the layer measured to the top border of the painting area in pixles
type- Defining the ImageType of the new layer
Returns
Returns the id of the layer position

◆ colorPickerSetFirstColor()

void PaintingArea::colorPickerSetFirstColor ( )

The colorPickerSetFirstColor calls the QTColorPicker to determine the primary drawing color.

Definition at line 229 of file PaintingArea.cpp.

◆ colorPickerSetSecondColor()

void PaintingArea::colorPickerSetSecondColor ( )

The colorPickerSetSecondColor calls the QTColorPicker to determine the secondary drawing color.

Definition at line 234 of file PaintingArea.cpp.

◆ colorPickerSwapColors()

void PaintingArea::colorPickerSwapColors ( )

The colorPickerSwitchColor swaps the primary color with the secondary drawing color.

Definition at line 239 of file PaintingArea.cpp.

◆ createCircleTool()

void PaintingArea::createCircleTool ( )

createCircleTool creates a Circle Tool.

Definition at line 263 of file PaintingArea.cpp.

◆ createFloodFillTool()

void PaintingArea::createFloodFillTool ( )

createFloodFillTool creates a Floodfill Tool.

Definition at line 272 of file PaintingArea.cpp.

◆ createGradientTool()

void PaintingArea::createGradientTool ( )

createGradientTool creates a Gradient Tool.

Definition at line 277 of file PaintingArea.cpp.

◆ createLineTool()

void PaintingArea::createLineTool ( )

createLineTool creates a Line Tool.

Definition at line 253 of file PaintingArea.cpp.

◆ createPenTool()

void PaintingArea::createPenTool ( )

createPenTool creates a Pen Tool.

Definition at line 243 of file PaintingArea.cpp.

◆ createPlainTool()

void PaintingArea::createPlainTool ( )

createPlainTool creates a Plain Tool.

Definition at line 248 of file PaintingArea.cpp.

◆ createPolygonTool()

void PaintingArea::createPolygonTool ( )

createPolygonTool creates a Polygon Tool.

Definition at line 267 of file PaintingArea.cpp.

◆ createRectangleTool()

void PaintingArea::createRectangleTool ( )

createRectangleTool creates a Rectangle Tool.

Definition at line 258 of file PaintingArea.cpp.

◆ deleteAllLayers()

void PaintingArea::deleteAllLayers ( )

deleteAllLayers deletes all layers

Definition at line 173 of file PaintingArea.cpp.

◆ deleteLayer()

void PaintingArea::deleteLayer ( int  idx,
bool  isTool = false 
)

The deleteLayer method removes a layer at a given idx.

Parameters
idx- The index of the layer to be removed
isTool- Is the flag for when a tool uses this function.

Definition at line 113 of file PaintingArea.cpp.

◆ drawPixelOntoActive()

void PaintingArea::drawPixelOntoActive ( QColor  color,
QPoint  point 
)

drawPixelOntoActive draws a pixel onto the image data of the active Layer.

Parameters
color- the color of the Pixel, which should be created.
point- the Pixelposition.

Definition at line 86 of file PaintingArea.cpp.

◆ getHeightOfActive()

int PaintingArea::getHeightOfActive ( )

The getHeightOfActive gets the vertical dimensions of the active layer.

Returns
Returns the vertical pixle count of the active layer.

Definition at line 286 of file PaintingArea.cpp.

◆ getImageDataOfActiveLayer()

QImage PaintingArea::getImageDataOfActiveLayer ( )

getImageDataOfActiveLayer used to get the currents active imageData (if there isn't any active layer it return a 10*10 white picture)

Returns
return the image as an rgba32bit qImage

Definition at line 478 of file PaintingArea.cpp.

◆ getImageOfActiveLayer()

IntelliImage * PaintingArea::getImageOfActiveLayer ( )

getImageOfActiveLayer returns the image of the active Layer.

Returns
return the image of the active Layer.

Definition at line 471 of file PaintingArea.cpp.

◆ getIndexOfActiveLayer()

int PaintingArea::getIndexOfActiveLayer ( )

getIndexOfActiveLayer returns the index of athe active Layer.

Returns
return the index of the active Layer.

Definition at line 467 of file PaintingArea.cpp.

◆ getLayerBundle()

std::vector< LayerObject > * PaintingArea::getLayerBundle ( )

getLayerBundle returns the real active layerbundle (care!)

Returns
the reference of the currentLayerBundle

Definition at line 493 of file PaintingArea.cpp.

◆ getMaxHeight()

int PaintingArea::getMaxHeight ( )

getMaxHeight gets the max height of the Canvas.

Returns
return the height of the Canvas.

Definition at line 294 of file PaintingArea.cpp.

◆ getMaxWidth()

int PaintingArea::getMaxWidth ( )

getMaxWidth gets the max width of the Canvas.

Returns
return the width of the Canvas.

Definition at line 290 of file PaintingArea.cpp.

◆ getPolygonDataOfActiveLayer()

std::vector< QPoint > PaintingArea::getPolygonDataOfActiveLayer ( )

getPolygonDataOfActiveLayer get the polygon data of the active Layer.

Returns
return the polygon data of the active Layer.

Definition at line 302 of file PaintingArea.cpp.

◆ getRenderSettings()

bool PaintingArea::getRenderSettings ( )

getRenderSettings updates all Images to the new Rendersetting.

Returns
Returns if the flag for the FastRendererin is enabled.

Definition at line 68 of file PaintingArea.cpp.

◆ getTypeOfImageActiveLayer()

ImageType PaintingArea::getTypeOfImageActiveLayer ( )

getTypeOfImageActiveLayer get the type of the active Layer.

Returns
returns the image type of the active layer.

Definition at line 298 of file PaintingArea.cpp.

◆ getWidthOfActive()

int PaintingArea::getWidthOfActive ( )

The getWidthOfActive gets the horizontal dimensions of the active layer.

Returns
Returns the horizontal pixle count of the active layer.

Definition at line 282 of file PaintingArea.cpp.

◆ historyadd()

void PaintingArea::historyadd ( )

historyadd adds an hisotry step

Definition at line 512 of file PaintingArea.cpp.

◆ historyGoBack()

void PaintingArea::historyGoBack ( )

historyGoBack go back in hisotry

Definition at line 519 of file PaintingArea.cpp.

◆ historyGoForward()

void PaintingArea::historyGoForward ( )

historyGoForward a function to undo the return of the previous state of the project.

Definition at line 528 of file PaintingArea.cpp.

◆ mouseMoveEvent()

void PaintingArea::mouseMoveEvent ( QMouseEvent *  event)
overrideprotected

mouseMoveEvent handles a mouse moved event

Parameters
event- the specific mouse event.

Definition at line 328 of file PaintingArea.cpp.

◆ mousePressEvent()

void PaintingArea::mousePressEvent ( QMouseEvent *  event)
overrideprotected

mousePressEvent handles a mouse pressed event.

Parameters
event- the specific mouse event.

Definition at line 309 of file PaintingArea.cpp.

◆ mouseReleaseEvent()

void PaintingArea::mouseReleaseEvent ( QMouseEvent *  event)
overrideprotected

mouseReleaseEvent handles a mouse released event

Parameters
event- the specific mouse event.

Definition at line 341 of file PaintingArea.cpp.

◆ moveActiveLayer()

void PaintingArea::moveActiveLayer ( int  idx)

The moveActiveLayer moves the active layer to a specific position in the layer stack.

Parameters
idx- The index of the new position the layer should be in

Definition at line 211 of file PaintingArea.cpp.

◆ movePositionActive()

void PaintingArea::movePositionActive ( int  x,
int  y 
)

The movePositionActive method moves the active layer to certain position.

Parameters
x- The x value the new center of the layer should be at
y- The y value the new center of the layer should be at

Definition at line 204 of file PaintingArea.cpp.

◆ open()

bool PaintingArea::open ( const QString &  filePath)

The open method is used for loading a picture into the current layer.

Parameters
filePath- Path and Name which are used to determine where the to-be-opened file is stored.
Returns
Returns a boolean variable whether the file was successfully opened or not.

Definition at line 162 of file PaintingArea.cpp.

◆ paintEvent()

void PaintingArea::paintEvent ( QPaintEvent *  event)
overrideprotected

paintEvent handles a painting event

Parameters
event- the specific paint event.

Definition at line 371 of file PaintingArea.cpp.

◆ save()

bool PaintingArea::save ( const QString &  filePath,
const char *  fileFormat 
)

The save method is used for exporting the current project as one picture.

Parameters
filePath- Specifies the path and name of the file to create.
fileFormat- Specifies the format of the file to create.
Returns
Returns a boolean variable, true if the file was saved successfully, false if not

Definition at line 181 of file PaintingArea.cpp.

◆ setCanvasDimensions()

void PaintingArea::setCanvasDimensions ( int  newMaxWidth,
int  newMaxHeight 
)

setCanvasDimensions sets the dimension of the Canvas

Parameters
newMaxWidth- the width of the Canvas.
newMaxHeight- the height of the Canvas.

Definition at line 72 of file PaintingArea.cpp.

◆ setLayerActive()

void PaintingArea::setLayerActive ( int  idx)

The setLayerToActive method marks a specific layer as active.

Parameters
idx- The index of the layer to be active

Definition at line 136 of file PaintingArea.cpp.

◆ setLayerAlpha()

void PaintingArea::setLayerAlpha ( int  idx,
int  alpha 
)

The setAlphaOfLayer method sets the alpha value of a specific layer.

Parameters
idx- The index of the layer where the change should be applied
alpha- New alpha value of the layer

Definition at line 143 of file PaintingArea.cpp.

◆ setPolygon()

void PaintingArea::setPolygon ( int  idx)

setPolygon is used for setting polygondata, it only works on RASTER images

Parameters
idx- represents the number of the layer with should be transformed

Definition at line 150 of file PaintingArea.cpp.

◆ setPolygonDataToActive()

void PaintingArea::setPolygonDataToActive ( std::vector< QPoint >  points)

setPolygonDataToActive sets polygondata to the active Layer.

Parameters
points- the points of the polygon data.

Definition at line 90 of file PaintingArea.cpp.

◆ setRenderSettings()

void PaintingArea::setRenderSettings ( bool  isFastRenderingOn)

setRenderSettings updates all Images to the new Rendersetting.

Parameters
isFastRenderingOnis the new given flag for the FastRenderer.

Definition at line 51 of file PaintingArea.cpp.

◆ slotActivateLayer

void PaintingArea::slotActivateLayer ( int  a)
slot

The slotActivateLayer method handles the event of selecting one layer as active.

Parameters
a- idx of the layer to be active

Definition at line 222 of file PaintingArea.cpp.

◆ slotDeleteActiveLayer

void PaintingArea::slotDeleteActiveLayer ( )
slot

The slotDeleteActiveLayer method handles the deletion of the active layer.

Definition at line 128 of file PaintingArea.cpp.

◆ wheelEvent()

void PaintingArea::wheelEvent ( QWheelEvent *  event)
overrideprotected

wheelEvent handles a mouse wheel event

Parameters
event- the specific mouse event.

Definition at line 356 of file PaintingArea.cpp.

Member Data Documentation

◆ colorPicker

IntelliColorPicker PaintingArea::colorPicker

colorPicker a class to manage Tool color.

Definition at line 286 of file PaintingArea.h.

◆ Toolsettings

IntelliToolsettings PaintingArea::Toolsettings

Toolsettings - a class to manage Tool settings.

Definition at line 281 of file PaintingArea.h.


The documentation for this class was generated from the following files: