From 83201fe7145daa354b3358a20703fe63467f05ca Mon Sep 17 00:00:00 2001 From: Conrad Date: Thu, 16 Jan 2020 22:55:15 +0100 Subject: [PATCH 1/4] Automated Release Preparation --- Examples/biggest_flex_featureimage.jpg | Bin 32975 -> 0 bytes Examples/farbkreis_featuredimage.png | Bin 116293 -> 0 bytes cppcheck_config.txt | 113 +- cppcheck_errors.txt | 333 +++- .../_intelli_color_picker_8cpp_source.html | 70 +- .../html/_intelli_color_picker_8h_source.html | 22 +- docs/html/_intelli_image_8h_source.html | 2 +- docs/html/_intelli_photo_gui_8cpp_source.html | 1434 +++++++++-------- docs/html/_intelli_photo_gui_8h_source.html | 226 +-- .../html/_intelli_raster_image_8h_source.html | 2 +- .../_intelli_render_settings_8h_source.html | 2 +- .../html/_intelli_shaped_image_8h_source.html | 2 +- docs/html/_intelli_tool_8cpp_source.html | 4 +- docs/html/_intelli_tool_8h_source.html | 2 +- .../_intelli_tool_circle_8cpp_source.html | 38 +- docs/html/_intelli_tool_circle_8h_source.html | 2 +- .../_intelli_tool_flood_fill_8cpp_source.html | 2 +- .../_intelli_tool_flood_fill_8h_source.html | 2 +- docs/html/_intelli_tool_line_8cpp_source.html | 2 +- docs/html/_intelli_tool_line_8h_source.html | 2 +- docs/html/_intelli_tool_pen_8cpp_source.html | 2 +- docs/html/_intelli_tool_pen_8h_source.html | 2 +- .../html/_intelli_tool_plain_8cpp_source.html | 2 +- docs/html/_intelli_tool_plain_8h_source.html | 2 +- docs/html/_intelli_tool_polygon_8cpp.html | 1 + .../_intelli_tool_polygon_8cpp_source.html | 311 ++-- .../html/_intelli_tool_polygon_8h_source.html | 18 +- .../_intelli_tool_rectangle_8cpp_source.html | 4 +- .../_intelli_tool_rectangle_8h_source.html | 2 +- docs/html/_painting_area_8cpp_source.html | 14 +- docs/html/class_intelli_color_picker.html | 12 +- docs/html/class_intelli_photo_gui.html | 4 +- docs/html/class_intelli_tool_polygon.html | 16 +- docs/html/main_unit_test_8cpp_source.html | 344 ++-- docs/html/tst__unittest_8cpp_source.html | 16 +- src/GUI/IntelliPhotoGui.cpp | 94 +- src/Image/IntelliImage.h | 2 +- src/Image/IntelliRasterImage.h | 2 +- src/Image/IntelliShapedImage.h | 2 +- src/IntelliHelper/IntelliColorPicker.cpp | 6 +- src/IntelliHelper/IntelliColorPicker.h | 2 +- src/IntelliHelper/IntelliRenderSettings.h | 2 +- src/Layer/PaintingArea.cpp | 6 +- src/Layer/PaintingArea.h | 36 +- src/Tool/IntelliTool.cpp | 8 +- src/Tool/IntelliTool.h | 6 +- src/Tool/IntelliToolCircle.cpp | 34 +- src/Tool/IntelliToolCircle.h | 2 +- src/Tool/IntelliToolFloodFill.h | 2 +- src/Tool/IntelliToolLine.h | 2 +- src/Tool/IntelliToolPen.h | 2 +- src/Tool/IntelliToolPlain.h | 2 +- src/Tool/IntelliToolPolygon.cpp | 12 +- src/Tool/IntelliToolPolygon.h | 2 +- src/Tool/IntelliToolRectangle.h | 2 +- src/mainUnitTest.cpp | 304 ++-- src/tst_unittest.cpp | 118 +- 57 files changed, 2058 insertions(+), 1600 deletions(-) delete mode 100644 Examples/biggest_flex_featureimage.jpg delete mode 100644 Examples/farbkreis_featuredimage.png diff --git a/Examples/biggest_flex_featureimage.jpg b/Examples/biggest_flex_featureimage.jpg deleted file mode 100644 index e830e0a9becc31ab244bd925a0b6d787212a718c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32975 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 diff --git a/Examples/farbkreis_featuredimage.png b/Examples/farbkreis_featuredimage.png deleted file mode 100644 index 10e2872a97741644842b607a8dccd31afd0ff06b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116293 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 H<@`C~+)B^A#mfw_UTP_V>!B}=_5N24 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

+wxnp&Q16@ O0000 not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] +src/GUI/IntelliInputDialog.h:4:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] ^ -src/GUI/IntelliInputDialog.cpp:2:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] +src/GUI/IntelliInputDialog.h:5:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] ^ -src/GUI/IntelliPhotoGui.h:4:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] +src/GUI/IntelliInputDialog.h:6:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] ^ -src/GUI/IntelliPhotoGui.h:5:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] +src/GUI/IntelliInputDialog.h:7:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] ^ -src/GUI/IntelliPhotoGui.h:6:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] +src/GUI/IntelliInputDialog.h:8:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] ^ -src/GUI/IntelliPhotoGui.h:7:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] +src/GUI/IntelliInputDialog.h:9:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] ^ -src/GUI/IntelliPhotoGui.h:8:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] +src/GUI/IntelliInputDialog.h:10:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] ^ -src/GUI/IntelliPhotoGui.h:9:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] +src/GUI/IntelliPhotoGui.h:4:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] ^ -src/GUI/IntelliPhotoGui.h:10:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] +src/GUI/IntelliPhotoGui.h:5:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] ^ -src/GUI/IntelliPhotoGui.h:11:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] +src/GUI/IntelliPhotoGui.h:6:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] ^ -src/GUI/IntelliPhotoGui.h:12:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] +src/GUI/IntelliPhotoGui.h:7:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + +^ +src/GUI/IntelliPhotoGui.h:8:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + +^ +src/GUI/IntelliPhotoGui.h:9:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + +^ +src/GUI/IntelliPhotoGui.h:10:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + +^ +src/GUI/IntelliPhotoGui.h:11:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + +^ +src/GUI/IntelliPhotoGui.h:12:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + +^ +src/GUI/IntelliPhotoGui.h:13:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + +^ +src/GUI/IntelliPhotoGui.h:14:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + +^ +src/GUI/IntelliPhotoGui.h:15:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + +^ +src/GUI/IntelliPhotoGui.h:16:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] ^ src/GUI/IntelliPhotoGui.cpp:4:0: information: Include file: "Layer/PaintingArea.h" not found. [missingInclude] @@ -82,10 +109,10 @@ src/IntelliHelper/IntelliColorPicker.h:6:0: information: Include file: "QColorDi src/IntelliHelper/IntelliToolsettings.cpp:2:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] ^ -src/IntelliHelper/IntelliTriangulation.h:4:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] +src/IntelliHelper/IntelliTriangulation.h:7:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] ^ -src/IntelliHelper/IntelliTriangulation.h:5:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] +src/IntelliHelper/IntelliTriangulation.h:8:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] ^ src/IntelliHelper/IntelliTriangulation.cpp:2:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] @@ -171,12 +198,6 @@ src/Layer/PaintingArea.cpp:18:0: information: Include file: "Tool/IntelliToolFlo ^ src/Layer/PaintingArea.cpp:19:0: information: Include file: "Tool/IntelliToolPolygon.h" not found. [missingInclude] -^ -src/Tool/IntelliColorPicker.cpp:1:0: information: Include file: "IntelliColorPicker.h" not found. [missingInclude] - -^ -src/Tool/IntelliColorPicker.cpp:2:0: information: Include file: "QDebug" not found. [missingInclude] - ^ src/Tool/IntelliTool.h:4:0: information: Include file: "IntelliHelper/IntelliColorPicker.h" not found. [missingInclude] @@ -282,6 +303,9 @@ src/Tool/IntelliToolPolygon.cpp:4:0: information: Include file: n ^ src/Tool/IntelliToolPolygon.cpp:5:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] +^ +src/Tool/IntelliToolPolygon.cpp:6:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + ^ src/Tool/IntelliToolRectangle.h:6:0: information: Include file: "QColor" not found. [missingInclude] @@ -304,3 +328,54 @@ src/main.cpp:3:0: information: Include file: not found. Please note: Cp src/main.cpp:4:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] ^ +src/mainUnitTest.cpp:1:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + +^ +src/mainUnitTest.cpp:3:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + +^ +src/mainUnitTest.cpp:252:0: information: Include file: "tst_unittest.moc" not found. [missingInclude] + +^ +src/tst_unittest.cpp:1:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + +^ +src/tst_unittest.cpp:2:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + +^ +src/Image/IntelliImage.h:4:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + +^ +src/Image/IntelliImage.h:5:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + +^ +src/Image/IntelliImage.h:6:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + +^ +src/Image/IntelliImage.h:7:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + +^ +src/Image/IntelliImage.h:8:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + +^ +src/Image/IntelliImage.h:9:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + +^ +src/Image/IntelliImage.h:11:0: information: Include file: "IntelliHelper/IntelliTriangulation.h" not found. [missingInclude] + +^ +src/Image/IntelliImage.h:12:0: information: Include file: "IntelliHelper/IntelliRenderSettings.h" not found. [missingInclude] + +^ +src/Image/IntelliRasterImage.h:4:0: information: Include file: "Image/IntelliImage.h" not found. [missingInclude] + +^ +src/Image/IntelliShapedImage.h:4:0: information: Include file: "Image/IntelliRasterImage.h" not found. [missingInclude] + +^ +src/Image/IntelliShapedImage.h:5:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + +^ +src/tst_unittest.cpp:1697:0: information: Include file: "tst_unittest.moc" not found. [missingInclude] + +^ diff --git a/cppcheck_errors.txt b/cppcheck_errors.txt index bf06cfd..99be2cd 100644 --- a/cppcheck_errors.txt +++ b/cppcheck_errors.txt @@ -1,79 +1,298 @@ -src/IntelliHelper/IntelliColorPicker.cpp:4:3: performance: Variable 'firstColor' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] - firstColor = {255,0,0,255}; - ^ -src/IntelliHelper/IntelliColorPicker.cpp:5:3: performance: Variable 'secondColor' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] - secondColor = {0,255,255,255}; - ^ -src/IntelliHelper/IntelliTriangulation.cpp:116:63: style: Parameter 'triangles' can be declared with const [constParameter] -bool IntelliTriangulation::isInPolygon(std::vector &triangles, QPoint &point){ - ^ -src/Layer/PaintingArea.cpp:344:22: style: Redundant condition: If 'activeLayer > 0', the comparison 'activeLayer != -1' is always true. [redundantCondition] - if(activeLayer!=-1 && activeLayer>0) { - ^ -src/Tool/IntelliTool.cpp:4:14: warning: Member variable 'IntelliTool::ActiveType' is not initialized in the constructor. [uninitMemberVar] -IntelliTool::IntelliTool(PaintingArea* Area, IntelliColorPicker* colorPicker, IntelliToolsettings* Toolsettings){ - ^ -src/Tool/IntelliTool.cpp:4:14: warning: Member variable 'IntelliTool::activeLayer' is not initialized in the constructor. [uninitMemberVar] -IntelliTool::IntelliTool(PaintingArea* Area, IntelliColorPicker* colorPicker, IntelliToolsettings* Toolsettings){ - ^ -src/Tool/IntelliTool.cpp:4:14: warning: Member variable 'IntelliTool::Canvas' is not initialized in the constructor. [uninitMemberVar] -IntelliTool::IntelliTool(PaintingArea* Area, IntelliColorPicker* colorPicker, IntelliToolsettings* Toolsettings){ - ^ -src/Tool/IntelliToolCircle.cpp:42:9: style: Local variable 'yMin' shadows outer variable [shadowVariable] - int yMin = static_cast(centerPoint.y() - sqrt(pow(radius,2) - pow(i - centerPoint.x(),2))); - ^ -src/Tool/IntelliToolCircle.cpp:18:7: note: Shadowed declaration - int yMin, yMax, xMin, xMax; - ^ -src/Tool/IntelliToolCircle.cpp:42:9: note: Shadow variable - int yMin = static_cast(centerPoint.y() - sqrt(pow(radius,2) - pow(i - centerPoint.x(),2))); - ^ -src/Tool/IntelliToolCircle.cpp:43:9: style: Local variable 'yMax' shadows outer variable [shadowVariable] - int yMax = static_cast(centerPoint.y() + sqrt(pow(radius,2) - pow(i - centerPoint.x(),2))); - ^ -src/Tool/IntelliToolCircle.cpp:18:13: note: Shadowed declaration - int yMin, yMax, xMin, xMax; - ^ -src/Tool/IntelliToolCircle.cpp:43:9: note: Shadow variable - int yMax = static_cast(centerPoint.y() + sqrt(pow(radius,2) - pow(i - centerPoint.x(),2))); - ^ -src/Tool/IntelliToolPolygon.h:25:6: warning: The class 'IntelliToolPolygon' defines member variable with name 'isDrawing' also defined in its parent class 'IntelliTool'. [duplInheritedMember] -bool isDrawing; - ^ -src/Tool/IntelliTool.h:69:6: note: Parent variable 'IntelliTool::isDrawing' -bool isDrawing = false; - ^ -src/Tool/IntelliToolPolygon.h:25:6: note: Derived variable 'IntelliToolPolygon::isDrawing' -bool isDrawing; - ^ +src/tst_unittest.cpp:1370:0: style: The function 'bench_Circle_fullDraw' is never used. [unusedFunction] + +^ +src/tst_unittest.cpp:1388:0: style: The function 'bench_Circle_interruptedDraw' is never used. [unusedFunction] + +^ +src/tst_unittest.cpp:1409:0: style: The function 'bench_FloodFill_fullDraw' is never used. [unusedFunction] + +^ +src/tst_unittest.cpp:1427:0: style: The function 'bench_FloodFill_interruptedDraw' is never used. [unusedFunction] + +^ +src/tst_unittest.cpp:1448:0: style: The function 'bench_Line_fullDraw' is never used. [unusedFunction] + +^ +src/tst_unittest.cpp:1466:0: style: The function 'bench_Line_interruptedDraw' is never used. [unusedFunction] + +^ +src/tst_unittest.cpp:1487:0: style: The function 'bench_Pen_fullDraw' is never used. [unusedFunction] + +^ +src/tst_unittest.cpp:1505:0: style: The function 'bench_Pen_interruptedDraw' is never used. [unusedFunction] + +^ +src/tst_unittest.cpp:1525:0: style: The function 'bench_Plain_fullDraw' is never used. [unusedFunction] + +^ +src/tst_unittest.cpp:1543:0: style: The function 'bench_Plain_interruptedDraw' is never used. [unusedFunction] + +^ +src/tst_unittest.cpp:1563:0: style: The function 'bench_Polygon_fullDraw' is never used. [unusedFunction] + +^ +src/tst_unittest.cpp:1602:0: style: The function 'bench_Polygon_interruptedDraw' is never used. [unusedFunction] + +^ +src/tst_unittest.cpp:1222:0: style: The function 'bench_RasterImage_drawLine' is never used. [unusedFunction] + +^ +src/tst_unittest.cpp:1210:0: style: The function 'bench_RasterImage_drawPixel' is never used. [unusedFunction] + +^ +src/tst_unittest.cpp:1235:0: style: The function 'bench_RasterImage_drawPoint' is never used. [unusedFunction] + +^ +src/tst_unittest.cpp:1247:0: style: The function 'bench_RasterImage_getDisplayable' is never used. [unusedFunction] + +^ +src/tst_unittest.cpp:1269:0: style: The function 'bench_RasterImage_getImageData' is never used. [unusedFunction] + +^ +src/tst_unittest.cpp:1257:0: style: The function 'bench_RasterImage_getPixelColor' is never used. [unusedFunction] + +^ +src/tst_unittest.cpp:1279:0: style: The function 'bench_RasterImage_setImageData' is never used. [unusedFunction] + +^ +src/tst_unittest.cpp:1626:0: style: The function 'bench_Rectangle_fullDraw' is never used. [unusedFunction] + +^ +src/tst_unittest.cpp:1645:0: style: The function 'bench_Rectangle_interruptedDraw' is never used. [unusedFunction] + +^ +src/tst_unittest.cpp:1302:0: style: The function 'bench_ShapedImage_drawLine' is never used. [unusedFunction] + +^ +src/tst_unittest.cpp:1290:0: style: The function 'bench_ShapedImage_drawPixel' is never used. [unusedFunction] + +^ +src/tst_unittest.cpp:1315:0: style: The function 'bench_ShapedImage_drawPoint' is never used. [unusedFunction] + +^ +src/tst_unittest.cpp:1327:0: style: The function 'bench_ShapedImage_getDisplayable' is never used. [unusedFunction] + +^ +src/tst_unittest.cpp:1349:0: style: The function 'bench_ShapedImage_getImageData' is never used. [unusedFunction] + +^ +src/tst_unittest.cpp:1337:0: style: The function 'bench_ShapedImage_getPixelColor' is never used. [unusedFunction] + +^ +src/tst_unittest.cpp:1359:0: style: The function 'bench_ShapedImage_setImageData' is never used. [unusedFunction] + +^ +src/tst_unittest.cpp:1666:0: style: The function 'bench_Triangulation_Coverage' is never used. [unusedFunction] + +^ +src/tst_unittest.cpp:1079:0: style: The function 'bench_addLayer' is never used. [unusedFunction] + +^ +src/tst_unittest.cpp:1180:0: style: The function 'bench_createTools' is never used. [unusedFunction] + +^ +src/tst_unittest.cpp:1086:0: style: The function 'bench_deleteLayer' is never used. [unusedFunction] + +^ +src/tst_unittest.cpp:1115:0: style: The function 'bench_floodFill' is never used. [unusedFunction] + +^ +src/tst_unittest.cpp:1125:0: style: The function 'bench_moveActive' is never used. [unusedFunction] + +^ +src/tst_unittest.cpp:1093:0: style: The function 'bench_setActive' is never used. [unusedFunction] + +^ +src/tst_unittest.cpp:1105:0: style: The function 'bench_setAlpha' is never used. [unusedFunction] + +^ +src/tst_unittest.cpp:1168:0: style: The function 'bench_setLayerDown' is never used. [unusedFunction] + +^ +src/tst_unittest.cpp:1155:0: style: The function 'bench_setLayerUp' is never used. [unusedFunction] + +^ +src/tst_unittest.cpp:1138:0: style: The function 'bench_setPolygon' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:118:0: style: The function 'cleanupTestCase' is never used. [unusedFunction] + +^ src/GUI/IntelliPhotoGui.cpp:23:0: style: The function 'closeEvent' is never used. [unusedFunction] ^ -src/Layer/PaintingArea.cpp:271:0: style: The function 'mouseMoveEvent' is never used. [unusedFunction] +src/mainUnitTest.cpp:113:0: style: The function 'initTestCase' is never used. [unusedFunction] ^ -src/Layer/PaintingArea.cpp:252:0: style: The function 'mousePressEvent' is never used. [unusedFunction] +src/Layer/PaintingArea.cpp:281:0: style: The function 'mouseMoveEvent' is never used. [unusedFunction] ^ -src/Layer/PaintingArea.cpp:284:0: style: The function 'mouseReleaseEvent' is never used. [unusedFunction] +src/Layer/PaintingArea.cpp:262:0: style: The function 'mousePressEvent' is never used. [unusedFunction] ^ -src/Layer/PaintingArea.cpp:314:0: style: The function 'paintEvent' is never used. [unusedFunction] +src/Layer/PaintingArea.cpp:294:0: style: The function 'mouseReleaseEvent' is never used. [unusedFunction] ^ -src/Layer/PaintingArea.cpp:325:0: style: The function 'resizeEvent' is never used. [unusedFunction] +src/Layer/PaintingArea.cpp:324:0: style: The function 'paintEvent' is never used. [unusedFunction] ^ -src/Layer/PaintingArea.cpp:330:0: style: The function 'resizeLayer' is never used. [unusedFunction] +src/Layer/PaintingArea.cpp:180:0: style: The function 'slotActivateLayer' is never used. [unusedFunction] ^ -src/Layer/PaintingArea.cpp:170:0: style: The function 'slotActivateLayer' is never used. [unusedFunction] +src/Layer/PaintingArea.cpp:96:0: style: The function 'slotDeleteActiveLayer' is never used. [unusedFunction] ^ -src/Layer/PaintingArea.cpp:88:0: style: The function 'slotDeleteActiveLayer' is never used. [unusedFunction] +src/mainUnitTest.cpp:211:0: style: The function 'test_Circle_fullDraw' is never used. [unusedFunction] ^ -src/Layer/PaintingArea.cpp:299:0: style: The function 'wheelEvent' is never used. [unusedFunction] +src/mainUnitTest.cpp:213:0: style: The function 'test_Circle_interruptedDraw' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:216:0: style: The function 'test_FloodFill_fullDraw' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:218:0: style: The function 'test_FloodFill_interruptedDraw' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:221:0: style: The function 'test_Line_fullDraw' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:223:0: style: The function 'test_Line_interruptedDraw' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:226:0: style: The function 'test_Pen_fullDraw' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:228:0: style: The function 'test_Pen_interruptedDraw' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:231:0: style: The function 'test_Plain_fullDraw' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:233:0: style: The function 'test_Plain_interruptedDraw' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:236:0: style: The function 'test_Polygon_fullDraw' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:238:0: style: The function 'test_Polygon_interruptedDraw' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:157:0: style: The function 'test_RasterImage_drawLine' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:155:0: style: The function 'test_RasterImage_drawPixel' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:159:0: style: The function 'test_RasterImage_drawPoint' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:161:0: style: The function 'test_RasterImage_getDisplayable' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:169:0: style: The function 'test_RasterImage_getImageData' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:167:0: style: The function 'test_RasterImage_getPixelColor' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:165:0: style: The function 'test_RasterImage_loadImage' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:171:0: style: The function 'test_RasterImage_setImageData' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:163:0: style: The function 'test_RasterImage_setPolygon' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:241:0: style: The function 'test_Rectangle_fullDraw' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:243:0: style: The function 'test_Rectangle_interruptedDraw' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:177:0: style: The function 'test_ShapedImage_drawLine' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:175:0: style: The function 'test_ShapedImage_drawPixel' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:179:0: style: The function 'test_ShapedImage_drawPoint' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:181:0: style: The function 'test_ShapedImage_getDisplayable' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:189:0: style: The function 'test_ShapedImage_getImageData' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:187:0: style: The function 'test_ShapedImage_getPixelColor' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:185:0: style: The function 'test_ShapedImage_loadImage' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:191:0: style: The function 'test_ShapedImage_setImageData' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:183:0: style: The function 'test_ShapedImage_setPolygon' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:247:0: style: The function 'test_Triangulation_Coverage' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:132:0: style: The function 'test_addLayer' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:195:0: style: The function 'test_createTool_Circle' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:197:0: style: The function 'test_createTool_FloodFill' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:199:0: style: The function 'test_createTool_Line' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:201:0: style: The function 'test_createTool_Pen' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:203:0: style: The function 'test_createTool_Plain' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:205:0: style: The function 'test_createTool_Polygon' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:207:0: style: The function 'test_createTool_Rectangle' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:151:0: style: The function 'test_createTools' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:134:0: style: The function 'test_deleteLayer' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:140:0: style: The function 'test_floodFill' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:142:0: style: The function 'test_moveActive' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:136:0: style: The function 'test_setActive' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:138:0: style: The function 'test_setAlpha' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:148:0: style: The function 'test_setLayerDown' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:146:0: style: The function 'test_setLayerUp' is never used. [unusedFunction] + +^ +src/mainUnitTest.cpp:144:0: style: The function 'test_setPolygon' is never used. [unusedFunction] + +^ +src/Layer/PaintingArea.cpp:309:0: style: The function 'wheelEvent' is never used. [unusedFunction] ^ nofile:0:0: information: Cppcheck cannot find all the include files (use --check-config for details) [missingInclude] diff --git a/docs/html/_intelli_color_picker_8cpp_source.html b/docs/html/_intelli_color_picker_8cpp_source.html index 7d1ff02..cf20522 100644 --- a/docs/html/_intelli_color_picker_8cpp_source.html +++ b/docs/html/_intelli_color_picker_8cpp_source.html @@ -89,42 +89,46 @@ $(document).ready(function(){initNavTree('_intelli_color_picker_8cpp_source.html Go to the documentation of this file.

1 #include "IntelliColorPicker.h"
2 
-
4  firstColor = QColor(255,0,0,255);
-
5  secondColor = QColor(0,255,255,255);
-
6 }
-
7 
- -
9 
-
10 }
-
11 
- -
13  std::swap(firstColor, secondColor);
-
14 }
-
15 
- -
17  return this->firstColor;
-
18 }
-
19 
- -
21  return this->secondColor;
-
22 }
-
23 
- -
25  this->firstColor = Color;
-
26 }
-
27 
- -
29  this->secondColor = Color;
-
30 }
+
4  initializeColors();
+
5 }
+
6 
+ +
8 
+
9 }
+
10 
+ +
12  std::swap(firstColor, secondColor);
+
13 }
+
14 
+ +
16  return this->firstColor;
+
17 }
+
18 
+ +
20  return this->secondColor;
+
21 }
+
22 
+ +
24  this->firstColor = Color;
+
25 }
+
26 
+ +
28  this->secondColor = Color;
+
29 }
+
30 
+
31 void IntelliColorPicker::initializeColors(){
+
32  this->firstColor = QColor(255,0,0,255);
+
33  this->secondColor = QColor(0,0,0,255);
+
34 }
-
virtual ~IntelliColorPicker()
IntelliColorPicker destructor clears up his used memory, if there is some.
-
void setSecondColor(QColor Color)
A function to set the secondary color.
-
QColor getSecondColor()
A function to read the secondary selected color.
+
virtual ~IntelliColorPicker()
IntelliColorPicker destructor clears up his used memory, if there is some.
+
void setSecondColor(QColor Color)
A function to set the secondary color.
+
QColor getSecondColor()
A function to read the secondary selected color.
-
void setFirstColor(QColor Color)
A function to set the primary color.
-
QColor getFirstColor()
A function to read the primary selected color.
-
void swapColors()
A function switching primary and secondary color.
+
void setFirstColor(QColor Color)
A function to set the primary color.
+
QColor getFirstColor()
A function to read the primary selected color.
+
void swapColors()
A function switching primary and secondary color.
IntelliColorPicker()
IntelliColorPicker constructor, setting 2 preset colors, be careful, theese color may change in produ...
-
virtual ~IntelliColorPicker()
IntelliColorPicker destructor clears up his used memory, if there is some.
-
void setSecondColor(QColor Color)
A function to set the secondary color.
-
QColor getSecondColor()
A function to read the secondary selected color.
-
void setFirstColor(QColor Color)
A function to set the primary color.
-
QColor getFirstColor()
A function to read the primary selected color.
+
virtual ~IntelliColorPicker()
IntelliColorPicker destructor clears up his used memory, if there is some.
+
void setSecondColor(QColor Color)
A function to set the secondary color.
+
QColor getSecondColor()
A function to read the secondary selected color.
+
void setFirstColor(QColor Color)
A function to set the primary color.
+
QColor getFirstColor()
A function to read the primary selected color.
The IntelliColorPicker manages the selected colors for one whole project.
-
void swapColors()
A function switching primary and secondary color.
+
void swapColors()
A function switching primary and secondary color.
IntelliColorPicker()
IntelliColorPicker constructor, setting 2 preset colors, be careful, theese color may change in produ...
void createCircleTool()
@@ -915,7 +963,7 @@ $(document).ready(function(){initNavTree('_intelli_photo_gui_8cpp_source.html','
void setLayerActive(int idx)
The setLayerToActive method marks a specific layer as active.
void deleteLayer(int idx, bool isTool=false)
The deleteLayer method removes a layer at a given idx.
-
QColor getSecondColor()
A function to read the secondary selected color.
+
QColor getSecondColor()
A function to read the secondary selected color.
void createPlainTool()
IntelliPhotoGui()
The IntelliPhotoGui method is the constructor and is used to create a new instance of the main progra...
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:53
@@ -929,16 +977,16 @@ $(document).ready(function(){initNavTree('_intelli_photo_gui_8cpp_source.html','
void closeEvent(QCloseEvent *event) override
The closeEvent function handles closing events.
virtual QImage getImageData()
getImageData returns the data of the current image (Note: It will allways return a ARGB32bit QImage!...
-
void setToolWidth(int value)
+
void setToolWidth(int value)
bool open(const QString &filePath)
The open method is used for loading a picture into the current layer.
void createPolygonTool()
void moveActiveLayer(int idx)
The moveActiveLayer moves the active layer to a specific position in the layer stack.
IntelliColorPicker colorPicker
Definition: PaintingArea.h:202
-
QColor getFirstColor()
A function to read the primary selected color.
+
QColor getFirstColor()
A function to read the primary selected color.
void createFloodFillTool()
void setInnerAlpha(int innerAlpha)
- +
IntelliToolsettings Toolsettings
Definition: PaintingArea.h:201
void setPolygon(int idx)
setPolygon is used for setting polygondata, it only works on RASTER images
diff --git a/docs/html/_intelli_photo_gui_8h_source.html b/docs/html/_intelli_photo_gui_8h_source.html index 918ad77..c09ecc4 100644 --- a/docs/html/_intelli_photo_gui_8h_source.html +++ b/docs/html/_intelli_photo_gui_8h_source.html @@ -165,119 +165,127 @@ $(document).ready(function(){initNavTree('_intelli_photo_gui_8h_source.html','')
86 
87 void slotAboutDialog();
88 
-
89 void slotEnterPressed();
+
89 void slotChangeDim();
90 
-
91 void slotSetWidth();
-
92 void slotSetInnerAlpha();
-
93 
-
94 void slotResetTools();
+
91 void slotEnterPressed();
+
92 
+
93 void slotSetWidth();
+
94 void slotSetInnerAlpha();
95 
-
96 private:
-
97 void createActions();
-
98 void createMenus();
-
99 void createGui();
-
100 // Set the style of the GUI
-
101 void setIntelliStyle();
-
102 
-
103 // Will check if changes have occurred since last save
-
104 bool maybeSave();
-
105 // Opens the Save dialog and saves
-
106 bool saveFile(const QByteArray &fileFormat);
-
107 
-
108 void setDefaultToolValue();
+
96 void slotResetTools();
+
97 
+
98 private:
+
99 void createActions();
+
100 void createMenus();
+
101 void createGui();
+
102 // Set the style of the GUI
+
103 void setIntelliStyle();
+
104 
+
105 // Will check if changes have occurred since last save
+
106 bool maybeSave();
+
107 // Opens the Save dialog and saves
+
108 bool saveFile(const QByteArray &fileFormat);
109 
-
110 // What we'll draw on
-
111 PaintingArea* paintingArea;
-
112 
-
113 const QSize Buttonsize = QSize(35,35);
-
114 QPixmap preview;
-
115 QPushButton* CircleButton;
-
116 QPushButton* FloodFillButton;
-
117 QPushButton* LineButton;
-
118 QPushButton* PenButton;
-
119 QPushButton* PlainButton;
-
120 QPushButton* PolygonButton;
-
121 QPushButton* RectangleButton;
-
122 QLabel* WidthLine;
-
123 QLabel* innerAlphaLine;
-
124 QLineEdit* EditLineWidth;
-
125 QLineEdit* EditLineInnerAlpha;
-
126 QIntValidator* ValidatorLineWidth;
-
127 QIntValidator* ValidatorInnerAlpha;
-
128 
-
129 QPushButton* FirstColorButton;
-
130 QPushButton* SecondColorButton;
-
131 QPushButton* SwitchColorButton;
-
132 
-
133 QLabel* ActiveLayerLine;
-
134 QLabel* ActiveLayerImageLabel;
-
135 
-
136 // The menu widgets
-
137 QMenu*saveAsMenu;
-
138 QMenu*fileMenu;
-
139 QMenu*renderMenu;
-
140 QMenu*optionMenu;
-
141 QMenu*layerCreationMenu;
-
142 QMenu*layerMenu;
-
143 QMenu*colorMenu;
-
144 QMenu*toolCreationMenu;
-
145 QMenu*toolSettingsMenu;
-
146 QMenu*toolMenu;
-
147 QMenu*helpMenu;
-
148 
-
149 // All the actions that can occur
-
150 // meta image actions (need further modularisation)
-
151 QAction* actionOpen;
-
152 QAction* actionExit;
+
110 void setDefaultToolValue();
+
111 
+
112 // What we'll draw on
+
113 PaintingArea* paintingArea;
+
114 
+
115 const QSize Buttonsize = QSize(35,35);
+
116 QPixmap preview;
+
117 QPushButton* CircleButton;
+
118 QPushButton* FloodFillButton;
+
119 QPushButton* LineButton;
+
120 QPushButton* PenButton;
+
121 QPushButton* PlainButton;
+
122 QPushButton* PolygonButton;
+
123 QPushButton* RectangleButton;
+
124 QLabel* WidthLine;
+
125 QLabel* innerAlphaLine;
+
126 QLineEdit* EditLineWidth;
+
127 QLineEdit* EditLineInnerAlpha;
+
128 QIntValidator* ValidatorLineWidth;
+
129 QIntValidator* ValidatorInnerAlpha;
+
130 
+
131 QPushButton* FirstColorButton;
+
132 QPushButton* SecondColorButton;
+
133 QPushButton* SwitchColorButton;
+
134 
+
135 QLabel* ActiveLayerLine;
+
136 QLabel* ActiveLayerImageLabel;
+
137 
+
138 QPushButton* dimActive;
+
139 QPushButton* dimCanvas;
+
140 
+
141 // The menu widgets
+
142 QMenu*saveAsMenu;
+
143 QMenu*fileMenu;
+
144 QMenu*renderMenu;
+
145 QMenu*optionMenu;
+
146 QMenu*layerCreationMenu;
+
147 QMenu*layerMenu;
+
148 QMenu*colorMenu;
+
149 QMenu*toolCreationMenu;
+
150 QMenu*toolSettingsMenu;
+
151 QMenu*toolMenu;
+
152 QMenu*helpMenu;
153 
-
154 //Rendersetting actions
-
155 QAction*actionUpdateRenderSettingsOn;
-
156 QAction*actionUpdateRenderSettingsOff;
-
157 
-
158 // color Picker actions
-
159 QAction* actionColorPickerFirstColor;
-
160 QAction* actionColorPickerSecondColor;
-
161 QAction* actionColorSwap;
+
154 // All the actions that can occur
+
155 // meta image actions (need further modularisation)
+
156 QAction* actionOpen;
+
157 QAction* actionExit;
+
158 
+
159 //Rendersetting actions
+
160 QAction*actionUpdateRenderSettingsOn;
+
161 QAction*actionUpdateRenderSettingsOff;
162 
-
163 // tool actions
-
164 QAction* actionCreatePenTool;
-
165 QAction* actionCreatePlainTool;
-
166 QAction* actionCreateLineTool;
-
167 QAction* actionCreateRectangleTool;
-
168 QAction* actionCreateCircleTool;
-
169 QAction* actionCreatePolygonTool;
-
170 QAction* actionCreateFloodFillTool;
-
171 
-
172 // dialog actions
-
173 QAction* actionAboutDialog;
-
174 QAction* actionAboutQtDialog;
-
175 
-
176 // layer change actions
-
177 QAction* actionCreateNewRasterLayer;
-
178 QAction* actionCreateNewShapedLayer;
-
179 QAction* actionDeleteLayer;
-
180 QAction* actionSetActiveLayer;
-
181 QAction* actionSetActiveAlpha;
-
182 QAction* actionSetPolygon;
-
183 QAction* actionMovePositionUp;
-
184 QAction* actionMovePositionDown;
-
185 QAction* actionMovePositionLeft;
-
186 QAction* actionMovePositionRight;
-
187 QAction* actionMoveLayerUp;
-
188 QAction* actionMoveLayerDown;
-
189 
-
190 // Actions tied to specific file formats
-
191 QList<QAction*> actionSaveAs;
-
192 
-
193 QAction* actionSetWidth;
-
194 QAction* actionSetInnerAlpha;
-
195 
-
196 // main GUI elements
-
197 QWidget* centralGuiWidget;
-
198 QGridLayout* mainLayout;
-
199 };
+
163 // color Picker actions
+
164 QAction* actionColorPickerFirstColor;
+
165 QAction* actionColorPickerSecondColor;
+
166 QAction* actionColorSwap;
+
167 
+
168 // tool actions
+
169 QAction* actionCreatePenTool;
+
170 QAction* actionCreatePlainTool;
+
171 QAction* actionCreateLineTool;
+
172 QAction* actionCreateRectangleTool;
+
173 QAction* actionCreateCircleTool;
+
174 QAction* actionCreatePolygonTool;
+
175 QAction* actionCreateFloodFillTool;
+
176 
+
177 // dimension actions
+
178 QAction*actionChangeDim;
+
179 
+
180 // dialog actions
+
181 QAction* actionAboutDialog;
+
182 QAction* actionAboutQtDialog;
+
183 
+
184 // layer change actions
+
185 QAction* actionCreateNewRasterLayer;
+
186 QAction* actionCreateNewShapedLayer;
+
187 QAction* actionDeleteLayer;
+
188 QAction* actionSetActiveLayer;
+
189 QAction* actionSetActiveAlpha;
+
190 QAction* actionSetPolygon;
+
191 QAction* actionMovePositionUp;
+
192 QAction* actionMovePositionDown;
+
193 QAction* actionMovePositionLeft;
+
194 QAction* actionMovePositionRight;
+
195 QAction* actionMoveLayerUp;
+
196 QAction* actionMoveLayerDown;
+
197 
+
198 // Actions tied to specific file formats
+
199 QList<QAction*> actionSaveAs;
200 
-
201 #endif
+
201 QAction* actionSetWidth;
+
202 QAction* actionSetInnerAlpha;
+
203 
+
204 // main GUI elements
+
205 QWidget* centralGuiWidget;
+
206 QGridLayout* mainLayout;
+
207 };
+
208 
+
209 #endif
@@ -286,9 +294,9 @@ $(document).ready(function(){initNavTree('_intelli_photo_gui_8h_source.html','')
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:53
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:17
void closeEvent(QCloseEvent *event) override
The closeEvent function handles closing events.
-
void setToolWidth(int value)
+
void setToolWidth(int value)
The IntelliColorPicker manages the selected colors for one whole project.
- +

Go to the source code of this file.

diff --git a/docs/html/_intelli_tool_polygon_8cpp_source.html b/docs/html/_intelli_tool_polygon_8cpp_source.html index 5b880b5..c95a794 100644 --- a/docs/html/_intelli_tool_polygon_8cpp_source.html +++ b/docs/html/_intelli_tool_polygon_8cpp_source.html @@ -91,151 +91,152 @@ $(document).ready(function(){initNavTree('_intelli_tool_polygon_8cpp_source.html
3 #include <QCursor>
4 #include <QInputDialog>
5 #include <QDebug>
-
6 
-
7 IntelliToolPolygon::IntelliToolPolygon(PaintingArea* Area, IntelliColorPicker* colorPicker, IntelliToolsettings* Toolsettings, bool isSettingPolygon)
-
8  : IntelliTool(Area, colorPicker, Toolsettings){
-
9  isPointNearStart = false;
-
10  drawingOfPolygon = false;
-
11  isInside = false;
-
12  this->isSettingPolygon = isSettingPolygon;
-
13  if(isSettingPolygon) {
- -
15  }
- -
17 }
-
18 
- -
20  if(drawingOfPolygon) {
- -
22  }
-
23 }
-
24 
- -
26  if(!drawingOfPolygon && Area->getTypeOfImageRealLayer() == IntelliImage::ImageType::SHAPEDIMAGE && x > 0 && y > 0 && x<Area->getWidthOfActive() && y<Area->getHeightOfActive()) {
-
27  if(Area->getPolygonDataOfRealLayer().size()>2) {
-
28  std::vector<Triangle> Triangles = IntelliTriangulation::calculateTriangles(Area->getPolygonDataOfRealLayer());
-
29  QPoint Point(x,y);
-
30  isInside = IntelliTriangulation::isInPolygon(Triangles,Point);
-
31  }
-
32  else{
-
33  isInside = true;
-
34  }
-
35  if(isSettingPolygon) {
-
36  isInside = true;
-
37  }
-
38  }
-
39  else if(!drawingOfPolygon && Area->getTypeOfImageRealLayer() == IntelliImage::ImageType::RASTERIMAGE && x >= 0 && y >= 0 && x<Area->getWidthOfActive() && y<Area->getHeightOfActive()) {
-
40  isInside = true;
-
41  }
-
42 
-
43  if(isInside && !drawingOfPolygon) {
- -
45  QPoint drawingPoint = QPoint(x,y);
-
46 
-
47  drawingOfPolygon = true;
-
48  QPointList.push_back(drawingPoint);
-
49 
-
50  this->Canvas->image->drawPoint(QPointList.back(), colorPicker->getFirstColor(), Toolsettings->getLineWidth());
-
51  if(!isSettingPolygon) {
- -
53  }
-
54  }
-
55  else if(drawingOfPolygon && QPointList.size() > 0 && isNearStart(x,y,QPointList.front())) {
-
56  if(QPointList.size() > 2) {
-
57  isPointNearStart = true;
-
58  this->Canvas->image->drawLine(QPointList.back(), QPointList.front(), colorPicker->getFirstColor(), Toolsettings->getLineWidth());
-
59  if(!isSettingPolygon) {
- -
61  }
-
62  }
-
63  else{
-
64  isInside = false;
-
65  drawingOfPolygon = false;
-
66  QPointList.clear();
- - -
69  }
-
70 
-
71  }
-
72  else if(drawingOfPolygon) {
-
73  QPoint drawingPoint(x,y);
-
74  QPointList.push_back(drawingPoint);
-
75  this->Canvas->image->drawLine(QPointList[QPointList.size() - 2], QPointList[QPointList.size() - 1], colorPicker->getFirstColor(), Toolsettings->getLineWidth());
-
76  if(!isSettingPolygon) {
- -
78  }
-
79  }
-
80 }
-
81 
- -
83  drawingOfPolygon = false;
-
84  isInside = false;
-
85  isPointNearStart = false;
-
86  QPointList.clear();
- -
88 }
-
89 
- -
91  if(isPointNearStart) {
-
92  isInside = false;
-
93  isPointNearStart = false;
-
94  drawingOfPolygon = false;
-
95  if(!isSettingPolygon) {
-
96  std::vector<Triangle> Triangles = IntelliTriangulation::calculateTriangles(QPointList);
-
97  QPoint Point;
-
98  QColor colorTwo(colorPicker->getSecondColor());
-
99  colorTwo.setAlpha(Toolsettings->getInnerAlpha());
-
100  for(int i = 0; i < activeLayer->width; i++) {
-
101  for(int j = 0; j < activeLayer->height; j++) {
-
102  Point = QPoint(i,j);
-
103  if(IntelliTriangulation::isInPolygon(Triangles,Point)) {
-
104  this->Canvas->image->drawPixel(Point, colorTwo);
-
105  }
-
106  }
-
107  }
-
108  for(int i = 0; i<static_cast<int>(QPointList.size()); i++) {
-
109  int next = static_cast<int>((i + static_cast<int>(1)) % static_cast<int>(QPointList.size()));
-
110  this->Canvas->image->drawLine(QPointList[static_cast<unsigned long long>(i)], QPointList[static_cast<unsigned long long>(next)], colorPicker->getFirstColor(), Toolsettings->getLineWidth());
-
111  }
-
112 
-
113  }
-
114  else{
-
115  Canvas->image->setPolygon(QPointList);
- -
117  }
- -
119  QPointList.clear();
-
120  }
-
121 }
-
122 
- - -
125 }
-
126 
- -
128  if(!isSettingPolygon) {
- -
130  if(!isDrawing) {
- -
132  }
-
133  }
-
134 }
-
135 
- -
137  if(!isSettingPolygon) {
- -
139  }
-
140 }
-
141 
-
142 bool IntelliToolPolygon::isNearStart(int x, int y, QPoint Startpoint){
-
143  int StartX = Startpoint.x();
-
144  int StartY = Startpoint.y();
-
145  int valueToNear = 5;
-
146 
-
147  float euklid = sqrt(pow(static_cast<float>(StartX-x),2.f)+pow(static_cast<float>(StartY-y),2.f));
-
148 
-
149  return static_cast<int>(euklid)<valueToNear;
-
150 }
+
6 #include <cmath>
+
7 
+
8 IntelliToolPolygon::IntelliToolPolygon(PaintingArea* Area, IntelliColorPicker* colorPicker, IntelliToolsettings* Toolsettings, bool isSettingPolygon)
+
9  : IntelliTool(Area, colorPicker, Toolsettings){
+
10  isPointNearStart = false;
+
11  drawingOfPolygon = false;
+
12  isInside = false;
+
13  this->isSettingPolygon = isSettingPolygon;
+
14  if(isSettingPolygon) {
+ +
16  }
+ +
18 }
+
19 
+ +
21  if(drawingOfPolygon) {
+ +
23  }
+
24 }
+
25 
+ +
27  if(!drawingOfPolygon && Area->getTypeOfImageRealLayer() == IntelliImage::ImageType::SHAPEDIMAGE && x > 0 && y > 0 && x<Area->getWidthOfActive() && y<Area->getHeightOfActive()) {
+
28  if(Area->getPolygonDataOfRealLayer().size()>2) {
+
29  std::vector<Triangle> Triangles = IntelliTriangulation::calculateTriangles(Area->getPolygonDataOfRealLayer());
+
30  QPoint Point(x,y);
+
31  isInside = IntelliTriangulation::isInPolygon(Triangles,Point);
+
32  }
+
33  else{
+
34  isInside = true;
+
35  }
+
36  if(isSettingPolygon) {
+
37  isInside = true;
+
38  }
+
39  }
+
40  else if(!drawingOfPolygon && Area->getTypeOfImageRealLayer() == IntelliImage::ImageType::RASTERIMAGE && x >= 0 && y >= 0 && x<Area->getWidthOfActive() && y<Area->getHeightOfActive()) {
+
41  isInside = true;
+
42  }
+
43 
+
44  if(isInside && !drawingOfPolygon) {
+ +
46  QPoint drawingPoint = QPoint(x,y);
+
47 
+
48  drawingOfPolygon = true;
+
49  QPointList.push_back(drawingPoint);
+
50 
+
51  this->Canvas->image->drawPoint(QPointList.back(), colorPicker->getFirstColor(), Toolsettings->getLineWidth());
+
52  if(!isSettingPolygon) {
+ +
54  }
+
55  }
+
56  else if(drawingOfPolygon && QPointList.size() > 0 && isNearStart(x,y,QPointList.front())) {
+
57  if(QPointList.size() > 2) {
+
58  isPointNearStart = true;
+
59  this->Canvas->image->drawLine(QPointList.back(), QPointList.front(), colorPicker->getFirstColor(), Toolsettings->getLineWidth());
+
60  if(!isSettingPolygon) {
+ +
62  }
+
63  }
+
64  else{
+
65  isInside = false;
+
66  drawingOfPolygon = false;
+
67  QPointList.clear();
+ + +
70  }
+
71 
+
72  }
+
73  else if(drawingOfPolygon) {
+
74  QPoint drawingPoint(x,y);
+
75  QPointList.push_back(drawingPoint);
+
76  this->Canvas->image->drawLine(QPointList[QPointList.size() - 2], QPointList[QPointList.size() - 1], colorPicker->getFirstColor(), Toolsettings->getLineWidth());
+
77  if(!isSettingPolygon) {
+ +
79  }
+
80  }
+
81 }
+
82 
+ +
84  drawingOfPolygon = false;
+
85  isInside = false;
+
86  isPointNearStart = false;
+
87  QPointList.clear();
+ +
89 }
+
90 
+ +
92  if(isPointNearStart) {
+
93  isInside = false;
+
94  isPointNearStart = false;
+
95  drawingOfPolygon = false;
+
96  if(!isSettingPolygon) {
+
97  std::vector<Triangle> Triangles = IntelliTriangulation::calculateTriangles(QPointList);
+
98  QPoint Point;
+
99  QColor colorTwo(colorPicker->getSecondColor());
+
100  colorTwo.setAlpha(Toolsettings->getInnerAlpha());
+
101  for(int i = 0; i < activeLayer->width; i++) {
+
102  for(int j = 0; j < activeLayer->height; j++) {
+
103  Point = QPoint(i,j);
+
104  if(IntelliTriangulation::isInPolygon(Triangles,Point)) {
+
105  this->Canvas->image->drawPixel(Point, colorTwo);
+
106  }
+
107  }
+
108  }
+
109  for(int i = 0; i<static_cast<int>(QPointList.size()); i++) {
+
110  int next = static_cast<int>((i + static_cast<int>(1)) % static_cast<int>(QPointList.size()));
+
111  this->Canvas->image->drawLine(QPointList[static_cast<unsigned long long>(i)], QPointList[static_cast<unsigned long long>(next)], colorPicker->getFirstColor(), Toolsettings->getLineWidth());
+
112  }
+
113 
+
114  }
+
115  else{
+
116  Canvas->image->setPolygon(QPointList);
+ +
118  }
+ +
120  QPointList.clear();
+
121  }
+
122 }
+
123 
+ + +
126 }
+
127 
+ +
129  if(!isSettingPolygon) {
+ +
131  if(!isDrawing) {
+ +
133  }
+
134  }
+
135 }
+
136 
+ +
138  if(!isSettingPolygon) {
+ +
140  }
+
141 }
+
142 
+
143 bool IntelliToolPolygon::isNearStart(int x, int y, QPoint Startpoint){
+
144  int StartX = Startpoint.x();
+
145  int StartY = Startpoint.y();
+
146  int valueToNear = 5;
+
147 
+
148  float euklid = sqrt(pow(static_cast<float>(StartX - x),2.f) + pow(static_cast<float>(StartY - y),2.f));
+
149 
+
150  return static_cast<int>(euklid)<valueToNear;
+
151 }
virtual void onMouseRightPressed(int x, int y)
A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on....
Definition: IntelliTool.cpp:18
@@ -248,15 +249,15 @@ $(document).ready(function(){initNavTree('_intelli_tool_polygon_8cpp_source.html
virtual void drawPixel(const QPoint &p1, const QColor &color)
A funtcion used to draw a pixel on the Image with the given Color.
std::vector< Triangle > calculateTriangles(std::vector< QPoint > polyPoints)
A function to split a polygon in its spanning traingles by using Meisters Theorem of graph theory by ...
PaintingArea * Area
A pointer to the general PaintingArea to interact with.
Definition: IntelliTool.h:50
-
QColor getSecondColor()
A function to read the secondary selected color.
-
virtual void onMouseMoved(int x, int y) override
A function managing the mouse moved event.
+
QColor getSecondColor()
A function to read the secondary selected color.
+
virtual void onMouseMoved(int x, int y) override
A function managing the mouse moved event.
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:53
bool isDrawing
A flag checking if the user is currently drawing or not.
Definition: IntelliTool.h:74
virtual void drawPoint(const QPoint &p1, const QColor &color, const int &penWidth)
A function that draws a point between on a given point in a given color.
virtual void onMouseRightReleased(int x, int y)
A function managing the right click Released of a Mouse. Merging the Canvas to Active....
Definition: IntelliTool.cpp:25
LayerObject * activeLayer
A pointer to the underlying active Layer, do not work on this. This is used for data grabbing or prev...
Definition: IntelliTool.h:64
-
IntelliToolPolygon(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings, bool isSettingPolygon=false)
A constructor setting the general paintingArea and colorPicker.
+
IntelliToolPolygon(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings, bool isSettingPolygon=false)
A constructor setting the general paintingArea and colorPicker.
LayerObject * Canvas
A pointer to the drawing canvas of the tool, work on this.
Definition: IntelliTool.h:69
IntelliImage::ImageType getTypeOfImageRealLayer()
@@ -264,28 +265,28 @@ $(document).ready(function(){initNavTree('_intelli_tool_polygon_8cpp_source.html
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:17
virtual void setImageData(const QImage &newData)
setImageData overwrites the old imageData the new imageData.
-
virtual void onMouseRightPressed(int x, int y) override
A function managing the right click pressed of a mouse. Resetting the current fill.
+
virtual void onMouseRightPressed(int x, int y) override
A function managing the right click pressed of a mouse. Resetting the current fill.
-
QColor getFirstColor()
A function to read the primary selected color.
+
QColor getFirstColor()
A function to read the primary selected color.
int height
height - Stores the height of a layer in pixels.
Definition: PaintingArea.h:35
QImage getImageDataOfActiveLayer()
getImageDataOfActiveLayer used to get the currents active imageData (if there isn't any active layer ...
Tooltype ActiveType
Definition: IntelliTool.h:52
The IntelliColorPicker manages the selected colors for one whole project.
-
~IntelliToolPolygon() override
A Destructor.
+
~IntelliToolPolygon() override
A Destructor.
IntelliImage * image
image - Stores the imageData of the current LayerObject.
Definition: PaintingArea.h:27
std::vector< QPoint > getPolygonDataOfRealLayer()
void setLineWidth(int LineWidth)
virtual void onMouseMoved(int x, int y)
A function managing the mouse moved event. Call this in child classes!
Definition: IntelliTool.cpp:46
-
virtual void onMouseLeftPressed(int x, int y) override
A function managing the left click pressed of a mouse. Setting polygon points.
-
virtual void onMouseRightReleased(int x, int y) override
A function managing the right click released of a mouse.
-
virtual void onMouseLeftReleased(int x, int y) override
A function managing the left click released of a mouse. Merging the fill to the active layer.
+
virtual void onMouseLeftPressed(int x, int y) override
A function managing the left click pressed of a mouse. Setting polygon points.
+
virtual void onMouseRightReleased(int x, int y) override
A function managing the right click released of a mouse.
+
virtual void onMouseLeftReleased(int x, int y) override
A function managing the left click released of a mouse. Merging the fill to the active layer.
virtual void calculateVisiblity()=0
An abstract function that calculates the visiblity of the Image data if needed.
bool isInPolygon(const std::vector< Triangle > &triangles, QPoint &point)
A function to check if a point lies in a polygon by checking its spanning triangles.
virtual void onWheelScrolled(int value)
A function managing the scroll event. A positive value means scrolling outwards. Call this in child c...
Definition: IntelliTool.cpp:51
-
virtual void onWheelScrolled(int value) override
A function managing the scroll event. CHanging the lineWidth relative to value.
+
virtual void onWheelScrolled(int value) override
A function managing the scroll event. CHanging the lineWidth relative to value.
virtual void setPolygon(const std::vector< QPoint > &polygonData)=0
An abstract function that sets the data of the visible Polygon, if needed.
@@ -193,7 +193,7 @@ Public Member Functions

A function to read the primary selected color.

Returns
Returns the primary color.
-

Definition at line 16 of file IntelliColorPicker.cpp.

+

Definition at line 15 of file IntelliColorPicker.cpp.

@@ -215,7 +215,7 @@ Public Member Functions

A function to read the secondary selected color.

Returns
Returns the secondary color.
-

Definition at line 20 of file IntelliColorPicker.cpp.

+

Definition at line 19 of file IntelliColorPicker.cpp.

@@ -243,7 +243,7 @@ Public Member Functions -

Definition at line 24 of file IntelliColorPicker.cpp.

+

Definition at line 23 of file IntelliColorPicker.cpp.

@@ -271,7 +271,7 @@ Public Member Functions -

Definition at line 28 of file IntelliColorPicker.cpp.

+

Definition at line 27 of file IntelliColorPicker.cpp.

@@ -292,7 +292,7 @@ Public Member Functions

A function switching primary and secondary color.

-

Definition at line 12 of file IntelliColorPicker.cpp.

+

Definition at line 11 of file IntelliColorPicker.cpp.

diff --git a/docs/html/class_intelli_photo_gui.html b/docs/html/class_intelli_photo_gui.html index 3a16fe9..5399f88 100644 --- a/docs/html/class_intelli_photo_gui.html +++ b/docs/html/class_intelli_photo_gui.html @@ -191,7 +191,7 @@ Protected Member Functions
-

Definition at line 790 of file IntelliPhotoGui.cpp.

+

Definition at line 827 of file IntelliPhotoGui.cpp.

@@ -210,7 +210,7 @@ Protected Member Functions
-

Definition at line 799 of file IntelliPhotoGui.cpp.

+

Definition at line 836 of file IntelliPhotoGui.cpp.

diff --git a/docs/html/class_intelli_tool_polygon.html b/docs/html/class_intelli_tool_polygon.html index db07444..1019ad1 100644 --- a/docs/html/class_intelli_tool_polygon.html +++ b/docs/html/class_intelli_tool_polygon.html @@ -232,7 +232,7 @@ Additional Inherited Members -

Definition at line 7 of file IntelliToolPolygon.cpp.

+

Definition at line 8 of file IntelliToolPolygon.cpp.

@@ -261,7 +261,7 @@ Additional Inherited Members

A Destructor.

-

Definition at line 19 of file IntelliToolPolygon.cpp.

+

Definition at line 20 of file IntelliToolPolygon.cpp.

@@ -311,7 +311,7 @@ Additional Inherited Members

Reimplemented from IntelliTool.

-

Definition at line 25 of file IntelliToolPolygon.cpp.

+

Definition at line 26 of file IntelliToolPolygon.cpp.

@@ -360,7 +360,7 @@ Additional Inherited Members

Reimplemented from IntelliTool.

-

Definition at line 90 of file IntelliToolPolygon.cpp.

+

Definition at line 91 of file IntelliToolPolygon.cpp.

@@ -409,7 +409,7 @@ Additional Inherited Members

Reimplemented from IntelliTool.

-

Definition at line 136 of file IntelliToolPolygon.cpp.

+

Definition at line 137 of file IntelliToolPolygon.cpp.

@@ -458,7 +458,7 @@ Additional Inherited Members

Reimplemented from IntelliTool.

-

Definition at line 82 of file IntelliToolPolygon.cpp.

+

Definition at line 83 of file IntelliToolPolygon.cpp.

@@ -507,7 +507,7 @@ Additional Inherited Members

Reimplemented from IntelliTool.

-

Definition at line 123 of file IntelliToolPolygon.cpp.

+

Definition at line 124 of file IntelliToolPolygon.cpp.

@@ -545,7 +545,7 @@ Additional Inherited Members

Reimplemented from IntelliTool.

-

Definition at line 127 of file IntelliToolPolygon.cpp.

+

Definition at line 128 of file IntelliToolPolygon.cpp.

diff --git a/docs/html/main_unit_test_8cpp_source.html b/docs/html/main_unit_test_8cpp_source.html index c21eb0f..8b5a315 100644 --- a/docs/html/main_unit_test_8cpp_source.html +++ b/docs/html/main_unit_test_8cpp_source.html @@ -86,111 +86,111 @@ $(document).ready(function(){initNavTree('main_unit_test_8cpp_source.html','');
mainUnitTest.cpp
-Go to the documentation of this file.
1 #include <QtTest>
+Go to the documentation of this file.
1 #include <QtTest>
2 // add necessary includes here
-
3 #include<string>
+
3 #include <string>
4 
5 #include "GUI/IntelliPhotoGui.h"
6 
7 
8 class UnitTest : public QObject
9 {
-
10  Q_OBJECT
+
10 Q_OBJECT
11 private:
-
12  IntelliPhotoGui* gui;
-
13  PaintingArea* area;
-
14  QApplication* app;
+
12 IntelliPhotoGui* gui;
+
13 PaintingArea* area;
+
14 QApplication* app;
15 
16 public:
-
17  UnitTest();
-
18  ~UnitTest();
+
17 UnitTest();
+
18 ~UnitTest();
19 
20 private slots:
-
21  void initTestCase();
-
22  void cleanupTestCase();
-
23  //void test_case1();
+
21 void initTestCase();
+
22 void cleanupTestCase();
+
23 //void test_case1();
24 
-
25  //test painting area
-
26  void test_addLayer();
-
27  void test_deleteLayer();
-
28  void test_setActive();
-
29  void test_setAlpha();
-
30  void test_floodFill();
-
31  void test_moveActive();
-
32  void test_setPolygon();
-
33  void test_setLayerUp();
-
34  void test_setLayerDown();
+
25 //test painting area
+
26 void test_addLayer();
+
27 void test_deleteLayer();
+
28 void test_setActive();
+
29 void test_setAlpha();
+
30 void test_floodFill();
+
31 void test_moveActive();
+
32 void test_setPolygon();
+
33 void test_setLayerUp();
+
34 void test_setLayerDown();
35 
-
36  void test_createTools();
+
36 void test_createTools();
37 
-
38  //test Raster-Image operations
-
39  void test_RasterImage_drawPixel();
-
40  void test_RasterImage_drawLine();
-
41  void test_RasterImage_drawPoint();
-
42  void test_RasterImage_getDisplayable();
-
43  void test_RasterImage_setPolygon();
-
44  void test_RasterImage_loadImage();
-
45  void test_RasterImage_getPixelColor();
-
46  void test_RasterImage_getImageData();
-
47  void test_RasterImage_setImageData();
+
38 //test Raster-Image operations
+
39 void test_RasterImage_drawPixel();
+
40 void test_RasterImage_drawLine();
+
41 void test_RasterImage_drawPoint();
+
42 void test_RasterImage_getDisplayable();
+
43 void test_RasterImage_setPolygon();
+
44 void test_RasterImage_loadImage();
+
45 void test_RasterImage_getPixelColor();
+
46 void test_RasterImage_getImageData();
+
47 void test_RasterImage_setImageData();
48 
-
49  //test Shaped-Image operations
-
50  void test_ShapedImage_drawPixel();
-
51  void test_ShapedImage_drawLine();
-
52  void test_ShapedImage_drawPoint();
-
53  void test_ShapedImage_getDisplayable();
-
54  void test_ShapedImage_setPolygon();
-
55  void test_ShapedImage_loadImage();
-
56  void test_ShapedImage_getPixelColor();
-
57  void test_ShapedImage_getImageData();
-
58  void test_ShapedImage_setImageData();
+
49 //test Shaped-Image operations
+
50 void test_ShapedImage_drawPixel();
+
51 void test_ShapedImage_drawLine();
+
52 void test_ShapedImage_drawPoint();
+
53 void test_ShapedImage_getDisplayable();
+
54 void test_ShapedImage_setPolygon();
+
55 void test_ShapedImage_loadImage();
+
56 void test_ShapedImage_getPixelColor();
+
57 void test_ShapedImage_getImageData();
+
58 void test_ShapedImage_setImageData();
59 
-
60  //test painting-area tools
-
61  void test_createTool_Circle();
-
62  void test_createTool_FloodFill();
-
63  void test_createTool_Line();
-
64  void test_createTool_Pen();
-
65  void test_createTool_Plain();
-
66  void test_createTool_Polygon();
-
67  void test_createTool_Rectangle();
+
60 //test painting-area tools
+
61 void test_createTool_Circle();
+
62 void test_createTool_FloodFill();
+
63 void test_createTool_Line();
+
64 void test_createTool_Pen();
+
65 void test_createTool_Plain();
+
66 void test_createTool_Polygon();
+
67 void test_createTool_Rectangle();
68 
-
69  //test tools
-
70  void test_Circle_fullDraw();
-
71  void test_Circle_interruptedDraw();
+
69 //test tools
+
70 void test_Circle_fullDraw();
+
71 void test_Circle_interruptedDraw();
72 
-
73  void test_FloodFill_fullDraw();
-
74  void test_FloodFill_interruptedDraw();
+
73 void test_FloodFill_fullDraw();
+
74 void test_FloodFill_interruptedDraw();
75 
-
76  void test_Line_fullDraw();
-
77  void test_Line_interruptedDraw();
+
76 void test_Line_fullDraw();
+
77 void test_Line_interruptedDraw();
78 
-
79  void test_Pen_fullDraw();
-
80  void test_Pen_interruptedDraw();
+
79 void test_Pen_fullDraw();
+
80 void test_Pen_interruptedDraw();
81 
-
82  void test_Plain_fullDraw();
-
83  void test_Plain_interruptedDraw();
+
82 void test_Plain_fullDraw();
+
83 void test_Plain_interruptedDraw();
84 
-
85  void test_Polygon_fullDraw();
-
86  void test_Polygon_interruptedDraw();
+
85 void test_Polygon_fullDraw();
+
86 void test_Polygon_interruptedDraw();
87 
-
88  void test_Rectangle_fullDraw();
-
89  void test_Rectangle_interruptedDraw();
+
88 void test_Rectangle_fullDraw();
+
89 void test_Rectangle_interruptedDraw();
90 
-
91  //test Triangulation
-
92  void test_Triangulation_Coverage();
+
91 //test Triangulation
+
92 void test_Triangulation_Coverage();
93 };
94 
96 {
-
97  char arg0[] = "programName";
-
98  char arg1[] = "arg1";
-
99  char arg2[] = "arg2";
-
100  char *argv[] = {arg0, arg1, arg2, nullptr};
-
101  int argc = sizeof(argv) / sizeof(char*) - 1;
+
97  char arg0[] = "programName";
+
98  char arg1[] = "arg1";
+
99  char arg2[] = "arg2";
+
100  char*argv[] = {arg0, arg1, arg2, nullptr};
+
101  int argc = sizeof(argv) / sizeof(char*) - 1;
102 
-
103  app = new QApplication(argc,argv);
-
104  gui = new IntelliPhotoGui();
-
105  area = gui->paintingArea;
+
103  app = new QApplication(argc,argv);
+
104  gui = new IntelliPhotoGui();
+
105  area = gui->paintingArea;
106 }
107 
@@ -205,8 +205,8 @@ $(document).ready(function(){initNavTree('main_unit_test_8cpp_source.html','');
117 
118 void UnitTest::cleanupTestCase()
119 {
-
120  delete gui;
-
121  delete app;
+
120  delete gui;
+
121  delete app;
122 }
123 
124 //void UnitTest::test_case1()
@@ -217,77 +217,127 @@ $(document).ready(function(){initNavTree('main_unit_test_8cpp_source.html','');
129 //}
130 
131 //test painting area
-
132 void UnitTest::test_addLayer(){}
-
133 void UnitTest::test_deleteLayer(){}
-
134 void UnitTest::test_setActive(){}
-
135 void UnitTest::test_setAlpha(){}
-
136 void UnitTest::test_floodFill(){}
-
137 void UnitTest::test_moveActive(){}
-
138 void UnitTest::test_setPolygon(){}
-
139 void UnitTest::test_setLayerUp(){}
-
140 void UnitTest::test_setLayerDown(){}
-
141 
-
142 void UnitTest::test_createTools(){}
-
143 
-
144 //test Raster-Image operations
-
145 void UnitTest::test_RasterImage_drawPixel(){}
-
146 void UnitTest::test_RasterImage_drawLine(){}
-
147 void UnitTest::test_RasterImage_drawPoint(){}
-
148 void UnitTest::test_RasterImage_getDisplayable(){}
-
149 void UnitTest::test_RasterImage_setPolygon(){}
-
150 void UnitTest::test_RasterImage_loadImage(){}
-
151 void UnitTest::test_RasterImage_getPixelColor(){}
-
152 void UnitTest::test_RasterImage_getImageData(){}
-
153 void UnitTest::test_RasterImage_setImageData(){}
-
154 
-
155 //test Shaped-Image operations
-
156 void UnitTest::test_ShapedImage_drawPixel(){}
-
157 void UnitTest::test_ShapedImage_drawLine(){}
-
158 void UnitTest::test_ShapedImage_drawPoint(){}
-
159 void UnitTest::test_ShapedImage_getDisplayable(){}
-
160 void UnitTest::test_ShapedImage_setPolygon(){}
-
161 void UnitTest::test_ShapedImage_loadImage(){}
-
162 void UnitTest::test_ShapedImage_getPixelColor(){}
-
163 void UnitTest::test_ShapedImage_getImageData(){}
-
164 void UnitTest::test_ShapedImage_setImageData(){}
-
165 
-
166 //test painting-area tools
-
167 void UnitTest::test_createTool_Circle(){}
-
168 void UnitTest::test_createTool_FloodFill(){}
-
169 void UnitTest::test_createTool_Line(){}
-
170 void UnitTest::test_createTool_Pen(){}
-
171 void UnitTest::test_createTool_Plain(){}
-
172 void UnitTest::test_createTool_Polygon(){}
-
173 void UnitTest::test_createTool_Rectangle(){}
-
174 
-
175 //test tools
-
176 void UnitTest::test_Circle_fullDraw(){}
-
177 void UnitTest::test_Circle_interruptedDraw(){}
-
178 
-
179 void UnitTest::test_FloodFill_fullDraw(){}
-
180 void UnitTest::test_FloodFill_interruptedDraw(){}
-
181 
-
182 void UnitTest::test_Line_fullDraw(){}
-
183 void UnitTest::test_Line_interruptedDraw(){}
-
184 
-
185 void UnitTest::test_Pen_fullDraw(){}
-
186 void UnitTest::test_Pen_interruptedDraw(){}
-
187 
-
188 void UnitTest::test_Plain_fullDraw(){}
-
189 void UnitTest::test_Plain_interruptedDraw(){}
-
190 
-
191 void UnitTest::test_Polygon_fullDraw(){}
-
192 void UnitTest::test_Polygon_interruptedDraw(){}
+
132 void UnitTest::test_addLayer(){
+
133 }
+
134 void UnitTest::test_deleteLayer(){
+
135 }
+
136 void UnitTest::test_setActive(){
+
137 }
+
138 void UnitTest::test_setAlpha(){
+
139 }
+
140 void UnitTest::test_floodFill(){
+
141 }
+
142 void UnitTest::test_moveActive(){
+
143 }
+
144 void UnitTest::test_setPolygon(){
+
145 }
+
146 void UnitTest::test_setLayerUp(){
+
147 }
+
148 void UnitTest::test_setLayerDown(){
+
149 }
+
150 
+
151 void UnitTest::test_createTools(){
+
152 }
+
153 
+
154 //test Raster-Image operations
+
155 void UnitTest::test_RasterImage_drawPixel(){
+
156 }
+
157 void UnitTest::test_RasterImage_drawLine(){
+
158 }
+
159 void UnitTest::test_RasterImage_drawPoint(){
+
160 }
+
161 void UnitTest::test_RasterImage_getDisplayable(){
+
162 }
+
163 void UnitTest::test_RasterImage_setPolygon(){
+
164 }
+
165 void UnitTest::test_RasterImage_loadImage(){
+
166 }
+
167 void UnitTest::test_RasterImage_getPixelColor(){
+
168 }
+
169 void UnitTest::test_RasterImage_getImageData(){
+
170 }
+
171 void UnitTest::test_RasterImage_setImageData(){
+
172 }
+
173 
+
174 //test Shaped-Image operations
+
175 void UnitTest::test_ShapedImage_drawPixel(){
+
176 }
+
177 void UnitTest::test_ShapedImage_drawLine(){
+
178 }
+
179 void UnitTest::test_ShapedImage_drawPoint(){
+
180 }
+
181 void UnitTest::test_ShapedImage_getDisplayable(){
+
182 }
+
183 void UnitTest::test_ShapedImage_setPolygon(){
+
184 }
+
185 void UnitTest::test_ShapedImage_loadImage(){
+
186 }
+
187 void UnitTest::test_ShapedImage_getPixelColor(){
+
188 }
+
189 void UnitTest::test_ShapedImage_getImageData(){
+
190 }
+
191 void UnitTest::test_ShapedImage_setImageData(){
+
192 }
193 
-
194 void UnitTest::test_Rectangle_fullDraw(){}
-
195 void UnitTest::test_Rectangle_interruptedDraw(){}
-
196 
-
197 //test Triangulation
-
198 void UnitTest::test_Triangulation_Coverage(){}
-
199 
-
200 QTEST_APPLESS_MAIN(UnitTest)
-
201 
-
202 #include "tst_unittest.moc"
+
194 //test painting-area tools
+
195 void UnitTest::test_createTool_Circle(){
+
196 }
+
197 void UnitTest::test_createTool_FloodFill(){
+
198 }
+
199 void UnitTest::test_createTool_Line(){
+
200 }
+
201 void UnitTest::test_createTool_Pen(){
+
202 }
+
203 void UnitTest::test_createTool_Plain(){
+
204 }
+
205 void UnitTest::test_createTool_Polygon(){
+
206 }
+
207 void UnitTest::test_createTool_Rectangle(){
+
208 }
+
209 
+
210 //test tools
+
211 void UnitTest::test_Circle_fullDraw(){
+
212 }
+
213 void UnitTest::test_Circle_interruptedDraw(){
+
214 }
+
215 
+
216 void UnitTest::test_FloodFill_fullDraw(){
+
217 }
+
218 void UnitTest::test_FloodFill_interruptedDraw(){
+
219 }
+
220 
+
221 void UnitTest::test_Line_fullDraw(){
+
222 }
+
223 void UnitTest::test_Line_interruptedDraw(){
+
224 }
+
225 
+
226 void UnitTest::test_Pen_fullDraw(){
+
227 }
+
228 void UnitTest::test_Pen_interruptedDraw(){
+
229 }
+
230 
+
231 void UnitTest::test_Plain_fullDraw(){
+
232 }
+
233 void UnitTest::test_Plain_interruptedDraw(){
+
234 }
+
235 
+
236 void UnitTest::test_Polygon_fullDraw(){
+
237 }
+
238 void UnitTest::test_Polygon_interruptedDraw(){
+
239 }
+
240 
+
241 void UnitTest::test_Rectangle_fullDraw(){
+
242 }
+
243 void UnitTest::test_Rectangle_interruptedDraw(){
+
244 }
+
245 
+
246 //test Triangulation
+
247 void UnitTest::test_Triangulation_Coverage(){
+
248 }
+
249 
+
250 QTEST_APPLESS_MAIN(UnitTest)
+
251 
+
252 #include "tst_unittest.moc"
diff --git a/docs/html/tst__unittest_8cpp_source.html b/docs/html/tst__unittest_8cpp_source.html index 6e615ba..a402e28 100644 --- a/docs/html/tst__unittest_8cpp_source.html +++ b/docs/html/tst__unittest_8cpp_source.html @@ -535,9 +535,9 @@ $(document).ready(function(){initNavTree('tst__unittest_8cpp_source.html',''); i
449  area->layerBundle[0].image->drawPlain(QColor(255, 255, 255, 255));
450  QImage img = area->layerBundle[0].image->getDisplayable(QSize(200,200),255);
451  QPoint point;
-
452  for(size_t i=0; i<200; i++) {
+
452  for(size_t i = 0; i<200; i++) {
453  point.setX(static_cast<int>(i));
-
454  for(size_t j=0; j<200; j++) {
+
454  for(size_t j = 0; j<200; j++) {
455  point.setY(static_cast<int>(j));
456  QVERIFY(img.pixelColor(point) == QColor(255,255,255,255));
457  }
@@ -1766,9 +1766,9 @@ $(document).ready(function(){initNavTree('tst__unittest_8cpp_source.html',''); i
1681  QBENCHMARK{
1682  std::vector<Triangle> tria = IntelliTriangulation::calculateTriangles(points);
1683  QPoint point;
-
1684  for(int i=0; i<200; i++) {
+
1684  for(int i = 0; i<200; i++) {
1685  point.setX(i);
-
1686  for(int j=0; j<200; j++) {
+
1686  for(int j = 0; j<200; j++) {
1687  point.setY(j);
1688  IntelliTriangulation::isInPolygon(tria, point);
1689  }
@@ -1799,10 +1799,10 @@ $(document).ready(function(){initNavTree('tst__unittest_8cpp_source.html',''); i
void deleteLayer(int idx, bool isTool=false)
The deleteLayer method removes a layer at a given idx.
The IntelliPhotoGui base class handles the graphical user interface and events for the intelliPhoto p...
-
void setSecondColor(QColor Color)
A function to set the secondary color.
+
void setSecondColor(QColor Color)
A function to set the secondary color.
The IntelliToolPlainTool class represents a tool to fill the whole canvas with one color.
The IntelliShapedImage manages a Shapedimage.
-
QColor getSecondColor()
A function to read the secondary selected color.
+
QColor getSecondColor()
A function to read the secondary selected color.
void createPlainTool()
@@ -1818,13 +1818,13 @@ $(document).ready(function(){initNavTree('tst__unittest_8cpp_source.html',''); i -
void setFirstColor(QColor Color)
A function to set the primary color.
+
void setFirstColor(QColor Color)
A function to set the primary color.
void createPolygonTool()
void moveActiveLayer(int idx)
The moveActiveLayer moves the active layer to a specific position in the layer stack.
IntelliColorPicker colorPicker
Definition: PaintingArea.h:202
-
QColor getFirstColor()
A function to read the primary selected color.
+
QColor getFirstColor()
A function to read the primary selected color.
void createFloodFillTool()
diff --git a/src/GUI/IntelliPhotoGui.cpp b/src/GUI/IntelliPhotoGui.cpp index 3af696b..5237ee0 100644 --- a/src/GUI/IntelliPhotoGui.cpp +++ b/src/GUI/IntelliPhotoGui.cpp @@ -14,8 +14,8 @@ IntelliPhotoGui::IntelliPhotoGui(){ // set style of the gui setIntelliStyle(); // Size the app - resize(600,600); - showMaximized(); + resize(600,600); + showMaximized(); setDefaultToolValue(); } @@ -73,9 +73,9 @@ void IntelliPhotoGui::slotCreateNewRasterLayer(){ // "New Layer" is the title of the window // the next tr is the text to display // Define the standard Value, min, max, step and ok button - int width = IntelliInputDialog::getInt("New Raster Layer", "Width:", 200, 1, paintingArea->getMaxWidth(), 1, &ok1); + int width = IntelliInputDialog::getInt("New Raster Layer", "Width:", 200, 1, paintingArea->getMaxWidth(), 1, &ok1); - int height = IntelliInputDialog::getInt("New Raster Layer", "Height:", 200, 1, paintingArea->getMaxHeight(), 1, &ok2); + int height = IntelliInputDialog::getInt("New Raster Layer", "Height:", 200, 1, paintingArea->getMaxHeight(), 1, &ok2); // Create New Layer if (ok1&&ok2) { @@ -92,9 +92,9 @@ void IntelliPhotoGui::slotCreateNewShapedLayer(){ // "New Layer" is the title of the window // the next tr is the text to display // Define the standard Value, min, max, step and ok button - int width = IntelliInputDialog::getInt("New Shaped Layer", "Width:", 200, 1, paintingArea->getMaxWidth(), 1, &ok1); + int width = IntelliInputDialog::getInt("New Shaped Layer", "Width:", 200, 1, paintingArea->getMaxWidth(), 1, &ok1); - int height = IntelliInputDialog::getInt("New Shaped Layer", "Height:", 200, 1, paintingArea->getMaxHeight(), 1, &ok2); + int height = IntelliInputDialog::getInt("New Shaped Layer", "Height:", 200, 1, paintingArea->getMaxHeight(), 1, &ok2); // Create New Layer if (ok1&&ok2) { @@ -105,21 +105,21 @@ void IntelliPhotoGui::slotCreateNewShapedLayer(){ // Opens a dialog that allows the user to change Dimension void IntelliPhotoGui::slotChangeDim(){ - // Stores button value - bool ok1, ok2; + // Stores button value + bool ok1, ok2; - // "change Dimension" is the title of the window - // the next tr is the text to display - // Define the standard Value, min, step and ok button - int width = IntelliInputDialog::getInt("New Canvas Size", "Width:", 600, 1, 50000 , 1, &ok1); + // "change Dimension" is the title of the window + // the next tr is the text to display + // Define the standard Value, min, step and ok button + int width = IntelliInputDialog::getInt("New Canvas Size", "Width:", 600, 1, 50000, 1, &ok1); - int height = IntelliInputDialog::getInt("New Canvas Size", "Height:", 600, 1, 50000, 1, &ok2); + int height = IntelliInputDialog::getInt("New Canvas Size", "Height:", 600, 1, 50000, 1, &ok2); - // Change dimension - if (ok1&&ok2) { - paintingArea->setLayerDimensions(width,height); - UpdateGui(); - } + // Change dimension + if (ok1&&ok2) { + paintingArea->setLayerDimensions(width,height); + UpdateGui(); + } } // Opens a dialog that allows the user to delete a Layer @@ -317,7 +317,7 @@ void IntelliPhotoGui::slotSetWidth(){ void IntelliPhotoGui::slotSetInnerAlpha(){ bool ok1; - int temp = IntelliInputDialog::getInt("Toolsettings", "Alpha:", 5, 1, 50, 1, &ok1); + int temp = IntelliInputDialog::getInt("Toolsettings", "Alpha:", 5, 1, 50, 1, &ok1); if(ok1) { paintingArea->Toolsettings.setInnerAlpha(temp); EditLineInnerAlpha->setText(QString("%1").arg(temp)); @@ -378,10 +378,10 @@ void IntelliPhotoGui::createActions(){ actionDeleteLayer->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_D)); connect(actionDeleteLayer, SIGNAL(triggered()), this, SLOT(slotDeleteLayer())); - actionChangeDim = new QAction(tr("&Change Dimension"), this); - actionChangeDim->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_X)); - connect(actionChangeDim, SIGNAL(triggered()), this, SLOT(slotChangeDim())); - connect(dimCanvas, SIGNAL(clicked()), this, SLOT(slotChangeDim())); + actionChangeDim = new QAction(tr("&Change Dimension"), this); + actionChangeDim->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_X)); + connect(actionChangeDim, SIGNAL(triggered()), this, SLOT(slotChangeDim())); + connect(dimCanvas, SIGNAL(clicked()), this, SLOT(slotChangeDim())); actionSetActiveLayer = new QAction(tr("&set Active"), this); actionSetActiveLayer->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_A)); @@ -539,9 +539,9 @@ void IntelliPhotoGui::createMenus(){ fileMenu->addAction(actionExit); //Attach all actions to Render Settings - renderMenu = new QMenu(tr("&Fast Renderer"), this); - renderMenu->addAction(actionUpdateRenderSettingsOn); - renderMenu->addAction(actionUpdateRenderSettingsOff); + renderMenu = new QMenu(tr("&Fast Renderer"), this); + renderMenu->addAction(actionUpdateRenderSettingsOn); + renderMenu->addAction(actionUpdateRenderSettingsOff); //Attach all Layer Creations to Menu layerCreationMenu = new QMenu(tr("&Create new Layer"), this); @@ -598,7 +598,7 @@ void IntelliPhotoGui::createMenus(){ optionMenu->addMenu(toolMenu); optionMenu->addSeparator(); optionMenu->addMenu(renderMenu); - optionMenu->addAction(actionChangeDim); + optionMenu->addAction(actionChangeDim); // Attach all actions to Help helpMenu = new QMenu(tr("&Help"), this); @@ -621,8 +621,8 @@ void IntelliPhotoGui::createGui(){ centralGuiWidget->setLayout(mainLayout); // create Gui elements - // get and set max width and height - paintingArea = new PaintingArea(1280, 720); + // get and set max width and height + paintingArea = new PaintingArea(1280, 720); paintingArea->DummyGui = this; preview = QPixmap(":/Icons/Buttons/icons/circle-tool.svg"); @@ -728,14 +728,14 @@ void IntelliPhotoGui::createGui(){ ActiveLayerImageLabel->setFixedSize(Buttonsize * 2); ActiveLayerImageLabel->setPixmap(preview.scaled(Buttonsize * 2)); - dimActive = new QPushButton(); - dimActive->setFixedSize(Buttonsize.width()*2,Buttonsize.height()/2); - dimActive->setText("0x0"); + dimActive = new QPushButton(); + dimActive->setFixedSize(Buttonsize.width() * 2,Buttonsize.height() / 2); + dimActive->setText("0x0"); - dimCanvas = new QPushButton(); - dimCanvas->setFixedSize(Buttonsize.width()*2,Buttonsize.height()/2); - QString String = QString("%1x%2").arg(paintingArea->Canvas->width()).arg(paintingArea->Canvas->height()); - dimCanvas->setText(String); + dimCanvas = new QPushButton(); + dimCanvas->setFixedSize(Buttonsize.width() * 2,Buttonsize.height() / 2); + QString String = QString("%1x%2").arg(paintingArea->Canvas->width()).arg(paintingArea->Canvas->height()); + dimCanvas->setText(String); // set gui elements mainLayout->addWidget(paintingArea,1,1,20,1); @@ -755,8 +755,8 @@ void IntelliPhotoGui::createGui(){ mainLayout->addWidget(SwitchColorButton,10,2,1,2); mainLayout->addWidget(ActiveLayerLine,11,2,1,2); mainLayout->addWidget(ActiveLayerImageLabel,12,2,1,2); - mainLayout->addWidget(dimActive,13,2,1,2); - mainLayout->addWidget(dimCanvas,14,2,1,2); + mainLayout->addWidget(dimActive,13,2,1,2); + mainLayout->addWidget(dimCanvas,14,2,1,2); mainLayout->setHorizontalSpacing(0); } @@ -852,14 +852,14 @@ void IntelliPhotoGui::UpdateGui(){ string = QString("background-color: %1").arg(paintingArea->colorPicker.getSecondColor().name()); SecondColorButton->setStyleSheet(string); - string = QString("%1x%2").arg(paintingArea->Canvas->width()).arg(paintingArea->Canvas->height()); - dimCanvas->setText(string); + string = QString("%1x%2").arg(paintingArea->Canvas->width()).arg(paintingArea->Canvas->height()); + dimCanvas->setText(string); - if(paintingArea->layerBundle.size() != 0){ - string = QString("%1x%2").arg(paintingArea->layerBundle[static_cast(paintingArea->getNumberOfActiveLayer())].width).arg(paintingArea->layerBundle[static_cast(paintingArea->getNumberOfActiveLayer())].height); - dimActive->setText(string); - } - else{ - dimActive->setText("0x0"); - } + if(paintingArea->layerBundle.size() != 0) { + string = QString("%1x%2").arg(paintingArea->layerBundle[static_cast(paintingArea->getNumberOfActiveLayer())].width).arg(paintingArea->layerBundle[static_cast(paintingArea->getNumberOfActiveLayer())].height); + dimActive->setText(string); + } + else{ + dimActive->setText("0x0"); + } } diff --git a/src/Image/IntelliImage.h b/src/Image/IntelliImage.h index 46f9d9b..5c19186 100644 --- a/src/Image/IntelliImage.h +++ b/src/Image/IntelliImage.h @@ -20,7 +20,7 @@ class IntelliTool; * \brief An abstract class which manages the basic IntelliImage operations. */ class IntelliImage { - friend UnitTest; +friend UnitTest; friend IntelliTool; public: diff --git a/src/Image/IntelliRasterImage.h b/src/Image/IntelliRasterImage.h index eecc67c..a67472a 100644 --- a/src/Image/IntelliRasterImage.h +++ b/src/Image/IntelliRasterImage.h @@ -10,7 +10,7 @@ class UnitTest; * \brief The IntelliRasterImage manages a RASTERIMAGE. */ class IntelliRasterImage : public IntelliImage { - friend UnitTest; +friend UnitTest; friend IntelliTool; protected: /*! diff --git a/src/Image/IntelliShapedImage.h b/src/Image/IntelliShapedImage.h index 001ce02..32c4c9f 100644 --- a/src/Image/IntelliShapedImage.h +++ b/src/Image/IntelliShapedImage.h @@ -11,7 +11,7 @@ class UnitTest; * \brief The IntelliShapedImage manages a Shapedimage. */ class IntelliShapedImage : public IntelliRasterImage { - friend UnitTest; +friend UnitTest; friend IntelliTool; private: /*! diff --git a/src/IntelliHelper/IntelliColorPicker.cpp b/src/IntelliHelper/IntelliColorPicker.cpp index 9d79722..b13ca02 100644 --- a/src/IntelliHelper/IntelliColorPicker.cpp +++ b/src/IntelliHelper/IntelliColorPicker.cpp @@ -1,7 +1,7 @@ #include "IntelliColorPicker.h" IntelliColorPicker::IntelliColorPicker(){ - initializeColors(); + initializeColors(); } IntelliColorPicker::~IntelliColorPicker(){ @@ -29,6 +29,6 @@ void IntelliColorPicker::setSecondColor(QColor Color){ } void IntelliColorPicker::initializeColors(){ - this->firstColor = QColor(255,0,0,255); - this->secondColor = QColor(0,0,0,255); + this->firstColor = QColor(255,0,0,255); + this->secondColor = QColor(0,0,0,255); } diff --git a/src/IntelliHelper/IntelliColorPicker.h b/src/IntelliHelper/IntelliColorPicker.h index 1efc591..401d74d 100644 --- a/src/IntelliHelper/IntelliColorPicker.h +++ b/src/IntelliHelper/IntelliColorPicker.h @@ -12,7 +12,7 @@ class UnitTest; * \brief The IntelliColorPicker manages the selected colors for one whole project. */ class IntelliColorPicker { - friend UnitTest; +friend UnitTest; public: /*! * \brief IntelliColorPicker constructor, setting 2 preset colors, be careful, theese color may change in production. diff --git a/src/IntelliHelper/IntelliRenderSettings.h b/src/IntelliHelper/IntelliRenderSettings.h index 1fef570..b8b1a87 100644 --- a/src/IntelliHelper/IntelliRenderSettings.h +++ b/src/IntelliHelper/IntelliRenderSettings.h @@ -7,7 +7,7 @@ class UnitTest; class IntelliRenderSettings { - friend UnitTest; +friend UnitTest; public: IntelliRenderSettings(); diff --git a/src/Layer/PaintingArea.cpp b/src/Layer/PaintingArea.cpp index 3dfb526..0bf6a0e 100644 --- a/src/Layer/PaintingArea.cpp +++ b/src/Layer/PaintingArea.cpp @@ -332,15 +332,15 @@ void PaintingArea::paintEvent(QPaintEvent*event){ void PaintingArea::selectLayerUp(){ updateTools(); - if(activeLayer != -1 && static_cast(activeLayer)(activeLayer)], layerBundle[static_cast(activeLayer + 1)]); + if(activeLayer != -1 && static_cast(activeLayer)(activeLayer)], layerBundle[static_cast(activeLayer + 1)]); activeLayer++; } } void PaintingArea::selectLayerDown(){ updateTools(); - if(activeLayer>0) { + if(activeLayer>0) { std::swap(layerBundle[static_cast(activeLayer)], layerBundle[static_cast(activeLayer - 1)]); activeLayer--; } diff --git a/src/Layer/PaintingArea.h b/src/Layer/PaintingArea.h index 3b04198..58eb411 100644 --- a/src/Layer/PaintingArea.h +++ b/src/Layer/PaintingArea.h @@ -21,29 +21,29 @@ class UnitTest; * \brief The LayerObject struct holds all the information needed to construct a layer */ struct LayerObject { - /*! - * \brief image - Stores the imageData of the current LayerObject. - */ + /*! + * \brief image - Stores the imageData of the current LayerObject. + */ IntelliImage* image; - /*! - * \brief width - Stores the width of a layer in pixels. - */ + /*! + * \brief width - Stores the width of a layer in pixels. + */ int width; - /*! - * \brief height - Stores the height of a layer in pixels. - */ + /*! + * \brief height - Stores the height of a layer in pixels. + */ int height; - /*! - * \brief widthOffset - Stores the number of pixles from the left side of the painting area. - */ + /*! + * \brief widthOffset - Stores the number of pixles from the left side of the painting area. + */ int widthOffset; - /*! - * \brief heightOffset - Stores the number of pixles from the top of the painting area. - */ + /*! + * \brief heightOffset - Stores the number of pixles from the top of the painting area. + */ int heightOffset; - /*! - * \brief alpha - Stores the alpha value of the layer (default=255). - */ + /*! + * \brief alpha - Stores the alpha value of the layer (default=255). + */ int alpha = 255; }; diff --git a/src/Tool/IntelliTool.cpp b/src/Tool/IntelliTool.cpp index 592bb2a..07ed62b 100644 --- a/src/Tool/IntelliTool.cpp +++ b/src/Tool/IntelliTool.cpp @@ -6,9 +6,9 @@ IntelliTool::IntelliTool(PaintingArea* Area, IntelliColorPicker* colorPicker, In this->colorPicker = colorPicker; this->Toolsettings = Toolsettings; this->isDrawing = false; - this->ActiveType = Tooltype::NONE; - this->activeLayer = nullptr; - this->Canvas = nullptr; + this->ActiveType = Tooltype::NONE; + this->activeLayer = nullptr; + this->Canvas = nullptr; } IntelliTool::~IntelliTool(){ @@ -17,7 +17,7 @@ IntelliTool::~IntelliTool(){ void IntelliTool::onMouseRightPressed(int x, int y){ if(isDrawing) { - isDrawing = false; + isDrawing = false; this->deleteToolLayer(); } } diff --git a/src/Tool/IntelliTool.h b/src/Tool/IntelliTool.h index a3b2959..07b78bf 100644 --- a/src/Tool/IntelliTool.h +++ b/src/Tool/IntelliTool.h @@ -15,7 +15,7 @@ class PaintingArea; * \brief An abstract class that manages the basic events, like mouse clicks or scrolls events. */ class IntelliTool { - friend UnitTest; +friend UnitTest; public: enum class Tooltype { CIRCLE, @@ -24,8 +24,8 @@ enum class Tooltype { PEN, PLAIN, POLYGON, - RECTANGLE, - NONE + RECTANGLE, + NONE }; private: /*! diff --git a/src/Tool/IntelliToolCircle.cpp b/src/Tool/IntelliToolCircle.cpp index 5bf2ef9..17131bf 100644 --- a/src/Tool/IntelliToolCircle.cpp +++ b/src/Tool/IntelliToolCircle.cpp @@ -15,30 +15,30 @@ IntelliToolCircle::~IntelliToolCircle(){ void IntelliToolCircle::drawCircle(int radius){ QColor inner = this->colorPicker->getSecondColor(); inner.setAlpha(Toolsettings->getInnerAlpha()); - int yMinimum, yMaximum, xMinimum, xMaximum; - yMinimum = centerPoint.y() - radius; - yMaximum = centerPoint.y() + radius; + int yMinimum, yMaximum, xMinimum, xMaximum; + yMinimum = centerPoint.y() - radius; + yMaximum = centerPoint.y() + radius; // x = x0+-sqrt(r2-(y-y0)2) - for(int i = yMinimum; i<=yMaximum; i++) { - xMinimum = static_cast(centerPoint.x() - sqrt(pow(radius,2) - pow(i - centerPoint.y(),2))); - xMaximum = static_cast(centerPoint.x() + sqrt(pow(radius,2) - pow(i - centerPoint.y(),2))); - this->Canvas->image->drawLine(QPoint(xMinimum,i), QPoint(xMaximum,i),inner,1); + for(int i = yMinimum; i<=yMaximum; i++) { + xMinimum = static_cast(centerPoint.x() - sqrt(pow(radius,2) - pow(i - centerPoint.y(),2))); + xMaximum = static_cast(centerPoint.x() + sqrt(pow(radius,2) - pow(i - centerPoint.y(),2))); + this->Canvas->image->drawLine(QPoint(xMinimum,i), QPoint(xMaximum,i),inner,1); } //TODO implement circle drawing algorithm bresenham radius = static_cast(radius + (Toolsettings->getLineWidth() / 2.)); - yMinimum = (centerPoint.y() - radius); - yMaximum = (centerPoint.y() + radius); - for(int i = yMinimum; i<=yMaximum; i++) { - xMinimum = static_cast(centerPoint.x() - sqrt(pow(radius,2) - pow(i - centerPoint.y(),2))); - xMaximum = static_cast(centerPoint.x() + sqrt(pow(radius,2) - pow(i - centerPoint.y(),2))); - this->Canvas->image->drawPoint(QPoint(xMinimum,i), colorPicker->getFirstColor(),Toolsettings->getLineWidth()); - this->Canvas->image->drawPoint(QPoint(xMaximum,i), colorPicker->getFirstColor(),Toolsettings->getLineWidth()); + yMinimum = (centerPoint.y() - radius); + yMaximum = (centerPoint.y() + radius); + for(int i = yMinimum; i<=yMaximum; i++) { + xMinimum = static_cast(centerPoint.x() - sqrt(pow(radius,2) - pow(i - centerPoint.y(),2))); + xMaximum = static_cast(centerPoint.x() + sqrt(pow(radius,2) - pow(i - centerPoint.y(),2))); + this->Canvas->image->drawPoint(QPoint(xMinimum,i), colorPicker->getFirstColor(),Toolsettings->getLineWidth()); + this->Canvas->image->drawPoint(QPoint(xMaximum,i), colorPicker->getFirstColor(),Toolsettings->getLineWidth()); } - xMinimum = (centerPoint.x() - radius); - xMaximum = (centerPoint.x() + radius); - for(int i = xMinimum; i<=xMaximum; i++) { + xMinimum = (centerPoint.x() - radius); + xMaximum = (centerPoint.x() + radius); + for(int i = xMinimum; i<=xMaximum; i++) { int yMin = static_cast(centerPoint.y() - sqrt(pow(radius,2) - pow(i - centerPoint.x(),2))); int yMax = static_cast(centerPoint.y() + sqrt(pow(radius,2) - pow(i - centerPoint.x(),2))); this->Canvas->image->drawPoint(QPoint(i, yMin), colorPicker->getFirstColor(),Toolsettings->getLineWidth()); diff --git a/src/Tool/IntelliToolCircle.h b/src/Tool/IntelliToolCircle.h index e33ac45..d9c0b82 100644 --- a/src/Tool/IntelliToolCircle.h +++ b/src/Tool/IntelliToolCircle.h @@ -12,7 +12,7 @@ class UnitTest; * \brief The IntelliToolCircle class represents a tool to draw a circle. */ class IntelliToolCircle : public IntelliTool { - friend UnitTest; +friend UnitTest; /*! * \brief A function that implements a circle drawing algorithm. * \param radius - The radius of the circle. diff --git a/src/Tool/IntelliToolFloodFill.h b/src/Tool/IntelliToolFloodFill.h index b1d29f6..0c4ae1d 100644 --- a/src/Tool/IntelliToolFloodFill.h +++ b/src/Tool/IntelliToolFloodFill.h @@ -12,7 +12,7 @@ class UnitTest; * \brief The IntelliToolFloodFill class represents a tool to flood FIll a certian area. */ class IntelliToolFloodFill : public IntelliTool { - friend UnitTest; +friend UnitTest; public: /*! * \brief A constructor setting the general paintingArea and colorPicker. diff --git a/src/Tool/IntelliToolLine.h b/src/Tool/IntelliToolLine.h index 1a4c8aa..a644192 100644 --- a/src/Tool/IntelliToolLine.h +++ b/src/Tool/IntelliToolLine.h @@ -11,7 +11,7 @@ class UnitTest; * \brief The IntelliToolFloodFill class represents a tool to draw a line. */ class IntelliToolLine : public IntelliTool { - friend UnitTest; +friend UnitTest; /*! * \brief The starting point of the line. */ diff --git a/src/Tool/IntelliToolPen.h b/src/Tool/IntelliToolPen.h index 851ec74..e7ee043 100644 --- a/src/Tool/IntelliToolPen.h +++ b/src/Tool/IntelliToolPen.h @@ -12,7 +12,7 @@ class UnitTest; * \brief The IntelliToolPen class represents a tool to draw a line. */ class IntelliToolPen : public IntelliTool { - friend UnitTest; +friend UnitTest; /*! * \brief point - Represents the previous point to help drawing a line. */ diff --git a/src/Tool/IntelliToolPlain.h b/src/Tool/IntelliToolPlain.h index 0c97c15..99a3258 100644 --- a/src/Tool/IntelliToolPlain.h +++ b/src/Tool/IntelliToolPlain.h @@ -11,7 +11,7 @@ class UnitTest; * \brief The IntelliToolPlainTool class represents a tool to fill the whole canvas with one color. */ class IntelliToolPlainTool : public IntelliTool { - friend UnitTest; +friend UnitTest; public: /*! * \brief A constructor setting the general paintingArea and colorPicker. diff --git a/src/Tool/IntelliToolPolygon.cpp b/src/Tool/IntelliToolPolygon.cpp index c866424..507ffb7 100644 --- a/src/Tool/IntelliToolPolygon.cpp +++ b/src/Tool/IntelliToolPolygon.cpp @@ -24,7 +24,7 @@ IntelliToolPolygon::~IntelliToolPolygon(){ } void IntelliToolPolygon::onMouseLeftPressed(int x, int y){ - if(!drawingOfPolygon && Area->getTypeOfImageRealLayer() == IntelliImage::ImageType::SHAPEDIMAGE && x > 0 && y > 0 && xgetWidthOfActive() && ygetHeightOfActive()) { + if(!drawingOfPolygon && Area->getTypeOfImageRealLayer() == IntelliImage::ImageType::SHAPEDIMAGE && x > 0 && y > 0 && xgetWidthOfActive() && ygetHeightOfActive()) { if(Area->getPolygonDataOfRealLayer().size()>2) { std::vector Triangles = IntelliTriangulation::calculateTriangles(Area->getPolygonDataOfRealLayer()); QPoint Point(x,y); @@ -53,7 +53,7 @@ void IntelliToolPolygon::onMouseLeftPressed(int x, int y){ this->Canvas->image->calculateVisiblity(); } } - else if(drawingOfPolygon && QPointList.size() > 0 && isNearStart(x,y,QPointList.front())) { + else if(drawingOfPolygon && QPointList.size() > 0 && isNearStart(x,y,QPointList.front())) { if(QPointList.size() > 2) { isPointNearStart = true; this->Canvas->image->drawLine(QPointList.back(), QPointList.front(), colorPicker->getFirstColor(), Toolsettings->getLineWidth()); @@ -81,7 +81,7 @@ void IntelliToolPolygon::onMouseLeftPressed(int x, int y){ } void IntelliToolPolygon::onMouseRightPressed(int x, int y){ - drawingOfPolygon = false; + drawingOfPolygon = false; isInside = false; isPointNearStart = false; QPointList.clear(); @@ -92,7 +92,7 @@ void IntelliToolPolygon::onMouseLeftReleased(int x, int y){ if(isPointNearStart) { isInside = false; isPointNearStart = false; - drawingOfPolygon = false; + drawingOfPolygon = false; if(!isSettingPolygon) { std::vector Triangles = IntelliTriangulation::calculateTriangles(QPointList); QPoint Point; @@ -145,7 +145,7 @@ bool IntelliToolPolygon::isNearStart(int x, int y, QPoint Startpoint){ int StartY = Startpoint.y(); int valueToNear = 5; - float euklid = sqrt(pow(static_cast(StartX-x),2.f)+pow(static_cast(StartY-y),2.f)); + float euklid = sqrt(pow(static_cast(StartX - x),2.f) + pow(static_cast(StartY - y),2.f)); - return static_cast(euklid)(euklid) +#include // add necessary includes here -#include +#include #include "GUI/IntelliPhotoGui.h" class UnitTest : public QObject { - Q_OBJECT +Q_OBJECT private: - IntelliPhotoGui* gui; - PaintingArea* area; - QApplication* app; +IntelliPhotoGui* gui; +PaintingArea* area; +QApplication* app; public: - UnitTest(); - ~UnitTest(); +UnitTest(); +~UnitTest(); private slots: - void initTestCase(); - void cleanupTestCase(); - //void test_case1(); +void initTestCase(); +void cleanupTestCase(); +//void test_case1(); - //test painting area - void test_addLayer(); - void test_deleteLayer(); - void test_setActive(); - void test_setAlpha(); - void test_floodFill(); - void test_moveActive(); - void test_setPolygon(); - void test_setLayerUp(); - void test_setLayerDown(); +//test painting area +void test_addLayer(); +void test_deleteLayer(); +void test_setActive(); +void test_setAlpha(); +void test_floodFill(); +void test_moveActive(); +void test_setPolygon(); +void test_setLayerUp(); +void test_setLayerDown(); - void test_createTools(); +void test_createTools(); - //test Raster-Image operations - void test_RasterImage_drawPixel(); - void test_RasterImage_drawLine(); - void test_RasterImage_drawPoint(); - void test_RasterImage_getDisplayable(); - void test_RasterImage_setPolygon(); - void test_RasterImage_loadImage(); - void test_RasterImage_getPixelColor(); - void test_RasterImage_getImageData(); - void test_RasterImage_setImageData(); +//test Raster-Image operations +void test_RasterImage_drawPixel(); +void test_RasterImage_drawLine(); +void test_RasterImage_drawPoint(); +void test_RasterImage_getDisplayable(); +void test_RasterImage_setPolygon(); +void test_RasterImage_loadImage(); +void test_RasterImage_getPixelColor(); +void test_RasterImage_getImageData(); +void test_RasterImage_setImageData(); - //test Shaped-Image operations - void test_ShapedImage_drawPixel(); - void test_ShapedImage_drawLine(); - void test_ShapedImage_drawPoint(); - void test_ShapedImage_getDisplayable(); - void test_ShapedImage_setPolygon(); - void test_ShapedImage_loadImage(); - void test_ShapedImage_getPixelColor(); - void test_ShapedImage_getImageData(); - void test_ShapedImage_setImageData(); +//test Shaped-Image operations +void test_ShapedImage_drawPixel(); +void test_ShapedImage_drawLine(); +void test_ShapedImage_drawPoint(); +void test_ShapedImage_getDisplayable(); +void test_ShapedImage_setPolygon(); +void test_ShapedImage_loadImage(); +void test_ShapedImage_getPixelColor(); +void test_ShapedImage_getImageData(); +void test_ShapedImage_setImageData(); - //test painting-area tools - void test_createTool_Circle(); - void test_createTool_FloodFill(); - void test_createTool_Line(); - void test_createTool_Pen(); - void test_createTool_Plain(); - void test_createTool_Polygon(); - void test_createTool_Rectangle(); +//test painting-area tools +void test_createTool_Circle(); +void test_createTool_FloodFill(); +void test_createTool_Line(); +void test_createTool_Pen(); +void test_createTool_Plain(); +void test_createTool_Polygon(); +void test_createTool_Rectangle(); - //test tools - void test_Circle_fullDraw(); - void test_Circle_interruptedDraw(); +//test tools +void test_Circle_fullDraw(); +void test_Circle_interruptedDraw(); - void test_FloodFill_fullDraw(); - void test_FloodFill_interruptedDraw(); +void test_FloodFill_fullDraw(); +void test_FloodFill_interruptedDraw(); - void test_Line_fullDraw(); - void test_Line_interruptedDraw(); +void test_Line_fullDraw(); +void test_Line_interruptedDraw(); - void test_Pen_fullDraw(); - void test_Pen_interruptedDraw(); +void test_Pen_fullDraw(); +void test_Pen_interruptedDraw(); - void test_Plain_fullDraw(); - void test_Plain_interruptedDraw(); +void test_Plain_fullDraw(); +void test_Plain_interruptedDraw(); - void test_Polygon_fullDraw(); - void test_Polygon_interruptedDraw(); +void test_Polygon_fullDraw(); +void test_Polygon_interruptedDraw(); - void test_Rectangle_fullDraw(); - void test_Rectangle_interruptedDraw(); +void test_Rectangle_fullDraw(); +void test_Rectangle_interruptedDraw(); - //test Triangulation - void test_Triangulation_Coverage(); +//test Triangulation +void test_Triangulation_Coverage(); }; UnitTest::UnitTest() { - char arg0[] = "programName"; - char arg1[] = "arg1"; - char arg2[] = "arg2"; - char *argv[] = {arg0, arg1, arg2, nullptr}; - int argc = sizeof(argv) / sizeof(char*) - 1; + char arg0[] = "programName"; + char arg1[] = "arg1"; + char arg2[] = "arg2"; + char*argv[] = {arg0, arg1, arg2, nullptr}; + int argc = sizeof(argv) / sizeof(char*) - 1; - app = new QApplication(argc,argv); - gui = new IntelliPhotoGui(); - area = gui->paintingArea; + app = new QApplication(argc,argv); + gui = new IntelliPhotoGui(); + area = gui->paintingArea; } UnitTest::~UnitTest() @@ -117,8 +117,8 @@ void UnitTest::initTestCase() void UnitTest::cleanupTestCase() { - delete gui; - delete app; + delete gui; + delete app; } //void UnitTest::test_case1() @@ -129,73 +129,123 @@ void UnitTest::cleanupTestCase() //} //test painting area -void UnitTest::test_addLayer(){} -void UnitTest::test_deleteLayer(){} -void UnitTest::test_setActive(){} -void UnitTest::test_setAlpha(){} -void UnitTest::test_floodFill(){} -void UnitTest::test_moveActive(){} -void UnitTest::test_setPolygon(){} -void UnitTest::test_setLayerUp(){} -void UnitTest::test_setLayerDown(){} +void UnitTest::test_addLayer(){ +} +void UnitTest::test_deleteLayer(){ +} +void UnitTest::test_setActive(){ +} +void UnitTest::test_setAlpha(){ +} +void UnitTest::test_floodFill(){ +} +void UnitTest::test_moveActive(){ +} +void UnitTest::test_setPolygon(){ +} +void UnitTest::test_setLayerUp(){ +} +void UnitTest::test_setLayerDown(){ +} -void UnitTest::test_createTools(){} +void UnitTest::test_createTools(){ +} //test Raster-Image operations -void UnitTest::test_RasterImage_drawPixel(){} -void UnitTest::test_RasterImage_drawLine(){} -void UnitTest::test_RasterImage_drawPoint(){} -void UnitTest::test_RasterImage_getDisplayable(){} -void UnitTest::test_RasterImage_setPolygon(){} -void UnitTest::test_RasterImage_loadImage(){} -void UnitTest::test_RasterImage_getPixelColor(){} -void UnitTest::test_RasterImage_getImageData(){} -void UnitTest::test_RasterImage_setImageData(){} +void UnitTest::test_RasterImage_drawPixel(){ +} +void UnitTest::test_RasterImage_drawLine(){ +} +void UnitTest::test_RasterImage_drawPoint(){ +} +void UnitTest::test_RasterImage_getDisplayable(){ +} +void UnitTest::test_RasterImage_setPolygon(){ +} +void UnitTest::test_RasterImage_loadImage(){ +} +void UnitTest::test_RasterImage_getPixelColor(){ +} +void UnitTest::test_RasterImage_getImageData(){ +} +void UnitTest::test_RasterImage_setImageData(){ +} //test Shaped-Image operations -void UnitTest::test_ShapedImage_drawPixel(){} -void UnitTest::test_ShapedImage_drawLine(){} -void UnitTest::test_ShapedImage_drawPoint(){} -void UnitTest::test_ShapedImage_getDisplayable(){} -void UnitTest::test_ShapedImage_setPolygon(){} -void UnitTest::test_ShapedImage_loadImage(){} -void UnitTest::test_ShapedImage_getPixelColor(){} -void UnitTest::test_ShapedImage_getImageData(){} -void UnitTest::test_ShapedImage_setImageData(){} +void UnitTest::test_ShapedImage_drawPixel(){ +} +void UnitTest::test_ShapedImage_drawLine(){ +} +void UnitTest::test_ShapedImage_drawPoint(){ +} +void UnitTest::test_ShapedImage_getDisplayable(){ +} +void UnitTest::test_ShapedImage_setPolygon(){ +} +void UnitTest::test_ShapedImage_loadImage(){ +} +void UnitTest::test_ShapedImage_getPixelColor(){ +} +void UnitTest::test_ShapedImage_getImageData(){ +} +void UnitTest::test_ShapedImage_setImageData(){ +} //test painting-area tools -void UnitTest::test_createTool_Circle(){} -void UnitTest::test_createTool_FloodFill(){} -void UnitTest::test_createTool_Line(){} -void UnitTest::test_createTool_Pen(){} -void UnitTest::test_createTool_Plain(){} -void UnitTest::test_createTool_Polygon(){} -void UnitTest::test_createTool_Rectangle(){} +void UnitTest::test_createTool_Circle(){ +} +void UnitTest::test_createTool_FloodFill(){ +} +void UnitTest::test_createTool_Line(){ +} +void UnitTest::test_createTool_Pen(){ +} +void UnitTest::test_createTool_Plain(){ +} +void UnitTest::test_createTool_Polygon(){ +} +void UnitTest::test_createTool_Rectangle(){ +} //test tools -void UnitTest::test_Circle_fullDraw(){} -void UnitTest::test_Circle_interruptedDraw(){} +void UnitTest::test_Circle_fullDraw(){ +} +void UnitTest::test_Circle_interruptedDraw(){ +} -void UnitTest::test_FloodFill_fullDraw(){} -void UnitTest::test_FloodFill_interruptedDraw(){} +void UnitTest::test_FloodFill_fullDraw(){ +} +void UnitTest::test_FloodFill_interruptedDraw(){ +} -void UnitTest::test_Line_fullDraw(){} -void UnitTest::test_Line_interruptedDraw(){} +void UnitTest::test_Line_fullDraw(){ +} +void UnitTest::test_Line_interruptedDraw(){ +} -void UnitTest::test_Pen_fullDraw(){} -void UnitTest::test_Pen_interruptedDraw(){} +void UnitTest::test_Pen_fullDraw(){ +} +void UnitTest::test_Pen_interruptedDraw(){ +} -void UnitTest::test_Plain_fullDraw(){} -void UnitTest::test_Plain_interruptedDraw(){} +void UnitTest::test_Plain_fullDraw(){ +} +void UnitTest::test_Plain_interruptedDraw(){ +} -void UnitTest::test_Polygon_fullDraw(){} -void UnitTest::test_Polygon_interruptedDraw(){} +void UnitTest::test_Polygon_fullDraw(){ +} +void UnitTest::test_Polygon_interruptedDraw(){ +} -void UnitTest::test_Rectangle_fullDraw(){} -void UnitTest::test_Rectangle_interruptedDraw(){} +void UnitTest::test_Rectangle_fullDraw(){ +} +void UnitTest::test_Rectangle_interruptedDraw(){ +} //test Triangulation -void UnitTest::test_Triangulation_Coverage(){} +void UnitTest::test_Triangulation_Coverage(){ +} QTEST_APPLESS_MAIN(UnitTest) diff --git a/src/tst_unittest.cpp b/src/tst_unittest.cpp index dc21b8a..5e9f88c 100644 --- a/src/tst_unittest.cpp +++ b/src/tst_unittest.cpp @@ -282,7 +282,7 @@ void UnitTest::test_moveActive(){ area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE); area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE); - area->layerBundle[1].image->drawPlain(QColor(0, 0, 0, 255)); + area->layerBundle[1].image->drawPlain(QColor(0, 0, 0, 255)); QPoint point(0,0); area->moveActiveLayer(-1); @@ -449,9 +449,9 @@ void UnitTest::test_RasterImage_getDisplayable(){ area->layerBundle[0].image->drawPlain(QColor(255, 255, 255, 255)); QImage img = area->layerBundle[0].image->getDisplayable(QSize(200,200),255); QPoint point; - for(size_t i=0; i<200; i++) { + for(size_t i = 0; i<200; i++) { point.setX(static_cast(i)); - for(size_t j=0; j<200; j++) { + for(size_t j = 0; j<200; j++) { point.setY(static_cast(j)); QVERIFY(img.pixelColor(point) == QColor(255,255,255,255)); } @@ -1136,20 +1136,20 @@ void UnitTest::bench_moveActive(){ } void UnitTest::bench_setPolygon(){ - area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE); + area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE); - std::vector polygon{ - QPoint(10,00), - QPoint(00,10), - QPoint(10,10), - QPoint(00,10) - }; + std::vector polygon{ + QPoint(10,00), + QPoint(00,10), + QPoint(10,10), + QPoint(00,10) + }; - QBENCHMARK{ - area->layerBundle[0].image->setPolygon(polygon); - } + QBENCHMARK{ + area->layerBundle[0].image->setPolygon(polygon); + } - area->deleteLayer(0); + area->deleteLayer(0); } void UnitTest::bench_setLayerUp(){ @@ -1561,65 +1561,65 @@ void UnitTest::bench_Plain_interruptedDraw(){ } void UnitTest::bench_Polygon_fullDraw(){ - area->addLayer(21,21,10,20,IntelliImage::ImageType::RASTERIMAGE); - std::vector points{ - QPoint(10,00), - QPoint(00,10), - QPoint(10,20), - QPoint(20,10) - }; + area->addLayer(21,21,10,20,IntelliImage::ImageType::RASTERIMAGE); + std::vector points{ + QPoint(10,00), + QPoint(00,10), + QPoint(10,20), + QPoint(20,10) + }; - area->colorPicker.setFirstColor(QColor(255,255,255,255)); - area->colorPicker.setSecondColor(QColor(0,0,0,255)); - area->createPolygonTool(); - area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255)); + area->colorPicker.setFirstColor(QColor(255,255,255,255)); + area->colorPicker.setSecondColor(QColor(0,0,0,255)); + area->createPolygonTool(); + area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255)); - QBENCHMARK{ - area->Tool->onMouseLeftPressed(points[0].x(), points[0].y()); - area->Tool->onMouseLeftReleased(points[0].x(), points[0].y()); - area->Tool->onMouseMoved(points[1].x(), points[1].y()); + QBENCHMARK{ + area->Tool->onMouseLeftPressed(points[0].x(), points[0].y()); + area->Tool->onMouseLeftReleased(points[0].x(), points[0].y()); + area->Tool->onMouseMoved(points[1].x(), points[1].y()); - area->Tool->onMouseLeftPressed(points[1].x(), points[1].y()); - area->Tool->onMouseLeftReleased(points[1].x(), points[1].y()); - area->Tool->onMouseMoved(points[2].x(), points[2].y()); + area->Tool->onMouseLeftPressed(points[1].x(), points[1].y()); + area->Tool->onMouseLeftReleased(points[1].x(), points[1].y()); + area->Tool->onMouseMoved(points[2].x(), points[2].y()); - area->Tool->onMouseLeftPressed(points[2].x(), points[2].y()); - area->Tool->onMouseLeftReleased(points[2].x(), points[2].y()); - area->Tool->onMouseMoved(points[3].x(), points[3].y()); + area->Tool->onMouseLeftPressed(points[2].x(), points[2].y()); + area->Tool->onMouseLeftReleased(points[2].x(), points[2].y()); + area->Tool->onMouseMoved(points[3].x(), points[3].y()); - area->Tool->onMouseLeftPressed(points[3].x(), points[3].y()); - area->Tool->onMouseLeftReleased(points[3].x(), points[3].y()); - area->Tool->onMouseMoved(points[0].x(), points[0].y()); + area->Tool->onMouseLeftPressed(points[3].x(), points[3].y()); + area->Tool->onMouseLeftReleased(points[3].x(), points[3].y()); + area->Tool->onMouseMoved(points[0].x(), points[0].y()); - area->Tool->onMouseLeftPressed(points[0].x(), points[0].y()); - area->Tool->onMouseLeftReleased(points[0].x(), points[0].y()); - } + area->Tool->onMouseLeftPressed(points[0].x(), points[0].y()); + area->Tool->onMouseLeftReleased(points[0].x(), points[0].y()); + } - area->deleteLayer(0); + area->deleteLayer(0); } void UnitTest::bench_Polygon_interruptedDraw(){ - area->addLayer(201,201,10,20,IntelliImage::ImageType::RASTERIMAGE); - std::vector points{ - QPoint(100,000) - }; + area->addLayer(201,201,10,20,IntelliImage::ImageType::RASTERIMAGE); + std::vector points{ + QPoint(100,000) + }; - area->colorPicker.setFirstColor(QColor(255,255,255,255)); - area->colorPicker.setSecondColor(QColor(0,0,0,255)); - area->createPolygonTool(); - area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255)); + area->colorPicker.setFirstColor(QColor(255,255,255,255)); + area->colorPicker.setSecondColor(QColor(0,0,0,255)); + area->createPolygonTool(); + area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255)); - QBENCHMARK{ - area->Tool->onMouseLeftPressed(points[0].x(), points[0].y()); - area->Tool->onMouseLeftReleased(points[0].x(), points[0].y()); + QBENCHMARK{ + area->Tool->onMouseLeftPressed(points[0].x(), points[0].y()); + area->Tool->onMouseLeftReleased(points[0].x(), points[0].y()); - area->Tool->onMouseRightPressed(points[0].x(), points[0].y()); - area->Tool->onMouseRightReleased(points[0].x(), points[0].y()); - } + area->Tool->onMouseRightPressed(points[0].x(), points[0].y()); + area->Tool->onMouseRightReleased(points[0].x(), points[0].y()); + } - area->deleteLayer(0); + area->deleteLayer(0); } @@ -1681,9 +1681,9 @@ void UnitTest::bench_Triangulation_Coverage(){ QBENCHMARK{ std::vector tria = IntelliTriangulation::calculateTriangles(points); QPoint point; - for(int i=0; i<200; i++) { + for(int i = 0; i<200; i++) { point.setX(i); - for(int j=0; j<200; j++) { + for(int j = 0; j<200; j++) { point.setY(j); IntelliTriangulation::isInPolygon(tria, point); } From c543563d2fe1c82fcd2ee2ddf87ced7554fd00fe Mon Sep 17 00:00:00 2001 From: Conrad Date: Thu, 16 Jan 2020 22:56:21 +0100 Subject: [PATCH 2/4] Update prep.sh --- prep.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/prep.sh b/prep.sh index cb2a7e4..5c1b486 100755 --- a/prep.sh +++ b/prep.sh @@ -52,7 +52,7 @@ runUnitTests(){ gitCommit(){ printLine "Committing Changes to Git..." git add '*' || { printLine "ERROR: git not found!" "\033[0;33m"; return; } - git commit -m "Automated Release Preparation" + git commit -m "$1" printLine "Committed." "\033[0;32m" } @@ -62,7 +62,7 @@ prepareMerge(){ runCPPCheck #runUnitTests runDoxygen - gitCommit + gitCommit "Automated Merge Preparation" printLine "Finished." "\033[0;32m" exit } @@ -75,7 +75,7 @@ prepareRelease(){ runCPPCheck #runUnitTests runDoxygen - gitCommit + gitCommit "Automated Release Preparation" printLine "Finished." "\033[0;32m" exit } From 374223e58a0e29a8001f9ea66b6ab9fe732e85d4 Mon Sep 17 00:00:00 2001 From: Conrad Date: Thu, 16 Jan 2020 23:03:41 +0100 Subject: [PATCH 3/4] Bumped Version Number --- conf/intelliphoto_dox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/intelliphoto_dox b/conf/intelliphoto_dox index 1326066..8c10cda 100644 --- a/conf/intelliphoto_dox +++ b/conf/intelliphoto_dox @@ -5,7 +5,7 @@ #--------------------------------------------------------------------------- DOXYFILE_ENCODING = UTF-8 PROJECT_NAME = IntelliPhoto -PROJECT_NUMBER = 0.5 +PROJECT_NUMBER = 0.6 PROJECT_BRIEF = PROJECT_LOGO = OUTPUT_DIRECTORY = docs From 944295840d2e69dd7e405ceb74168a8e23113bef Mon Sep 17 00:00:00 2001 From: Conrad Date: Thu, 16 Jan 2020 23:04:12 +0100 Subject: [PATCH 4/4] Automated Release Preparation --- docs/html/_intelli_color_picker_8cpp.html | 2 +- docs/html/_intelli_color_picker_8cpp_source.html | 2 +- docs/html/_intelli_color_picker_8h.html | 2 +- docs/html/_intelli_color_picker_8h_source.html | 2 +- docs/html/_intelli_image_8cpp.html | 2 +- docs/html/_intelli_image_8cpp_source.html | 2 +- docs/html/_intelli_image_8h.html | 2 +- docs/html/_intelli_image_8h_source.html | 2 +- docs/html/_intelli_input_dialog_8cpp.html | 2 +- docs/html/_intelli_input_dialog_8cpp_source.html | 2 +- docs/html/_intelli_input_dialog_8h.html | 2 +- docs/html/_intelli_input_dialog_8h_source.html | 2 +- docs/html/_intelli_photo_gui_8cpp.html | 2 +- docs/html/_intelli_photo_gui_8cpp_source.html | 2 +- docs/html/_intelli_photo_gui_8h.html | 2 +- docs/html/_intelli_photo_gui_8h_source.html | 2 +- docs/html/_intelli_raster_image_8cpp.html | 2 +- docs/html/_intelli_raster_image_8cpp_source.html | 2 +- docs/html/_intelli_raster_image_8h.html | 2 +- docs/html/_intelli_raster_image_8h_source.html | 2 +- docs/html/_intelli_render_settings_8cpp.html | 2 +- docs/html/_intelli_render_settings_8cpp_source.html | 2 +- docs/html/_intelli_render_settings_8h.html | 2 +- docs/html/_intelli_render_settings_8h_source.html | 2 +- docs/html/_intelli_shaped_image_8cpp.html | 2 +- docs/html/_intelli_shaped_image_8cpp_source.html | 2 +- docs/html/_intelli_shaped_image_8h.html | 2 +- docs/html/_intelli_shaped_image_8h_source.html | 2 +- docs/html/_intelli_tool_8cpp.html | 2 +- docs/html/_intelli_tool_8cpp_source.html | 2 +- docs/html/_intelli_tool_8h.html | 2 +- docs/html/_intelli_tool_8h_source.html | 2 +- docs/html/_intelli_tool_circle_8cpp.html | 2 +- docs/html/_intelli_tool_circle_8cpp_source.html | 2 +- docs/html/_intelli_tool_circle_8h.html | 2 +- docs/html/_intelli_tool_circle_8h_source.html | 2 +- docs/html/_intelli_tool_flood_fill_8cpp.html | 2 +- docs/html/_intelli_tool_flood_fill_8cpp_source.html | 2 +- docs/html/_intelli_tool_flood_fill_8h.html | 2 +- docs/html/_intelli_tool_flood_fill_8h_source.html | 2 +- docs/html/_intelli_tool_line_8cpp.html | 2 +- docs/html/_intelli_tool_line_8cpp_source.html | 2 +- docs/html/_intelli_tool_line_8h.html | 2 +- docs/html/_intelli_tool_line_8h_source.html | 2 +- docs/html/_intelli_tool_pen_8cpp.html | 2 +- docs/html/_intelli_tool_pen_8cpp_source.html | 2 +- docs/html/_intelli_tool_pen_8h.html | 2 +- docs/html/_intelli_tool_pen_8h_source.html | 2 +- docs/html/_intelli_tool_plain_8cpp.html | 2 +- docs/html/_intelli_tool_plain_8cpp_source.html | 2 +- docs/html/_intelli_tool_plain_8h.html | 2 +- docs/html/_intelli_tool_plain_8h_source.html | 2 +- docs/html/_intelli_tool_polygon_8cpp.html | 2 +- docs/html/_intelli_tool_polygon_8cpp_source.html | 2 +- docs/html/_intelli_tool_polygon_8h.html | 2 +- docs/html/_intelli_tool_polygon_8h_source.html | 2 +- docs/html/_intelli_tool_rectangle_8cpp.html | 2 +- docs/html/_intelli_tool_rectangle_8cpp_source.html | 2 +- docs/html/_intelli_tool_rectangle_8h.html | 2 +- docs/html/_intelli_tool_rectangle_8h_source.html | 2 +- docs/html/_intelli_toolsettings_8cpp.html | 2 +- docs/html/_intelli_toolsettings_8cpp_source.html | 2 +- docs/html/_intelli_toolsettings_8h.html | 2 +- docs/html/_intelli_toolsettings_8h_source.html | 2 +- docs/html/_intelli_triangulation_8cpp.html | 2 +- docs/html/_intelli_triangulation_8cpp_source.html | 2 +- docs/html/_intelli_triangulation_8h.html | 2 +- docs/html/_intelli_triangulation_8h_source.html | 2 +- docs/html/_painting_area_8cpp.html | 2 +- docs/html/_painting_area_8cpp_source.html | 2 +- docs/html/_painting_area_8h.html | 2 +- docs/html/_painting_area_8h_source.html | 2 +- docs/html/annotated.html | 2 +- docs/html/class_intelli_color_picker-members.html | 2 +- docs/html/class_intelli_color_picker.html | 2 +- docs/html/class_intelli_image-members.html | 2 +- docs/html/class_intelli_image.html | 2 +- docs/html/class_intelli_input_dialog-members.html | 2 +- docs/html/class_intelli_input_dialog.html | 2 +- docs/html/class_intelli_photo_gui-members.html | 2 +- docs/html/class_intelli_photo_gui.html | 2 +- docs/html/class_intelli_raster_image-members.html | 2 +- docs/html/class_intelli_raster_image.html | 2 +- docs/html/class_intelli_render_settings-members.html | 2 +- docs/html/class_intelli_render_settings.html | 2 +- docs/html/class_intelli_shaped_image-members.html | 2 +- docs/html/class_intelli_shaped_image.html | 2 +- docs/html/class_intelli_tool-members.html | 2 +- docs/html/class_intelli_tool.html | 2 +- docs/html/class_intelli_tool_circle-members.html | 2 +- docs/html/class_intelli_tool_circle.html | 2 +- docs/html/class_intelli_tool_flood_fill-members.html | 2 +- docs/html/class_intelli_tool_flood_fill.html | 2 +- docs/html/class_intelli_tool_line-members.html | 2 +- docs/html/class_intelli_tool_line.html | 2 +- docs/html/class_intelli_tool_pen-members.html | 2 +- docs/html/class_intelli_tool_pen.html | 2 +- docs/html/class_intelli_tool_plain_tool-members.html | 2 +- docs/html/class_intelli_tool_plain_tool.html | 2 +- docs/html/class_intelli_tool_polygon-members.html | 2 +- docs/html/class_intelli_tool_polygon.html | 2 +- docs/html/class_intelli_tool_rectangle-members.html | 2 +- docs/html/class_intelli_tool_rectangle.html | 2 +- docs/html/class_intelli_toolsettings-members.html | 2 +- docs/html/class_intelli_toolsettings.html | 2 +- docs/html/class_painting_area-members.html | 2 +- docs/html/class_painting_area.html | 2 +- docs/html/class_unit_test-members.html | 2 +- docs/html/class_unit_test.html | 2 +- docs/html/classes.html | 2 +- docs/html/dir_13830bfc3dd6736fe878600c9081919f.html | 2 +- docs/html/dir_4e4e2e75df7fa6971448b424c011c8b5.html | 2 +- docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html | 2 +- docs/html/dir_858355f3357c73763e566ff49d1e6a7a.html | 2 +- docs/html/dir_8de6078cba2a961961818cf80b28fd4f.html | 2 +- docs/html/dir_fdbdd9841f9a730f284bb666ff3d8cfe.html | 2 +- docs/html/files.html | 2 +- docs/html/functions.html | 2 +- docs/html/functions_enum.html | 2 +- docs/html/functions_func.html | 2 +- docs/html/functions_vars.html | 2 +- docs/html/globals.html | 2 +- docs/html/globals_defs.html | 2 +- docs/html/globals_func.html | 2 +- docs/html/hierarchy.html | 2 +- docs/html/index.html | 2 +- docs/html/main_8cpp.html | 2 +- docs/html/main_8cpp_source.html | 2 +- docs/html/main_unit_test_8cpp.html | 2 +- docs/html/main_unit_test_8cpp_source.html | 2 +- docs/html/namespace_intelli_triangulation.html | 2 +- docs/html/namespacemembers.html | 2 +- docs/html/namespacemembers_func.html | 2 +- docs/html/namespaces.html | 2 +- docs/html/struct_layer_object-members.html | 2 +- docs/html/struct_layer_object.html | 2 +- docs/html/struct_triangle-members.html | 2 +- docs/html/struct_triangle.html | 2 +- docs/html/tst__unittest_8cpp.html | 2 +- docs/html/tst__unittest_8cpp_source.html | 2 +- 140 files changed, 140 insertions(+), 140 deletions(-) diff --git a/docs/html/_intelli_color_picker_8cpp.html b/docs/html/_intelli_color_picker_8cpp.html index 4c18fee..849addb 100644 --- a/docs/html/_intelli_color_picker_8cpp.html +++ b/docs/html/_intelli_color_picker_8cpp.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_color_picker_8cpp_source.html b/docs/html/_intelli_color_picker_8cpp_source.html index cf20522..f7131a1 100644 --- a/docs/html/_intelli_color_picker_8cpp_source.html +++ b/docs/html/_intelli_color_picker_8cpp_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_color_picker_8h.html b/docs/html/_intelli_color_picker_8h.html index 87bc808..3baf920 100644 --- a/docs/html/_intelli_color_picker_8h.html +++ b/docs/html/_intelli_color_picker_8h.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_color_picker_8h_source.html b/docs/html/_intelli_color_picker_8h_source.html index 4b9ce64..7e610a6 100644 --- a/docs/html/_intelli_color_picker_8h_source.html +++ b/docs/html/_intelli_color_picker_8h_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_image_8cpp.html b/docs/html/_intelli_image_8cpp.html index 48082b7..584066c 100644 --- a/docs/html/_intelli_image_8cpp.html +++ b/docs/html/_intelli_image_8cpp.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_image_8cpp_source.html b/docs/html/_intelli_image_8cpp_source.html index 18c4353..d1f5ebe 100644 --- a/docs/html/_intelli_image_8cpp_source.html +++ b/docs/html/_intelli_image_8cpp_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_image_8h.html b/docs/html/_intelli_image_8h.html index dc44395..a140b9e 100644 --- a/docs/html/_intelli_image_8h.html +++ b/docs/html/_intelli_image_8h.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_image_8h_source.html b/docs/html/_intelli_image_8h_source.html index 711b4b8..6a6ef31 100644 --- a/docs/html/_intelli_image_8h_source.html +++ b/docs/html/_intelli_image_8h_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_input_dialog_8cpp.html b/docs/html/_intelli_input_dialog_8cpp.html index 65f283c..1025033 100644 --- a/docs/html/_intelli_input_dialog_8cpp.html +++ b/docs/html/_intelli_input_dialog_8cpp.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_input_dialog_8cpp_source.html b/docs/html/_intelli_input_dialog_8cpp_source.html index d9ad586..c7f0d28 100644 --- a/docs/html/_intelli_input_dialog_8cpp_source.html +++ b/docs/html/_intelli_input_dialog_8cpp_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_input_dialog_8h.html b/docs/html/_intelli_input_dialog_8h.html index b26c496..b19fe7a 100644 --- a/docs/html/_intelli_input_dialog_8h.html +++ b/docs/html/_intelli_input_dialog_8h.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_input_dialog_8h_source.html b/docs/html/_intelli_input_dialog_8h_source.html index 1e3e363..cf8ea3b 100644 --- a/docs/html/_intelli_input_dialog_8h_source.html +++ b/docs/html/_intelli_input_dialog_8h_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_photo_gui_8cpp.html b/docs/html/_intelli_photo_gui_8cpp.html index 780817b..ace1645 100644 --- a/docs/html/_intelli_photo_gui_8cpp.html +++ b/docs/html/_intelli_photo_gui_8cpp.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_photo_gui_8cpp_source.html b/docs/html/_intelli_photo_gui_8cpp_source.html index c2e26bc..4e3dac4 100644 --- a/docs/html/_intelli_photo_gui_8cpp_source.html +++ b/docs/html/_intelli_photo_gui_8cpp_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_photo_gui_8h.html b/docs/html/_intelli_photo_gui_8h.html index 0cbd36f..24bbfb0 100644 --- a/docs/html/_intelli_photo_gui_8h.html +++ b/docs/html/_intelli_photo_gui_8h.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_photo_gui_8h_source.html b/docs/html/_intelli_photo_gui_8h_source.html index c09ecc4..e75e8b8 100644 --- a/docs/html/_intelli_photo_gui_8h_source.html +++ b/docs/html/_intelli_photo_gui_8h_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_raster_image_8cpp.html b/docs/html/_intelli_raster_image_8cpp.html index 00fea0b..ee3b2db 100644 --- a/docs/html/_intelli_raster_image_8cpp.html +++ b/docs/html/_intelli_raster_image_8cpp.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_raster_image_8cpp_source.html b/docs/html/_intelli_raster_image_8cpp_source.html index cfbef61..2e4ab61 100644 --- a/docs/html/_intelli_raster_image_8cpp_source.html +++ b/docs/html/_intelli_raster_image_8cpp_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_raster_image_8h.html b/docs/html/_intelli_raster_image_8h.html index bbb081a..a8e4269 100644 --- a/docs/html/_intelli_raster_image_8h.html +++ b/docs/html/_intelli_raster_image_8h.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_raster_image_8h_source.html b/docs/html/_intelli_raster_image_8h_source.html index f5d0146..2000842 100644 --- a/docs/html/_intelli_raster_image_8h_source.html +++ b/docs/html/_intelli_raster_image_8h_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_render_settings_8cpp.html b/docs/html/_intelli_render_settings_8cpp.html index 713fb11..6fc3666 100644 --- a/docs/html/_intelli_render_settings_8cpp.html +++ b/docs/html/_intelli_render_settings_8cpp.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_render_settings_8cpp_source.html b/docs/html/_intelli_render_settings_8cpp_source.html index ddb0034..cb577bf 100644 --- a/docs/html/_intelli_render_settings_8cpp_source.html +++ b/docs/html/_intelli_render_settings_8cpp_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_render_settings_8h.html b/docs/html/_intelli_render_settings_8h.html index a0073c8..cfb963f 100644 --- a/docs/html/_intelli_render_settings_8h.html +++ b/docs/html/_intelli_render_settings_8h.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_render_settings_8h_source.html b/docs/html/_intelli_render_settings_8h_source.html index c33e936..0ec563e 100644 --- a/docs/html/_intelli_render_settings_8h_source.html +++ b/docs/html/_intelli_render_settings_8h_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_shaped_image_8cpp.html b/docs/html/_intelli_shaped_image_8cpp.html index e512cef..9a0afb2 100644 --- a/docs/html/_intelli_shaped_image_8cpp.html +++ b/docs/html/_intelli_shaped_image_8cpp.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_shaped_image_8cpp_source.html b/docs/html/_intelli_shaped_image_8cpp_source.html index 3b9c25a..56ebd6b 100644 --- a/docs/html/_intelli_shaped_image_8cpp_source.html +++ b/docs/html/_intelli_shaped_image_8cpp_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_shaped_image_8h.html b/docs/html/_intelli_shaped_image_8h.html index d213348..f1c6258 100644 --- a/docs/html/_intelli_shaped_image_8h.html +++ b/docs/html/_intelli_shaped_image_8h.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_shaped_image_8h_source.html b/docs/html/_intelli_shaped_image_8h_source.html index 2edf05e..50768db 100644 --- a/docs/html/_intelli_shaped_image_8h_source.html +++ b/docs/html/_intelli_shaped_image_8h_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_tool_8cpp.html b/docs/html/_intelli_tool_8cpp.html index 485b5c6..09df645 100644 --- a/docs/html/_intelli_tool_8cpp.html +++ b/docs/html/_intelli_tool_8cpp.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_tool_8cpp_source.html b/docs/html/_intelli_tool_8cpp_source.html index 9f0d1ba..d82daad 100644 --- a/docs/html/_intelli_tool_8cpp_source.html +++ b/docs/html/_intelli_tool_8cpp_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_tool_8h.html b/docs/html/_intelli_tool_8h.html index 982c659..6dbecc8 100644 --- a/docs/html/_intelli_tool_8h.html +++ b/docs/html/_intelli_tool_8h.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_tool_8h_source.html b/docs/html/_intelli_tool_8h_source.html index dbe1e70..4ea26a9 100644 --- a/docs/html/_intelli_tool_8h_source.html +++ b/docs/html/_intelli_tool_8h_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_tool_circle_8cpp.html b/docs/html/_intelli_tool_circle_8cpp.html index 88dac33..f570212 100644 --- a/docs/html/_intelli_tool_circle_8cpp.html +++ b/docs/html/_intelli_tool_circle_8cpp.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_tool_circle_8cpp_source.html b/docs/html/_intelli_tool_circle_8cpp_source.html index 3966164..226fc56 100644 --- a/docs/html/_intelli_tool_circle_8cpp_source.html +++ b/docs/html/_intelli_tool_circle_8cpp_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_tool_circle_8h.html b/docs/html/_intelli_tool_circle_8h.html index 0b2df6e..467e5c3 100644 --- a/docs/html/_intelli_tool_circle_8h.html +++ b/docs/html/_intelli_tool_circle_8h.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_tool_circle_8h_source.html b/docs/html/_intelli_tool_circle_8h_source.html index d35ed0e..f41e912 100644 --- a/docs/html/_intelli_tool_circle_8h_source.html +++ b/docs/html/_intelli_tool_circle_8h_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_tool_flood_fill_8cpp.html b/docs/html/_intelli_tool_flood_fill_8cpp.html index be3c43f..9697568 100644 --- a/docs/html/_intelli_tool_flood_fill_8cpp.html +++ b/docs/html/_intelli_tool_flood_fill_8cpp.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_tool_flood_fill_8cpp_source.html b/docs/html/_intelli_tool_flood_fill_8cpp_source.html index 624756d..ed19a8b 100644 --- a/docs/html/_intelli_tool_flood_fill_8cpp_source.html +++ b/docs/html/_intelli_tool_flood_fill_8cpp_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_tool_flood_fill_8h.html b/docs/html/_intelli_tool_flood_fill_8h.html index 4f2496e..fbe6a03 100644 --- a/docs/html/_intelli_tool_flood_fill_8h.html +++ b/docs/html/_intelli_tool_flood_fill_8h.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_tool_flood_fill_8h_source.html b/docs/html/_intelli_tool_flood_fill_8h_source.html index b52a654..81b26dd 100644 --- a/docs/html/_intelli_tool_flood_fill_8h_source.html +++ b/docs/html/_intelli_tool_flood_fill_8h_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_tool_line_8cpp.html b/docs/html/_intelli_tool_line_8cpp.html index 4090c1e..9a358a5 100644 --- a/docs/html/_intelli_tool_line_8cpp.html +++ b/docs/html/_intelli_tool_line_8cpp.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_tool_line_8cpp_source.html b/docs/html/_intelli_tool_line_8cpp_source.html index aef79e5..1787628 100644 --- a/docs/html/_intelli_tool_line_8cpp_source.html +++ b/docs/html/_intelli_tool_line_8cpp_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_tool_line_8h.html b/docs/html/_intelli_tool_line_8h.html index b32eec0..21c388b 100644 --- a/docs/html/_intelli_tool_line_8h.html +++ b/docs/html/_intelli_tool_line_8h.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_tool_line_8h_source.html b/docs/html/_intelli_tool_line_8h_source.html index b7e23e6..bc4773d 100644 --- a/docs/html/_intelli_tool_line_8h_source.html +++ b/docs/html/_intelli_tool_line_8h_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_tool_pen_8cpp.html b/docs/html/_intelli_tool_pen_8cpp.html index e52b2b4..fdfe557 100644 --- a/docs/html/_intelli_tool_pen_8cpp.html +++ b/docs/html/_intelli_tool_pen_8cpp.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_tool_pen_8cpp_source.html b/docs/html/_intelli_tool_pen_8cpp_source.html index aebd43f..586fe43 100644 --- a/docs/html/_intelli_tool_pen_8cpp_source.html +++ b/docs/html/_intelli_tool_pen_8cpp_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_tool_pen_8h.html b/docs/html/_intelli_tool_pen_8h.html index 160dbc8..5d14f7f 100644 --- a/docs/html/_intelli_tool_pen_8h.html +++ b/docs/html/_intelli_tool_pen_8h.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_tool_pen_8h_source.html b/docs/html/_intelli_tool_pen_8h_source.html index bb7b2da..bdb5c7e 100644 --- a/docs/html/_intelli_tool_pen_8h_source.html +++ b/docs/html/_intelli_tool_pen_8h_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_tool_plain_8cpp.html b/docs/html/_intelli_tool_plain_8cpp.html index cd9d19a..224b87c 100644 --- a/docs/html/_intelli_tool_plain_8cpp.html +++ b/docs/html/_intelli_tool_plain_8cpp.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_tool_plain_8cpp_source.html b/docs/html/_intelli_tool_plain_8cpp_source.html index 5cbb746..0d7c0fa 100644 --- a/docs/html/_intelli_tool_plain_8cpp_source.html +++ b/docs/html/_intelli_tool_plain_8cpp_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_tool_plain_8h.html b/docs/html/_intelli_tool_plain_8h.html index 32446ae..9a87213 100644 --- a/docs/html/_intelli_tool_plain_8h.html +++ b/docs/html/_intelli_tool_plain_8h.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_tool_plain_8h_source.html b/docs/html/_intelli_tool_plain_8h_source.html index 26e18ee..75376fa 100644 --- a/docs/html/_intelli_tool_plain_8h_source.html +++ b/docs/html/_intelli_tool_plain_8h_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_tool_polygon_8cpp.html b/docs/html/_intelli_tool_polygon_8cpp.html index c0ae6ea..c288fff 100644 --- a/docs/html/_intelli_tool_polygon_8cpp.html +++ b/docs/html/_intelli_tool_polygon_8cpp.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_tool_polygon_8cpp_source.html b/docs/html/_intelli_tool_polygon_8cpp_source.html index c95a794..2c3d7b1 100644 --- a/docs/html/_intelli_tool_polygon_8cpp_source.html +++ b/docs/html/_intelli_tool_polygon_8cpp_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_tool_polygon_8h.html b/docs/html/_intelli_tool_polygon_8h.html index 797b1a1..8cd3e44 100644 --- a/docs/html/_intelli_tool_polygon_8h.html +++ b/docs/html/_intelli_tool_polygon_8h.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_tool_polygon_8h_source.html b/docs/html/_intelli_tool_polygon_8h_source.html index de143c0..d509274 100644 --- a/docs/html/_intelli_tool_polygon_8h_source.html +++ b/docs/html/_intelli_tool_polygon_8h_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_tool_rectangle_8cpp.html b/docs/html/_intelli_tool_rectangle_8cpp.html index 3916457..df757a4 100644 --- a/docs/html/_intelli_tool_rectangle_8cpp.html +++ b/docs/html/_intelli_tool_rectangle_8cpp.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_tool_rectangle_8cpp_source.html b/docs/html/_intelli_tool_rectangle_8cpp_source.html index 2a1b0ff..acbcd84 100644 --- a/docs/html/_intelli_tool_rectangle_8cpp_source.html +++ b/docs/html/_intelli_tool_rectangle_8cpp_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_tool_rectangle_8h.html b/docs/html/_intelli_tool_rectangle_8h.html index 5b34e64..1c1893d 100644 --- a/docs/html/_intelli_tool_rectangle_8h.html +++ b/docs/html/_intelli_tool_rectangle_8h.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_tool_rectangle_8h_source.html b/docs/html/_intelli_tool_rectangle_8h_source.html index 678fb8e..253bff7 100644 --- a/docs/html/_intelli_tool_rectangle_8h_source.html +++ b/docs/html/_intelli_tool_rectangle_8h_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_toolsettings_8cpp.html b/docs/html/_intelli_toolsettings_8cpp.html index dada395..81da3f9 100644 --- a/docs/html/_intelli_toolsettings_8cpp.html +++ b/docs/html/_intelli_toolsettings_8cpp.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_toolsettings_8cpp_source.html b/docs/html/_intelli_toolsettings_8cpp_source.html index 19a91f4..cd32ac5 100644 --- a/docs/html/_intelli_toolsettings_8cpp_source.html +++ b/docs/html/_intelli_toolsettings_8cpp_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_toolsettings_8h.html b/docs/html/_intelli_toolsettings_8h.html index 65b6e18..d3abad7 100644 --- a/docs/html/_intelli_toolsettings_8h.html +++ b/docs/html/_intelli_toolsettings_8h.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_toolsettings_8h_source.html b/docs/html/_intelli_toolsettings_8h_source.html index 3cea510..2456f08 100644 --- a/docs/html/_intelli_toolsettings_8h_source.html +++ b/docs/html/_intelli_toolsettings_8h_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_triangulation_8cpp.html b/docs/html/_intelli_triangulation_8cpp.html index bed1df2..c62e736 100644 --- a/docs/html/_intelli_triangulation_8cpp.html +++ b/docs/html/_intelli_triangulation_8cpp.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_triangulation_8cpp_source.html b/docs/html/_intelli_triangulation_8cpp_source.html index 01d0e53..6667a65 100644 --- a/docs/html/_intelli_triangulation_8cpp_source.html +++ b/docs/html/_intelli_triangulation_8cpp_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_triangulation_8h.html b/docs/html/_intelli_triangulation_8h.html index 3b84cc0..0625f9e 100644 --- a/docs/html/_intelli_triangulation_8h.html +++ b/docs/html/_intelli_triangulation_8h.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_intelli_triangulation_8h_source.html b/docs/html/_intelli_triangulation_8h_source.html index 3a7b7a2..cd7a22d 100644 --- a/docs/html/_intelli_triangulation_8h_source.html +++ b/docs/html/_intelli_triangulation_8h_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_painting_area_8cpp.html b/docs/html/_painting_area_8cpp.html index 63d1ec5..e47807d 100644 --- a/docs/html/_painting_area_8cpp.html +++ b/docs/html/_painting_area_8cpp.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_painting_area_8cpp_source.html b/docs/html/_painting_area_8cpp_source.html index bd493e0..cf1f6de 100644 --- a/docs/html/_painting_area_8cpp_source.html +++ b/docs/html/_painting_area_8cpp_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_painting_area_8h.html b/docs/html/_painting_area_8h.html index ca6396d..a38f9c5 100644 --- a/docs/html/_painting_area_8h.html +++ b/docs/html/_painting_area_8h.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/_painting_area_8h_source.html b/docs/html/_painting_area_8h_source.html index 0f9ed23..d6e56c8 100644 --- a/docs/html/_painting_area_8h_source.html +++ b/docs/html/_painting_area_8h_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/annotated.html b/docs/html/annotated.html index a269454..801fcc5 100644 --- a/docs/html/annotated.html +++ b/docs/html/annotated.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/class_intelli_color_picker-members.html b/docs/html/class_intelli_color_picker-members.html index b709abb..f8805e4 100644 --- a/docs/html/class_intelli_color_picker-members.html +++ b/docs/html/class_intelli_color_picker-members.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/class_intelli_color_picker.html b/docs/html/class_intelli_color_picker.html index cdca8b6..4be72c1 100644 --- a/docs/html/class_intelli_color_picker.html +++ b/docs/html/class_intelli_color_picker.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/class_intelli_image-members.html b/docs/html/class_intelli_image-members.html index ffc6d09..6e5b960 100644 --- a/docs/html/class_intelli_image-members.html +++ b/docs/html/class_intelli_image-members.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/class_intelli_image.html b/docs/html/class_intelli_image.html index 66a4383..494ecee 100644 --- a/docs/html/class_intelli_image.html +++ b/docs/html/class_intelli_image.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/class_intelli_input_dialog-members.html b/docs/html/class_intelli_input_dialog-members.html index 2db1c93..b423c22 100644 --- a/docs/html/class_intelli_input_dialog-members.html +++ b/docs/html/class_intelli_input_dialog-members.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/class_intelli_input_dialog.html b/docs/html/class_intelli_input_dialog.html index 3ee511a..8c2a691 100644 --- a/docs/html/class_intelli_input_dialog.html +++ b/docs/html/class_intelli_input_dialog.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/class_intelli_photo_gui-members.html b/docs/html/class_intelli_photo_gui-members.html index 898913b..abeec7e 100644 --- a/docs/html/class_intelli_photo_gui-members.html +++ b/docs/html/class_intelli_photo_gui-members.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/class_intelli_photo_gui.html b/docs/html/class_intelli_photo_gui.html index 5399f88..6fb134a 100644 --- a/docs/html/class_intelli_photo_gui.html +++ b/docs/html/class_intelli_photo_gui.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/class_intelli_raster_image-members.html b/docs/html/class_intelli_raster_image-members.html index 71e7be7..125f538 100644 --- a/docs/html/class_intelli_raster_image-members.html +++ b/docs/html/class_intelli_raster_image-members.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/class_intelli_raster_image.html b/docs/html/class_intelli_raster_image.html index c33fd64..2f69bdb 100644 --- a/docs/html/class_intelli_raster_image.html +++ b/docs/html/class_intelli_raster_image.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/class_intelli_render_settings-members.html b/docs/html/class_intelli_render_settings-members.html index a94ad39..286cbf1 100644 --- a/docs/html/class_intelli_render_settings-members.html +++ b/docs/html/class_intelli_render_settings-members.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/class_intelli_render_settings.html b/docs/html/class_intelli_render_settings.html index d0d1d39..af57bb6 100644 --- a/docs/html/class_intelli_render_settings.html +++ b/docs/html/class_intelli_render_settings.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/class_intelli_shaped_image-members.html b/docs/html/class_intelli_shaped_image-members.html index 23b0658..f1e207b 100644 --- a/docs/html/class_intelli_shaped_image-members.html +++ b/docs/html/class_intelli_shaped_image-members.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/class_intelli_shaped_image.html b/docs/html/class_intelli_shaped_image.html index c2857a4..817c183 100644 --- a/docs/html/class_intelli_shaped_image.html +++ b/docs/html/class_intelli_shaped_image.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/class_intelli_tool-members.html b/docs/html/class_intelli_tool-members.html index 2d03123..e4e3767 100644 --- a/docs/html/class_intelli_tool-members.html +++ b/docs/html/class_intelli_tool-members.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/class_intelli_tool.html b/docs/html/class_intelli_tool.html index 3620d05..0550cf3 100644 --- a/docs/html/class_intelli_tool.html +++ b/docs/html/class_intelli_tool.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/class_intelli_tool_circle-members.html b/docs/html/class_intelli_tool_circle-members.html index aa31c7f..5b8892b 100644 --- a/docs/html/class_intelli_tool_circle-members.html +++ b/docs/html/class_intelli_tool_circle-members.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/class_intelli_tool_circle.html b/docs/html/class_intelli_tool_circle.html index 85c59e4..af1c510 100644 --- a/docs/html/class_intelli_tool_circle.html +++ b/docs/html/class_intelli_tool_circle.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/class_intelli_tool_flood_fill-members.html b/docs/html/class_intelli_tool_flood_fill-members.html index 4c892dd..7f962f6 100644 --- a/docs/html/class_intelli_tool_flood_fill-members.html +++ b/docs/html/class_intelli_tool_flood_fill-members.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/class_intelli_tool_flood_fill.html b/docs/html/class_intelli_tool_flood_fill.html index 813458f..58fab3f 100644 --- a/docs/html/class_intelli_tool_flood_fill.html +++ b/docs/html/class_intelli_tool_flood_fill.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/class_intelli_tool_line-members.html b/docs/html/class_intelli_tool_line-members.html index b9461de..935c8b2 100644 --- a/docs/html/class_intelli_tool_line-members.html +++ b/docs/html/class_intelli_tool_line-members.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/class_intelli_tool_line.html b/docs/html/class_intelli_tool_line.html index c782844..323c19b 100644 --- a/docs/html/class_intelli_tool_line.html +++ b/docs/html/class_intelli_tool_line.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/class_intelli_tool_pen-members.html b/docs/html/class_intelli_tool_pen-members.html index b76db58..cfc907a 100644 --- a/docs/html/class_intelli_tool_pen-members.html +++ b/docs/html/class_intelli_tool_pen-members.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/class_intelli_tool_pen.html b/docs/html/class_intelli_tool_pen.html index 5340bba..a2f823b 100644 --- a/docs/html/class_intelli_tool_pen.html +++ b/docs/html/class_intelli_tool_pen.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/class_intelli_tool_plain_tool-members.html b/docs/html/class_intelli_tool_plain_tool-members.html index 894e44f..88a150e 100644 --- a/docs/html/class_intelli_tool_plain_tool-members.html +++ b/docs/html/class_intelli_tool_plain_tool-members.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/class_intelli_tool_plain_tool.html b/docs/html/class_intelli_tool_plain_tool.html index 264868f..2c01c01 100644 --- a/docs/html/class_intelli_tool_plain_tool.html +++ b/docs/html/class_intelli_tool_plain_tool.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/class_intelli_tool_polygon-members.html b/docs/html/class_intelli_tool_polygon-members.html index 9741c30..a566bcb 100644 --- a/docs/html/class_intelli_tool_polygon-members.html +++ b/docs/html/class_intelli_tool_polygon-members.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/class_intelli_tool_polygon.html b/docs/html/class_intelli_tool_polygon.html index 1019ad1..b0d734f 100644 --- a/docs/html/class_intelli_tool_polygon.html +++ b/docs/html/class_intelli_tool_polygon.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/class_intelli_tool_rectangle-members.html b/docs/html/class_intelli_tool_rectangle-members.html index 6e55605..a30e24d 100644 --- a/docs/html/class_intelli_tool_rectangle-members.html +++ b/docs/html/class_intelli_tool_rectangle-members.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/class_intelli_tool_rectangle.html b/docs/html/class_intelli_tool_rectangle.html index 6053b31..2443c5c 100644 --- a/docs/html/class_intelli_tool_rectangle.html +++ b/docs/html/class_intelli_tool_rectangle.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/class_intelli_toolsettings-members.html b/docs/html/class_intelli_toolsettings-members.html index 4cf73fc..0b4ba3b 100644 --- a/docs/html/class_intelli_toolsettings-members.html +++ b/docs/html/class_intelli_toolsettings-members.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/class_intelli_toolsettings.html b/docs/html/class_intelli_toolsettings.html index 2dd77e8..395f03a 100644 --- a/docs/html/class_intelli_toolsettings.html +++ b/docs/html/class_intelli_toolsettings.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/class_painting_area-members.html b/docs/html/class_painting_area-members.html index 5e7e1ce..fe48e74 100644 --- a/docs/html/class_painting_area-members.html +++ b/docs/html/class_painting_area-members.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/class_painting_area.html b/docs/html/class_painting_area.html index edea4b5..7fa7bca 100644 --- a/docs/html/class_painting_area.html +++ b/docs/html/class_painting_area.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/class_unit_test-members.html b/docs/html/class_unit_test-members.html index 4a3dd58..327e459 100644 --- a/docs/html/class_unit_test-members.html +++ b/docs/html/class_unit_test-members.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/class_unit_test.html b/docs/html/class_unit_test.html index 838fb6f..1dc432c 100644 --- a/docs/html/class_unit_test.html +++ b/docs/html/class_unit_test.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/classes.html b/docs/html/classes.html index ffab68d..d4317da 100644 --- a/docs/html/classes.html +++ b/docs/html/classes.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/dir_13830bfc3dd6736fe878600c9081919f.html b/docs/html/dir_13830bfc3dd6736fe878600c9081919f.html index 56a6fe7..42b1eb9 100644 --- a/docs/html/dir_13830bfc3dd6736fe878600c9081919f.html +++ b/docs/html/dir_13830bfc3dd6736fe878600c9081919f.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/dir_4e4e2e75df7fa6971448b424c011c8b5.html b/docs/html/dir_4e4e2e75df7fa6971448b424c011c8b5.html index 280ef8d..cc900dc 100644 --- a/docs/html/dir_4e4e2e75df7fa6971448b424c011c8b5.html +++ b/docs/html/dir_4e4e2e75df7fa6971448b424c011c8b5.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html index 86f4e3b..9c40348 100644 --- a/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html +++ b/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/dir_858355f3357c73763e566ff49d1e6a7a.html b/docs/html/dir_858355f3357c73763e566ff49d1e6a7a.html index b8f1c91..2f8e471 100644 --- a/docs/html/dir_858355f3357c73763e566ff49d1e6a7a.html +++ b/docs/html/dir_858355f3357c73763e566ff49d1e6a7a.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/dir_8de6078cba2a961961818cf80b28fd4f.html b/docs/html/dir_8de6078cba2a961961818cf80b28fd4f.html index 03bd1ac..8178fc3 100644 --- a/docs/html/dir_8de6078cba2a961961818cf80b28fd4f.html +++ b/docs/html/dir_8de6078cba2a961961818cf80b28fd4f.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/dir_fdbdd9841f9a730f284bb666ff3d8cfe.html b/docs/html/dir_fdbdd9841f9a730f284bb666ff3d8cfe.html index fe90c19..f88d128 100644 --- a/docs/html/dir_fdbdd9841f9a730f284bb666ff3d8cfe.html +++ b/docs/html/dir_fdbdd9841f9a730f284bb666ff3d8cfe.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/files.html b/docs/html/files.html index 987452b..6ae9ffa 100644 --- a/docs/html/files.html +++ b/docs/html/files.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/functions.html b/docs/html/functions.html index 9b6d083..5355e64 100644 --- a/docs/html/functions.html +++ b/docs/html/functions.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/functions_enum.html b/docs/html/functions_enum.html index af5c2dd..5932088 100644 --- a/docs/html/functions_enum.html +++ b/docs/html/functions_enum.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/functions_func.html b/docs/html/functions_func.html index 9ed0c7c..a39c59b 100644 --- a/docs/html/functions_func.html +++ b/docs/html/functions_func.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/functions_vars.html b/docs/html/functions_vars.html index 0a0c9bc..b87f28e 100644 --- a/docs/html/functions_vars.html +++ b/docs/html/functions_vars.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/globals.html b/docs/html/globals.html index 24a6eb2..cd73c7b 100644 --- a/docs/html/globals.html +++ b/docs/html/globals.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/globals_defs.html b/docs/html/globals_defs.html index 8ffa9cd..86188c2 100644 --- a/docs/html/globals_defs.html +++ b/docs/html/globals_defs.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/globals_func.html b/docs/html/globals_func.html index 29412df..c7dfdaf 100644 --- a/docs/html/globals_func.html +++ b/docs/html/globals_func.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/hierarchy.html b/docs/html/hierarchy.html index 75d499c..c9891bb 100644 --- a/docs/html/hierarchy.html +++ b/docs/html/hierarchy.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/index.html b/docs/html/index.html index 023ac14..04bbfe3 100644 --- a/docs/html/index.html +++ b/docs/html/index.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/main_8cpp.html b/docs/html/main_8cpp.html index cbb692d..6b076cf 100644 --- a/docs/html/main_8cpp.html +++ b/docs/html/main_8cpp.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/main_8cpp_source.html b/docs/html/main_8cpp_source.html index 10670e9..4c1489f 100644 --- a/docs/html/main_8cpp_source.html +++ b/docs/html/main_8cpp_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/main_unit_test_8cpp.html b/docs/html/main_unit_test_8cpp.html index b6b374d..86ec70a 100644 --- a/docs/html/main_unit_test_8cpp.html +++ b/docs/html/main_unit_test_8cpp.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/main_unit_test_8cpp_source.html b/docs/html/main_unit_test_8cpp_source.html index 8b5a315..57a838e 100644 --- a/docs/html/main_unit_test_8cpp_source.html +++ b/docs/html/main_unit_test_8cpp_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/namespace_intelli_triangulation.html b/docs/html/namespace_intelli_triangulation.html index 38b5a0b..1504aa9 100644 --- a/docs/html/namespace_intelli_triangulation.html +++ b/docs/html/namespace_intelli_triangulation.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/namespacemembers.html b/docs/html/namespacemembers.html index 7b6da0c..3b5861d 100644 --- a/docs/html/namespacemembers.html +++ b/docs/html/namespacemembers.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/namespacemembers_func.html b/docs/html/namespacemembers_func.html index 29b57bf..9f214d8 100644 --- a/docs/html/namespacemembers_func.html +++ b/docs/html/namespacemembers_func.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/namespaces.html b/docs/html/namespaces.html index 4a5c8e3..4e4a8d3 100644 --- a/docs/html/namespaces.html +++ b/docs/html/namespaces.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/struct_layer_object-members.html b/docs/html/struct_layer_object-members.html index d535100..d768b44 100644 --- a/docs/html/struct_layer_object-members.html +++ b/docs/html/struct_layer_object-members.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/struct_layer_object.html b/docs/html/struct_layer_object.html index 05f0cb1..6057f9b 100644 --- a/docs/html/struct_layer_object.html +++ b/docs/html/struct_layer_object.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/struct_triangle-members.html b/docs/html/struct_triangle-members.html index 1e36bc1..a2dd0b5 100644 --- a/docs/html/struct_triangle-members.html +++ b/docs/html/struct_triangle-members.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/struct_triangle.html b/docs/html/struct_triangle.html index 46b4d8e..3a29f34 100644 --- a/docs/html/struct_triangle.html +++ b/docs/html/struct_triangle.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/tst__unittest_8cpp.html b/docs/html/tst__unittest_8cpp.html index 20cd4a2..5b92983 100644 --- a/docs/html/tst__unittest_8cpp.html +++ b/docs/html/tst__unittest_8cpp.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6
diff --git a/docs/html/tst__unittest_8cpp_source.html b/docs/html/tst__unittest_8cpp_source.html index a402e28..5189812 100644 --- a/docs/html/tst__unittest_8cpp_source.html +++ b/docs/html/tst__unittest_8cpp_source.html @@ -26,7 +26,7 @@
IntelliPhoto -  0.5 +  0.6