274 Commits
v0.3 ... v0.6

Author SHA1 Message Date
Conrad
79b357f315 Merge branch 'dev' into 'master'
Weekly Update

See merge request creyd/intelliphoto!52
2020-01-16 22:06:30 +00:00
944295840d Automated Release Preparation 2020-01-16 23:04:12 +01:00
374223e58a Bumped Version Number 2020-01-16 23:03:41 +01:00
c543563d2f Update prep.sh 2020-01-16 22:56:21 +01:00
83201fe714 Automated Release Preparation 2020-01-16 22:55:15 +01:00
Jonas Mucke
42c5078e65 Merge branch 'dev' into 'master'
Dev

See merge request creyd/intelliphoto!51
2020-01-16 20:36:16 +00:00
Jonas Mucke
5b94ffda3c Merge branch 'dev-GUI-Update' into 'dev'
Dev gui update

See merge request creyd/intelliphoto!50
2020-01-16 20:31:51 +00:00
AshBastian
67e51c27a2 GUI Update 4 2020-01-16 21:21:47 +01:00
AshBastian
c16a589a66 GUI Update 3 2020-01-16 21:19:17 +01:00
Jonas Mucke
784e9c051e cmath 2020-01-16 18:54:55 +01:00
Jonas Mucke
3b952ed087 Merge branch 'dev-docs' into 'dev'
Dev docs

See merge request creyd/intelliphoto!49
2020-01-16 17:49:31 +00:00
Jonas Mucke
92e6b569ea math 2020-01-16 18:48:53 +01:00
Jonas Mucke
c7aae58f8e Merge branch 'dev-docs' of https://gitlab.com/creyd/intelliphoto into dev-docs 2020-01-16 18:46:17 +01:00
Jonas Mucke
3d5a4c0430 Merge branch 'dev' into dev-docs 2020-01-16 18:46:03 +01:00
Paul Norberger
e4543dbe03 Started updating screenshots 2020-01-16 18:39:08 +01:00
Paul Norberger
c77507422c Volere Snow Cards Update 2020-01-16 18:37:33 +01:00
AshBastian
753a491695 GUI Update 2 2020-01-16 17:36:52 +01:00
AshBastian
332e752371 GUI Update 1 2020-01-16 17:22:19 +01:00
Jonas Mucke
b03270704c Merge branch 'dev-warnings' into 'dev'
Dev warnings

See merge request creyd/intelliphoto!45
2020-01-16 15:53:36 +00:00
Jonas Mucke
42a765642a Merge branch 'canvas' into 'dev'
Canvas

See merge request creyd/intelliphoto!47
2020-01-16 15:51:43 +00:00
Jonas Mucke
2f5a389d46 Merge branch 'dev' into canvas 2020-01-16 16:50:16 +01:00
Jonas Mucke
cb06e10fcd Update IntelliPhotoGui.cpp 2020-01-16 16:49:59 +01:00
Jonas Mucke
c73b481ec7 layer as canvas 2020-01-16 16:49:55 +01:00
Mienek
58f679a0b6 added Dimension
added the change and get dimesions stuff
2020-01-16 16:35:30 +01:00
Paul Norberger
44c06d65fc Finalize CRC cards 2020-01-16 15:10:25 +01:00
Paul Norberger
67d4a50074 Update todo files 2020-01-16 15:08:55 +01:00
Paul Norberger
fa53f6f008 Document reference system 2020-01-16 15:07:52 +01:00
Paul Norberger
1412f44b8e Add plain tool icon 2020-01-16 15:06:40 +01:00
Paul Norberger
2f0c00def2 Add uses cases to documentation 2020-01-16 14:52:04 +01:00
Paul Norberger
6006fad5d8 Updated line tool icon 2020-01-16 14:51:23 +01:00
Jan Schuffenhauer
abe63d3862 fixed every known warning from cppcheck
done.
2020-01-16 14:21:16 +01:00
Jan Schuffenhauer
b055c0b922 Automated Release Preparation 2020-01-16 12:52:25 +01:00
Jan Schuffenhauer
d60796ccae Automated Release Preparation 2020-01-16 12:38:47 +01:00
Jan Schuffenhauer
8fcc5f04e8 Some cleanup of Includes 2020-01-16 12:31:33 +01:00
Jan Schuffenhauer
f5f4ca7a06 Automated Release Preparation 2020-01-16 12:21:09 +01:00
Jan Schuffenhauer
cd3ba27e8d Merge branch 'dev' into dev-warnings 2020-01-16 12:18:33 +01:00
Jan Schuffenhauer
5de1e7f83a Merge branch 'UnitTesting' into dev 2020-01-16 12:11:37 +01:00
8d32a5e3bb Merge branch 'dev-rework' into dev 2020-01-16 12:46:29 +01:00
25deefdcb9 Stopped Unit Test Automation as it doesn't work yet 2020-01-16 12:45:55 +01:00
f2e64e375b Added Unit Tests to prep script 2 2020-01-16 12:39:59 +01:00
855dd23b39 Added Unit Tests to prep script 2020-01-16 12:24:21 +01:00
a6a2a922a5 Automated Release Preparation 2020-01-16 12:17:31 +01:00
3359975b1f Merge branch 'dev-rework' into dev 2020-01-16 12:11:08 +01:00
Jan Schuffenhauer
8051996193 fixed unit test 2020-01-16 12:10:23 +01:00
764aaa927f Added execution rights for .pro files 2020-01-16 12:43:33 +01:00
Mienek
029ac8aa9a Merge branch 'UnitTesting' of https://gitlab.com/creyd/intelliphoto into UnitTesting 2020-01-16 12:36:40 +01:00
Mienek
c3ff1dbc0a kein bock mehr mach dein scheiß richtig das nächste mal 2020-01-16 12:36:19 +01:00
226ab26957 Added Unit Testing Files to gitignore 2020-01-16 12:26:56 +01:00
49b36ab013 Renamed Preparation Script 2020-01-16 12:10:03 +01:00
34294ef7cb Automated Release Preparation 2020-01-16 12:09:30 +01:00
b4a37d8bea Improved Release Prep Script 2020-01-16 12:09:19 +01:00
c7c5567049 Merged release and merge preparation scripts 2020-01-16 12:00:51 +01:00
Jan Schuffenhauer
2353aac54f Merge branch 'dev' into dev-warnings 2020-01-16 11:53:55 +01:00
Jan Schuffenhauer
c83682a09a first warning fixes 2020-01-16 11:50:02 +01:00
876ceb7e39 Updated Colors 2020-01-16 11:39:03 +01:00
aaf5c1ddf9 Added Colors 2020-01-16 11:37:43 +01:00
a099b2e916 Automated Merge Preparation 2020-01-16 11:35:58 +01:00
b1600aa3a9 Merge branch 'dev' into UnitTesting 2020-01-16 11:24:44 +01:00
7109948969 Merge branch 'dev-colorpalette' into dev 2020-01-16 11:19:23 +01:00
d47e0056f9 Added fix draft 2020-01-16 11:05:51 +01:00
Conrad
2e123a71f6 Merge branch 'dev-rework' into 'dev'
Started Rework

See merge request creyd/intelliphoto!44
2020-01-16 09:59:56 +00:00
249cf5d02d Merge branch 'dev' into UnitTesting 2020-01-16 10:45:23 +01:00
Jan Schuffenhauer
90acabd35d fixed bug with changing renderSettings 2020-01-16 10:37:24 +01:00
cb4e48865a Update .gitignore 2020-01-16 10:30:34 +01:00
Jan Schuffenhauer
c7046f3c06 Fixed some bugs, also its mergable now, without any known issues
@DerAnonymos
@AshBastian
2020-01-16 00:32:42 +01:00
Jan Schuffenhauer
add66d368b Merge branch 'dev' into dev-colorpalette 2020-01-16 00:11:24 +01:00
Jan Schuffenhauer
b695a25128 Fixed Inputboxes and Design
Todo pls merge me.
2020-01-16 00:00:27 +01:00
Jan Schuffenhauer
5f76f74cd5 Fix out of Range 2020-01-15 20:35:51 +01:00
Jonas Mucke
33c5708ce5 all tests unified, benchmark and unit test complete 2020-01-15 19:39:15 +01:00
Jonas Mucke
0e6ce309c9 code cleanup #2 2020-01-15 19:04:51 +01:00
Jonas Mucke
72d55b2c8f first Cleanup 2020-01-15 18:40:17 +01:00
Jonas Mucke
2b433101c7 kein debug wird benötigt 2020-01-15 18:19:02 +01:00
Jonas Mucke
d17bf4850c all benchmark just polygon interrupt missing 2020-01-15 18:09:23 +01:00
AshBastian
b5e05a9c6a Update InputBoxes 2020-01-15 15:48:38 +01:00
4d6c0da250 Automated Merge Preparation 2020-01-15 15:23:16 +01:00
76dfe45837 Update uncrustify.cfg 2020-01-15 15:23:11 +01:00
9e81d953af Automated Merge Preparation 2020-01-15 15:22:08 +01:00
aae3e5f89f Update uncrustify.cfg 2020-01-15 15:22:01 +01:00
691f3df28d Automated Merge Preparation 2020-01-15 15:19:22 +01:00
979dfc220a Fixed Git Integration 2020-01-15 15:14:25 +01:00
4353b7764d Added Git Integration for Preparation Scripts 2020-01-15 15:12:35 +01:00
63b6d12422 Fixed bug in prep scripts 2020-01-15 15:09:40 +01:00
808d4d17c6 Added configuration check to preparation scripts 2020-01-15 15:06:24 +01:00
234cd4e420 Update cppcheck_errors.txt 2020-01-15 15:03:34 +01:00
d7e44890af Removed // comments from another header file 2020-01-15 15:02:35 +01:00
Conrad
14233f8484 Merge branch 'dev' into 'dev-rework'
# Conflicts:
#   cppcheck_errors.txt
#   src/GUI/IntelliPhotoGui.h
2020-01-15 13:57:27 +00:00
Conrad
65b6de44e6 Merge branch 'dev-setPolygon' into 'dev'
Dev set polygon

See merge request creyd/intelliphoto!41
2020-01-15 13:53:34 +00:00
dcbf163c7f Added execution rights for merge prep script 2020-01-15 14:52:06 +01:00
cf3c542250 Uncrustified Commits and Updated Errors 2020-01-15 14:48:50 +01:00
455b9281eb Renamed release.sh and added Merge Prep Script 2020-01-15 14:44:30 +01:00
efa43cfbbf Update release.sh 2020-01-15 14:37:54 +01:00
c3c4debd95 Update release.sh 2020-01-15 14:35:13 +01:00
702f667295 Update release.sh 2020-01-15 14:32:37 +01:00
Jan Schuffenhauer
1f0b856079 FIxed all bugs and removed dead code
my job is done here
ready to be merge
2020-01-15 14:23:14 +01:00
5ef800fdd5 Update release.sh 2020-01-15 14:16:59 +01:00
b198d0303c Added executing rights for release script 2020-01-15 14:09:44 +01:00
4ca64ff860 Update release.sh 2020-01-15 14:08:19 +01:00
5773f62fed Added Doxyfile 2020-01-15 14:04:52 +01:00
Jan Schuffenhauer
f575da20d7 Updated it works kinda
TOdo: fix BUGS
2020-01-15 12:35:29 +01:00
8b8b6965c3 Added Release Script Draft 2020-01-15 12:33:00 +01:00
94dc372046 Update cppcheck_errors.txt 2020-01-15 12:17:03 +01:00
70ed416dc6 Uncrustified Files 2020-01-15 12:02:36 +01:00
af5a05faf8 Removed Linestyle from the project 2020-01-15 12:01:17 +01:00
c4467b70b8 Removed Rest of the // comments in headers 2020-01-15 11:47:51 +01:00
9d1159a08e Removed First Part of the // comments in headers
- TODO: IntelliPhotoGui
2020-01-15 11:45:57 +01:00
Jan Schuffenhauer
2a1561ecfb updated functionality and set true to test.
Todo: Cleanub and make it activalable
2020-01-15 11:14:01 +01:00
Jonas Mucke
84f6bc84da all unitTest but withouzt benchmarking 2020-01-14 22:32:17 +01:00
Jonas Mucke
3718693083 nearly all tests but without benchmark 2020-01-14 21:49:14 +01:00
Jan Schuffenhauer
d8f6f0f8f7 implemented creation of certain image type and alo button for setting poylgon data
TODO implement setPolygon function
2020-01-14 21:02:03 +01:00
6fec7c26bf Uncrustified Files 2020-01-13 19:59:30 +01:00
cc56f61247 Uncrustifyed Status 2020-01-13 19:37:22 +01:00
Jonas Mucke
e1571c4bc8 working setup for unit tests 2020-01-12 22:14:29 +01:00
Jonas Mucke
5a05aa4a19 start of unit test 2020-01-12 20:23:39 +01:00
Jonas Mucke
573cabf448 Merge branch 'dev' into UnitTesting 2020-01-12 16:42:03 +01:00
AshBastian
7491472962 Schluss 2020-01-10 21:10:49 +01:00
AshBastian
dbf1cda101 Update 2020-01-10 14:15:59 +01:00
Bastian Schindler
b978a94bd3 Merge branch 'Merge' into 'dev-colorpalette'
Merge

See merge request creyd/intelliphoto!40
2020-01-10 11:41:08 +00:00
AshBastian
ea7316cb0b Buttonsize Updated 2020-01-10 12:39:01 +01:00
AshBastian
74d2d30fe0 Update 2020-01-10 12:28:55 +01:00
Jan Schuffenhauer
048fae53fb Added Colorpalette for most of the things
@AshBastian
@DerAnonymos
2020-01-10 11:16:17 +01:00
Mienek
b7fa18907b Sequenz- und Zustandsdiagramm
2 Sequenz- und 2 Zustandsdiagramme hinzugefügt
2020-01-10 11:15:08 +01:00
Jonas Mucke
4d4a21667b start of test writing 2020-01-09 22:20:11 +01:00
Jonas Mucke
7eeee52fb4 Startingh UnitTesting 2020-01-09 21:07:36 +01:00
Jonas Mucke
2ae679099b Update PaintingArea.h 2020-01-09 20:18:50 +01:00
Jonas Mucke
736ca69245 warning fixen and better circle 2020-01-09 20:09:40 +01:00
Conrad
f47aad5c2d Merge branch 'dev' into 'master'
Weekly Update 6

See merge request creyd/intelliphoto!39
2020-01-09 18:45:50 +00:00
Conrad
e1d53a927b Merge branch 'dev-docs' into 'dev'
Weekly Documentation Changes

See merge request creyd/intelliphoto!38
2020-01-09 18:39:41 +00:00
Jan Schuffenhauer
d54e1f3700 Added more Hotkeys + edited ColorPalette
TY all for watching
2020-01-09 17:07:27 +01:00
Jan Schuffenhauer
f96f8aabc4 Update IntelliPhotoGui.cpp 2020-01-09 15:29:42 +01:00
Jan Schuffenhauer
37ba19d792 Menuerweiterung 2020-01-09 14:48:24 +01:00
Jan Schuffenhauer
f1b77a48c8 Merge branch 'dev' of https://gitlab.com/creyd/intelliphoto into dev 2020-01-09 14:03:04 +01:00
Jan Schuffenhauer
081ac68d5f Updatet ui fixed bugs, improved performance, just everything
Autors:
@DerAnonymos
@AshBastian
@Sonaion
2020-01-09 13:59:22 +01:00
Paul Norberger
d9b0d53afd Adding initial todo list 2020-01-09 12:11:57 +01:00
Paul Norberger
711c394f09 Adding tool icons 2020-01-09 12:10:03 +01:00
fb65be47f9 Updated docs 2020-01-09 11:54:53 +01:00
e994bd1009 Merge branch 'dev' into dev-docs 2020-01-09 11:48:10 +01:00
124dfd7931 Uncrustified header files 2020-01-09 11:44:26 +01:00
14e4d50541 Update cppcheck errors 2020-01-09 11:36:10 +01:00
624eb0fde6 Uncrustify all .cpp files 2020-01-09 11:35:36 +01:00
Jan Schuffenhauer
e3b2968f4d Fixed Image ENUMs
ty
2020-01-09 10:45:54 +01:00
Jan Schuffenhauer
ccbe3336a8 Merge branch 'dev-stupidrenderer' into 'dev'
bring the fastrenderer back again...

See merge request creyd/intelliphoto!37
2020-01-09 09:40:14 +00:00
Jan Schuffenhauer
18aec48e4c Merge branch 'dev' into 'dev-stupidrenderer'
# Conflicts:
#   src/Image/IntelliImage.cpp
#   src/Image/IntelliRasterImage.cpp
#   src/Image/IntelliShapedImage.cpp
#   src/Layer/PaintingArea.cpp
2020-01-09 09:39:38 +00:00
Jan Schuffenhauer
67b623a63a bring the fastrenderer back again...
hihihi
2020-01-09 10:35:01 +01:00
Conrad
c319302fc0 Merge branch 'dev-cleanup-2' into 'dev'
Cleanup Merge

See merge request creyd/intelliphoto!36
2020-01-09 09:21:20 +00:00
37e2d62a70 Added cppcheck errors 2020-01-09 10:19:15 +01:00
d4313e29a0 Ran Uncrustify Again 2020-01-09 10:18:28 +01:00
ee64fa6997 Unified ENUM Names 2020-01-09 10:15:02 +01:00
37b8642497 Fixed a bug where the index variable rename went wrong 2020-01-09 10:13:58 +01:00
326f9c8948 Unified Index Variable Name 2020-01-09 10:12:38 +01:00
Bastian Schindler
72b235689e Merge branch 'Helper_Variablen' into 'dev'
Helper variablen

See merge request creyd/intelliphoto!33
2020-01-09 01:45:06 +00:00
AshBastian
6fdda34d68 Gui Endprodukt 2020-01-09 02:43:43 +01:00
Bastian Schindler
a33041a076 Merge branch 'dev-stupidrenderer' into 'Helper_Variablen'
Merge Meine und Jans Arbeit

See merge request creyd/intelliphoto!31
2020-01-09 00:11:04 +00:00
Bastian Schindler
4a6098856f Merge branch 'Helper_Variablen' into 'dev-stupidrenderer'
# Conflicts:
#   src/Image/IntelliImage.h
#   src/IntelliPhoto.pro
#   src/Layer/PaintingArea.h
2020-01-09 00:10:40 +00:00
AshBastian
73500db171 Sorry falscher Merge 2020-01-09 01:07:25 +01:00
Bastian Schindler
e4f094330e Merge branch 'Fix' into 'Helper_Variablen'
Fix

See merge request creyd/intelliphoto!30
2020-01-09 00:03:10 +00:00
AshBastian
46a69024d3 Fix 2020-01-09 00:58:03 +01:00
AshBastian
8b1fd5c3f0 Fixes 2020-01-09 00:52:17 +01:00
Bastian Schindler
d774461b26 Merge branch 'dev-stupidrenderer' into 'Helper_Variablen'
Dev stupidrenderer

See merge request creyd/intelliphoto!28
2020-01-08 23:47:59 +00:00
Bastian Schindler
9af9969c2f Merge branch 'Helper_Variablen' into 'dev-stupidrenderer'
# Conflicts:
#   src/Image/IntelliImage.h
#   src/IntelliPhoto.pro
#   src/Layer/PaintingArea.h
2020-01-08 23:47:37 +00:00
AshBastian
540e23aadf asdjzh fhg fgghdvbsjasjaffg 2020-01-08 21:07:32 +01:00
Jan Schuffenhauer
7ed8e858af Now everything is Indexe 8 😲
Job done.
2020-01-08 19:56:56 +01:00
AshBastian
a99ad09e8c Dummy Gui 2020-01-08 19:55:34 +01:00
Jan Schuffenhauer
78272a5790 now working 100% :D
Fixed a bug where a not activatet tool caused trouble.
2020-01-08 19:40:35 +01:00
Jan Schuffenhauer
c04d8d6815 [W.I.P.] Added a FasterRenderOption
Still completly buggy. and it crashes imediatly after input
2020-01-08 19:01:05 +01:00
AshBastian
42f91ca719 Bilder 2020-01-08 18:26:50 +01:00
AshBastian
c321a181b1 Linenverwaltung 2020-01-08 16:41:56 +01:00
AshBastian
6d4a4e52b5 Destructor 2020-01-08 15:53:51 +01:00
AshBastian
52a72c05c5 ToolSettings 2020-01-08 15:47:16 +01:00
Jan Schuffenhauer
bc718a95d6 changed misstypo 2020-01-08 15:31:09 +01:00
Bastian Schindler
dd55a7158d Merge branch 'PolygonFixes' into 'dev'
Polygon Fixes

See merge request creyd/intelliphoto!27
2020-01-07 16:41:13 +00:00
AshBastian
e540bd64f2 Polygon Fixes
Polygon kann jetzt im Shaped-Image nicht außerhalb des Polygons gestartet werden
2020-01-07 17:39:52 +01:00
Bastian Schindler
011026899c Merge branch 'BugFixes' into 'dev'
Bug fixes

See merge request creyd/intelliphoto!26
2020-01-07 15:05:47 +00:00
AshBastian
c06a4aa87e Absturz behoben
Bei Mausraddrehen kam es zu Absturz, wenn Tool nullptr, weil Zugriff auf Tool
2020-01-07 16:03:54 +01:00
AshBastian
2aa49f1b79 Update IntelliToolPolygon.cpp 2020-01-07 15:35:04 +01:00
AshBastian
28b8d92d72 BugFixes 2020-01-07 15:23:14 +01:00
a832295d7f Added UML Diagram @Jan 2020-01-06 19:36:44 +01:00
8efe6836bf Reworked some method names 2019-12-20 10:42:49 +01:00
86a01eb9ae Merge branch 'dev-variable-refractor' into dev 2019-12-20 10:13:59 +01:00
Mienek
d727591977 Merge branch 'dev-warnings' into 'dev'
fixed warnings

See merge request creyd/intelliphoto!24
2019-12-20 09:06:23 +00:00
d81afbb8ee Refractoring Update 2
- Adjusted variable names to naming conventions
- Concluded header files
2019-12-20 10:05:57 +01:00
Mienek
7a604c805a some fixes
only unused Variable and shadowing left
2019-12-20 10:02:56 +01:00
52292ebfe7 Refractoring Update 1
- Refractored switchColor to slotSwapColor
- Corrected spelling mistake in variable name (weight-->width)
- Unified variable names
2019-12-20 09:50:30 +01:00
ab8590c4fe Refractored fileName to more intuitive filePath 2019-12-20 09:15:02 +01:00
0411c49534 Refractored misspelled variable 2019-12-20 09:03:26 +01:00
Sonaion
279b46bc1d Update IntelliHelper.cpp 2019-12-20 08:56:15 +01:00
Jan Schuffenhauer
73137a6a7b Merge branch 'dev' of https://gitlab.com/creyd/intelliphoto into dev 2019-12-20 08:23:41 +01:00
Jan Schuffenhauer
0045375f6c Fixed bug / changed pi
like the pi could get removed if mucke wants to
2019-12-20 08:21:23 +01:00
Conrad
7fbc4b779a Merge branch 'dev' into 'master'
Weekly Update 5

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

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

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

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

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

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

11
.gitignore vendored
View File

@@ -1,5 +1,5 @@
# Build folders
src/build-*/
build-*/
# QT Creator Files
*.creator.user*
@@ -13,9 +13,18 @@ CMakeLists.txt.user*
/share/qtcreator/fonts/
/share/qtcreator/generic-highlighter/
/share/qtcreator/qmldesigner/QtProject/
/build-*/
app_version.h
phony.c
# Testing Files
*.o
*.qmake.stash
src/Makefile
src/moc_*
src/target_wrapper.sh
src/tst_unittest.moc
# Ignore User Files except for the pro file
IntelliPhoto.*
!IntelliPhoto.pro

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 KiB

View File

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

382
conf/intelliphoto_dox Normal file
View File

@@ -0,0 +1,382 @@
# Doxyfile 1.8.16
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
DOXYFILE_ENCODING = UTF-8
PROJECT_NAME = IntelliPhoto
PROJECT_NUMBER = 0.6
PROJECT_BRIEF =
PROJECT_LOGO =
OUTPUT_DIRECTORY = docs
CREATE_SUBDIRS = NO
ALLOW_UNICODE_NAMES = NO
OUTPUT_LANGUAGE = English
OUTPUT_TEXT_DIRECTION = None
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ABBREVIATE_BRIEF = "The $name class" \
"The $name widget" \
"The $name file" \
is \
provides \
specifies \
contains \
represents \
a \
an \
the
ALWAYS_DETAILED_SEC = NO
INLINE_INHERITED_MEMB = NO
FULL_PATH_NAMES = YES
STRIP_FROM_PATH =
STRIP_FROM_INC_PATH =
SHORT_NAMES = NO
JAVADOC_AUTOBRIEF = NO
JAVADOC_BANNER = NO
QT_AUTOBRIEF = NO
MULTILINE_CPP_IS_BRIEF = NO
INHERIT_DOCS = YES
SEPARATE_MEMBER_PAGES = NO
TAB_SIZE = 4
ALIASES =
TCL_SUBST =
OPTIMIZE_OUTPUT_FOR_C = NO
OPTIMIZE_OUTPUT_JAVA = NO
OPTIMIZE_FOR_FORTRAN = NO
OPTIMIZE_OUTPUT_VHDL = NO
OPTIMIZE_OUTPUT_SLICE = NO
EXTENSION_MAPPING =
MARKDOWN_SUPPORT = YES
TOC_INCLUDE_HEADINGS = 5
AUTOLINK_SUPPORT = YES
BUILTIN_STL_SUPPORT = NO
CPP_CLI_SUPPORT = NO
SIP_SUPPORT = NO
IDL_PROPERTY_SUPPORT = YES
DISTRIBUTE_GROUP_DOC = NO
GROUP_NESTED_COMPOUNDS = NO
SUBGROUPING = YES
INLINE_GROUPED_CLASSES = NO
INLINE_SIMPLE_STRUCTS = NO
TYPEDEF_HIDES_STRUCT = NO
LOOKUP_CACHE_SIZE = 0
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
EXTRACT_ALL = YES
EXTRACT_PRIVATE = NO
EXTRACT_PRIV_VIRTUAL = NO
EXTRACT_PACKAGE = NO
EXTRACT_STATIC = NO
EXTRACT_LOCAL_CLASSES = YES
EXTRACT_LOCAL_METHODS = NO
EXTRACT_ANON_NSPACES = NO
HIDE_UNDOC_MEMBERS = NO
HIDE_UNDOC_CLASSES = NO
HIDE_FRIEND_COMPOUNDS = NO
HIDE_IN_BODY_DOCS = NO
INTERNAL_DOCS = NO
CASE_SENSE_NAMES = NO
HIDE_SCOPE_NAMES = NO
HIDE_COMPOUND_REFERENCE= NO
SHOW_INCLUDE_FILES = YES
SHOW_GROUPED_MEMB_INC = NO
FORCE_LOCAL_INCLUDES = NO
INLINE_INFO = YES
SORT_MEMBER_DOCS = YES
SORT_BRIEF_DOCS = NO
SORT_MEMBERS_CTORS_1ST = NO
SORT_GROUP_NAMES = NO
SORT_BY_SCOPE_NAME = NO
STRICT_PROTO_MATCHING = NO
GENERATE_TODOLIST = YES
GENERATE_TESTLIST = YES
GENERATE_BUGLIST = YES
GENERATE_DEPRECATEDLIST= YES
ENABLED_SECTIONS =
MAX_INITIALIZER_LINES = 30
SHOW_USED_FILES = YES
SHOW_FILES = YES
SHOW_NAMESPACES = YES
FILE_VERSION_FILTER =
LAYOUT_FILE =
CITE_BIB_FILES =
#---------------------------------------------------------------------------
# Configuration options related to warning and progress messages
#---------------------------------------------------------------------------
QUIET = NO
WARNINGS = YES
WARN_IF_UNDOCUMENTED = YES
WARN_IF_DOC_ERROR = YES
WARN_NO_PARAMDOC = NO
WARN_AS_ERROR = NO
WARN_FORMAT = "$file:$line: $text"
WARN_LOGFILE =
#---------------------------------------------------------------------------
# Configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = src
INPUT_ENCODING = UTF-8
FILE_PATTERNS = *.c \
*.cc \
*.cxx \
*.cpp \
*.c++ \
*.java \
*.ii \
*.ixx \
*.ipp \
*.i++ \
*.inl \
*.idl \
*.ddl \
*.odl \
*.h \
*.hh \
*.hxx \
*.hpp \
*.h++ \
*.cs \
*.d \
*.php \
*.php4 \
*.php5 \
*.phtml \
*.inc \
*.m \
*.markdown \
*.md \
*.mm \
*.dox \
*.py \
*.pyw \
*.f90 \
*.f95 \
*.f03 \
*.f08 \
*.f \
*.for \
*.tcl \
*.vhd \
*.vhdl \
*.ucf \
*.qsf \
*.ice
RECURSIVE = YES
EXCLUDE =
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS =
EXCLUDE_SYMBOLS =
EXAMPLE_PATH =
EXAMPLE_PATTERNS = *
EXAMPLE_RECURSIVE = NO
IMAGE_PATH =
INPUT_FILTER =
FILTER_PATTERNS =
FILTER_SOURCE_FILES = NO
FILTER_SOURCE_PATTERNS =
USE_MDFILE_AS_MAINPAGE =
#---------------------------------------------------------------------------
# Configuration options related to source browsing
#---------------------------------------------------------------------------
SOURCE_BROWSER = YES
INLINE_SOURCES = NO
STRIP_CODE_COMMENTS = YES
REFERENCED_BY_RELATION = NO
REFERENCES_RELATION = NO
REFERENCES_LINK_SOURCE = YES
SOURCE_TOOLTIPS = YES
USE_HTAGS = NO
VERBATIM_HEADERS = YES
CLANG_ASSISTED_PARSING = NO
CLANG_OPTIONS =
CLANG_DATABASE_PATH =
#---------------------------------------------------------------------------
# Configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
ALPHABETICAL_INDEX = YES
COLS_IN_ALPHA_INDEX = 5
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# Configuration options related to the HTML output
#---------------------------------------------------------------------------
GENERATE_HTML = YES
HTML_OUTPUT = html
HTML_FILE_EXTENSION = .html
HTML_HEADER =
HTML_FOOTER =
HTML_STYLESHEET =
HTML_EXTRA_STYLESHEET =
HTML_EXTRA_FILES =
HTML_COLORSTYLE_HUE = 187
HTML_COLORSTYLE_SAT = 5
HTML_COLORSTYLE_GAMMA = 150
HTML_TIMESTAMP = NO
HTML_DYNAMIC_MENUS = YES
HTML_DYNAMIC_SECTIONS = NO
HTML_INDEX_NUM_ENTRIES = 100
GENERATE_DOCSET = NO
DOCSET_FEEDNAME = "Doxygen generated docs"
DOCSET_BUNDLE_ID = org.doxygen.Project
DOCSET_PUBLISHER_ID = org.doxygen.Publisher
DOCSET_PUBLISHER_NAME = Publisher
GENERATE_HTMLHELP = NO
CHM_FILE =
HHC_LOCATION =
GENERATE_CHI = NO
CHM_INDEX_ENCODING =
BINARY_TOC = NO
TOC_EXPAND = NO
GENERATE_QHP = NO
QCH_FILE =
QHP_NAMESPACE = org.doxygen.Project
QHP_VIRTUAL_FOLDER = doc
QHP_CUST_FILTER_NAME =
QHP_CUST_FILTER_ATTRS =
QHP_SECT_FILTER_ATTRS =
QHG_LOCATION =
GENERATE_ECLIPSEHELP = NO
ECLIPSE_DOC_ID = org.doxygen.Project
DISABLE_INDEX = NO
GENERATE_TREEVIEW = YES
ENUM_VALUES_PER_LINE = 4
TREEVIEW_WIDTH = 250
EXT_LINKS_IN_WINDOW = NO
FORMULA_FONTSIZE = 10
FORMULA_TRANSPARENT = YES
USE_MATHJAX = NO
MATHJAX_FORMAT = HTML-CSS
MATHJAX_RELPATH = https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/
MATHJAX_EXTENSIONS =
MATHJAX_CODEFILE =
SEARCHENGINE = YES
SERVER_BASED_SEARCH = NO
EXTERNAL_SEARCH = NO
SEARCHENGINE_URL =
SEARCHDATA_FILE = searchdata.xml
EXTERNAL_SEARCH_ID =
EXTRA_SEARCH_MAPPINGS =
#---------------------------------------------------------------------------
# Configuration options related to the LaTeX output
#---------------------------------------------------------------------------
GENERATE_LATEX = NO
LATEX_OUTPUT = latex
LATEX_CMD_NAME =
MAKEINDEX_CMD_NAME = makeindex
LATEX_MAKEINDEX_CMD = makeindex
COMPACT_LATEX = NO
PAPER_TYPE = a4
EXTRA_PACKAGES =
LATEX_HEADER =
LATEX_FOOTER =
LATEX_EXTRA_STYLESHEET =
LATEX_EXTRA_FILES =
PDF_HYPERLINKS = YES
USE_PDFLATEX = YES
LATEX_BATCHMODE = NO
LATEX_HIDE_INDICES = NO
LATEX_SOURCE_CODE = NO
LATEX_BIB_STYLE = plain
LATEX_TIMESTAMP = NO
LATEX_EMOJI_DIRECTORY =
#---------------------------------------------------------------------------
# Configuration options related to the RTF output
#---------------------------------------------------------------------------
GENERATE_RTF = NO
RTF_OUTPUT = rtf
COMPACT_RTF = NO
RTF_HYPERLINKS = NO
RTF_STYLESHEET_FILE =
RTF_EXTENSIONS_FILE =
RTF_SOURCE_CODE = NO
#---------------------------------------------------------------------------
# Configuration options related to the man page output
#---------------------------------------------------------------------------
GENERATE_MAN = NO
MAN_OUTPUT = man
MAN_EXTENSION = .3
MAN_SUBDIR =
MAN_LINKS = NO
#---------------------------------------------------------------------------
# Configuration options related to the XML output
#---------------------------------------------------------------------------
GENERATE_XML = NO
XML_OUTPUT = xml
XML_PROGRAMLISTING = YES
XML_NS_MEMB_FILE_SCOPE = NO
#---------------------------------------------------------------------------
# Configuration options related to the DOCBOOK output
#---------------------------------------------------------------------------
GENERATE_DOCBOOK = NO
DOCBOOK_OUTPUT = docbook
DOCBOOK_PROGRAMLISTING = NO
#---------------------------------------------------------------------------
# Configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------
GENERATE_AUTOGEN_DEF = NO
#---------------------------------------------------------------------------
# Configuration options related to the Perl module output
#---------------------------------------------------------------------------
GENERATE_PERLMOD = NO
PERLMOD_LATEX = NO
PERLMOD_PRETTY = YES
PERLMOD_MAKEVAR_PREFIX =
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = NO
EXPAND_ONLY_PREDEF = NO
SEARCH_INCLUDES = YES
INCLUDE_PATH =
INCLUDE_FILE_PATTERNS =
PREDEFINED =
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration options related to external references
#---------------------------------------------------------------------------
TAGFILES =
GENERATE_TAGFILE =
ALLEXTERNALS = NO
EXTERNAL_GROUPS = YES
EXTERNAL_PAGES = YES
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = YES
DIA_PATH =
HIDE_UNDOC_RELATIONS = YES
HAVE_DOT = NO
DOT_NUM_THREADS = 0
DOT_FONTNAME = Helvetica
DOT_FONTSIZE = 10
DOT_FONTPATH =
CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES
GROUP_GRAPHS = YES
UML_LOOK = NO
UML_LIMIT_NUM_FIELDS = 10
TEMPLATE_RELATIONS = NO
INCLUDE_GRAPH = YES
INCLUDED_BY_GRAPH = YES
CALL_GRAPH = NO
CALLER_GRAPH = NO
GRAPHICAL_HIERARCHY = YES
DIRECTORY_GRAPH = YES
DOT_IMAGE_FORMAT = png
INTERACTIVE_SVG = NO
DOT_PATH =
DOTFILE_DIRS =
MSCFILE_DIRS =
DIAFILE_DIRS =
PLANTUML_JAR_PATH =
PLANTUML_CFG_FILE =
PLANTUML_INCLUDE_PATH =
DOT_GRAPH_MAX_NODES = 50
MAX_DOT_GRAPH_DEPTH = 0
DOT_TRANSPARENT = NO
DOT_MULTI_TARGETS = NO
GENERATE_LEGEND = YES
DOT_CLEANUP = YES

2986
conf/uncrustify.cfg Normal file

File diff suppressed because it is too large Load Diff

381
cppcheck_config.txt Normal file
View File

@@ -0,0 +1,381 @@
src/GUI/IntelliInputDialog.h:4:0: information: Include file: <QSize> 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: <QDialog> 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: <QLabel> 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: <QGridLayout> 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: <QDialogButtonBox> 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: <QPushButton> 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: <QSpinBox> 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: <QAction> 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: <QFileDialog> 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: <QMessageBox> 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: <QImageWriter> 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: <QMenu> 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: <QMenuBar> 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: <QList> 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: <QMainWindow> 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: <QGridLayout> 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: <QPushButton> 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: <QTextEdit> 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: <QLabel> 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: <QLineEdit> 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]
^
src/Image/IntelliImage.cpp:1:0: information: Include file: "Image/IntelliImage.h" not found. [missingInclude]
^
src/Image/IntelliImage.cpp:2:0: information: Include file: <QSize> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
^
src/Image/IntelliImage.cpp:3:0: information: Include file: <QPainter> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
^
src/Image/IntelliRasterImage.cpp:1:0: information: Include file: "Image/IntelliRasterImage.h" not found. [missingInclude]
^
src/Image/IntelliRasterImage.cpp:2:0: information: Include file: <QPainter> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
^
src/Image/IntelliRasterImage.cpp:3:0: information: Include file: <QRect> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
^
src/Image/IntelliRasterImage.cpp:4:0: information: Include file: <QDebug> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
^
src/Image/IntelliShapedImage.cpp:1:0: information: Include file: "Image/IntelliShapedImage.h" not found. [missingInclude]
^
src/Image/IntelliShapedImage.cpp:2:0: information: Include file: "IntelliHelper/IntelliTriangulation.h" not found. [missingInclude]
^
src/Image/IntelliShapedImage.cpp:3:0: information: Include file: <QPainter> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
^
src/Image/IntelliShapedImage.cpp:4:0: information: Include file: <QRect> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
^
src/Image/IntelliShapedImage.cpp:5:0: information: Include file: <QDebug> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
^
src/IntelliHelper/IntelliColorPicker.h:4:0: information: Include file: "QColor" not found. [missingInclude]
^
src/IntelliHelper/IntelliColorPicker.h:5:0: information: Include file: "QPoint" not found. [missingInclude]
^
src/IntelliHelper/IntelliColorPicker.h:6:0: information: Include file: "QColorDialog" not found. [missingInclude]
^
src/IntelliHelper/IntelliToolsettings.cpp:2:0: information: Include file: <QInputDialog> 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: <QPoint> 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: <vector> 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: <algorithm> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
^
src/IntelliHelper/IntelliTriangulation.cpp:3:0: information: Include file: <queue> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
^
src/IntelliHelper/IntelliTriangulation.cpp:4:0: information: Include file: <cmath> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
^
src/Layer/PaintingArea.cpp:2:0: information: Include file: "string.h" not found. [missingInclude]
^
src/Layer/PaintingArea.cpp:4:0: information: Include file: <vector> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
^
src/Layer/PaintingArea.cpp:6:0: information: Include file: <QtWidgets> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
^
src/Layer/PaintingArea.cpp:7:0: information: Include file: <QPoint> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
^
src/Layer/PaintingArea.cpp:8:0: information: Include file: <QRect> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
^
src/Layer/PaintingArea.h:5:0: information: Include file: <QColor> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
^
src/Layer/PaintingArea.h:6:0: information: Include file: <QImage> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
^
src/Layer/PaintingArea.h:7:0: information: Include file: <QPoint> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
^
src/Layer/PaintingArea.h:8:0: information: Include file: <QWidget> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
^
src/Layer/PaintingArea.h:9:0: information: Include file: <QList> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
^
src/Layer/PaintingArea.h:10:0: information: Include file: "GUI/IntelliPhotoGui.h" not found. [missingInclude]
^
src/Layer/PaintingArea.h:11:0: information: Include file: "Image/IntelliImage.h" not found. [missingInclude]
^
src/Layer/PaintingArea.h:12:0: information: Include file: "Image/IntelliRasterImage.h" not found. [missingInclude]
^
src/Layer/PaintingArea.h:13:0: information: Include file: "Image/IntelliShapedImage.h" not found. [missingInclude]
^
src/Layer/PaintingArea.h:14:0: information: Include file: "Tool/IntelliTool.h" not found. [missingInclude]
^
src/Layer/PaintingArea.h:15:0: information: Include file: "IntelliHelper/IntelliColorPicker.h" not found. [missingInclude]
^
src/Layer/PaintingArea.cpp:11:0: information: Include file: "Image/IntelliRasterImage.h" not found. [missingInclude]
^
src/Layer/PaintingArea.cpp:12:0: information: Include file: "Image/IntelliShapedImage.h" not found. [missingInclude]
^
src/Layer/PaintingArea.cpp:13:0: information: Include file: "Tool/IntelliToolPen.h" not found. [missingInclude]
^
src/Layer/PaintingArea.cpp:14:0: information: Include file: "Tool/IntelliToolPlain.h" not found. [missingInclude]
^
src/Layer/PaintingArea.cpp:15:0: information: Include file: "Tool/IntelliToolLine.h" not found. [missingInclude]
^
src/Layer/PaintingArea.cpp:16:0: information: Include file: "Tool/IntelliToolCircle.h" not found. [missingInclude]
^
src/Layer/PaintingArea.cpp:17:0: information: Include file: "Tool/IntelliToolRectangle.h" not found. [missingInclude]
^
src/Layer/PaintingArea.cpp:18:0: information: Include file: "Tool/IntelliToolFloodFill.h" not found. [missingInclude]
^
src/Layer/PaintingArea.cpp:19:0: information: Include file: "Tool/IntelliToolPolygon.h" not found. [missingInclude]
^
src/Tool/IntelliTool.h:4:0: information: Include file: "IntelliHelper/IntelliColorPicker.h" not found. [missingInclude]
^
src/Tool/IntelliTool.h:5:0: information: Include file: "IntelliHelper/IntelliToolsettings.h" not found. [missingInclude]
^
src/Tool/IntelliTool.h:6:0: information: Include file: <vector> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
^
src/Tool/IntelliTool.cpp:2:0: information: Include file: "Layer/PaintingArea.h" not found. [missingInclude]
^
src/Tool/IntelliToolCircle.h:5:0: information: Include file: "QColor" not found. [missingInclude]
^
src/Tool/IntelliToolCircle.h:6:0: information: Include file: "QPoint" not found. [missingInclude]
^
src/Tool/IntelliToolCircle.cpp:2:0: information: Include file: "Layer/PaintingArea.h" not found. [missingInclude]
^
src/Tool/IntelliToolCircle.cpp:3:0: information: Include file: "QInputDialog" not found. [missingInclude]
^
src/Tool/IntelliToolCircle.cpp:4:0: information: Include file: <cmath> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
^
src/Tool/IntelliToolFloodFill.h:5:0: information: Include file: "QColor" not found. [missingInclude]
^
src/Tool/IntelliToolFloodFill.cpp:2:0: information: Include file: "Layer/PaintingArea.h" not found. [missingInclude]
^
src/Tool/IntelliToolFloodFill.cpp:3:0: information: Include file: "QColorDialog" not found. [missingInclude]
^
src/Tool/IntelliToolFloodFill.cpp:4:0: information: Include file: "QInputDialog" not found. [missingInclude]
^
src/Tool/IntelliToolFloodFill.cpp:5:0: information: Include file: <functional> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
^
src/Tool/IntelliToolFloodFill.cpp:6:0: information: Include file: <queue> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
^
src/Tool/IntelliToolLine.h:5:0: information: Include file: "QPoint" not found. [missingInclude]
^
src/Tool/IntelliToolLine.cpp:2:0: information: Include file: "Layer/PaintingArea.h" not found. [missingInclude]
^
src/Tool/IntelliToolLine.cpp:3:0: information: Include file: "QColorDialog" not found. [missingInclude]
^
src/Tool/IntelliToolLine.cpp:4:0: information: Include file: "QInputDialog" not found. [missingInclude]
^
src/Tool/IntelliToolPen.h:5:0: information: Include file: "QColor" not found. [missingInclude]
^
src/Tool/IntelliToolPen.h:6:0: information: Include file: "QPoint" not found. [missingInclude]
^
src/Tool/IntelliToolPen.cpp:2:0: information: Include file: "Layer/PaintingArea.h" not found. [missingInclude]
^
src/Tool/IntelliToolPen.cpp:3:0: information: Include file: "QDebug" not found. [missingInclude]
^
src/Tool/IntelliToolPen.cpp:4:0: information: Include file: "QColorDialog" not found. [missingInclude]
^
src/Tool/IntelliToolPen.cpp:5:0: information: Include file: "QInputDialog" not found. [missingInclude]
^
src/Tool/IntelliToolPlain.h:5:0: information: Include file: "QColor" not found. [missingInclude]
^
src/Tool/IntelliToolPlain.cpp:2:0: information: Include file: "Layer/PaintingArea.h" not found. [missingInclude]
^
src/Tool/IntelliToolPlain.cpp:3:0: information: Include file: "QColorDialog" not found. [missingInclude]
^
src/Tool/IntelliToolPolygon.h:5:0: information: Include file: "IntelliHelper/IntelliTriangulation.h" not found. [missingInclude]
^
src/Tool/IntelliToolPolygon.h:6:0: information: Include file: <vector> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
^
src/Tool/IntelliToolPolygon.h:7:0: information: Include file: <QPoint> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
^
src/Tool/IntelliToolPolygon.cpp:2:0: information: Include file: "Layer/PaintingArea.h" not found. [missingInclude]
^
src/Tool/IntelliToolPolygon.cpp:3:0: information: Include file: <QCursor> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
^
src/Tool/IntelliToolPolygon.cpp:4:0: information: Include file: <QInputDialog> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
^
src/Tool/IntelliToolPolygon.cpp:5:0: information: Include file: <QDebug> 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: <cmath> 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]
^
src/Tool/IntelliToolRectangle.h:7:0: information: Include file: "QPoint" not found. [missingInclude]
^
src/Tool/IntelliToolRectangle.cpp:2:0: information: Include file: "Layer/PaintingArea.h" not found. [missingInclude]
^
src/Tool/IntelliToolRectangle.cpp:3:0: information: Include file: "QInputDialog" not found. [missingInclude]
^
src/main.cpp:2:0: information: Include file: <QApplication> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
^
src/main.cpp:3:0: information: Include file: <QDebug> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
^
src/main.cpp:4:0: information: Include file: <vector> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
^
src/mainUnitTest.cpp:1:0: information: Include file: <QtTest> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
^
src/mainUnitTest.cpp:3:0: information: Include file: <string> 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: <QtTest> 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: <QCoreApplication> 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: <QImage> 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: <QPoint> 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: <QColor> 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: <QSize> 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: <QWidget> 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: <vector> 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: <vector> 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]
^

299
cppcheck_errors.txt Normal file
View File

@@ -0,0 +1,299 @@
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/mainUnitTest.cpp:113:0: style: The function 'initTestCase' is never used. [unusedFunction]
^
src/Layer/PaintingArea.cpp:281:0: style: The function 'mouseMoveEvent' is never used. [unusedFunction]
^
src/Layer/PaintingArea.cpp:262:0: style: The function 'mousePressEvent' is never used. [unusedFunction]
^
src/Layer/PaintingArea.cpp:294:0: style: The function 'mouseReleaseEvent' is never used. [unusedFunction]
^
src/Layer/PaintingArea.cpp:324:0: style: The function 'paintEvent' is never used. [unusedFunction]
^
src/Layer/PaintingArea.cpp:180:0: style: The function 'slotActivateLayer' is never used. [unusedFunction]
^
src/Layer/PaintingArea.cpp:96: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/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]

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,94 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="256"
height="256"
viewBox="0 0 67.733332 67.733335"
version="1.1"
id="svg8"
sodipodi:docname="circle-tool.svg"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)">
<defs
id="defs2">
<linearGradient
inkscape:collect="always"
id="linearGradient36">
<stop
style="stop-color:#d40000;stop-opacity:1;"
offset="0"
id="stop32" />
<stop
style="stop-color:#d40000;stop-opacity:0;"
offset="1"
id="stop34" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient36"
id="linearGradient38"
x1="147.98735"
y1="176.19795"
x2="-13.131983"
y2="106.49742"
gradientUnits="userSpaceOnUse" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.8"
inkscape:cx="166.94289"
inkscape:cy="125.27289"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
showguides="false"
inkscape:window-width="1920"
inkscape:window-height="1017"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-229.26665)">
<circle
style="fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:1.85208333;stroke-miterlimit:4;stroke-dasharray:none"
id="circle4578"
cx="33.78162"
cy="263.02939"
r="2.5985863" />
<circle
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:2.11666656;stroke-miterlimit:4;stroke-dasharray:none"
id="path4602"
cx="33.781624"
cy="263.50183"
r="26.316593" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

109
docs/Icons/eraser-tool.svg Normal file
View File

@@ -0,0 +1,109 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="256"
height="256"
viewBox="0 0 67.733332 67.733335"
version="1.1"
id="svg8"
sodipodi:docname="eraser-tool.svg"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
inkscape:export-filename="C:\Users\pauln\tool1.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96">
<defs
id="defs2">
<linearGradient
inkscape:collect="always"
id="linearGradient36">
<stop
style="stop-color:#d40000;stop-opacity:1;"
offset="0"
id="stop32" />
<stop
style="stop-color:#d40000;stop-opacity:0;"
offset="1"
id="stop34" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient36"
id="linearGradient38"
x1="147.98735"
y1="176.19795"
x2="-13.131983"
y2="106.49742"
gradientUnits="userSpaceOnUse" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.8"
inkscape:cx="154.79235"
inkscape:cy="136.37674"
inkscape:document-units="mm"
inkscape:current-layer="g4716"
showgrid="false"
units="px"
showguides="false"
inkscape:window-width="1920"
inkscape:window-height="1017"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:snap-global="false" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-229.26665)">
<g
id="g4716">
<rect
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:2.54304647;stroke-miterlimit:4;stroke-dasharray:none"
id="rect4775"
width="59.058777"
height="57.168896"
x="4.2522316"
y="234.16145" />
<path
style="fill:none;stroke:#ffffff;stroke-width:16.96439552;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 64.539433,248.9069 -8.315476,0.24173 c 0,0 -13.890625,31.06218 -29.576635,22.72253"
id="path4777"
inkscape:connector-curvature="0" />
<rect
style="fill:#000000;fill-opacity:1;stroke:#ffaaaa;stroke-width:19.02600098;stroke-miterlimit:4;stroke-dasharray:none"
id="rect4779"
width="3.5923276"
height="18.439137"
x="100.56355"
y="236.22752"
transform="matrix(0.96477278,0.26308456,-0.30397854,0.95267888,0,0)" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

@@ -0,0 +1,194 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="256"
height="256"
viewBox="0 0 67.733332 67.733335"
version="1.1"
id="svg8"
sodipodi:docname="flood-fill-tool.svg"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)">
<defs
id="defs2">
<linearGradient
inkscape:collect="always"
id="linearGradient4746">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop4742" />
<stop
style="stop-color:#ff0000;stop-opacity:1"
offset="1"
id="stop4744" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient36">
<stop
style="stop-color:#d40000;stop-opacity:1;"
offset="0"
id="stop32" />
<stop
style="stop-color:#d40000;stop-opacity:0;"
offset="1"
id="stop34" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient36"
id="linearGradient38"
x1="147.98735"
y1="176.19795"
x2="-13.131983"
y2="106.49742"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4746"
id="linearGradient4748"
x1="278.75943"
y1="55.545975"
x2="278.70905"
y2="102.68295"
gradientUnits="userSpaceOnUse" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.8"
inkscape:cx="178.00664"
inkscape:cy="120.50274"
inkscape:document-units="mm"
inkscape:current-layer="g4716"
showgrid="false"
units="px"
showguides="false"
inkscape:window-width="1920"
inkscape:window-height="1017"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:snap-global="false" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-229.26665)">
<g
id="g4716">
<rect
style="fill:url(#linearGradient4748);fill-opacity:1;stroke:#000000;stroke-width:2.54346728;stroke-miterlimit:4;stroke-dasharray:none"
id="rect4736"
width="20.992056"
height="38.493938"
x="268.06161"
y="65.299561"
transform="matrix(0.37877425,0.9254891,-0.96183685,0.2736236,0,0)" />
<rect
y="199.89908"
x="116.56168"
height="29.387648"
width="34.49033"
id="rect4710"
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.11666656;stroke-miterlimit:4;stroke-dasharray:none"
transform="rotate(22.139383)" />
<ellipse
ry="3.6608384"
rx="17.12623"
cy="229.80646"
cx="133.85408"
id="path4712"
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.07105064;stroke-miterlimit:4;stroke-dasharray:none"
transform="rotate(22.139383)" />
<rect
style="fill:#ff2a2a;fill-opacity:1;stroke:none;stroke-width:0.57643586;stroke-miterlimit:4;stroke-dasharray:none"
id="rect4722"
width="6.4093542"
height="5.9942107"
x="106.55282"
y="220.71335"
transform="matrix(0.89502052,0.44602497,-0.31493366,0.94911369,0,0)"
ry="2.9971054" />
<rect
ry="4.9373565"
transform="matrix(0.76230952,0.64721263,-0.19117303,0.98155635,0,0)"
y="211.36087"
x="91.973289"
height="9.8747129"
width="7.5251632"
id="rect4726"
style="fill:#ff2a2a;fill-opacity:1;stroke:none;stroke-width:0.80167449;stroke-miterlimit:4;stroke-dasharray:none" />
<rect
style="fill:#ff2a2a;fill-opacity:1;stroke:none;stroke-width:0.68775666;stroke-miterlimit:4;stroke-dasharray:none"
id="rect4728"
width="6.9141498"
height="7.9099746"
x="106.98909"
y="208.27184"
transform="matrix(0.82967592,0.55824535,-0.238658,0.97110368,0,0)"
ry="3.9549873" />
<rect
style="fill:#ff2a2a;fill-opacity:1;stroke:none;stroke-width:0.83867002;stroke-miterlimit:4;stroke-dasharray:none"
id="rect4732"
width="7.7389083"
height="10.508647"
x="99.318977"
y="206.74135"
transform="matrix(0.74125487,0.67122367,-0.1796405,0.98373233,0,0)"
ry="5.2543235" />
<rect
ry="4.9687924"
transform="matrix(0.76020136,0.64968753,-0.18996354,0.98179115,0,0)"
y="213.06801"
x="82.413681"
height="9.9375849"
width="7.5460315"
id="rect4734"
style="fill:#ff2a2a;fill-opacity:1;stroke:none;stroke-width:0.80533689;stroke-miterlimit:4;stroke-dasharray:none" />
<rect
ry="2.9971054"
transform="matrix(0.89502052,0.44602497,-0.31493366,0.94911369,0,0)"
y="219.89731"
x="128.72516"
height="5.9942107"
width="6.4093542"
id="rect4738"
style="fill:#ff2a2a;fill-opacity:1;stroke:none;stroke-width:0.57643586;stroke-miterlimit:4;stroke-dasharray:none" />
<rect
style="fill:#ff2a2a;fill-opacity:1;stroke:none;stroke-width:0.61344987;stroke-miterlimit:4;stroke-dasharray:none"
id="rect4740"
width="6.5649834"
height="6.6277919"
x="107.49622"
y="215.86592"
transform="matrix(0.87380318,0.48627976,-0.28482771,0.95857873,0,0)"
ry="3.3138959" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.3 KiB

99
docs/Icons/line-tool.svg Normal file
View File

@@ -0,0 +1,99 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="256"
height="256"
viewBox="0 0 67.733332 67.733335"
version="1.1"
id="svg8"
sodipodi:docname="line-tool.svg"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)">
<defs
id="defs2">
<linearGradient
inkscape:collect="always"
id="linearGradient36">
<stop
style="stop-color:#d40000;stop-opacity:1;"
offset="0"
id="stop32" />
<stop
style="stop-color:#d40000;stop-opacity:0;"
offset="1"
id="stop34" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient36"
id="linearGradient38"
x1="147.98735"
y1="176.19795"
x2="-13.131983"
y2="106.49742"
gradientUnits="userSpaceOnUse" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.8"
inkscape:cx="107.4786"
inkscape:cy="125.27289"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
showguides="false"
inkscape:window-width="1920"
inkscape:window-height="1017"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-229.26665)">
<path
style="fill:none;stroke:#000000;stroke-width:2.117;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
d="M 7.8430058,289.81843 60.854166,236.80727"
id="path845"
inkscape:connector-curvature="0" />
<circle
r="2.5985863"
cy="236.66553"
cx="60.712429"
id="circle4574"
style="fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:1.85208333;stroke-miterlimit:4;stroke-dasharray:none" />
<circle
style="fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:1.85208333;stroke-miterlimit:4;stroke-dasharray:none"
id="path4572"
cx="7.8902526"
cy="289.86566"
r="2.5985863" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@@ -0,0 +1,169 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="256"
height="256"
viewBox="0 0 67.733332 67.733335"
version="1.1"
id="svg8"
sodipodi:docname="magic-wand-tool.svg"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)">
<defs
id="defs2">
<linearGradient
inkscape:collect="always"
id="linearGradient36">
<stop
style="stop-color:#d40000;stop-opacity:1;"
offset="0"
id="stop32" />
<stop
style="stop-color:#d40000;stop-opacity:0;"
offset="1"
id="stop34" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient36"
id="linearGradient38"
x1="147.98735"
y1="176.19795"
x2="-13.131983"
y2="106.49742"
gradientUnits="userSpaceOnUse" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.8"
inkscape:cx="154.79235"
inkscape:cy="122.64559"
inkscape:document-units="mm"
inkscape:current-layer="g4716"
showgrid="false"
units="px"
showguides="false"
inkscape:window-width="1920"
inkscape:window-height="1017"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:snap-global="false" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-229.26665)">
<g
id="g4716">
<g
id="g4767"
transform="translate(-4.5357143,7.0870536)">
<rect
transform="rotate(45)"
ry="1.889881"
y="137.33192"
x="203.35738"
height="53.483627"
width="10.299852"
id="rect4758"
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:3.7175684;stroke-miterlimit:4;stroke-dasharray:none" />
<rect
transform="rotate(45)"
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.8319869;stroke-miterlimit:4;stroke-dasharray:none"
id="rect4760"
width="9.7328882"
height="2.8348179"
x="203.64085"
y="148.6712" />
<rect
transform="rotate(45)"
y="141.20618"
x="203.64085"
height="2.8348179"
width="9.7328882"
id="rect4762"
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.8319869;stroke-miterlimit:4;stroke-dasharray:none" />
</g>
<path
sodipodi:type="star"
style="fill:#ffff00;fill-opacity:1;stroke:#000000;stroke-width:2.11666656;stroke-miterlimit:4;stroke-dasharray:none"
id="path4769"
sodipodi:sides="5"
sodipodi:cx="44.223213"
sodipodi:cy="239.92558"
sodipodi:r1="8.624361"
sodipodi:r2="4.3121805"
sodipodi:arg1="1.0040671"
sodipodi:arg2="1.6323856"
inkscape:flatsided="false"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 48.853421,247.20162 -4.895624,-2.97203 -5.223697,2.348 1.313744,-5.57442 -3.847298,-4.24246 5.707563,-0.47315 2.845937,-4.96999 2.213724,5.28201 5.606183,1.17083 -4.339406,3.73761 z"
inkscape:transform-center-x="2.6385383"
inkscape:transform-center-y="1.2565374"
transform="rotate(-21.763247,66.493886,211.70978)" />
<path
transform="matrix(-0.16940831,-0.61726905,0.61726905,-0.16940831,-99.981719,307.02239)"
inkscape:transform-center-y="1.5995691"
inkscape:transform-center-x="-0.47805579"
d="m 48.853421,247.20162 -4.895624,-2.97203 -5.223697,2.348 1.313744,-5.57442 -3.847298,-4.24246 5.707563,-0.47315 2.845937,-4.96999 2.213724,5.28201 5.606183,1.17083 -4.339406,3.73761 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="false"
sodipodi:arg2="1.6323856"
sodipodi:arg1="1.0040671"
sodipodi:r2="4.3121805"
sodipodi:r1="8.624361"
sodipodi:cy="239.92558"
sodipodi:cx="44.223213"
sodipodi:sides="5"
id="path4771"
style="fill:#ffff00;fill-opacity:1;stroke:#000000;stroke-width:2.11666656;stroke-miterlimit:4;stroke-dasharray:none"
sodipodi:type="star" />
<path
sodipodi:type="star"
style="fill:#ffff00;fill-opacity:1;stroke:#000000;stroke-width:2.11666656;stroke-miterlimit:4;stroke-dasharray:none"
id="path4773"
sodipodi:sides="5"
sodipodi:cx="44.223213"
sodipodi:cy="239.92558"
sodipodi:r1="8.624361"
sodipodi:r2="4.3121805"
sodipodi:arg1="1.0040671"
sodipodi:arg2="1.6323856"
inkscape:flatsided="false"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 48.853421,247.20162 -4.895624,-2.97203 -5.223697,2.348 1.313744,-5.57442 -3.847298,-4.24246 5.707563,-0.47315 2.845937,-4.96999 2.213724,5.28201 5.606183,1.17083 -4.339406,3.73761 z"
inkscape:transform-center-x="0.0027046201"
inkscape:transform-center-y="1.1149197"
transform="matrix(0.25199367,-0.58840415,0.58840415,0.25199367,-99.952707,231.42813)" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.0 KiB

105
docs/Icons/pen-tool.svg Normal file
View File

@@ -0,0 +1,105 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="256"
height="256"
viewBox="0 0 67.733332 67.733335"
version="1.1"
id="svg8"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
sodipodi:docname="pen-tool.svg">
<defs
id="defs2">
<linearGradient
inkscape:collect="always"
id="linearGradient36">
<stop
style="stop-color:#d40000;stop-opacity:1;"
offset="0"
id="stop32" />
<stop
style="stop-color:#d40000;stop-opacity:0;"
offset="1"
id="stop34" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient36"
id="linearGradient38"
x1="147.98735"
y1="176.19795"
x2="-13.131983"
y2="106.49742"
gradientUnits="userSpaceOnUse" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4"
inkscape:cx="376.91553"
inkscape:cy="52.667178"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
showguides="false"
inkscape:window-width="1920"
inkscape:window-height="1017"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-229.26665)">
<path
style="fill:#000000;fill-opacity:1;stroke-width:0.79907227"
inkscape:transform-center-x="2.1805457"
inkscape:transform-center-y="0.23135325"
d="m 64.660259,230.98439 c -1.469539,1.22623 -3.009608,0.3208 -4.479147,2.55438 l -35.355186,29.81232 20.997146,4.03437 16.236587,-28.5477 c 2.650564,-3.49373 1.675561,-4.59875 2.6006,-7.85337 z"
id="path16"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccc" />
<ellipse
style="fill:#000000;fill-opacity:1;stroke-width:0.2446842"
id="path19"
ry="4.8653927"
rx="10.959454"
cy="259.34927"
cx="70.703522"
transform="matrix(0.99175335,0.12816118,-0.13566218,0.99075515,0,0)" />
<path
style="fill:url(#linearGradient38);fill-opacity:1;stroke:none;stroke-width:1.1613673px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 19.935603,103.02103 C 11.487015,114.14384 3.7900432,116.38626 5.1066573,144.52297 7.9154345,204.54791 22.091131,264.29315 75.056641,251.85938 127.52071,239.54339 188.58555,194.70704 177.64844,158.85742 c -12.48014,3.63122 -34.362,10.63187 -51.541,8.65662 -12.43758,-1.43999 -33.957254,-24.02776 -43.821058,-27.9929 -2.739296,6.28676 5.637281,36.28371 -21.584814,27.90384 -62.9196406,-19.36876 11.109787,-93.171912 16.121057,-90.16515 0,0 -33.485263,-5.047889 -56.887022,25.7612 z"
transform="matrix(0.26458333,0,0,0.26458333,0,229.26665)"
id="path23"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ssccccscs" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

125
docs/Icons/plain-tool.svg Normal file
View File

@@ -0,0 +1,125 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="256"
height="256"
viewBox="0 0 67.733332 67.733335"
version="1.1"
id="svg8"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
sodipodi:docname="plain-tool.svg">
<defs
id="defs2">
<marker
inkscape:stockid="DotM"
orient="auto"
refY="0.0"
refX="0.0"
id="DotM"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path907"
d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
transform="scale(0.4) translate(7.4, 1)" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4"
inkscape:cx="261.75556"
inkscape:cy="104.85714"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
showguides="false"
inkscape:window-width="1920"
inkscape:window-height="1017"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-229.26665)">
<g
id="g1146"
transform="translate(-0.34017738,0.11425859)">
<rect
y="241.43747"
x="17.575891"
height="41.388393"
width="33.828869"
id="rect839"
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-width:1.39999998;stroke-miterlimit:4;stroke-dasharray:none" />
<path
inkscape:connector-curvature="0"
id="path841"
d="m 54.820853,239.89272 8.097875,-7.30482"
style="fill:none;stroke:#ffd42a;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path1123"
d="m 15.612022,286.57635 -8.0978753,7.30482"
style="fill:none;stroke:#ffd42a;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:#ffd42a;stroke:#ffd42a;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 13.592835,239.89272 5.4949601,232.5879"
id="path1125"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#ffd42a;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 54.820853,285.50457 8.097875,7.30482"
id="path1127"
inkscape:connector-curvature="0" />
<path
inkscape:connector-curvature="0"
id="path1129"
d="M 56.318451,261.65921 H 63.31101"
style="fill:none;stroke:#ffd42a;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#ffd42a;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 6.0476177,261.65921 H 13.040177"
id="path1131"
inkscape:connector-curvature="0" />
<path
inkscape:connector-curvature="0"
id="path1133"
d="m 34.773809,286.79463 v 7.55952"
style="fill:#ffd42a;fill-opacity:1;stroke:#ffd42a;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:#ffd42a;fill-opacity:1;stroke:#ffd42a;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 34.773809,231.04315 v 7.55952"
id="path1135"
inkscape:connector-curvature="0" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.9 KiB

117
docs/Icons/polygon-tool.svg Normal file
View File

@@ -0,0 +1,117 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="256"
height="256"
viewBox="0 0 67.733332 67.733335"
version="1.1"
id="svg8"
sodipodi:docname="polygon-tool.svg"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)">
<defs
id="defs2">
<linearGradient
inkscape:collect="always"
id="linearGradient36">
<stop
style="stop-color:#d40000;stop-opacity:1;"
offset="0"
id="stop32" />
<stop
style="stop-color:#d40000;stop-opacity:0;"
offset="1"
id="stop34" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient36"
id="linearGradient38"
x1="147.98735"
y1="176.19795"
x2="-13.131983"
y2="106.49742"
gradientUnits="userSpaceOnUse" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.8"
inkscape:cx="107.4786"
inkscape:cy="125.27289"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
showguides="false"
inkscape:window-width="1920"
inkscape:window-height="1017"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-229.26665)">
<path
style="fill:#ff0000;stroke:#000000;stroke-width:2.11666667;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;fill-opacity:0"
d="M 6.7090773,250.6979 61.137648,243.51635 60.47619,288.87349 10.205357,286.13317 22.867559,260.33629 Z"
id="path4590"
inkscape:connector-curvature="0" />
<circle
style="fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:1.85208333;stroke-miterlimit:4;stroke-dasharray:none"
id="path4572"
cx="4.5829611"
cy="249.98918"
r="2.5985863" />
<circle
r="2.5985863"
cy="243.5636"
cx="61.090405"
id="circle4574"
style="fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:1.85208333;stroke-miterlimit:4;stroke-dasharray:none" />
<circle
r="2.5985863"
cy="260.38354"
cx="22.914806"
id="circle4576"
style="fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:1.85208333;stroke-miterlimit:4;stroke-dasharray:none" />
<circle
style="fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:1.85208333;stroke-miterlimit:4;stroke-dasharray:none"
id="circle4588"
cx="9.0241814"
cy="286.84189"
r="2.5985863" />
<circle
style="fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:1.85208333;stroke-miterlimit:4;stroke-dasharray:none"
id="circle4578"
cx="60.523441"
cy="288.82626"
r="2.5985863" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@@ -0,0 +1,101 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="256"
height="256"
viewBox="0 0 67.733332 67.733335"
version="1.1"
id="svg8"
sodipodi:docname="rectangle-tool.svg"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)">
<defs
id="defs2">
<linearGradient
inkscape:collect="always"
id="linearGradient36">
<stop
style="stop-color:#d40000;stop-opacity:1;"
offset="0"
id="stop32" />
<stop
style="stop-color:#d40000;stop-opacity:0;"
offset="1"
id="stop34" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient36"
id="linearGradient38"
x1="147.98735"
y1="176.19795"
x2="-13.131983"
y2="106.49742"
gradientUnits="userSpaceOnUse" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.8"
inkscape:cx="107.4786"
inkscape:cy="125.27289"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
showguides="false"
inkscape:window-width="1920"
inkscape:window-height="1017"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-229.26665)">
<rect
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.85208333;stroke-miterlimit:4;stroke-dasharray:none"
id="rect56"
width="54.995537"
height="38.648064"
x="6.1421127"
y="243.04388" />
<circle
style="fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:1.85208333;stroke-miterlimit:4;stroke-dasharray:none"
id="path4572"
cx="6.3783484"
cy="243.5636"
r="2.5985863" />
<circle
style="fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:1.85208333;stroke-miterlimit:4;stroke-dasharray:none"
id="circle4578"
cx="61.090405"
cy="281.7392"
r="2.5985863" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 554 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 814 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 964 B

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

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

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 826 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 993 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1022 B

BIN
docs/Manual/manual.pdf Normal file

Binary file not shown.

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

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

View File

@@ -0,0 +1,394 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<diagram program="umlet" version="14.3.0">
<zoom_level>10</zoom_level>
<element>
<id>UMLGeneric</id>
<coordinates>
<x>530</x>
<y>70</y>
<w>100</w>
<h>30</h>
</coordinates>
<panel_attributes>_:PaintingArea_</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>570</x>
<y>90</y>
<w>30</w>
<h>70</h>
</coordinates>
<panel_attributes>lt=.</panel_attributes>
<additional_attributes>10.0;10.0;10.0;50.0</additional_attributes>
</element>
<element>
<id>UMLActor</id>
<coordinates>
<x>340</x>
<y>60</y>
<w>60</w>
<h>110</h>
</coordinates>
<panel_attributes/>
<additional_attributes/>
</element>
<element>
<id>UMLGeneric</id>
<coordinates>
<x>360</x>
<y>140</y>
<w>20</w>
<h>780</h>
</coordinates>
<panel_attributes/>
<additional_attributes/>
</element>
<element>
<id>UMLGeneric</id>
<coordinates>
<x>570</x>
<y>140</y>
<w>20</w>
<h>780</h>
</coordinates>
<panel_attributes/>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>370</x>
<y>140</y>
<w>220</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=&lt;-
MouseLeftPressed(event)</panel_attributes>
<additional_attributes>200.0;20.0;10.0;20.0</additional_attributes>
</element>
<element>
<id>UMLGeneric</id>
<coordinates>
<x>780</x>
<y>140</y>
<w>20</w>
<h>780</h>
</coordinates>
<panel_attributes/>
<additional_attributes/>
</element>
<element>
<id>UMLGeneric</id>
<coordinates>
<x>740</x>
<y>70</y>
<w>100</w>
<h>30</h>
</coordinates>
<panel_attributes>_:IntelliTool_</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>780</x>
<y>90</y>
<w>30</w>
<h>70</h>
</coordinates>
<panel_attributes>lt=.</panel_attributes>
<additional_attributes>10.0;10.0;10.0;50.0</additional_attributes>
</element>
<element>
<id>UMLGeneric</id>
<coordinates>
<x>950</x>
<y>70</y>
<w>100</w>
<h>30</h>
</coordinates>
<panel_attributes>_:IntelliToolPen_</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>990</x>
<y>90</y>
<w>30</w>
<h>70</h>
</coordinates>
<panel_attributes>lt=.</panel_attributes>
<additional_attributes>10.0;10.0;10.0;50.0</additional_attributes>
</element>
<element>
<id>UMLGeneric</id>
<coordinates>
<x>990</x>
<y>140</y>
<w>20</w>
<h>770</h>
</coordinates>
<panel_attributes/>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>370</x>
<y>430</y>
<w>220</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=&lt;-
updateInterface()</panel_attributes>
<additional_attributes>10.0;20.0;200.0;20.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>580</x>
<y>160</y>
<w>220</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=&lt;-
MouseLeftPressed(event)</panel_attributes>
<additional_attributes>200.0;20.0;10.0;20.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>790</x>
<y>180</y>
<w>220</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=&lt;-
MouseLeftPressed(event)</panel_attributes>
<additional_attributes>200.0;20.0;10.0;20.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>370</x>
<y>300</y>
<w>220</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=&lt;-
MouseMove(event)</panel_attributes>
<additional_attributes>200.0;20.0;10.0;20.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>580</x>
<y>320</y>
<w>220</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=&lt;-
MouseMove(koordinates)</panel_attributes>
<additional_attributes>200.0;20.0;10.0;20.0</additional_attributes>
</element>
<element>
<id>UMLFrame</id>
<coordinates>
<x>290</x>
<y>250</y>
<w>840</w>
<h>240</h>
</coordinates>
<panel_attributes>loop
--
until MouseLeftReleased(event) or MouseRightPressed(event)
</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>790</x>
<y>340</y>
<w>220</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=&lt;-
MouseMove(koordinates)</panel_attributes>
<additional_attributes>200.0;20.0;10.0;20.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>580</x>
<y>400</y>
<w>430</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=&lt;-
DrwaLineToKoordinates()</panel_attributes>
<additional_attributes>10.0;20.0;410.0;20.0</additional_attributes>
</element>
<element>
<id>UMLFrame</id>
<coordinates>
<x>290</x>
<y>520</y>
<w>840</w>
<h>350</h>
</coordinates>
<panel_attributes>alt
--
--</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>370</x>
<y>550</y>
<w>220</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=&lt;-
MouseLeftReleased(event)</panel_attributes>
<additional_attributes>200.0;20.0;10.0;20.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>580</x>
<y>570</y>
<w>220</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=&lt;-
MouseLeftReleased(event)</panel_attributes>
<additional_attributes>200.0;20.0;10.0;20.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>790</x>
<y>590</y>
<w>220</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=&lt;-
MouseLeftReleased(event)</panel_attributes>
<additional_attributes>200.0;20.0;10.0;20.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>580</x>
<y>630</y>
<w>430</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=&lt;-
MergeSubLayer()</panel_attributes>
<additional_attributes>10.0;20.0;410.0;20.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>580</x>
<y>210</y>
<w>430</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=&lt;-
CreateSubLayer()</panel_attributes>
<additional_attributes>10.0;20.0;410.0;20.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>370</x>
<y>720</y>
<w>220</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=&lt;-
MouseRightPressed(event)</panel_attributes>
<additional_attributes>200.0;20.0;10.0;20.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>580</x>
<y>740</y>
<w>220</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=&lt;-
MouseRightPressed(event)</panel_attributes>
<additional_attributes>200.0;20.0;10.0;20.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>790</x>
<y>760</y>
<w>220</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=&lt;-
MouseRightPressed(event)</panel_attributes>
<additional_attributes>200.0;20.0;10.0;20.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>580</x>
<y>790</y>
<w>430</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=&lt;-
DeleteSubLayer()</panel_attributes>
<additional_attributes>10.0;20.0;410.0;20.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>370</x>
<y>660</y>
<w>220</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=&lt;-
updateInterface()</panel_attributes>
<additional_attributes>10.0;20.0;200.0;20.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>370</x>
<y>820</y>
<w>220</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=&lt;-
updateInterface()</panel_attributes>
<additional_attributes>10.0;20.0;200.0;20.0</additional_attributes>
</element>
</diagram>

View File

@@ -0,0 +1,316 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<diagram program="umlet" version="14.3.0">
<zoom_level>10</zoom_level>
<element>
<id>UMLGeneric</id>
<coordinates>
<x>630</x>
<y>80</y>
<w>100</w>
<h>30</h>
</coordinates>
<panel_attributes>_:PaintingArea_</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>670</x>
<y>100</y>
<w>30</w>
<h>70</h>
</coordinates>
<panel_attributes>lt=.</panel_attributes>
<additional_attributes>10.0;10.0;10.0;50.0</additional_attributes>
</element>
<element>
<id>UMLActor</id>
<coordinates>
<x>440</x>
<y>70</y>
<w>60</w>
<h>110</h>
</coordinates>
<panel_attributes/>
<additional_attributes/>
</element>
<element>
<id>UMLGeneric</id>
<coordinates>
<x>460</x>
<y>150</y>
<w>20</w>
<h>490</h>
</coordinates>
<panel_attributes/>
<additional_attributes/>
</element>
<element>
<id>UMLGeneric</id>
<coordinates>
<x>670</x>
<y>150</y>
<w>20</w>
<h>490</h>
</coordinates>
<panel_attributes/>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>470</x>
<y>150</y>
<w>220</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=&lt;-
MouseLeftPressed(event)</panel_attributes>
<additional_attributes>200.0;20.0;10.0;20.0</additional_attributes>
</element>
<element>
<id>UMLGeneric</id>
<coordinates>
<x>880</x>
<y>150</y>
<w>20</w>
<h>490</h>
</coordinates>
<panel_attributes/>
<additional_attributes/>
</element>
<element>
<id>UMLGeneric</id>
<coordinates>
<x>840</x>
<y>80</y>
<w>100</w>
<h>30</h>
</coordinates>
<panel_attributes>_:IntelliTool_</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>880</x>
<y>100</y>
<w>30</w>
<h>70</h>
</coordinates>
<panel_attributes>lt=.</panel_attributes>
<additional_attributes>10.0;10.0;10.0;50.0</additional_attributes>
</element>
<element>
<id>UMLGeneric</id>
<coordinates>
<x>1050</x>
<y>80</y>
<w>100</w>
<h>30</h>
</coordinates>
<panel_attributes>_:IntelliToolPlain_</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>1090</x>
<y>100</y>
<w>30</w>
<h>70</h>
</coordinates>
<panel_attributes>lt=.</panel_attributes>
<additional_attributes>10.0;10.0;10.0;50.0</additional_attributes>
</element>
<element>
<id>UMLGeneric</id>
<coordinates>
<x>1090</x>
<y>150</y>
<w>20</w>
<h>490</h>
</coordinates>
<panel_attributes/>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>680</x>
<y>170</y>
<w>220</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=&lt;-
MouseLeftPressed(event)</panel_attributes>
<additional_attributes>200.0;20.0;10.0;20.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>890</x>
<y>190</y>
<w>220</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=&lt;-
MouseLeftPressed(event)</panel_attributes>
<additional_attributes>200.0;20.0;10.0;20.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>680</x>
<y>220</y>
<w>430</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=&lt;-
CreateSubLayer()</panel_attributes>
<additional_attributes>10.0;20.0;410.0;20.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>470</x>
<y>280</y>
<w>220</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=&lt;-
MouseLeftReleased(event)</panel_attributes>
<additional_attributes>200.0;20.0;10.0;20.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>680</x>
<y>300</y>
<w>220</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=&lt;-
MouseLeftReleased(event)</panel_attributes>
<additional_attributes>200.0;20.0;10.0;20.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>890</x>
<y>320</y>
<w>220</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=&lt;-
MouseLeftReleased(event)</panel_attributes>
<additional_attributes>200.0;20.0;10.0;20.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>680</x>
<y>360</y>
<w>430</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=&lt;-
MergeSubLayer()</panel_attributes>
<additional_attributes>10.0;20.0;410.0;20.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>470</x>
<y>390</y>
<w>220</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=&lt;-
updateInterface()</panel_attributes>
<additional_attributes>10.0;20.0;200.0;20.0</additional_attributes>
</element>
<element>
<id>UMLFrame</id>
<coordinates>
<x>390</x>
<y>250</y>
<w>840</w>
<h>350</h>
</coordinates>
<panel_attributes>alt
--
--</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>470</x>
<y>450</y>
<w>220</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=&lt;-
MouseRightPressed(event)</panel_attributes>
<additional_attributes>200.0;20.0;10.0;20.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>470</x>
<y>550</y>
<w>220</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=&lt;-
updateInterface()</panel_attributes>
<additional_attributes>10.0;20.0;200.0;20.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>680</x>
<y>520</y>
<w>430</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=&lt;-
DeleteSubLayer()</panel_attributes>
<additional_attributes>10.0;20.0;410.0;20.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>680</x>
<y>470</y>
<w>220</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=&lt;-
MouseRightPressed(event)</panel_attributes>
<additional_attributes>200.0;20.0;10.0;20.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>890</x>
<y>490</y>
<w>220</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=&lt;-
MouseRightPressed(event)</panel_attributes>
<additional_attributes>200.0;20.0;10.0;20.0</additional_attributes>
</element>
</diagram>

153
docs/ToDo/todo.org Normal file
View File

@@ -0,0 +1,153 @@
#+TITLE: Todo-Liste für Intelliphoto
#+AUTHOR: Paul Norberger
#+SETUPFILE: https://fniessen.github.io/org-html-themes/setup/theme-readtheorg.setup
#+COPTIONS: toc:nil
* TODO Dokumentation [4/9]
** TODO CRC-Karten
- 8/10 CRC-Karten sind fertig.
- 2 CRC-Karten werden noch benötigt. [Zuständig: Paul]
** TODO UML-Diagramm
- 1 UML-Diagramm muss geupdatet werden.
** TODO User-Manual
- Usermanual für Version 0.31 liegt vor.
- Nach Userinterfaceupdate: Usermanual muss aktualisiert werden.
** TODO Use-Case-Diagramme
- 1/2 Use-Case-Diagramme sind vorhanden.
- 1 Use-Case-Diagramm wird noch benötigt.
- 1 Use-Case-Diagramm muss evtl. aktualisiert werden.
** DONE Sequenzdiagramme
CLOSED: [2020-01-13 Mo 19:22]
- 2/2 Sequenzdiagramme sind vorhanden.
** DONE Zustandsdiagramme
CLOSED: [2020-01-13 Mo 19:22]
- 2/2 Zustandsdiagramme sind vorhanden.
** DONE Selbstgenierende Dokumentation
CLOSED: [2020-01-08 Mi 21:57]
** TODO Volere Snow Cards [0/2]
*** TODO Nicht-funktionale Anforderungen
- 1/2 Volere Snow Cards sind vorhanden.
- 1 Volere Snow Card wird noch benötigt. [Zuständig: Paul]
- 1 Volere Snow Card muss evtl. aktualisiert werden. [Zuständig: Paul]
*** TODO Funktionale Anforderungen
- 1/2 Volere Snow Cards sind vorhanden.
- 1 Volere Snow Card wird noch benötigt. [Zuständig: Paul]
- 1 Volere Snow Card muss evtl. aktualisiert werden. [Zuständig: Paul]
** TODO Referenzmaschine(n) bestimmen und Specs dokumentieren
- Specs von Muckes Standrechner
- Müssen noch an Zuständigen geschickt werden. [Zuständig: Mucke, Paul]
* TODO User Interface [4/9]
** DONE Icons für alle Tools
CLOSED: [2020-01-13 Mo 19:28]
** DONE Interfacegrundstruktur erstellen
CLOSED: [2020-01-13 Mo 19:28]
** DONE Verknüpfung der Tools im Code mit den Buttons
CLOSED: [2020-01-13 Mo 19:28]
** DONE Eigenschaften der Tools im Fenster statt im Popup einstellbar machen
CLOSED: [2020-01-13 Mo 19:29]
** TODO Input Dialog
- [Zuständig: Basti]
** TODO Create Canvas
- [Zuständig: Seb]
** TODO Change Canvas Size
- [Zuständig: Seb]
** TODO ShapedImage kreieren
- [Zuständig: Jan]
** TODO Polygon setzen
- [Zuständig: Jan]
* TODO Refactoring [2/2]
** DONE Alle öffentlichen Klassen durchkommentieren
CLOSED: [2020-01-08 Mi 21:47]
** DONE Toolklassenstruktur verbessern
CLOSED: [2020-01-08 Mi 21:58]
** TODO Leere geerbte Funktionen in den Tools entfernen
** TODO Variablen beschreiben
** TODO Dokumentieren Header
- [Zuständig: Conrad]
** TODO Toter Code Bereinigung / LineTool.dotted entfernen
- [Zuständig: Conrad]
** TODO In *.cpp auslagern
- [Zuständig: Jan, Conrad, Mucke, Seb]
** TODO Variablennamen verbessern und ggf. kommentieren
- [Zuständig: Conrad, Seb]
* TODO Testing
** TODO Tests
- [Zuständig: Mucke]
** TODO Benchmarking
- [Zuständig: Mucke]
* TODO Tools [0/8]
** TODO PenTool [3/5]
*** DONE Icon
CLOSED: [2020-01-08 Mi 19:54]
*** DONE Funktionalität
CLOSED: [2020-01-08 Mi 19:54]
*** DONE Implementierung in Interface
CLOSED: [2020-01-13 Mo 19:33]
*** TODO Zeitbestimmung auf Referenzmaschine
*** TODO Unittests
- [Zuständig: Mucke]
** TODO EraserTool [2/5]
*** DONE Icon
CLOSED: [2020-01-08 Mi 19:54]
*** DONE Funktionalität
CLOSED: [2020-01-08 Mi 19:54]
*** TODO Implementierung in Interface
*** TODO Zeitbestimmung auf Referenzmaschine
*** TODO Unittests
- [Zuständig: Mucke]
** TODO FloodFillTool [2/5]
*** DONE Icon
CLOSED: [2020-01-08 Mi 19:54]
*** DONE Funktionalität
CLOSED: [2020-01-08 Mi 19:54]
*** TODO Implementierung in Interface
*** TODO Zeitbestimmung auf Referenzmaschine
*** TODO Unittests
- [Zuständig: Mucke]
** TODO PolygonTool [2/5]
*** DONE Icon
CLOSED: [2020-01-08 Mi 19:54]
*** DONE Funktionalität
CLOSED: [2020-01-08 Mi 19:54]
*** TODO Implementierung in Interface
*** TODO Zeitbestimmung auf Referenzmaschine
*** TODO Unittests
- [Zuständig: Mucke]
** TODO CircleTool [2/5]
*** TODO Icon
- Icon Update: Nur 1 roter Punkt im Icon, weil nur 1 Punkt per Klick bestimmt wird
*** DONE Funktionalität
CLOSED: [2020-01-08 Mi 19:54]
*** TODO Implementierung in Interface
*** TODO Zeitbestimmung auf Referenzmaschine
*** TODO Unittests
- [Zuständig: Mucke]
** TODO RectangleTool [2/5]
*** DONE Icon
CLOSED: [2020-01-08 Mi 19:54]
*** DONE Funktionalität
CLOSED: [2020-01-08 Mi 19:54]
*** TODO Implementierung in Interface
*** TODO Zeitbestimmung auf Referenzmaschine
*** TODO Unittests
- [Zuständig: Mucke]
** TODO PlainTool [2/5]
*** DONE Icon
CLOSED: [2020-01-08 Mi 19:54]
*** DONE Funktionalität
CLOSED: [2020-01-08 Mi 19:54]
*** TODO Implementierung in Interface
*** TODO Zeitbestimmung auf Referenzmaschine
*** TODO Unittests
- [Zuständig: Mucke]
** TODO LineTool [1/5]
*** TODO Icon
- Icon Update: Nur 1 roter Punkt im Icon, weil nur 1 Punkt per Klick bestimmt wird
*** DONE Funktionalität
CLOSED: [2020-01-08 Mi 19:54]
*** TODO Implementierung in Interface
*** TODO Zeitbestimmung auf Referenzmaschine
*** TODO Unittests
- [Zuständig: Mucke]
* TODO Abschlusspräsentation
** Eröffnungsvideo erstellen
- [Zuständig: Jan]

BIN
docs/ToDo/todo.pdf Normal file

Binary file not shown.

531
docs/UML.uxf Normal file
View File

@@ -0,0 +1,531 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<diagram program="umlet" version="14.3.0">
<zoom_level>10</zoom_level>
<element>
<id>UMLClass</id>
<coordinates>
<x>2220</x>
<y>90</y>
<w>320</w>
<h>180</h>
</coordinates>
<panel_attributes>/*IntelliImage*/
--
#imageData: QImage
--
#resizeImage(image, newSize): void
+drawPixel(p1, color): void
+drawLine(p1, p2, color, penWidth): void
+drawPlain(color): void
/+getDisplayable(displaySize, alpha): QImage/
+loadImage(fileName): Boolean
+getPixelColor(point): QColor
...</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>2230</x>
<y>400</y>
<w>310</w>
<h>80</h>
</coordinates>
<panel_attributes>*IntelliRasterImage*
--
--
#calculateVisibility(): void
+getDisplayable(displaySize, alpha): QImage
...</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>2220</x>
<y>680</y>
<w>320</w>
<h>150</h>
</coordinates>
<panel_attributes>*IntelliShapedImage*
--
-triangles: vector&lt;Triangle&gt;
#polygonData: vector&lt;QPoint&gt;
--
-calculateVisibility(): void
+getDisplayable(displaySize, alpha): QImage
+getPolygonData(): vector&lt;QPoint&gt;
+setPolygon(polygonData): void
...</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>380</x>
<y>90</y>
<w>290</w>
<h>230</h>
</coordinates>
<panel_attributes>/*IntelliTool*/
--
#Area: PaintingArea
#colorPicker: IntelliColorPicker
#Active: LayerObject
#Canvas: LayerObject
#drawing: Boolean
--
/+onMouseRightPressed(x,y): void/
/+onMouseLeftPressed(x,y): void/
/+onMouseRightReleased(x,y): void/
/+onMousLeftReleased(x,y): void/
/+onWheelScrolled(value): void/
/+onMouseMoved(x,y): void/
...</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>2310</x>
<y>260</y>
<w>30</w>
<h>160</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>10.0;10.0;10.0;140.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>2310</x>
<y>470</y>
<w>30</w>
<h>230</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>10.0;10.0;10.0;210.0</additional_attributes>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>1440</x>
<y>200</y>
<w>240</w>
<h>80</h>
</coordinates>
<panel_attributes>&lt;&lt;Enumeration&gt;&gt;
*ImageType*
--
RASTERIMAGE
SHAPEDIMAGE</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>140</x>
<y>940</y>
<w>250</w>
<h>150</h>
</coordinates>
<panel_attributes>*IntelliToolFloodFill*
--
--
+onMouseRightPressed(x,y): void
+onMouseLeftPressed(x,y): void
+onMouseRightReleased(x,y): void
+onMousLeftReleased(x,y): void
+onWheelScrolled(value): void
+onMouseMoved(x,y): void
...</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>140</x>
<y>480</y>
<w>250</w>
<h>150</h>
</coordinates>
<panel_attributes>*IntelliToolPlain*
--
--
+onMouseRightPressed(x,y): void
+onMouseLeftPressed(x,y): void
+onMouseRightReleased(x,y): void
+onMousLeftReleased(x,y): void
+onWheelScrolled(value): void
+onMouseMoved(x,y): void
...</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>1020</x>
<y>480</y>
<w>240</w>
<h>180</h>
</coordinates>
<panel_attributes>*IntelliToolPen*
--
-penWidth: Integer
-point: QPoint
--
+onMouseRightPressed(x,y): void
+onMouseLeftPressed(x,y): void
+onMouseRightReleased(x,y): void
+onMousLeftReleased(x,y): void
+onWheelScrolled(value): void
+onMouseMoved(x,y): void
...</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>1020</x>
<y>960</y>
<w>250</w>
<h>180</h>
</coordinates>
<panel_attributes>*IntelliToolRectangle*
--
-alphaInner: Integer
-edgeWidth: Integer
--
+onMouseRightPressed(x,y): void
+onMouseLeftPressed(x,y): void
+onMouseRightReleased(x,y): void
+onMousLeftReleased(x,y): void
+onWheelScrolled(value): void
+onMouseMoved(x,y): void
...</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>1020</x>
<y>700</y>
<w>240</w>
<h>200</h>
</coordinates>
<panel_attributes>*IntelliToolLine*
--
-start: QPoint
-lineWidth: Integer
-lineStyle: LineStyle
--
+onMouseRightPressed(x,y): void
+onMouseLeftPressed(x,y): void
+onMouseRightReleased(x,y): void
+onMousLeftReleased(x,y): void
+onWheelScrolled(value): void
+onMouseMoved(x,y): void
...</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>490</x>
<y>670</y>
<w>250</w>
<h>210</h>
</coordinates>
<panel_attributes>*IntelliToolPolygon*
--
-lineWidth: Integer
-isDrawing: Boolean
-PointIsNearStart: Boolean
-alphaInner: Integer
--
+onMouseRightPressed(x,y): void
+onMouseLeftPressed(x,y): void
+onMouseRightReleased(x,y): void
+onMousLeftReleased(x,y): void
+onWheelScrolled(value): void
+onMouseMoved(x,y): void
...</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>640</x>
<y>310</y>
<w>400</w>
<h>190</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>10.0;10.0;380.0;170.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>380</x>
<y>310</y>
<w>100</w>
<h>650</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>80.0;10.0;10.0;630.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>250</x>
<y>310</y>
<w>160</w>
<h>190</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>140.0;10.0;10.0;170.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>510</x>
<y>310</y>
<w>540</w>
<h>670</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>10.0;10.0;520.0;650.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>560</x>
<y>310</y>
<w>480</w>
<h>410</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>10.0;10.0;460.0;390.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>480</x>
<y>310</y>
<w>140</w>
<h>380</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>10.0;10.0;120.0;360.0</additional_attributes>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>140</x>
<y>680</y>
<w>250</w>
<h>200</h>
</coordinates>
<panel_attributes>*IntelliToolCircle*
--
-Middle: QPoint
-alphaInner: Integer
-edgeWidth: Integer
--
+onMouseRightPressed(x,y): void
+onMouseLeftPressed(x,y): void
+onMouseRightReleased(x,y): void
+onMousLeftReleased(x,y): void
+onWheelScrolled(value): void
+onMouseMoved(x,y): void
...</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>380</x>
<y>310</y>
<w>80</w>
<h>390</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>60.0;10.0;10.0;370.0</additional_attributes>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>1930</x>
<y>90</y>
<w>280</w>
<h>410</h>
</coordinates>
<panel_attributes>*PaintingArea*
--
-Canvas: QImage
-maxWidth: Integer
-maxHeigth: Integer
-Tool: IntelliTool
-colorPicker: IntelliColorPicker
-layerBundle: vector&lt;LayerObject&gt;
-activeLayer: Integer
--
+open(fileName): Boolean
+save(fileName, fileFormat): void
+addLayer(width, heigth, widthOffset,
heigthOffset, ImageType): Integer
+addLayerAt(idx, width, heigth, widthOffset,
heigthOffset, ImageType): Integer
+deleteLayer(index): void
+setLayerToActive(index): void
+movePositionActive(x,y): void
+moveActiveLayer(idx): void
+setAlphaOfLayer(index, alpha): void
+floodFill(r,g,b,a): void
+getWidthOfActive(): Integer
+getHeigthOfActive(): Integer
--
Also overrides every Inputevent and
creates every Tool.
group=1</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>1690</x>
<y>90</y>
<w>230</w>
<h>150</h>
</coordinates>
<panel_attributes>&lt;&lt;dataType&gt;&gt;
*LayerObject*
--
+image: IntelliImage
+width: Integer
+heigth: Integer
+widthOffset: Integer
+heigthOffset: Integer
+alpha: Integer
--</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>830</x>
<y>90</y>
<w>320</w>
<h>90</h>
</coordinates>
<panel_attributes>/*IntelliHelper*/
--
--
+isInTriangle(tri, P): Boolean
+calculateTriangles(polyPoints): vector&lt;Triangle&gt;
+isInPolygon(triangles, point): Boolean</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>1440</x>
<y>90</y>
<w>240</w>
<h>80</h>
</coordinates>
<panel_attributes>&lt;&lt;Enumeration&gt;&gt;
*LineStyle*
--
SOLID
DOTTED</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>1180</x>
<y>90</y>
<w>250</w>
<h>150</h>
</coordinates>
<panel_attributes>/*IntelliColorPicker*/
--
-firstColor: QColor
-secondColor: QColor
--
+switchColors(): void
+setFirstColor(Color): void
+setSecondColor(Color): void
+getFirstColor(): QColor
+getSecondColor(): QColor</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>1690</x>
<y>250</y>
<w>230</w>
<h>100</h>
</coordinates>
<panel_attributes>&lt;&lt;dataType&gt;&gt;
*Triangle*
--
+A: QPoint
+B: QPoint
+C: QPoint
--</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>1690</x>
<y>360</y>
<w>230</w>
<h>70</h>
</coordinates>
<panel_attributes>&lt;&lt;dataType&gt;&gt;
*QImage*
--
--
--
Handles the ImageData</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>1690</x>
<y>440</y>
<w>230</w>
<h>70</h>
</coordinates>
<panel_attributes>&lt;&lt;dataType&gt;&gt;
*QPoint*
--
--
--
Handles points with x,y,z.</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>1690</x>
<y>530</y>
<w>230</w>
<h>90</h>
</coordinates>
<panel_attributes>&lt;&lt;dataType&gt;&gt;
*vector&lt;T&gt;*
--
--
--
Is a Vector of witch contains
data with equal type as type T.</panel_attributes>
<additional_attributes/>
</element>
</diagram>

View File

@@ -0,0 +1,405 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<diagram program="umlet" version="14.3.0">
<zoom_level>17</zoom_level>
<element>
<id>UMLActor</id>
<coordinates>
<x>17</x>
<y>459</y>
<w>170</w>
<h>187</h>
</coordinates>
<panel_attributes>3D-Künstler
bg=green</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLActor</id>
<coordinates>
<x>68</x>
<y>714</y>
<w>136</w>
<h>187</h>
</coordinates>
<panel_attributes>Einsteiger
bg=red</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLUseCase</id>
<coordinates>
<x>646</x>
<y>391</y>
<w>204</w>
<h>119</h>
</coordinates>
<panel_attributes>Zusammenfügen
von Bildern
bg=red</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLUseCase</id>
<coordinates>
<x>646</x>
<y>527</y>
<w>204</w>
<h>119</h>
</coordinates>
<panel_attributes>Ändern der
Bilderauflösung
bg=red</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLUseCase</id>
<coordinates>
<x>646</x>
<y>663</y>
<w>204</w>
<h>119</h>
</coordinates>
<panel_attributes>Drehen von
Bildern
bg=red</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLUseCase</id>
<coordinates>
<x>646</x>
<y>969</y>
<w>204</w>
<h>119</h>
</coordinates>
<panel_attributes>Retuschieren
der Bilder
bg=magenta</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLActor</id>
<coordinates>
<x>51</x>
<y>1037</y>
<w>170</w>
<h>187</h>
</coordinates>
<panel_attributes>Casual User
bg=red</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>119</x>
<y>442</y>
<w>561</w>
<h>306</h>
</coordinates>
<panel_attributes/>
<additional_attributes>310.0;10.0;10.0;160.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>119</x>
<y>561</y>
<w>561</w>
<h>187</h>
</coordinates>
<panel_attributes/>
<additional_attributes>310.0;10.0;10.0;90.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>119</x>
<y>680</y>
<w>561</w>
<h>68</h>
</coordinates>
<panel_attributes/>
<additional_attributes>310.0;20.0;10.0;20.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>119</x>
<y>442</y>
<w>561</w>
<h>629</h>
</coordinates>
<panel_attributes/>
<additional_attributes>310.0;10.0;10.0;350.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>119</x>
<y>561</y>
<w>561</w>
<h>510</h>
</coordinates>
<panel_attributes/>
<additional_attributes>310.0;10.0;10.0;280.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>119</x>
<y>697</y>
<w>561</w>
<h>374</h>
</coordinates>
<panel_attributes/>
<additional_attributes>310.0;10.0;10.0;200.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>119</x>
<y>986</y>
<w>561</w>
<h>85</h>
</coordinates>
<panel_attributes/>
<additional_attributes>310.0;20.0;10.0;30.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>136</x>
<y>1003</y>
<w>544</w>
<h>408</h>
</coordinates>
<panel_attributes/>
<additional_attributes>300.0;10.0;10.0;220.0</additional_attributes>
</element>
<element>
<id>UMLUseCase</id>
<coordinates>
<x>646</x>
<y>1394</y>
<w>204</w>
<h>119</h>
</coordinates>
<panel_attributes>Korrektur-
werkzeuge
bg=blue</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLNote</id>
<coordinates>
<x>629</x>
<y>1547</y>
<w>238</w>
<h>119</h>
</coordinates>
<panel_attributes>Helligkeit/Kontrast
Farbton/Sättigung
Gradationskurven
bg=blue</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>136</x>
<y>1360</y>
<w>544</w>
<h>119</h>
</coordinates>
<panel_attributes/>
<additional_attributes>300.0;50.0;10.0;10.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>731</x>
<y>1496</y>
<w>51</w>
<h>85</h>
</coordinates>
<panel_attributes/>
<additional_attributes>10.0;10.0;10.0;30.0</additional_attributes>
</element>
<element>
<id>UMLUseCase</id>
<coordinates>
<x>646</x>
<y>1122</y>
<w>204</w>
<h>119</h>
</coordinates>
<panel_attributes>Pinsel
bg=blue</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLUseCase</id>
<coordinates>
<x>646</x>
<y>1258</y>
<w>204</w>
<h>119</h>
</coordinates>
<panel_attributes>Auswahl-
werkzeuge
bg=blue</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>136</x>
<y>1292</y>
<w>544</w>
<h>119</h>
</coordinates>
<panel_attributes/>
<additional_attributes>300.0;10.0;10.0;50.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>136</x>
<y>1156</y>
<w>544</w>
<h>255</h>
</coordinates>
<panel_attributes/>
<additional_attributes>300.0;10.0;10.0;130.0</additional_attributes>
</element>
<element>
<id>UMLActor</id>
<coordinates>
<x>0</x>
<y>1377</y>
<w>306</w>
<h>187</h>
</coordinates>
<panel_attributes>Freiberufliche Fotografen
bg=blue</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLUseCase</id>
<coordinates>
<x>646</x>
<y>816</y>
<w>204</w>
<h>119</h>
</coordinates>
<panel_attributes>Layerstruktur
bg=dark_gray</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>85</x>
<y>272</y>
<w>595</w>
<h>221</h>
</coordinates>
<panel_attributes/>
<additional_attributes>330.0;10.0;10.0;110.0</additional_attributes>
</element>
<element>
<id>UMLUseCase</id>
<coordinates>
<x>646</x>
<y>238</y>
<w>204</w>
<h>119</h>
</coordinates>
<panel_attributes>Schnittstelle
für 3D-Modelle
bg=green</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>85</x>
<y>136</y>
<w>595</w>
<h>357</h>
</coordinates>
<panel_attributes/>
<additional_attributes>330.0;10.0;10.0;190.0</additional_attributes>
</element>
<element>
<id>UMLUseCase</id>
<coordinates>
<x>646</x>
<y>102</y>
<w>204</w>
<h>119</h>
</coordinates>
<panel_attributes>Erzeugen von
3D-Objekten
bg=green</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>136</x>
<y>867</y>
<w>544</w>
<h>544</h>
</coordinates>
<panel_attributes/>
<additional_attributes>300.0;10.0;10.0;300.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>119</x>
<y>867</y>
<w>561</w>
<h>204</h>
</coordinates>
<panel_attributes/>
<additional_attributes>310.0;10.0;10.0;100.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>119</x>
<y>697</y>
<w>561</w>
<h>221</h>
</coordinates>
<panel_attributes/>
<additional_attributes>310.0;110.0;10.0;10.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>85</x>
<y>442</y>
<w>595</w>
<h>476</h>
</coordinates>
<panel_attributes/>
<additional_attributes>330.0;260.0;10.0;10.0</additional_attributes>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>527</x>
<y>0</y>
<w>459</w>
<h>1836</h>
</coordinates>
<panel_attributes>lw=2
IntelliPhoto Benchmark 1.0
bg=gray</panel_attributes>
<additional_attributes/>
</element>
</diagram>

View File

@@ -0,0 +1,192 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<diagram program="umlet" version="14.3.0">
<zoom_level>16</zoom_level>
<element>
<id>UMLActor</id>
<coordinates>
<x>528</x>
<y>80</y>
<w>160</w>
<h>176</h>
</coordinates>
<panel_attributes>3D-Künstler
bg=green</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLActor</id>
<coordinates>
<x>544</x>
<y>272</y>
<w>128</w>
<h>176</h>
</coordinates>
<panel_attributes>Einsteiger
bg=red</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLUseCase</id>
<coordinates>
<x>928</x>
<y>320</y>
<w>288</w>
<h>128</h>
</coordinates>
<panel_attributes>Hervorrheben bestimmter
Bildbereiche
bg=red</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLUseCase</id>
<coordinates>
<x>880</x>
<y>624</y>
<w>352</w>
<h>96</h>
</coordinates>
<panel_attributes>Erstellung komplexer Diagramme
bg=blue</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLUseCase</id>
<coordinates>
<x>928</x>
<y>480</y>
<w>304</w>
<h>112</h>
</coordinates>
<panel_attributes>Erstellung einfacher Motive
bg=red</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLActor</id>
<coordinates>
<x>544</x>
<y>448</y>
<w>160</w>
<h>176</h>
</coordinates>
<panel_attributes>Casual User
bg=red</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>592</x>
<y>256</y>
<w>368</w>
<h>160</h>
</coordinates>
<panel_attributes/>
<additional_attributes>210.0;80.0;10.0;10.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>608</x>
<y>432</y>
<w>352</w>
<h>128</h>
</coordinates>
<panel_attributes/>
<additional_attributes>200.0;60.0;10.0;10.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>608</x>
<y>400</y>
<w>368</w>
<h>288</h>
</coordinates>
<panel_attributes/>
<additional_attributes>210.0;10.0;10.0;160.0</additional_attributes>
</element>
<element>
<id>UMLActor</id>
<coordinates>
<x>480</x>
<y>656</y>
<w>288</w>
<h>176</h>
</coordinates>
<panel_attributes>Freiberufliche Fotografen
bg=blue</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>592</x>
<y>64</y>
<w>384</w>
<h>320</h>
</coordinates>
<panel_attributes/>
<additional_attributes>220.0;180.0;10.0;10.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>592</x>
<y>64</y>
<w>352</w>
<h>176</h>
</coordinates>
<panel_attributes/>
<additional_attributes>200.0;90.0;10.0;10.0</additional_attributes>
</element>
<element>
<id>UMLUseCase</id>
<coordinates>
<x>912</x>
<y>160</y>
<w>304</w>
<h>128</h>
</coordinates>
<panel_attributes>Anfertigen von
ortographischen Skizzen
bg=green</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>848</x>
<y>80</y>
<w>432</w>
<h>704</h>
</coordinates>
<panel_attributes>lw=2
CircleTool
bg=gray</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>608</x>
<y>624</y>
<w>304</w>
<h>80</h>
</coordinates>
<panel_attributes/>
<additional_attributes>170.0;30.0;10.0;20.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>608</x>
<y>432</y>
<w>320</w>
<h>256</h>
</coordinates>
<panel_attributes/>
<additional_attributes>180.0;140.0;10.0;10.0</additional_attributes>
</element>
</diagram>

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,31 @@
Req-ID:
0004
Req-Type:
Funktional
Events/UCs:
- Erstellen eines Raster Layers
- Erstellen eines Shaped Layers mit Polygonfunktion
- Veränderung der Anordnung der Layer
- Verschieben der Layer innerhalb des Canvas
Description:
- Layerstruktur ist prinzipiell eine Art Array, jeder Layer hat eine Position in der Reihe und hält eigene Pixeldaten
- Es gibt einen aktiven Layer, der selektiert und geändert werden kann
- Der aktive Layer kann bearbeitet werden, während andere Layer dabei keine Beachtung finden
- Wird ein Tool verwendet wird eine Vorschau auf einem temporären Layer angezeigt, welche dann nach unten mit dem Layer
vereinigt wird, wenn die Änderung übernommen wird, Während dieses Prozesses kann die Bearbeitung auch abgebrochen werden.
In diesem Fall wird die Änderung nicht auf die darunterliegende Ebene übernommen
Originator:
Paul Norberger
Fit Criterion:
- Bis zu 10 Layer gleichzeitig bearbeitbar und durchwechselbar
- Entfernte Layer können entfernt werden
- Layer können in beliebiger Reihenfolge angeordnet und erstellt werden
Priority:
0
Support Material:
Ubungsblat_01.pdf
Conflicts:
- Keine bekannten Konflikte, Stand: 16.01.2020
History:
- Erstellt am 16.01.2020
- Vollständig implementiert, Stand: 16.01.2020

View File

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

View File

@@ -0,0 +1,206 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<diagram program="umlet" version="14.3.0">
<zoom_level>10</zoom_level>
<element>
<id>UMLSpecialState</id>
<coordinates>
<x>480</x>
<y>200</y>
<w>20</w>
<h>20</h>
</coordinates>
<panel_attributes>type=initial</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLSpecialState</id>
<coordinates>
<x>550</x>
<y>200</y>
<w>20</w>
<h>20</h>
</coordinates>
<panel_attributes>type=final</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLState</id>
<coordinates>
<x>300</x>
<y>280</y>
<w>450</w>
<h>40</h>
</coordinates>
<panel_attributes>idle state</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>480</x>
<y>210</y>
<w>60</w>
<h>90</h>
</coordinates>
<panel_attributes>lt=-&gt;
start</panel_attributes>
<additional_attributes>10.0;10.0;10.0;70.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>550</x>
<y>210</y>
<w>50</w>
<h>90</h>
</coordinates>
<panel_attributes>lt=-&gt;
end</panel_attributes>
<additional_attributes>10.0;70.0;10.0;10.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>650</x>
<y>310</y>
<w>90</w>
<h>110</h>
</coordinates>
<panel_attributes>lt=-&gt;
new layer</panel_attributes>
<additional_attributes>10.0;10.0;10.0;90.0</additional_attributes>
</element>
<element>
<id>UMLState</id>
<coordinates>
<x>560</x>
<y>400</y>
<w>140</w>
<h>40</h>
</coordinates>
<panel_attributes>set width</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>690</x>
<y>400</y>
<w>190</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=-&gt;
ok</panel_attributes>
<additional_attributes>10.0;20.0;170.0;20.0</additional_attributes>
</element>
<element>
<id>UMLState</id>
<coordinates>
<x>860</x>
<y>400</y>
<w>90</w>
<h>40</h>
</coordinates>
<panel_attributes>set height</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>740</x>
<y>290</y>
<w>250</w>
<h>130</h>
</coordinates>
<panel_attributes>lt=-&gt;
create
new layer</panel_attributes>
<additional_attributes>170.0;110.0;170.0;10.0;10.0;10.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>570</x>
<y>310</y>
<w>70</w>
<h>110</h>
</coordinates>
<panel_attributes>lt=-&gt;
cancel</panel_attributes>
<additional_attributes>10.0;90.0;10.0;10.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>720</x>
<y>310</y>
<w>170</w>
<h>110</h>
</coordinates>
<panel_attributes>lt=-&gt;
cancel</panel_attributes>
<additional_attributes>150.0;90.0;10.0;90.0;10.0;10.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>470</x>
<y>310</y>
<w>80</w>
<h>90</h>
</coordinates>
<panel_attributes>lt=-&gt;
move
layer</panel_attributes>
<additional_attributes>60.0;10.0;60.0;60.0;10.0;60.0;10.0;10.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>420</x>
<y>310</y>
<w>100</w>
<h>210</h>
</coordinates>
<panel_attributes>lt=-&gt;
new primary
color</panel_attributes>
<additional_attributes>10.0;10.0;10.0;190.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>330</x>
<y>310</y>
<w>120</w>
<h>210</h>
</coordinates>
<panel_attributes>lt=-&gt;
new secondary
color</panel_attributes>
<additional_attributes>10.0;10.0;10.0;190.0</additional_attributes>
</element>
<element>
<id>UMLState</id>
<coordinates>
<x>320</x>
<y>500</y>
<w>140</w>
<h>40</h>
</coordinates>
<panel_attributes>color picker</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>260</x>
<y>290</y>
<w>110</w>
<h>250</h>
</coordinates>
<panel_attributes>lt=-&gt;
choose color</panel_attributes>
<additional_attributes>60.0;230.0;10.0;230.0;10.0;10.0;40.0;10.0</additional_attributes>
</element>
</diagram>

View File

@@ -0,0 +1,218 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<diagram program="umlet" version="14.3.0">
<help_text/>
<zoom_level>10</zoom_level>
<element>
<id>UMLState</id>
<coordinates>
<x>360</x>
<y>330</y>
<w>290</w>
<h>40</h>
</coordinates>
<panel_attributes>idle state</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLSpecialState</id>
<coordinates>
<x>480</x>
<y>220</y>
<w>20</w>
<h>20</h>
</coordinates>
<panel_attributes>type=initial</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLSpecialState</id>
<coordinates>
<x>620</x>
<y>220</y>
<w>20</w>
<h>20</h>
</coordinates>
<panel_attributes>type=final</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>480</x>
<y>230</y>
<w>60</w>
<h>120</h>
</coordinates>
<panel_attributes>lt=-&gt;
start</panel_attributes>
<additional_attributes>10.0;10.0;10.0;100.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>620</x>
<y>230</y>
<w>50</w>
<h>120</h>
</coordinates>
<panel_attributes>lt=-&gt;
end</panel_attributes>
<additional_attributes>10.0;100.0;10.0;10.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>620</x>
<y>360</y>
<w>80</w>
<h>130</h>
</coordinates>
<panel_attributes>lt=-&gt;
use Tool</panel_attributes>
<additional_attributes>10.0;10.0;10.0;110.0</additional_attributes>
</element>
<element>
<id>UMLState</id>
<coordinates>
<x>470</x>
<y>470</y>
<w>180</w>
<h>40</h>
</coordinates>
<panel_attributes>drawing</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>610</x>
<y>480</y>
<w>140</w>
<h>100</h>
</coordinates>
<panel_attributes>lt=-&gt;
preview
</panel_attributes>
<additional_attributes>10.0;30.0;10.0;70.0;120.0;70.0;120.0;10.0;40.0;10.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>390</x>
<y>360</y>
<w>120</w>
<h>90</h>
</coordinates>
<panel_attributes>lt=-&gt;
switch Tool</panel_attributes>
<additional_attributes>10.0;10.0;10.0;70.0;100.0;70.0;100.0;10.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>500</x>
<y>360</y>
<w>80</w>
<h>130</h>
</coordinates>
<panel_attributes>lt=-&gt;
merch
preview</panel_attributes>
<additional_attributes>10.0;110.0;10.0;10.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>560</x>
<y>360</y>
<w>80</w>
<h>130</h>
</coordinates>
<panel_attributes>lt=-&gt;
discard
changes</panel_attributes>
<additional_attributes>10.0;110.0;10.0;10.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>380</x>
<y>360</y>
<w>110</w>
<h>150</h>
</coordinates>
<panel_attributes>lt=-&gt;
switch Tool</panel_attributes>
<additional_attributes>90.0;130.0;10.0;130.0;10.0;10.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>640</x>
<y>320</y>
<w>210</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=-&gt;
set tool width</panel_attributes>
<additional_attributes>10.0;20.0;190.0;20.0</additional_attributes>
</element>
<element>
<id>UMLState</id>
<coordinates>
<x>830</x>
<y>330</y>
<w>90</w>
<h>40</h>
</coordinates>
<panel_attributes>line width</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>640</x>
<y>340</y>
<w>210</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=-&gt;
choose tool width</panel_attributes>
<additional_attributes>190.0;20.0;10.0;20.0</additional_attributes>
</element>
<element>
<id>UMLState</id>
<coordinates>
<x>140</x>
<y>330</y>
<w>90</w>
<h>40</h>
</coordinates>
<panel_attributes>inner Alpha</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>220</x>
<y>320</y>
<w>160</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=-&gt;
set inner Alpha</panel_attributes>
<additional_attributes>140.0;20.0;10.0;20.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>220</x>
<y>340</y>
<w>160</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=-&gt;
choose Alpha value</panel_attributes>
<additional_attributes>10.0;20.0;140.0;20.0</additional_attributes>
</element>
</diagram>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,146 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IntelliPhoto: src/IntelliHelper/IntelliColorPicker.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">IntelliPhoto
&#160;<span id="projectnumber">0.6</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_intelli_color_picker_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">IntelliColorPicker.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="_intelli_color_picker_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#ifndef INTELLITOOLSETCOLORTOOL_H</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#define INTELLITOOLSETCOLORTOOL_H</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160; </div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#include &quot;QColor&quot;</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="preprocessor">#include &quot;QPoint&quot;</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="preprocessor">#include &quot;QColorDialog&quot;</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160; </div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">//for unit testing</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="keyword">class </span><a class="code" href="class_unit_test.html">UnitTest</a>;</div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160; </div>
<div class="line"><a name="l00014"></a><span class="lineno"><a class="line" href="class_intelli_color_picker.html"> 14</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_intelli_color_picker.html">IntelliColorPicker</a> {</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="keyword">friend</span> <a class="code" href="class_unit_test.html">UnitTest</a>;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<a class="code" href="class_intelli_color_picker.html#a0d1247bdd87add1396ea5d9acaad79ae">IntelliColorPicker</a>();</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; </div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="keyword">virtual</span> <a class="code" href="class_intelli_color_picker.html#a40b975268a1f05249e8a49dde9a862ff">~IntelliColorPicker</a>();</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; </div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_intelli_color_picker.html#aec499265ae28ce1b54be88222e74292e">swapColors</a>();</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; </div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;QColor <a class="code" href="class_intelli_color_picker.html#aae2eb27b928fe9388b9398b0556303b7">getFirstColor</a>();</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; </div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;QColor <a class="code" href="class_intelli_color_picker.html#a55568fbf5dc783f06284b7031ffe9415">getSecondColor</a>();</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; </div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_intelli_color_picker.html#a7e2ddbbbfbed383f06b24e5bf6b27ae8">setFirstColor</a>(QColor Color);</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; </div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_intelli_color_picker.html#a86bf4a940e4a0e465e30cbdf28748931">setSecondColor</a>(QColor Color);</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; </div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;QColor firstColor;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; </div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;QColor secondColor;</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; </div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="keywordtype">void</span> initializeColors();</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;};</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; </div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclass_intelli_color_picker_html_a40b975268a1f05249e8a49dde9a862ff"><div class="ttname"><a href="class_intelli_color_picker.html#a40b975268a1f05249e8a49dde9a862ff">IntelliColorPicker::~IntelliColorPicker</a></div><div class="ttdeci">virtual ~IntelliColorPicker()</div><div class="ttdoc">IntelliColorPicker destructor clears up his used memory, if there is some.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_color_picker_8cpp_source.html#l00007">IntelliColorPicker.cpp:7</a></div></div>
<div class="ttc" id="aclass_intelli_color_picker_html_a86bf4a940e4a0e465e30cbdf28748931"><div class="ttname"><a href="class_intelli_color_picker.html#a86bf4a940e4a0e465e30cbdf28748931">IntelliColorPicker::setSecondColor</a></div><div class="ttdeci">void setSecondColor(QColor Color)</div><div class="ttdoc">A function to set the secondary color.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_color_picker_8cpp_source.html#l00027">IntelliColorPicker.cpp:27</a></div></div>
<div class="ttc" id="aclass_intelli_color_picker_html_a55568fbf5dc783f06284b7031ffe9415"><div class="ttname"><a href="class_intelli_color_picker.html#a55568fbf5dc783f06284b7031ffe9415">IntelliColorPicker::getSecondColor</a></div><div class="ttdeci">QColor getSecondColor()</div><div class="ttdoc">A function to read the secondary selected color.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_color_picker_8cpp_source.html#l00019">IntelliColorPicker.cpp:19</a></div></div>
<div class="ttc" id="aclass_intelli_color_picker_html_a7e2ddbbbfbed383f06b24e5bf6b27ae8"><div class="ttname"><a href="class_intelli_color_picker.html#a7e2ddbbbfbed383f06b24e5bf6b27ae8">IntelliColorPicker::setFirstColor</a></div><div class="ttdeci">void setFirstColor(QColor Color)</div><div class="ttdoc">A function to set the primary color.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_color_picker_8cpp_source.html#l00023">IntelliColorPicker.cpp:23</a></div></div>
<div class="ttc" id="aclass_intelli_color_picker_html_aae2eb27b928fe9388b9398b0556303b7"><div class="ttname"><a href="class_intelli_color_picker.html#aae2eb27b928fe9388b9398b0556303b7">IntelliColorPicker::getFirstColor</a></div><div class="ttdeci">QColor getFirstColor()</div><div class="ttdoc">A function to read the primary selected color.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_color_picker_8cpp_source.html#l00015">IntelliColorPicker.cpp:15</a></div></div>
<div class="ttc" id="aclass_intelli_color_picker_html"><div class="ttname"><a href="class_intelli_color_picker.html">IntelliColorPicker</a></div><div class="ttdoc">The IntelliColorPicker manages the selected colors for one whole project.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_color_picker_8h_source.html#l00014">IntelliColorPicker.h:14</a></div></div>
<div class="ttc" id="aclass_unit_test_html"><div class="ttname"><a href="class_unit_test.html">UnitTest</a></div><div class="ttdef"><b>Definition:</b> <a href="main_unit_test_8cpp_source.html#l00008">mainUnitTest.cpp:8</a></div></div>
<div class="ttc" id="aclass_intelli_color_picker_html_aec499265ae28ce1b54be88222e74292e"><div class="ttname"><a href="class_intelli_color_picker.html#aec499265ae28ce1b54be88222e74292e">IntelliColorPicker::swapColors</a></div><div class="ttdeci">void swapColors()</div><div class="ttdoc">A function switching primary and secondary color.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_color_picker_8cpp_source.html#l00011">IntelliColorPicker.cpp:11</a></div></div>
<div class="ttc" id="aclass_intelli_color_picker_html_a0d1247bdd87add1396ea5d9acaad79ae"><div class="ttname"><a href="class_intelli_color_picker.html#a0d1247bdd87add1396ea5d9acaad79ae">IntelliColorPicker::IntelliColorPicker</a></div><div class="ttdeci">IntelliColorPicker()</div><div class="ttdoc">IntelliColorPicker constructor, setting 2 preset colors, be careful, theese color may change in produ...</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_color_picker_8cpp_source.html#l00003">IntelliColorPicker.cpp:3</a></div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_8de6078cba2a961961818cf80b28fd4f.html">IntelliHelper</a></li><li class="navelem"><a class="el" href="_intelli_color_picker_8h.html">IntelliColorPicker.h</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,276 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IntelliPhoto: src/Image/IntelliImage.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">IntelliPhoto
&#160;<span id="projectnumber">0.6</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_intelli_image_8cpp_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">IntelliImage.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="_intelli_image_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_intelli_image_8h.html">Image/IntelliImage.h</a>&quot;</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#include &lt;QSize&gt;</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="preprocessor">#include &lt;QPainter&gt;</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160; </div>
<div class="line"><a name="l00005"></a><span class="lineno"><a class="line" href="class_intelli_image.html#a2c6632ff35ee0a7094a8a289eb3a8652"> 5</a></span>&#160;<a class="code" href="class_intelli_image.html#a2c6632ff35ee0a7094a8a289eb3a8652">IntelliImage::IntelliImage</a>(<span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height, <span class="keywordtype">bool</span> fastRendererOn)</div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160; : imageData(QSize(width, height), fastRendererOn ? QImage::Format_Indexed8 : QImage::Format_ARGB32){</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160; <span class="keywordflow">if</span>(fastRendererOn) {</div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160; <a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a> = <a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.convertToFormat(QImage::Format_ARGB32);</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160; }</div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160; <a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.fill(QColor(255,255,255,255));</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160; <span class="keywordflow">if</span>(fastRendererOn) {</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160; <a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a> = <a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.convertToFormat(QImage::Format_Indexed8);</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160; }</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; this-&gt;<a class="code" href="class_intelli_image.html#aa63d34c7932113d021653980ee018671">fastRenderering</a> = fastRendererOn;</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; </div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;}</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; </div>
<div class="line"><a name="l00018"></a><span class="lineno"><a class="line" href="class_intelli_image.html#ac398bfa9ddd3185508a1e36ee15d80cc"> 18</a></span>&#160;<a class="code" href="class_intelli_image.html#ac398bfa9ddd3185508a1e36ee15d80cc">IntelliImage::~IntelliImage</a>(){</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; </div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;}</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; </div>
<div class="line"><a name="l00022"></a><span class="lineno"><a class="line" href="class_intelli_image.html#ae231800aba38c96074bbe9bb6e341d4e"> 22</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="class_intelli_image.html#ae231800aba38c96074bbe9bb6e341d4e">IntelliImage::loadImage</a>(<span class="keyword">const</span> QString &amp;filePath){</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; <span class="comment">// Holds the image</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; QImage loadedImage;</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; </div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <span class="comment">// If the image wasn&#39;t loaded leave this function</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="keywordflow">if</span> (!loadedImage.load(filePath))</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; </div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="comment">// scaled Image to size of Layer</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; loadedImage = loadedImage.scaled(<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.size(),Qt::IgnoreAspectRatio);</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; </div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a> = loadedImage.convertToFormat(<a class="code" href="class_intelli_image.html#aa63d34c7932113d021653980ee018671">fastRenderering</a> ? QImage::Format_Indexed8 : QImage::Format_ARGB32);</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;}</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; </div>
<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="class_intelli_image.html#a177403ab9585d4ba31984a644c54d310"> 37</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_intelli_image.html#a177403ab9585d4ba31984a644c54d310">IntelliImage::resizeImage</a>(QImage*image, <span class="keyword">const</span> QSize &amp;newSize){</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="comment">// Check if we need to redraw the image</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keywordflow">if</span> (image-&gt;size() == newSize)</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; </div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="comment">// Create a new image to display and fill it with white</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; QImage newImage(newSize, QImage::Format_ARGB32);</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; newImage.fill(qRgb(255, 255, 255));</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; </div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="comment">// Draw the image</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; QPainter painter(&amp;newImage);</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; painter.drawImage(QPoint(0, 0), *image);</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="class_intelli_image.html#aa63d34c7932113d021653980ee018671">fastRenderering</a>) {</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; *image = newImage.convertToFormat(QImage::Format_Indexed8);</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; }</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordflow">else</span>{</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; *image = newImage;</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; }</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;}</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; </div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="class_intelli_image.html#af3c859f5c409e37051edfd9e9fbca056"> 57</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_intelli_image.html#af3c859f5c409e37051edfd9e9fbca056">IntelliImage::drawPixel</a>(<span class="keyword">const</span> QPoint &amp;p1, <span class="keyword">const</span> QColor&amp; color){</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="class_intelli_image.html#aa63d34c7932113d021653980ee018671">fastRenderering</a>) {</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; this-&gt;<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a> = this-&gt;<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.convertToFormat(QImage::Format_ARGB32);</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; }</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="comment">// Used to draw on the widget</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; QPainter* painter = <span class="keyword">new</span> QPainter(&amp;<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>);</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; </div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="comment">// Set the current settings for the pen</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; painter-&gt;setPen(QPen(color, 1, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; </div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="comment">// Draw a line from the last registered point to the current</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; painter-&gt;drawPoint(p1);</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keyword">delete</span> painter;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; painter = <span class="keyword">nullptr</span>;</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; </div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="class_intelli_image.html#aa63d34c7932113d021653980ee018671">fastRenderering</a>) {</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; this-&gt;<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a> = this-&gt;<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.convertToFormat(QImage::Format_Indexed8);</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; }</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;}</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; </div>
<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="class_intelli_image.html#a2e787f1b333b59401643936ebb3dcfe1"> 77</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_intelli_image.html#a2e787f1b333b59401643936ebb3dcfe1">IntelliImage::drawPoint</a>(<span class="keyword">const</span> QPoint &amp;p1, <span class="keyword">const</span> QColor&amp; color, <span class="keyword">const</span> <span class="keywordtype">int</span>&amp; penWidth){</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="class_intelli_image.html#aa63d34c7932113d021653980ee018671">fastRenderering</a>) {</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; this-&gt;<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a> = this-&gt;<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.convertToFormat(QImage::Format_ARGB32);</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; }</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="comment">// Used to draw on the widget</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; QPainter* painter = <span class="keyword">new</span> QPainter(&amp;<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>);</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; </div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="comment">// Set the current settings for the pen</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; painter-&gt;setPen(QPen(color, penWidth, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="comment">// Draw a line from the last registered point to the current</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; painter-&gt;drawPoint(p1);</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keyword">delete</span> painter;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; </div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; painter = <span class="keyword">nullptr</span>;</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="class_intelli_image.html#aa63d34c7932113d021653980ee018671">fastRenderering</a>) {</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; this-&gt;<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a> = this-&gt;<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.convertToFormat(QImage::Format_Indexed8);</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; }</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;}</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; </div>
<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="class_intelli_image.html#af8eddbd9aa54c8d37590d1d4bf8dce31"> 96</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_intelli_image.html#af8eddbd9aa54c8d37590d1d4bf8dce31">IntelliImage::drawLine</a>(<span class="keyword">const</span> QPoint &amp;p1, <span class="keyword">const</span> QPoint&amp; p2, <span class="keyword">const</span> QColor&amp; color, <span class="keyword">const</span> <span class="keywordtype">int</span>&amp; penWidth){</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="class_intelli_image.html#aa63d34c7932113d021653980ee018671">fastRenderering</a>) {</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; this-&gt;<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a> = this-&gt;<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.convertToFormat(QImage::Format_ARGB32);</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; }</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="comment">// Used to draw on the widget</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; QPainter* painter = <span class="keyword">new</span> QPainter(&amp;<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>);</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; </div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="comment">// Set the current settings for the pen</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; painter-&gt;setPen(QPen(color, penWidth, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; </div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="comment">// Draw a line from the last registered point to the current</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; painter-&gt;drawLine(p1, p2);</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keyword">delete</span> painter;</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; painter = <span class="keyword">nullptr</span>;</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; </div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="class_intelli_image.html#aa63d34c7932113d021653980ee018671">fastRenderering</a>) {</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; this-&gt;<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a> = this-&gt;<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.convertToFormat(QImage::Format_Indexed8);</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; }</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;}</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; </div>
<div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="class_intelli_image.html#a6be622810dc2bc756054bb5769becb06"> 116</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_intelli_image.html#a6be622810dc2bc756054bb5769becb06">IntelliImage::drawPlain</a>(<span class="keyword">const</span> QColor&amp; color){</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="class_intelli_image.html#aa63d34c7932113d021653980ee018671">fastRenderering</a>) {</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; this-&gt;<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a> = this-&gt;<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.convertToFormat(QImage::Format_ARGB32);</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; }</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.fill(color);</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="class_intelli_image.html#aa63d34c7932113d021653980ee018671">fastRenderering</a>) {</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; this-&gt;<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a> = this-&gt;<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.convertToFormat(QImage::Format_Indexed8);</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; }</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;}</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; </div>
<div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="class_intelli_image.html#a4576ebb6d863321c816293d7b7f9fd3f"> 126</a></span>&#160;QColor <a class="code" href="class_intelli_image.html#a4576ebb6d863321c816293d7b7f9fd3f">IntelliImage::getPixelColor</a>(QPoint&amp; point){</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="class_intelli_image.html#aa63d34c7932113d021653980ee018671">fastRenderering</a>) {</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; QImage copy = this-&gt;<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.convertToFormat(QImage::Format_ARGB32);</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordflow">return</span> copy.pixelColor(point);</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; }</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">return</span> <a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.pixelColor(point);</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;}</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; </div>
<div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="class_intelli_image.html#ad66fbe380ffe0e073a8cd760f8285fe3"> 134</a></span>&#160;QImage <a class="code" href="class_intelli_image.html#ad66fbe380ffe0e073a8cd760f8285fe3">IntelliImage::getImageData</a>(){</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; QImage copy = <a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>;</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="class_intelli_image.html#aa63d34c7932113d021653980ee018671">fastRenderering</a>) {</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; copy = copy.convertToFormat(QImage::Format_ARGB32);</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; }</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">return</span> copy;</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;}</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; </div>
<div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="class_intelli_image.html#ab09c64e7559f3db32ca3b20ba6339268"> 142</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_intelli_image.html#ab09c64e7559f3db32ca3b20ba6339268">IntelliImage::setImageData</a>(<span class="keyword">const</span> QImage&amp; newData){</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a> = newData;</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="class_intelli_image.html#aa63d34c7932113d021653980ee018671">fastRenderering</a>) {</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; this-&gt;<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a> = <a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.convertToFormat(QImage::Format_Indexed8);</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; }</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; this-&gt;<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a> = <a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.convertToFormat(QImage::Format_ARGB32);</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; }</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;}</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; </div>
<div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="class_intelli_image.html#ae4dbaefabce4ec5bec37f5b95e2f62e2"> 152</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_intelli_image.html#ae4dbaefabce4ec5bec37f5b95e2f62e2">IntelliImage::updateRendererSetting</a>(<span class="keywordtype">bool</span> fastRendererOn){</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; this-&gt;<a class="code" href="class_intelli_image.html#aa63d34c7932113d021653980ee018671">fastRenderering</a> = fastRendererOn;</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="class_intelli_image.html#aa63d34c7932113d021653980ee018671">fastRenderering</a>) {</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; this-&gt;<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a> = <a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.convertToFormat(QImage::Format_Indexed8);</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; }</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; this-&gt;<a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a> = <a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>.convertToFormat(QImage::Format_ARGB32);</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; }</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;}</div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclass_intelli_image_html_af8eddbd9aa54c8d37590d1d4bf8dce31"><div class="ttname"><a href="class_intelli_image.html#af8eddbd9aa54c8d37590d1d4bf8dce31">IntelliImage::drawLine</a></div><div class="ttdeci">virtual void drawLine(const QPoint &amp;p1, const QPoint &amp;p2, const QColor &amp;color, const int &amp;penWidth)</div><div class="ttdoc">A function that draws a line between two given points in a given color.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00096">IntelliImage.cpp:96</a></div></div>
<div class="ttc" id="a_intelli_image_8h_html"><div class="ttname"><a href="_intelli_image_8h.html">IntelliImage.h</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_ac398bfa9ddd3185508a1e36ee15d80cc"><div class="ttname"><a href="class_intelli_image.html#ac398bfa9ddd3185508a1e36ee15d80cc">IntelliImage::~IntelliImage</a></div><div class="ttdeci">virtual ~IntelliImage()=0</div><div class="ttdoc">An Abstract Destructor.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00018">IntelliImage.cpp:18</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_af3c859f5c409e37051edfd9e9fbca056"><div class="ttname"><a href="class_intelli_image.html#af3c859f5c409e37051edfd9e9fbca056">IntelliImage::drawPixel</a></div><div class="ttdeci">virtual void drawPixel(const QPoint &amp;p1, const QColor &amp;color)</div><div class="ttdoc">A funtcion used to draw a pixel on the Image with the given Color.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00057">IntelliImage.cpp:57</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_a2c6632ff35ee0a7094a8a289eb3a8652"><div class="ttname"><a href="class_intelli_image.html#a2c6632ff35ee0a7094a8a289eb3a8652">IntelliImage::IntelliImage</a></div><div class="ttdeci">IntelliImage(int width, int height, bool fastRendererOn)</div><div class="ttdoc">The Construcor of the IntelliImage. Given the Image dimensions.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00005">IntelliImage.cpp:5</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_a2e787f1b333b59401643936ebb3dcfe1"><div class="ttname"><a href="class_intelli_image.html#a2e787f1b333b59401643936ebb3dcfe1">IntelliImage::drawPoint</a></div><div class="ttdeci">virtual void drawPoint(const QPoint &amp;p1, const QColor &amp;color, const int &amp;penWidth)</div><div class="ttdoc">A function that draws a point between on a given point in a given color.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00077">IntelliImage.cpp:77</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_ae4dbaefabce4ec5bec37f5b95e2f62e2"><div class="ttname"><a href="class_intelli_image.html#ae4dbaefabce4ec5bec37f5b95e2f62e2">IntelliImage::updateRendererSetting</a></div><div class="ttdeci">virtual void updateRendererSetting(bool fastRendererOn)</div><div class="ttdoc">updateRendererSetting updates the existing image format to the new format.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00152">IntelliImage.cpp:152</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_aa63d34c7932113d021653980ee018671"><div class="ttname"><a href="class_intelli_image.html#aa63d34c7932113d021653980ee018671">IntelliImage::fastRenderering</a></div><div class="ttdeci">bool fastRenderering</div><div class="ttdoc">fastRendering is the flag that represents the usage of 8bit pictures.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8h_source.html#l00051">IntelliImage.h:51</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_ad66fbe380ffe0e073a8cd760f8285fe3"><div class="ttname"><a href="class_intelli_image.html#ad66fbe380ffe0e073a8cd760f8285fe3">IntelliImage::getImageData</a></div><div class="ttdeci">virtual QImage getImageData()</div><div class="ttdoc">getImageData returns the data of the current image (Note: It will allways return a ARGB32bit QImage!...</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00134">IntelliImage.cpp:134</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_a177403ab9585d4ba31984a644c54d310"><div class="ttname"><a href="class_intelli_image.html#a177403ab9585d4ba31984a644c54d310">IntelliImage::resizeImage</a></div><div class="ttdeci">void resizeImage(QImage *image, const QSize &amp;newSize)</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00037">IntelliImage.cpp:37</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_ab09c64e7559f3db32ca3b20ba6339268"><div class="ttname"><a href="class_intelli_image.html#ab09c64e7559f3db32ca3b20ba6339268">IntelliImage::setImageData</a></div><div class="ttdeci">virtual void setImageData(const QImage &amp;newData)</div><div class="ttdoc">setImageData overwrites the old imageData the new imageData.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00142">IntelliImage.cpp:142</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_a4576ebb6d863321c816293d7b7f9fd3f"><div class="ttname"><a href="class_intelli_image.html#a4576ebb6d863321c816293d7b7f9fd3f">IntelliImage::getPixelColor</a></div><div class="ttdeci">virtual QColor getPixelColor(QPoint &amp;point)</div><div class="ttdoc">A function that returns the pixelcolor at a certain point.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00126">IntelliImage.cpp:126</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_a2431be82e9e85dd34b62a7f7cba053c2"><div class="ttname"><a href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">IntelliImage::imageData</a></div><div class="ttdeci">QImage imageData</div><div class="ttdoc">The underlying image data.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8h_source.html#l00041">IntelliImage.h:41</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_ae231800aba38c96074bbe9bb6e341d4e"><div class="ttname"><a href="class_intelli_image.html#ae231800aba38c96074bbe9bb6e341d4e">IntelliImage::loadImage</a></div><div class="ttdeci">virtual bool loadImage(const QString &amp;filePath)</div><div class="ttdoc">A function that loads and sclaes an image to the fitting dimensions.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00022">IntelliImage.cpp:22</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_a6be622810dc2bc756054bb5769becb06"><div class="ttname"><a href="class_intelli_image.html#a6be622810dc2bc756054bb5769becb06">IntelliImage::drawPlain</a></div><div class="ttdeci">virtual void drawPlain(const QColor &amp;color)</div><div class="ttdoc">A function that clears the whole image in a given Color.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00116">IntelliImage.cpp:116</a></div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_fdbdd9841f9a730f284bb666ff3d8cfe.html">Image</a></li><li class="navelem"><a class="el" href="_intelli_image_8cpp.html">IntelliImage.cpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,212 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IntelliPhoto: src/Image/IntelliImage.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">IntelliPhoto
&#160;<span id="projectnumber">0.6</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_intelli_image_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">IntelliImage.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="_intelli_image_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#ifndef INTELLIIMAGE_H</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#define INTELLIIMAGE_H</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160; </div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#include &lt;QImage&gt;</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="preprocessor">#include &lt;QPoint&gt;</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="preprocessor">#include &lt;QColor&gt;</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#include &lt;QSize&gt;</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="preprocessor">#include &lt;QWidget&gt;</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160; </div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_intelli_triangulation_8h.html">IntelliHelper/IntelliTriangulation.h</a>&quot;</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_intelli_render_settings_8h.html">IntelliHelper/IntelliRenderSettings.h</a>&quot;</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160; </div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">//for unit testing</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="keyword">class </span><a class="code" href="class_unit_test.html">UnitTest</a>;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; </div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="keyword">class </span><a class="code" href="class_intelli_tool.html">IntelliTool</a>;</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; </div>
<div class="line"><a name="l00022"></a><span class="lineno"><a class="line" href="class_intelli_image.html"> 22</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_intelli_image.html">IntelliImage</a> {</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="keyword">friend</span> <a class="code" href="class_unit_test.html">UnitTest</a>;</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="keyword">friend</span> <a class="code" href="class_intelli_tool.html">IntelliTool</a>;</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; </div>
<div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="class_intelli_image.html#a5274ce9fcdcb2659c148e7ff916b680e"> 30</a></span>&#160;<span class="keyword">enum class</span> <a class="code" href="class_intelli_image.html#a5274ce9fcdcb2659c148e7ff916b680e">ImageType</a> {</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <a class="code" href="class_intelli_image.html#a5274ce9fcdcb2659c148e7ff916b680eadd5823fd73c42c0154fa2abbd70283b9">RASTERIMAGE</a>,</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <a class="code" href="class_intelli_image.html#a5274ce9fcdcb2659c148e7ff916b680eac065b60ec4cf443808263527bdc0df37">SHAPEDIMAGE</a></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;};</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; </div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_intelli_image.html#a177403ab9585d4ba31984a644c54d310">resizeImage</a>(QImage*image, <span class="keyword">const</span> QSize &amp;newSize);</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; </div>
<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2"> 41</a></span>&#160;QImage <a class="code" href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">imageData</a>;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; </div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="class_intelli_image.html#ac460f75e1fa7e44b00a65e7fddac5b80"> 46</a></span>&#160;<a class="code" href="class_intelli_image.html#a5274ce9fcdcb2659c148e7ff916b680e">ImageType</a> <a class="code" href="class_intelli_image.html#ac460f75e1fa7e44b00a65e7fddac5b80">TypeOfImage</a>;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; </div>
<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="class_intelli_image.html#aa63d34c7932113d021653980ee018671"> 51</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="class_intelli_image.html#aa63d34c7932113d021653980ee018671">fastRenderering</a>;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; </div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<a class="code" href="class_intelli_image.html#a2c6632ff35ee0a7094a8a289eb3a8652">IntelliImage</a>(<span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height, <span class="keywordtype">bool</span> fastRendererOn);</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; </div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="keyword">virtual</span> <a class="code" href="class_intelli_image.html#ac398bfa9ddd3185508a1e36ee15d80cc">~IntelliImage</a>() = 0;</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; </div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; </div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_intelli_image.html#af3c859f5c409e37051edfd9e9fbca056">drawPixel</a>(<span class="keyword">const</span> QPoint &amp;p1, <span class="keyword">const</span> QColor&amp; color);</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; </div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_intelli_image.html#af8eddbd9aa54c8d37590d1d4bf8dce31">drawLine</a>(<span class="keyword">const</span> QPoint &amp;p1, <span class="keyword">const</span> QPoint&amp; p2, <span class="keyword">const</span> QColor&amp; color, <span class="keyword">const</span> <span class="keywordtype">int</span>&amp; penWidth);</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; </div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_intelli_image.html#a2e787f1b333b59401643936ebb3dcfe1">drawPoint</a>(<span class="keyword">const</span> QPoint &amp;p1, <span class="keyword">const</span> QColor&amp; color, <span class="keyword">const</span> <span class="keywordtype">int</span>&amp; penWidth);</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; </div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;<span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_intelli_image.html#a6be622810dc2bc756054bb5769becb06">drawPlain</a>(<span class="keyword">const</span> QColor&amp; color);</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; </div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="keyword">virtual</span> QImage <a class="code" href="class_intelli_image.html#a21c7e65b59a26db45aac3880133ef21d">getDisplayable</a>(<span class="keyword">const</span> QSize&amp; displaySize, <span class="keywordtype">int</span> alpha) = 0;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; </div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="keyword">virtual</span> QImage <a class="code" href="class_intelli_image.html#a21c7e65b59a26db45aac3880133ef21d">getDisplayable</a>(<span class="keywordtype">int</span> alpha = 255) = 0;</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; </div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="keyword">virtual</span> <a class="code" href="class_intelli_image.html">IntelliImage</a>* <a class="code" href="class_intelli_image.html#af6381067bdf565669f856bb589008ae9">getDeepCopy</a>() = 0;</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; </div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2">calculateVisiblity</a>() = 0;</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; </div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_intelli_image.html#aa4b3f4631bd972456917275afb9fd309">setPolygon</a>(<span class="keyword">const</span> std::vector&lt;QPoint&gt;&amp; polygonData) = 0;</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; </div>
<div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="class_intelli_image.html#aaf9f3e8db8666850024bee9aad9966ba"> 134</a></span>&#160;<span class="keyword">virtual</span> std::vector&lt;QPoint&gt; <a class="code" href="class_intelli_image.html#aaf9f3e8db8666850024bee9aad9966ba">getPolygonData</a>(){</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">return</span> std::vector&lt;QPoint&gt;();</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;}</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; </div>
<div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="class_intelli_image.html#af6b09c8d1d6b54a7e8a4e7286f3e503f"> 138</a></span>&#160;<span class="keyword">virtual</span> <a class="code" href="class_intelli_image.html#a5274ce9fcdcb2659c148e7ff916b680e">ImageType</a> <a class="code" href="class_intelli_image.html#af6b09c8d1d6b54a7e8a4e7286f3e503f">getTypeOfImage</a>(){</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">return</span> <a class="code" href="class_intelli_image.html#ac460f75e1fa7e44b00a65e7fddac5b80">TypeOfImage</a>;</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;}</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; </div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;<span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_intelli_image.html#ae231800aba38c96074bbe9bb6e341d4e">loadImage</a>(<span class="keyword">const</span> QString &amp;filePath);</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; </div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="keyword">virtual</span> QColor <a class="code" href="class_intelli_image.html#a4576ebb6d863321c816293d7b7f9fd3f">getPixelColor</a>(QPoint&amp; point);</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; </div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_intelli_image.html#ae4dbaefabce4ec5bec37f5b95e2f62e2">updateRendererSetting</a>(<span class="keywordtype">bool</span> fastRendererOn);</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; </div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="keyword">virtual</span> QImage <a class="code" href="class_intelli_image.html#ad66fbe380ffe0e073a8cd760f8285fe3">getImageData</a>();</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; </div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_intelli_image.html#ab09c64e7559f3db32ca3b20ba6339268">setImageData</a>(<span class="keyword">const</span> QImage&amp; newData);</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; </div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;};</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; </div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclass_intelli_image_html_af8eddbd9aa54c8d37590d1d4bf8dce31"><div class="ttname"><a href="class_intelli_image.html#af8eddbd9aa54c8d37590d1d4bf8dce31">IntelliImage::drawLine</a></div><div class="ttdeci">virtual void drawLine(const QPoint &amp;p1, const QPoint &amp;p2, const QColor &amp;color, const int &amp;penWidth)</div><div class="ttdoc">A function that draws a line between two given points in a given color.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00096">IntelliImage.cpp:96</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_ac398bfa9ddd3185508a1e36ee15d80cc"><div class="ttname"><a href="class_intelli_image.html#ac398bfa9ddd3185508a1e36ee15d80cc">IntelliImage::~IntelliImage</a></div><div class="ttdeci">virtual ~IntelliImage()=0</div><div class="ttdoc">An Abstract Destructor.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00018">IntelliImage.cpp:18</a></div></div>
<div class="ttc" id="a_intelli_render_settings_8h_html"><div class="ttname"><a href="_intelli_render_settings_8h.html">IntelliRenderSettings.h</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_af3c859f5c409e37051edfd9e9fbca056"><div class="ttname"><a href="class_intelli_image.html#af3c859f5c409e37051edfd9e9fbca056">IntelliImage::drawPixel</a></div><div class="ttdeci">virtual void drawPixel(const QPoint &amp;p1, const QColor &amp;color)</div><div class="ttdoc">A funtcion used to draw a pixel on the Image with the given Color.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00057">IntelliImage.cpp:57</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_a21c7e65b59a26db45aac3880133ef21d"><div class="ttname"><a href="class_intelli_image.html#a21c7e65b59a26db45aac3880133ef21d">IntelliImage::getDisplayable</a></div><div class="ttdeci">virtual QImage getDisplayable(const QSize &amp;displaySize, int alpha)=0</div><div class="ttdoc">A function returning the displayable ImageData in a requested transparence and size.</div></div>
<div class="ttc" id="aclass_intelli_image_html_af6b09c8d1d6b54a7e8a4e7286f3e503f"><div class="ttname"><a href="class_intelli_image.html#af6b09c8d1d6b54a7e8a4e7286f3e503f">IntelliImage::getTypeOfImage</a></div><div class="ttdeci">virtual ImageType getTypeOfImage()</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8h_source.html#l00138">IntelliImage.h:138</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_aaf9f3e8db8666850024bee9aad9966ba"><div class="ttname"><a href="class_intelli_image.html#aaf9f3e8db8666850024bee9aad9966ba">IntelliImage::getPolygonData</a></div><div class="ttdeci">virtual std::vector&lt; QPoint &gt; getPolygonData()</div><div class="ttdoc">A function that returns the Polygondata if existent.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8h_source.html#l00134">IntelliImage.h:134</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_a2c6632ff35ee0a7094a8a289eb3a8652"><div class="ttname"><a href="class_intelli_image.html#a2c6632ff35ee0a7094a8a289eb3a8652">IntelliImage::IntelliImage</a></div><div class="ttdeci">IntelliImage(int width, int height, bool fastRendererOn)</div><div class="ttdoc">The Construcor of the IntelliImage. Given the Image dimensions.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00005">IntelliImage.cpp:5</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_a2e787f1b333b59401643936ebb3dcfe1"><div class="ttname"><a href="class_intelli_image.html#a2e787f1b333b59401643936ebb3dcfe1">IntelliImage::drawPoint</a></div><div class="ttdeci">virtual void drawPoint(const QPoint &amp;p1, const QColor &amp;color, const int &amp;penWidth)</div><div class="ttdoc">A function that draws a point between on a given point in a given color.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00077">IntelliImage.cpp:77</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_ae4dbaefabce4ec5bec37f5b95e2f62e2"><div class="ttname"><a href="class_intelli_image.html#ae4dbaefabce4ec5bec37f5b95e2f62e2">IntelliImage::updateRendererSetting</a></div><div class="ttdeci">virtual void updateRendererSetting(bool fastRendererOn)</div><div class="ttdoc">updateRendererSetting updates the existing image format to the new format.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00152">IntelliImage.cpp:152</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_aa63d34c7932113d021653980ee018671"><div class="ttname"><a href="class_intelli_image.html#aa63d34c7932113d021653980ee018671">IntelliImage::fastRenderering</a></div><div class="ttdeci">bool fastRenderering</div><div class="ttdoc">fastRendering is the flag that represents the usage of 8bit pictures.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8h_source.html#l00051">IntelliImage.h:51</a></div></div>
<div class="ttc" id="aclass_intelli_tool_html"><div class="ttname"><a href="class_intelli_tool.html">IntelliTool</a></div><div class="ttdoc">An abstract class that manages the basic events, like mouse clicks or scrolls events.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_tool_8h_source.html#l00017">IntelliTool.h:17</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_a5274ce9fcdcb2659c148e7ff916b680eac065b60ec4cf443808263527bdc0df37"><div class="ttname"><a href="class_intelli_image.html#a5274ce9fcdcb2659c148e7ff916b680eac065b60ec4cf443808263527bdc0df37">IntelliImage::ImageType::SHAPEDIMAGE</a></div><div class="ttdeci">@ SHAPEDIMAGE</div></div>
<div class="ttc" id="aclass_intelli_image_html_ad66fbe380ffe0e073a8cd760f8285fe3"><div class="ttname"><a href="class_intelli_image.html#ad66fbe380ffe0e073a8cd760f8285fe3">IntelliImage::getImageData</a></div><div class="ttdeci">virtual QImage getImageData()</div><div class="ttdoc">getImageData returns the data of the current image (Note: It will allways return a ARGB32bit QImage!...</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00134">IntelliImage.cpp:134</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_a177403ab9585d4ba31984a644c54d310"><div class="ttname"><a href="class_intelli_image.html#a177403ab9585d4ba31984a644c54d310">IntelliImage::resizeImage</a></div><div class="ttdeci">void resizeImage(QImage *image, const QSize &amp;newSize)</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00037">IntelliImage.cpp:37</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_ab09c64e7559f3db32ca3b20ba6339268"><div class="ttname"><a href="class_intelli_image.html#ab09c64e7559f3db32ca3b20ba6339268">IntelliImage::setImageData</a></div><div class="ttdeci">virtual void setImageData(const QImage &amp;newData)</div><div class="ttdoc">setImageData overwrites the old imageData the new imageData.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00142">IntelliImage.cpp:142</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_ac460f75e1fa7e44b00a65e7fddac5b80"><div class="ttname"><a href="class_intelli_image.html#ac460f75e1fa7e44b00a65e7fddac5b80">IntelliImage::TypeOfImage</a></div><div class="ttdeci">ImageType TypeOfImage</div><div class="ttdoc">The Type, an Image is.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8h_source.html#l00046">IntelliImage.h:46</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_a4576ebb6d863321c816293d7b7f9fd3f"><div class="ttname"><a href="class_intelli_image.html#a4576ebb6d863321c816293d7b7f9fd3f">IntelliImage::getPixelColor</a></div><div class="ttdeci">virtual QColor getPixelColor(QPoint &amp;point)</div><div class="ttdoc">A function that returns the pixelcolor at a certain point.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00126">IntelliImage.cpp:126</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_a5274ce9fcdcb2659c148e7ff916b680eadd5823fd73c42c0154fa2abbd70283b9"><div class="ttname"><a href="class_intelli_image.html#a5274ce9fcdcb2659c148e7ff916b680eadd5823fd73c42c0154fa2abbd70283b9">IntelliImage::ImageType::RASTERIMAGE</a></div><div class="ttdeci">@ RASTERIMAGE</div></div>
<div class="ttc" id="aclass_intelli_image_html_a2431be82e9e85dd34b62a7f7cba053c2"><div class="ttname"><a href="class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2">IntelliImage::imageData</a></div><div class="ttdeci">QImage imageData</div><div class="ttdoc">The underlying image data.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8h_source.html#l00041">IntelliImage.h:41</a></div></div>
<div class="ttc" id="aclass_unit_test_html"><div class="ttname"><a href="class_unit_test.html">UnitTest</a></div><div class="ttdef"><b>Definition:</b> <a href="main_unit_test_8cpp_source.html#l00008">mainUnitTest.cpp:8</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_ae231800aba38c96074bbe9bb6e341d4e"><div class="ttname"><a href="class_intelli_image.html#ae231800aba38c96074bbe9bb6e341d4e">IntelliImage::loadImage</a></div><div class="ttdeci">virtual bool loadImage(const QString &amp;filePath)</div><div class="ttdoc">A function that loads and sclaes an image to the fitting dimensions.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00022">IntelliImage.cpp:22</a></div></div>
<div class="ttc" id="aclass_intelli_image_html"><div class="ttname"><a href="class_intelli_image.html">IntelliImage</a></div><div class="ttdoc">An abstract class which manages the basic IntelliImage operations.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8h_source.html#l00022">IntelliImage.h:22</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_af6381067bdf565669f856bb589008ae9"><div class="ttname"><a href="class_intelli_image.html#af6381067bdf565669f856bb589008ae9">IntelliImage::getDeepCopy</a></div><div class="ttdeci">virtual IntelliImage * getDeepCopy()=0</div><div class="ttdoc">A function that copys all that returns a [allocated] Image.</div></div>
<div class="ttc" id="aclass_intelli_image_html_aebbced93f4744fad81b7f141b21f4ab2"><div class="ttname"><a href="class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2">IntelliImage::calculateVisiblity</a></div><div class="ttdeci">virtual void calculateVisiblity()=0</div><div class="ttdoc">An abstract function that calculates the visiblity of the Image data if needed.</div></div>
<div class="ttc" id="a_intelli_triangulation_8h_html"><div class="ttname"><a href="_intelli_triangulation_8h.html">IntelliTriangulation.h</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_a5274ce9fcdcb2659c148e7ff916b680e"><div class="ttname"><a href="class_intelli_image.html#a5274ce9fcdcb2659c148e7ff916b680e">IntelliImage::ImageType</a></div><div class="ttdeci">ImageType</div><div class="ttdoc">The Types, which an Image can be.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8h_source.html#l00030">IntelliImage.h:30</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_a6be622810dc2bc756054bb5769becb06"><div class="ttname"><a href="class_intelli_image.html#a6be622810dc2bc756054bb5769becb06">IntelliImage::drawPlain</a></div><div class="ttdeci">virtual void drawPlain(const QColor &amp;color)</div><div class="ttdoc">A function that clears the whole image in a given Color.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_image_8cpp_source.html#l00116">IntelliImage.cpp:116</a></div></div>
<div class="ttc" id="aclass_intelli_image_html_aa4b3f4631bd972456917275afb9fd309"><div class="ttname"><a href="class_intelli_image.html#aa4b3f4631bd972456917275afb9fd309">IntelliImage::setPolygon</a></div><div class="ttdeci">virtual void setPolygon(const std::vector&lt; QPoint &gt; &amp;polygonData)=0</div><div class="ttdoc">An abstract function that sets the data of the visible Polygon, if needed.</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_fdbdd9841f9a730f284bb666ff3d8cfe.html">Image</a></li><li class="navelem"><a class="el" href="_intelli_image_8h.html">IntelliImage.h</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

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

View File

@@ -0,0 +1,191 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IntelliPhoto: src/GUI/IntelliInputDialog.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">IntelliPhoto
&#160;<span id="projectnumber">0.6</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_intelli_input_dialog_8cpp_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">IntelliInputDialog.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="_intelli_input_dialog_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_intelli_input_dialog_8h.html">IntelliInputDialog.h</a>&quot;</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160; </div>
<div class="line"><a name="l00003"></a><span class="lineno"><a class="line" href="class_intelli_input_dialog.html#aa276ec605b08b19d70c54654cc606cc5"> 3</a></span>&#160;<a class="code" href="class_intelli_input_dialog.html#aa276ec605b08b19d70c54654cc606cc5">IntelliInputDialog::IntelliInputDialog</a>(QString Title, QString Label, <span class="keywordtype">int</span> value, <span class="keywordtype">int</span> minValue, <span class="keywordtype">int</span> maxValue, <span class="keywordtype">int</span> step, <span class="keywordtype">bool</span>* ok)</div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;{</div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160; this-&gt;valueInt = value;</div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160; this-&gt;notClosed = ok;</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160; <span class="keywordflow">if</span>(notClosed != <span class="keyword">nullptr</span>) {</div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160; *notClosed = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160; }</div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160; createInputBox(Title, Label, value, minValue, maxValue, step);</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160; createConnections();</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160; setInputBoxStyle();</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160; this-&gt;exec();</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;}</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; </div>
<div class="line"><a name="l00016"></a><span class="lineno"><a class="line" href="class_intelli_input_dialog.html#a480ac2f5b8f7b9bc1cd7b30df84c2a62"> 16</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="class_intelli_input_dialog.html#a480ac2f5b8f7b9bc1cd7b30df84c2a62">IntelliInputDialog::getInt</a>(QString Title, QString Label, <span class="keywordtype">int</span> value, <span class="keywordtype">int</span> minValue, <span class="keywordtype">int</span> maxValue, <span class="keywordtype">int</span> step, <span class="keywordtype">bool</span>* ok){</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; <a class="code" href="class_intelli_input_dialog.html">IntelliInputDialog</a> dialog(Title, Label, value, minValue, maxValue, step, ok);</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; <span class="keywordflow">return</span> dialog.valueInt;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;}</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; </div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="keywordtype">void</span> IntelliInputDialog::createInputBox(QString Title, QString Label, <span class="keywordtype">int</span> value, <span class="keywordtype">int</span> minValue, <span class="keywordtype">int</span> maxValue, <span class="keywordtype">int</span> step){</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; this-&gt;setWindowFlags(this-&gt;windowFlags() &amp; ~Qt::WindowContextHelpButtonHint);</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; <span class="keywordflow">if</span>(Title == <span class="keyword">nullptr</span>) {</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; this-&gt;setWindowTitle(<span class="stringliteral">&quot;Input Box&quot;</span>);</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; }</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <span class="keywordflow">else</span>{</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; this-&gt;setWindowTitle(Title);</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; }</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; this-&gt;Layout = <span class="keyword">new</span> QGridLayout();</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; this-&gt;ButtonBox = <span class="keyword">new</span> QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; </div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; this-&gt;InputLabel = <span class="keyword">new</span> QLabel();</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <span class="keywordflow">if</span>(Label == <span class="keyword">nullptr</span>) {</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; this-&gt;InputLabel-&gt;setText(<span class="stringliteral">&quot;Width:&quot;</span>);</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; }</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <span class="keywordflow">else</span>{</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; this-&gt;InputLabel-&gt;setText(Label);</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; }</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; this-&gt;InputLabel-&gt;setFixedSize(Linesize);</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; </div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; this-&gt;Input = <span class="keyword">new</span> QSpinBox();</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; this-&gt;Input-&gt;setFixedSize(Linesize);</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; this-&gt;Input-&gt;setRange(minValue,maxValue);</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; this-&gt;Input-&gt;setSingleStep(step);</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; this-&gt;Input-&gt;setValue(value);</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; </div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; this-&gt;okButton = ButtonBox-&gt;button(QDialogButtonBox::Ok);</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; this-&gt;okButton-&gt;setFixedSize(Buttonsize);</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; this-&gt;okButton-&gt;setAutoDefault(<span class="keyword">false</span>);</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; this-&gt;okButton-&gt;setDefault(<span class="keyword">false</span>);</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; </div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; this-&gt;cancelButton = ButtonBox-&gt;button(QDialogButtonBox::Cancel);</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; this-&gt;cancelButton-&gt;setFixedSize(Buttonsize);</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; this-&gt;cancelButton-&gt;setAutoDefault(<span class="keyword">false</span>);</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; this-&gt;cancelButton-&gt;setDefault(<span class="keyword">false</span>);</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; </div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; Layout-&gt;addWidget(InputLabel,1,1,1,1);</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; Layout-&gt;addWidget(Input,2,1,1,1);</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; Layout-&gt;addWidget(ButtonBox,3,1,1,1);</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; this-&gt;setLayout(Layout);</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; this-&gt;resize(172,94);</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; this-&gt;show();</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;}</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; </div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="keywordtype">void</span> IntelliInputDialog::createConnections(){</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; connect(okButton, SIGNAL(clicked()), <span class="keyword">this</span>, SLOT(<a class="code" href="class_intelli_input_dialog.html#a23f837147e6aab3d8e0aff9d0f7012bd">slotEingabe</a>()));</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; connect(cancelButton, SIGNAL(clicked()), <span class="keyword">this</span>, SLOT(<a class="code" href="class_intelli_input_dialog.html#ae59e68446caab323945ea725f69e89b0">slotCloseEvent</a>()));</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;}</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; </div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="keywordtype">void</span> IntelliInputDialog::setInputBoxStyle(){</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; this-&gt;setStyleSheet(<span class="stringliteral">&quot;color: white;&quot;</span> <span class="stringliteral">&quot;background-color: rgb(64, 64, 64);&quot;</span> <span class="stringliteral">&quot;selection-color: rgb(200, 10, 10);&quot;</span> <span class="stringliteral">&quot;selection-background-color: rgb(64, 64, 64);&quot;</span>);</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;}</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; </div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="class_intelli_input_dialog.html#ae59e68446caab323945ea725f69e89b0"> 74</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_intelli_input_dialog.html#ae59e68446caab323945ea725f69e89b0">IntelliInputDialog::slotCloseEvent</a>(){</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; this-&gt;close();</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;}</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; </div>
<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="class_intelli_input_dialog.html#a23f837147e6aab3d8e0aff9d0f7012bd"> 78</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_intelli_input_dialog.html#a23f837147e6aab3d8e0aff9d0f7012bd">IntelliInputDialog::slotEingabe</a>(){</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; valueInt = QString(<span class="stringliteral">&quot;%1&quot;</span>).arg(Input-&gt;value()).toInt();</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">if</span>(notClosed != <span class="keyword">nullptr</span>) {</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; *notClosed = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; }</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; this-&gt;close();</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;}</div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclass_intelli_input_dialog_html_ae59e68446caab323945ea725f69e89b0"><div class="ttname"><a href="class_intelli_input_dialog.html#ae59e68446caab323945ea725f69e89b0">IntelliInputDialog::slotCloseEvent</a></div><div class="ttdeci">void slotCloseEvent()</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_input_dialog_8cpp_source.html#l00074">IntelliInputDialog.cpp:74</a></div></div>
<div class="ttc" id="a_intelli_input_dialog_8h_html"><div class="ttname"><a href="_intelli_input_dialog_8h.html">IntelliInputDialog.h</a></div></div>
<div class="ttc" id="aclass_intelli_input_dialog_html"><div class="ttname"><a href="class_intelli_input_dialog.html">IntelliInputDialog</a></div><div class="ttdef"><b>Definition:</b> <a href="_intelli_input_dialog_8h_source.html#l00012">IntelliInputDialog.h:12</a></div></div>
<div class="ttc" id="aclass_intelli_input_dialog_html_aa276ec605b08b19d70c54654cc606cc5"><div class="ttname"><a href="class_intelli_input_dialog.html#aa276ec605b08b19d70c54654cc606cc5">IntelliInputDialog::IntelliInputDialog</a></div><div class="ttdeci">IntelliInputDialog(QString Title=nullptr, QString Label=nullptr, int value=5, int minValue=-2147483647, int maxValue=2147483647, int step=1, bool *ok=nullptr)</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_input_dialog_8cpp_source.html#l00003">IntelliInputDialog.cpp:3</a></div></div>
<div class="ttc" id="aclass_intelli_input_dialog_html_a480ac2f5b8f7b9bc1cd7b30df84c2a62"><div class="ttname"><a href="class_intelli_input_dialog.html#a480ac2f5b8f7b9bc1cd7b30df84c2a62">IntelliInputDialog::getInt</a></div><div class="ttdeci">static int getInt(QString Title=nullptr, QString Label=nullptr, int value=5, int minValue=-2147483647, int maxValue=2147483647, int step=1, bool *ok=nullptr)</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_input_dialog_8cpp_source.html#l00016">IntelliInputDialog.cpp:16</a></div></div>
<div class="ttc" id="aclass_intelli_input_dialog_html_a23f837147e6aab3d8e0aff9d0f7012bd"><div class="ttname"><a href="class_intelli_input_dialog.html#a23f837147e6aab3d8e0aff9d0f7012bd">IntelliInputDialog::slotEingabe</a></div><div class="ttdeci">void slotEingabe()</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_input_dialog_8cpp_source.html#l00078">IntelliInputDialog.cpp:78</a></div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_4e4e2e75df7fa6971448b424c011c8b5.html">GUI</a></li><li class="navelem"><a class="el" href="_intelli_input_dialog_8cpp.html">IntelliInputDialog.cpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

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

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