diff --git a/.gitignore b/.gitignore index 6c15b5a..22c1e68 100644 --- a/.gitignore +++ b/.gitignore @@ -17,6 +17,14 @@ CMakeLists.txt.user* 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 diff --git a/conf/intelliphoto_dox b/conf/intelliphoto_dox new file mode 100644 index 0000000..1326066 --- /dev/null +++ b/conf/intelliphoto_dox @@ -0,0 +1,382 @@ +# Doxyfile 1.8.16 + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +DOXYFILE_ENCODING = UTF-8 +PROJECT_NAME = IntelliPhoto +PROJECT_NUMBER = 0.5 +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 diff --git a/conf/uncrustify.cfg b/conf/uncrustify.cfg index 9d843ca..b01a13a 100644 --- a/conf/uncrustify.cfg +++ b/conf/uncrustify.cfg @@ -49,7 +49,7 @@ disable_processing_cmt = " *INDENT-OFF*" # string enable_processing_cmt = " *INDENT-ON*" # string # Enable parsing of digraphs. -enable_digraphs = false # true/false +enable_digraphs = true # true/false # Add or remove the UTF-8 BOM (recommend 'remove'). utf8_bom = ignore # ignore/add/remove/force @@ -59,16 +59,16 @@ utf8_bom = ignore # ignore/add/remove/force utf8_byte = false # true/false # Force the output encoding to UTF-8. -utf8_force = false # true/false +utf8_force = true # true/false # Add or remove space between 'do' and '{'. -sp_do_brace_open = ignore # ignore/add/remove/force +sp_do_brace_open = add # ignore/add/remove/force # Add or remove space between '}' and 'while'. -sp_brace_close_while = ignore # ignore/add/remove/force +sp_brace_close_while = add # ignore/add/remove/force # Add or remove space between 'while' and '('. -sp_while_paren_open = ignore # ignore/add/remove/force +sp_while_paren_open = add # ignore/add/remove/force # # Spacing options @@ -76,70 +76,70 @@ sp_while_paren_open = ignore # ignore/add/remove/force # Add or remove space around non-assignment symbolic operators ('+', '/', '%', # '<<', and so forth). -sp_arith = ignore # ignore/add/remove/force +sp_arith = add # ignore/add/remove/force # Add or remove space around arithmetic operators '+' and '-'. # # Overrides sp_arith. -sp_arith_additive = ignore # ignore/add/remove/force +sp_arith_additive = add # ignore/add/remove/force # Add or remove space around assignment operator '=', '+=', etc. -sp_assign = ignore # ignore/add/remove/force +sp_assign = add # ignore/add/remove/force # Add or remove space around '=' in C++11 lambda capture specifications. # # Overrides sp_assign. -sp_cpp_lambda_assign = ignore # ignore/add/remove/force +sp_cpp_lambda_assign = add # ignore/add/remove/force # Add or remove space after the capture specification of a C++11 lambda when # an argument list is present, as in '[] (int x){ ... }'. -sp_cpp_lambda_square_paren = ignore # ignore/add/remove/force +sp_cpp_lambda_square_paren = add # ignore/add/remove/force # Add or remove space after the capture specification of a C++11 lambda with # no argument list is present, as in '[] { ... }'. -sp_cpp_lambda_square_brace = ignore # ignore/add/remove/force +sp_cpp_lambda_square_brace = add # ignore/add/remove/force # Add or remove space after the argument list of a C++11 lambda, as in # '[](int x) { ... }'. -sp_cpp_lambda_paren_brace = ignore # ignore/add/remove/force +sp_cpp_lambda_paren_brace = add # ignore/add/remove/force # Add or remove space between a lambda body and its call operator of an # immediately invoked lambda, as in '[]( ... ){ ... } ( ... )'. -sp_cpp_lambda_fparen = ignore # ignore/add/remove/force +sp_cpp_lambda_fparen = add # ignore/add/remove/force # Add or remove space around assignment operator '=' in a prototype. # # If set to ignore, use sp_assign. -sp_assign_default = ignore # ignore/add/remove/force +sp_assign_default = add # ignore/add/remove/force # Add or remove space before assignment operator '=', '+=', etc. # # Overrides sp_assign. -sp_before_assign = ignore # ignore/add/remove/force +sp_before_assign = add # ignore/add/remove/force # Add or remove space after assignment operator '=', '+=', etc. # # Overrides sp_assign. -sp_after_assign = ignore # ignore/add/remove/force +sp_after_assign = add # ignore/add/remove/force # Add or remove space in 'NS_ENUM ('. -sp_enum_paren = ignore # ignore/add/remove/force +sp_enum_paren = add # ignore/add/remove/force # Add or remove space around assignment '=' in enum. -sp_enum_assign = ignore # ignore/add/remove/force +sp_enum_assign = add # ignore/add/remove/force # Add or remove space before assignment '=' in enum. # # Overrides sp_enum_assign. -sp_enum_before_assign = ignore # ignore/add/remove/force +sp_enum_before_assign = add # ignore/add/remove/force # Add or remove space after assignment '=' in enum. # # Overrides sp_enum_assign. -sp_enum_after_assign = ignore # ignore/add/remove/force +sp_enum_after_assign = add # ignore/add/remove/force # Add or remove space around assignment ':' in enum. -sp_enum_colon = ignore # ignore/add/remove/force +sp_enum_colon = add # ignore/add/remove/force # Add or remove space around preprocessor '##' concatenation operator. # diff --git a/cppcheck_config.txt b/cppcheck_config.txt new file mode 100644 index 0000000..6f6a929 --- /dev/null +++ b/cppcheck_config.txt @@ -0,0 +1,306 @@ +src/GUI/IntelliInputDialog.h:4:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + +^ +src/GUI/IntelliInputDialog.cpp:2:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + +^ +src/GUI/IntelliPhotoGui.h:4:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + +^ +src/GUI/IntelliPhotoGui.h:5:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + +^ +src/GUI/IntelliPhotoGui.h:6:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + +^ +src/GUI/IntelliPhotoGui.h:7:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + +^ +src/GUI/IntelliPhotoGui.h:8:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + +^ +src/GUI/IntelliPhotoGui.h:9:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + +^ +src/GUI/IntelliPhotoGui.h:10:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + +^ +src/GUI/IntelliPhotoGui.h:11:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + +^ +src/GUI/IntelliPhotoGui.h:12:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + +^ +src/GUI/IntelliPhotoGui.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: 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: 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: 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: 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: 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: 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: 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: 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: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + +^ +src/IntelliHelper/IntelliTriangulation.h:4:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + +^ +src/IntelliHelper/IntelliTriangulation.h:5:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + +^ +src/IntelliHelper/IntelliTriangulation.cpp:2:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + +^ +src/IntelliHelper/IntelliTriangulation.cpp:3:0: information: Include file: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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/IntelliColorPicker.cpp:1:0: information: Include file: "IntelliColorPicker.h" not found. [missingInclude] + +^ +src/Tool/IntelliColorPicker.cpp:2:0: information: Include file: "QDebug" not found. [missingInclude] + +^ +src/Tool/IntelliTool.h:4:0: information: Include file: "IntelliHelper/IntelliColorPicker.h" not found. [missingInclude] + +^ +src/Tool/IntelliTool.h:5:0: information: Include file: "IntelliHelper/IntelliToolsettings.h" not found. [missingInclude] + +^ +src/Tool/IntelliTool.h:6:0: information: Include file: 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: 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: 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: 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: 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: 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: 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: 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: 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: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + +^ +src/main.cpp:3:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + +^ +src/main.cpp:4:0: information: Include file: not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem] + +^ diff --git a/cppcheck_errors.txt b/cppcheck_errors.txt index edc41a2..bf06cfd 100644 --- a/cppcheck_errors.txt +++ b/cppcheck_errors.txt @@ -1,6 +1,3 @@ -src/GUI/IntelliPhotoGui.cpp:83:15: style: Variable 'layer' is assigned a value that is never used. [unreadVariable] - int layer = paintingArea->addLayer(width,height,0,0); - ^ src/IntelliHelper/IntelliColorPicker.cpp:4:3: performance: Variable 'firstColor' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] firstColor = {255,0,0,255}; ^ @@ -10,7 +7,7 @@ src/IntelliHelper/IntelliColorPicker.cpp:5:3: performance: Variable 'secondColor src/IntelliHelper/IntelliTriangulation.cpp:116:63: style: Parameter 'triangles' can be declared with const [constParameter] bool IntelliTriangulation::isInPolygon(std::vector &triangles, QPoint &point){ ^ -src/Layer/PaintingArea.cpp:335:22: style: Redundant condition: If 'activeLayer > 0', the comparison 'activeLayer != -1' is always true. [redundantCondition] +src/Layer/PaintingArea.cpp:344:22: style: Redundant condition: If 'activeLayer > 0', the comparison 'activeLayer != -1' is always true. [redundantCondition] if(activeLayer!=-1 && activeLayer>0) { ^ src/Tool/IntelliTool.cpp:4:14: warning: Member variable 'IntelliTool::ActiveType' is not initialized in the constructor. [uninitMemberVar] @@ -22,34 +19,28 @@ IntelliTool::IntelliTool(PaintingArea* Area, IntelliColorPicker* colorPicker, In src/Tool/IntelliTool.cpp:4:14: warning: Member variable 'IntelliTool::Canvas' is not initialized in the constructor. [uninitMemberVar] IntelliTool::IntelliTool(PaintingArea* Area, IntelliColorPicker* colorPicker, IntelliToolsettings* Toolsettings){ ^ -src/Tool/IntelliToolCircle.cpp:43:9: style: Local variable 'yMin' shadows outer variable [shadowVariable] - int yMin = static_cast(centerPoint.y()-sqrt(pow(radius,2)-pow(i-centerPoint.x(),2))); +src/Tool/IntelliToolCircle.cpp:42:9: style: Local variable 'yMin' shadows outer variable [shadowVariable] + int yMin = static_cast(centerPoint.y() - sqrt(pow(radius,2) - pow(i - centerPoint.x(),2))); ^ -src/Tool/IntelliToolCircle.cpp:19:7: note: Shadowed declaration +src/Tool/IntelliToolCircle.cpp:18:7: note: Shadowed declaration int yMin, yMax, xMin, xMax; ^ -src/Tool/IntelliToolCircle.cpp:43:9: note: Shadow variable - int yMin = static_cast(centerPoint.y()-sqrt(pow(radius,2)-pow(i-centerPoint.x(),2))); +src/Tool/IntelliToolCircle.cpp:42:9: note: Shadow variable + int yMin = static_cast(centerPoint.y() - sqrt(pow(radius,2) - pow(i - centerPoint.x(),2))); ^ -src/Tool/IntelliToolCircle.cpp:44:9: style: Local variable 'yMax' shadows outer variable [shadowVariable] - int yMax = static_cast(centerPoint.y()+sqrt(pow(radius,2)-pow(i-centerPoint.x(),2))); +src/Tool/IntelliToolCircle.cpp:43:9: style: Local variable 'yMax' shadows outer variable [shadowVariable] + int yMax = static_cast(centerPoint.y() + sqrt(pow(radius,2) - pow(i - centerPoint.x(),2))); ^ -src/Tool/IntelliToolCircle.cpp:19:13: note: Shadowed declaration +src/Tool/IntelliToolCircle.cpp:18:13: note: Shadowed declaration int yMin, yMax, xMin, xMax; ^ -src/Tool/IntelliToolCircle.cpp:44:9: note: Shadow variable - int yMax = static_cast(centerPoint.y()+sqrt(pow(radius,2)-pow(i-centerPoint.x(),2))); +src/Tool/IntelliToolCircle.cpp:43:9: note: Shadow variable + int yMax = static_cast(centerPoint.y() + sqrt(pow(radius,2) - pow(i - centerPoint.x(),2))); ^ -src/Tool/IntelliToolCircle.cpp:16:13: style: Variable 'outer' is assigned a value that is never used. [unreadVariable] - int outer = radius+20; - ^ -src/Tool/IntelliToolLine.cpp:51:13: style: Variable 'c' is assigned a value that is never used. [unreadVariable] - int c = lineStartingPoint.y()-lineStartingPoint.x()*m; - ^ src/Tool/IntelliToolPolygon.h:25:6: warning: The class 'IntelliToolPolygon' defines member variable with name 'isDrawing' also defined in its parent class 'IntelliTool'. [duplInheritedMember] bool isDrawing; ^ -src/Tool/IntelliTool.h:68:6: note: Parent variable 'IntelliTool::isDrawing' +src/Tool/IntelliTool.h:69:6: note: Parent variable 'IntelliTool::isDrawing' bool isDrawing = false; ^ src/Tool/IntelliToolPolygon.h:25:6: note: Derived variable 'IntelliToolPolygon::isDrawing' @@ -61,31 +52,28 @@ src/GUI/IntelliPhotoGui.cpp:23:0: style: The function 'closeEvent' is never used src/Layer/PaintingArea.cpp:271:0: style: The function 'mouseMoveEvent' is never used. [unusedFunction] ^ -src/Layer/PaintingArea.cpp:255:0: style: The function 'mousePressEvent' is never used. [unusedFunction] +src/Layer/PaintingArea.cpp:252:0: style: The function 'mousePressEvent' is never used. [unusedFunction] ^ -src/Layer/PaintingArea.cpp:281:0: style: The function 'mouseReleaseEvent' is never used. [unusedFunction] +src/Layer/PaintingArea.cpp:284:0: style: The function 'mouseReleaseEvent' is never used. [unusedFunction] ^ -src/Layer/PaintingArea.cpp:307:0: style: The function 'paintEvent' is never used. [unusedFunction] +src/Layer/PaintingArea.cpp:314:0: style: The function 'paintEvent' is never used. [unusedFunction] ^ -src/Layer/PaintingArea.cpp:318:0: style: The function 'resizeEvent' is never used. [unusedFunction] +src/Layer/PaintingArea.cpp:325:0: style: The function 'resizeEvent' is never used. [unusedFunction] ^ -src/Layer/PaintingArea.cpp:323:0: style: The function 'resizeLayer' is never used. [unusedFunction] +src/Layer/PaintingArea.cpp:330:0: style: The function 'resizeLayer' is never used. [unusedFunction] ^ -src/Layer/PaintingArea.cpp:175:0: style: The function 'slotActivateLayer' is never used. [unusedFunction] +src/Layer/PaintingArea.cpp:170:0: style: The function 'slotActivateLayer' is never used. [unusedFunction] ^ -src/GUI/IntelliPhotoGui.cpp:157:0: style: The function 'slotClearActiveLayer' is never used. [unusedFunction] +src/Layer/PaintingArea.cpp:88:0: style: The function 'slotDeleteActiveLayer' is never used. [unusedFunction] ^ -src/Layer/PaintingArea.cpp:83:0: style: The function 'slotDeleteActiveLayer' is never used. [unusedFunction] - -^ -src/Layer/PaintingArea.cpp:294:0: style: The function 'wheelEvent' is never used. [unusedFunction] +src/Layer/PaintingArea.cpp:299:0: style: The function 'wheelEvent' is never used. [unusedFunction] ^ nofile:0:0: information: Cppcheck cannot find all the include files (use --check-config for details) [missingInclude] diff --git a/docs/CRC-Karten/CRC-Karten.docx b/docs/CRC-Karten/CRC-Karten.docx index ae0db5c..534f848 100644 Binary files a/docs/CRC-Karten/CRC-Karten.docx and b/docs/CRC-Karten/CRC-Karten.docx differ diff --git a/docs/CRC-Karten/CRC-Karten.pdf b/docs/CRC-Karten/CRC-Karten.pdf index 8cd4e0f..1fdc057 100644 Binary files a/docs/CRC-Karten/CRC-Karten.pdf and b/docs/CRC-Karten/CRC-Karten.pdf differ diff --git a/docs/Icons/line-tool.svg b/docs/Icons/line-tool.svg index e26bb7b..6ff03e8 100644 --- a/docs/Icons/line-tool.svg +++ b/docs/Icons/line-tool.svg @@ -56,11 +56,11 @@ showgrid="false" units="px" showguides="false" - inkscape:window-width="716" - inkscape:window-height="405" - inkscape:window-x="969" - inkscape:window-y="326" - inkscape:window-maximized="0" /> + inkscape:window-width="1920" + inkscape:window-height="1017" + inkscape:window-x="-8" + inkscape:window-y="-8" + inkscape:window-maximized="1" /> diff --git a/docs/Icons/plain-tool.svg b/docs/Icons/plain-tool.svg new file mode 100644 index 0000000..6dee885 --- /dev/null +++ b/docs/Icons/plain-tool.svg @@ -0,0 +1,125 @@ + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + diff --git a/docs/Manual/assets/change-colors.png b/docs/Manual/assets/change-colors.png index 8a3065a..39cfc51 100644 Binary files a/docs/Manual/assets/change-colors.png and b/docs/Manual/assets/change-colors.png differ diff --git a/docs/Manual/assets/file-open.png b/docs/Manual/assets/file-open.png index f60e224..8215da5 100644 Binary files a/docs/Manual/assets/file-open.png and b/docs/Manual/assets/file-open.png differ diff --git a/docs/Manual/assets/file-save.png b/docs/Manual/assets/file-save.png index 23d2448..33a770a 100644 Binary files a/docs/Manual/assets/file-save.png and b/docs/Manual/assets/file-save.png differ diff --git a/docs/Manual/assets/startup.png b/docs/Manual/assets/startup.png index b9647bf..8eafe91 100644 Binary files a/docs/Manual/assets/startup.png and b/docs/Manual/assets/startup.png differ diff --git a/docs/Sequenzdiagramme/Sequenzdiagram-PenTool.uxf b/docs/Sequenzdiagramme/Sequenzdiagram-PenTool.uxf new file mode 100644 index 0000000..020ddd8 --- /dev/null +++ b/docs/Sequenzdiagramme/Sequenzdiagram-PenTool.uxf @@ -0,0 +1,394 @@ + + + 10 + + UMLGeneric + + 530 + 70 + 100 + 30 + + _:PaintingArea_ + + + + Relation + + 570 + 90 + 30 + 70 + + lt=. + 10.0;10.0;10.0;50.0 + + + UMLActor + + 340 + 60 + 60 + 110 + + + + + + UMLGeneric + + 360 + 140 + 20 + 780 + + + + + + UMLGeneric + + 570 + 140 + 20 + 780 + + + + + + Relation + + 370 + 140 + 220 + 40 + + lt=<- +MouseLeftPressed(event) + 200.0;20.0;10.0;20.0 + + + UMLGeneric + + 780 + 140 + 20 + 780 + + + + + + UMLGeneric + + 740 + 70 + 100 + 30 + + _:IntelliTool_ + + + + Relation + + 780 + 90 + 30 + 70 + + lt=. + 10.0;10.0;10.0;50.0 + + + UMLGeneric + + 950 + 70 + 100 + 30 + + _:IntelliToolPen_ + + + + Relation + + 990 + 90 + 30 + 70 + + lt=. + 10.0;10.0;10.0;50.0 + + + UMLGeneric + + 990 + 140 + 20 + 770 + + + + + + Relation + + 370 + 430 + 220 + 40 + + lt=<- +updateInterface() + 10.0;20.0;200.0;20.0 + + + Relation + + 580 + 160 + 220 + 40 + + lt=<- +MouseLeftPressed(event) + 200.0;20.0;10.0;20.0 + + + Relation + + 790 + 180 + 220 + 40 + + lt=<- +MouseLeftPressed(event) + 200.0;20.0;10.0;20.0 + + + Relation + + 370 + 300 + 220 + 40 + + lt=<- +MouseMove(event) + 200.0;20.0;10.0;20.0 + + + Relation + + 580 + 320 + 220 + 40 + + lt=<- +MouseMove(koordinates) + 200.0;20.0;10.0;20.0 + + + UMLFrame + + 290 + 250 + 840 + 240 + + loop +-- +until MouseLeftReleased(event) or MouseRightPressed(event) + + + + + + + + + Relation + + 790 + 340 + 220 + 40 + + lt=<- +MouseMove(koordinates) + 200.0;20.0;10.0;20.0 + + + Relation + + 580 + 400 + 430 + 40 + + lt=<- +DrwaLineToKoordinates() + 10.0;20.0;410.0;20.0 + + + UMLFrame + + 290 + 520 + 840 + 350 + + alt +-- + + + + + + + + + + +-- + + + + Relation + + 370 + 550 + 220 + 40 + + lt=<- +MouseLeftReleased(event) + 200.0;20.0;10.0;20.0 + + + Relation + + 580 + 570 + 220 + 40 + + lt=<- +MouseLeftReleased(event) + 200.0;20.0;10.0;20.0 + + + Relation + + 790 + 590 + 220 + 40 + + lt=<- +MouseLeftReleased(event) + 200.0;20.0;10.0;20.0 + + + Relation + + 580 + 630 + 430 + 40 + + lt=<- +MergeSubLayer() + 10.0;20.0;410.0;20.0 + + + Relation + + 580 + 210 + 430 + 40 + + lt=<- +CreateSubLayer() + 10.0;20.0;410.0;20.0 + + + Relation + + 370 + 720 + 220 + 40 + + lt=<- +MouseRightPressed(event) + 200.0;20.0;10.0;20.0 + + + Relation + + 580 + 740 + 220 + 40 + + lt=<- +MouseRightPressed(event) + 200.0;20.0;10.0;20.0 + + + Relation + + 790 + 760 + 220 + 40 + + lt=<- +MouseRightPressed(event) + 200.0;20.0;10.0;20.0 + + + Relation + + 580 + 790 + 430 + 40 + + lt=<- +DeleteSubLayer() + 10.0;20.0;410.0;20.0 + + + Relation + + 370 + 660 + 220 + 40 + + lt=<- +updateInterface() + 10.0;20.0;200.0;20.0 + + + Relation + + 370 + 820 + 220 + 40 + + lt=<- +updateInterface() + 10.0;20.0;200.0;20.0 + + diff --git a/docs/Sequenzdiagramme/Sequenzdiagram-PlainTool.uxf b/docs/Sequenzdiagramme/Sequenzdiagram-PlainTool.uxf new file mode 100644 index 0000000..9f91896 --- /dev/null +++ b/docs/Sequenzdiagramme/Sequenzdiagram-PlainTool.uxf @@ -0,0 +1,316 @@ + + + 10 + + UMLGeneric + + 630 + 80 + 100 + 30 + + _:PaintingArea_ + + + + Relation + + 670 + 100 + 30 + 70 + + lt=. + 10.0;10.0;10.0;50.0 + + + UMLActor + + 440 + 70 + 60 + 110 + + + + + + UMLGeneric + + 460 + 150 + 20 + 490 + + + + + + UMLGeneric + + 670 + 150 + 20 + 490 + + + + + + Relation + + 470 + 150 + 220 + 40 + + lt=<- +MouseLeftPressed(event) + 200.0;20.0;10.0;20.0 + + + UMLGeneric + + 880 + 150 + 20 + 490 + + + + + + UMLGeneric + + 840 + 80 + 100 + 30 + + _:IntelliTool_ + + + + Relation + + 880 + 100 + 30 + 70 + + lt=. + 10.0;10.0;10.0;50.0 + + + UMLGeneric + + 1050 + 80 + 100 + 30 + + _:IntelliToolPlain_ + + + + Relation + + 1090 + 100 + 30 + 70 + + lt=. + 10.0;10.0;10.0;50.0 + + + UMLGeneric + + 1090 + 150 + 20 + 490 + + + + + + Relation + + 680 + 170 + 220 + 40 + + lt=<- +MouseLeftPressed(event) + 200.0;20.0;10.0;20.0 + + + Relation + + 890 + 190 + 220 + 40 + + lt=<- +MouseLeftPressed(event) + 200.0;20.0;10.0;20.0 + + + Relation + + 680 + 220 + 430 + 40 + + lt=<- +CreateSubLayer() + 10.0;20.0;410.0;20.0 + + + Relation + + 470 + 280 + 220 + 40 + + lt=<- +MouseLeftReleased(event) + 200.0;20.0;10.0;20.0 + + + Relation + + 680 + 300 + 220 + 40 + + lt=<- +MouseLeftReleased(event) + 200.0;20.0;10.0;20.0 + + + Relation + + 890 + 320 + 220 + 40 + + lt=<- +MouseLeftReleased(event) + 200.0;20.0;10.0;20.0 + + + Relation + + 680 + 360 + 430 + 40 + + lt=<- +MergeSubLayer() + 10.0;20.0;410.0;20.0 + + + Relation + + 470 + 390 + 220 + 40 + + lt=<- +updateInterface() + 10.0;20.0;200.0;20.0 + + + UMLFrame + + 390 + 250 + 840 + 350 + + alt +-- + + + + + + + + + + +-- + + + + Relation + + 470 + 450 + 220 + 40 + + lt=<- +MouseRightPressed(event) + 200.0;20.0;10.0;20.0 + + + Relation + + 470 + 550 + 220 + 40 + + lt=<- +updateInterface() + 10.0;20.0;200.0;20.0 + + + Relation + + 680 + 520 + 430 + 40 + + lt=<- +DeleteSubLayer() + 10.0;20.0;410.0;20.0 + + + Relation + + 680 + 470 + 220 + 40 + + lt=<- +MouseRightPressed(event) + 200.0;20.0;10.0;20.0 + + + Relation + + 890 + 490 + 220 + 40 + + lt=<- +MouseRightPressed(event) + 200.0;20.0;10.0;20.0 + + diff --git a/docs/ToDo/todo.html b/docs/ToDo/todo.html deleted file mode 100644 index 9ff0d54..0000000 --- a/docs/ToDo/todo.html +++ /dev/null @@ -1,633 +0,0 @@ - - - - - - - -Todo-Liste für Intelliphoto - - - - - - - - - - - - -
-

Todo-Liste für Intelliphoto

-
-

1 TODO Dokumentation [2/8]

-
-
-
-

1.1 TODO CRC-Karten

-
-
    -
  • 8/10 CRC-Karten sind fertig.
  • -
  • 2 CRC-Karten werden noch benötigt. [Zuständig: Paul]
  • -
-
-
-
-

1.2 DONE UML-Diagramm

-
-
-
-
-

1.3 TODO User-Manual

-
-
    -
  • Usermanual für Version 0.31 liegt vor.
  • -
  • Nach Userinterfaceupdate: Usermanual muss aktualisiert werden.
  • -
-
-
-
-

1.4 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.
  • -
-
-
-
-

1.5 TODO Sequenzdiagramme

-
-
    -
  • 1/2 Sequenzdiagramme sind vorhanden.
  • -
  • 1 Sequenzdiagramm wird noch benötigt. [Zuständig: Seb]
  • -
  • 1 Sequenzdiagramm muss aktualisiert werden. [Zuständig: Seb]
  • -
-
-
-
-

1.6 TODO Zustandsdiagramme

-
-
    -
  • 1/2 Zustandsdiagramme sind vorhanden.
  • -
  • 1 Sequenzdiagramm wird noch benötigt. [Zuständig: Seb]
  • -
  • 1 Sequenzdiagramm muss aktualisiert werden. [Zuständig: Seb]
  • -
-
-
-
-

1.7 DONE Selbstgenierende Dokumentation

-
-
-
-
-

1.8 TODO Volere Snow Cards [0/2]

-
-
-
-

1.8.1 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]
  • -
-
-
-
-

1.8.2 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]
  • -
-
-
-
-
-

1.9 TODO Referenzmaschine(n) bestimmen und Specs dokumentieren

-
-
-
-

2 TODO Allgemeine Features [0/1]

-
-
-
-

2.1 TODO Das Polygon fürs ShapedImage setzbar machen

-
-
-
-

3 TODO User Interface [0/4]

-
-
-
-

3.1 TODO Icons für alle Tools

-
-
-

3.2 TODO Interfacegrundstruktur erstellen

-
-
-

3.3 TODO Verknüpfung der Tools im Code mit den Buttons

-
-
-

3.4 TODO Eigenschaften der Tools im Fenster statt im Popup einstellbar machen

-
-
-
-

4 TODO Refactoring [2/2]

-
-
-
-

4.1 DONE Alle öffentlichen Klassen durchkommentieren

-
-
-
-
-

4.2 DONE Toolklassenstruktur verbessern

-
-
-
-
-
-

5 TODO Tools [0/8]

-
-
-
-

5.1 TODO PenTool [2/5]

-
-
-
-

5.1.1 DONE Icon

-
-
-
-
-

5.1.2 DONE Funktionalität

-
-
-
-
-

5.1.3 TODO Implementierung in Interface

-
-
-

5.1.4 TODO Zeitbestimmung auf Referenzmaschine

-
-
-

5.1.5 TODO Unittests

-
-
    -
  • [Zuständig: Mucke]
  • -
-
-
-
-
-

5.2 TODO EraserTool [2/5]

-
-
-
-

5.2.1 DONE Icon

-
-
-
-
-

5.2.2 DONE Funktionalität

-
-
-
-
-

5.2.3 TODO Implementierung in Interface

-
-
-

5.2.4 TODO Zeitbestimmung auf Referenzmaschine

-
-
-

5.2.5 TODO Unittests

-
-
    -
  • [Zuständig: Mucke]
  • -
-
-
-
-
-

5.3 TODO FloodFillTool [2/5]

-
-
-
-

5.3.1 DONE Icon

-
-
-
-
-

5.3.2 DONE Funktionalität

-
-
-
-
-

5.3.3 TODO Implementierung in Interface

-
-
-

5.3.4 TODO Zeitbestimmung auf Referenzmaschine

-
-
-

5.3.5 TODO Unittests

-
-
    -
  • [Zuständig: Mucke]
  • -
-
-
-
-
-

5.4 TODO PolygonTool [2/5]

-
-
-
-

5.4.1 DONE Icon

-
-
-
-
-

5.4.2 DONE Funktionalität

-
-
-
-
-

5.4.3 TODO Implementierung in Interface

-
-
-

5.4.4 TODO Zeitbestimmung auf Referenzmaschine

-
-
-

5.4.5 TODO Unittests

-
-
    -
  • [Zuständig: Mucke]
  • -
-
-
-
-
-

5.5 TODO CircleTool [2/5]

-
-
-
-

5.5.1 DONE Icon

-
-
-
-
-

5.5.2 DONE Funktionalität

-
-
-
-
-

5.5.3 TODO Implementierung in Interface

-
-
-

5.5.4 TODO Zeitbestimmung auf Referenzmaschine

-
-
-

5.5.5 TODO Unittests

-
-
    -
  • [Zuständig: Mucke]
  • -
-
-
-
-
-

5.6 TODO RectangleTool [2/5]

-
-
-
-

5.6.1 DONE Icon

-
-
-
-
-

5.6.2 DONE Funktionalität

-
-
-
-
-

5.6.3 TODO Implementierung in Interface

-
-
-

5.6.4 TODO Zeitbestimmung auf Referenzmaschine

-
-
-

5.6.5 TODO Unittests

-
-
    -
  • [Zuständig: Mucke]
  • -
-
-
-
-
-

5.7 TODO PlainTool [2/5]

-
-
-
-

5.7.1 DONE Icon

-
-
-
-
-

5.7.2 DONE Funktionalität

-
-
-
-
-

5.7.3 TODO Implementierung in Interface

-
-
-

5.7.4 TODO Zeitbestimmung auf Referenzmaschine

-
-
-

5.7.5 TODO Unittests

-
-
    -
  • [Zuständig: Mucke]
  • -
-
-
-
-
-

5.8 TODO LineTool [1/5]

-
-
-
-

5.8.1 TODO Icon

-
-
-

5.8.2 DONE Funktionalität

-
-
-
-
-

5.8.3 TODO Implementierung in Interface

-
-
-

5.8.4 TODO Zeitbestimmung auf Referenzmaschine

-
-
-

5.8.5 TODO Unittests

-
-
    -
  • [Zuständig: Mucke]
  • -
-
-
-
-
-
-

6 TODO Extras [0/1]

-
-
-
-

6.1 TODO 3D-Modelle laden und anzeigen / Tools implementieren

-
-
-
-
-

Author: Paul Norberger

-

Created: 2020-01-08 Mi 22:22

-

Validate

-
- - diff --git a/docs/ToDo/todo.org b/docs/ToDo/todo.org index 28278e7..57fafb7 100644 --- a/docs/ToDo/todo.org +++ b/docs/ToDo/todo.org @@ -1,13 +1,13 @@ #+TITLE: Todo-Liste für Intelliphoto #+AUTHOR: Paul Norberger #+SETUPFILE: https://fniessen.github.io/org-html-themes/setup/theme-readtheorg.setup -#+OPTIONS: toc:nil -* TODO Dokumentation [2/8] +#+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] -** DONE UML-Diagramm - CLOSED: [2020-01-08 Mi 21:50] +** 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. @@ -15,45 +15,73 @@ - 1/2 Use-Case-Diagramme sind vorhanden. - 1 Use-Case-Diagramm wird noch benötigt. - 1 Use-Case-Diagramm muss evtl. aktualisiert werden. -** TODO Sequenzdiagramme -- 1/2 Sequenzdiagramme sind vorhanden. -- 1 Sequenzdiagramm wird noch benötigt. [Zuständig: Seb] -- 1 Sequenzdiagramm muss aktualisiert werden. [Zuständig: Seb] -** TODO Zustandsdiagramme -- 1/2 Zustandsdiagramme sind vorhanden. -- 1 Sequenzdiagramm wird noch benötigt. [Zuständig: Seb] -- 1 Sequenzdiagramm muss aktualisiert werden. [Zuständig: Seb] +** 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] -*** Nicht-funktionale Anforderungen +*** 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] -*** Funktionale Anforderungen +*** 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 -* TODO Allgemeine Features [0/1] -** TODO Das Polygon fürs ShapedImage setzbar machen -* TODO User Interface [0/4] -** TODO Icons für alle Tools -** TODO Interfacegrundstruktur erstellen -** TODO Verknüpfung der Tools im Code mit den Buttons -** TODO Eigenschaften der Tools im Fenster statt im Popup einstellbar machen +- 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 [2/5] +** TODO PenTool [3/5] *** DONE Icon CLOSED: [2020-01-08 Mi 19:54] *** DONE Funktionalität CLOSED: [2020-01-08 Mi 19:54] -*** TODO Implementierung in Interface +*** DONE Implementierung in Interface + CLOSED: [2020-01-13 Mo 19:33] *** TODO Zeitbestimmung auf Referenzmaschine *** TODO Unittests - [Zuständig: Mucke] @@ -85,8 +113,8 @@ *** TODO Unittests - [Zuständig: Mucke] ** TODO CircleTool [2/5] -*** DONE Icon - CLOSED: [2020-01-08 Mi 19:54] +*** 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 @@ -113,11 +141,13 @@ - [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 Extras [0/1] -** TODO 3D-Modelle laden und anzeigen / Tools implementieren +* TODO Abschlusspräsentation +** Eröffnungsvideo erstellen +- [Zuständig: Jan] diff --git a/docs/ToDo/todo.pdf b/docs/ToDo/todo.pdf index cb9001f..c88c0cb 100644 Binary files a/docs/ToDo/todo.pdf and b/docs/ToDo/todo.pdf differ diff --git a/docs/Use Case/Use_Case_1.uxf b/docs/Use Case/Use_Case_1.uxf new file mode 100644 index 0000000..251c8b9 --- /dev/null +++ b/docs/Use Case/Use_Case_1.uxf @@ -0,0 +1,405 @@ + + + 17 + + UMLActor + + 17 + 459 + 170 + 187 + + 3D-Künstler +bg=green + + + + UMLActor + + 68 + 714 + 136 + 187 + + Einsteiger +bg=red + + + + UMLUseCase + + 646 + 391 + 204 + 119 + + Zusammenfügen +von Bildern +bg=red + + + + UMLUseCase + + 646 + 527 + 204 + 119 + + Ändern der +Bilderauflösung +bg=red + + + + UMLUseCase + + 646 + 663 + 204 + 119 + + Drehen von +Bildern +bg=red + + + + UMLUseCase + + 646 + 969 + 204 + 119 + + Retuschieren +der Bilder +bg=magenta + + + + UMLActor + + 51 + 1037 + 170 + 187 + + Casual User +bg=red + + + + Relation + + 119 + 442 + 561 + 306 + + + 310.0;10.0;10.0;160.0 + + + Relation + + 119 + 561 + 561 + 187 + + + 310.0;10.0;10.0;90.0 + + + Relation + + 119 + 680 + 561 + 68 + + + 310.0;20.0;10.0;20.0 + + + Relation + + 119 + 442 + 561 + 629 + + + 310.0;10.0;10.0;350.0 + + + Relation + + 119 + 561 + 561 + 510 + + + 310.0;10.0;10.0;280.0 + + + Relation + + 119 + 697 + 561 + 374 + + + 310.0;10.0;10.0;200.0 + + + Relation + + 119 + 986 + 561 + 85 + + + 310.0;20.0;10.0;30.0 + + + Relation + + 136 + 1003 + 544 + 408 + + + 300.0;10.0;10.0;220.0 + + + UMLUseCase + + 646 + 1394 + 204 + 119 + + Korrektur- +werkzeuge +bg=blue + + + + UMLNote + + 629 + 1547 + 238 + 119 + + Helligkeit/Kontrast +Farbton/Sättigung +Gradationskurven +bg=blue + + + + Relation + + 136 + 1360 + 544 + 119 + + + 300.0;50.0;10.0;10.0 + + + Relation + + 731 + 1496 + 51 + 85 + + + 10.0;10.0;10.0;30.0 + + + UMLUseCase + + 646 + 1122 + 204 + 119 + + Pinsel +bg=blue + + + + UMLUseCase + + 646 + 1258 + 204 + 119 + + Auswahl- +werkzeuge +bg=blue + + + + Relation + + 136 + 1292 + 544 + 119 + + + 300.0;10.0;10.0;50.0 + + + Relation + + 136 + 1156 + 544 + 255 + + + 300.0;10.0;10.0;130.0 + + + UMLActor + + 0 + 1377 + 306 + 187 + + Freiberufliche Fotografen +bg=blue + + + + UMLUseCase + + 646 + 816 + 204 + 119 + + Layerstruktur +bg=dark_gray + + + + Relation + + 85 + 272 + 595 + 221 + + + 330.0;10.0;10.0;110.0 + + + UMLUseCase + + 646 + 238 + 204 + 119 + + Schnittstelle +für 3D-Modelle +bg=green + + + + Relation + + 85 + 136 + 595 + 357 + + + 330.0;10.0;10.0;190.0 + + + UMLUseCase + + 646 + 102 + 204 + 119 + + Erzeugen von +3D-Objekten +bg=green + + + + Relation + + 136 + 867 + 544 + 544 + + + 300.0;10.0;10.0;300.0 + + + Relation + + 119 + 867 + 561 + 204 + + + 310.0;10.0;10.0;100.0 + + + Relation + + 119 + 697 + 561 + 221 + + + 310.0;110.0;10.0;10.0 + + + Relation + + 85 + 442 + 595 + 476 + + + 330.0;260.0;10.0;10.0 + + + UMLClass + + 527 + 0 + 459 + 1836 + + lw=2 +IntelliPhoto Benchmark 1.0 +bg=gray + + + diff --git a/docs/Use Case/Use_Case_2.uxf b/docs/Use Case/Use_Case_2.uxf new file mode 100644 index 0000000..6d075d7 --- /dev/null +++ b/docs/Use Case/Use_Case_2.uxf @@ -0,0 +1,192 @@ + + + 16 + + UMLActor + + 528 + 80 + 160 + 176 + + 3D-Künstler +bg=green + + + + UMLActor + + 544 + 272 + 128 + 176 + + Einsteiger +bg=red + + + + UMLUseCase + + 928 + 320 + 288 + 128 + + Hervorrheben bestimmter +Bildbereiche +bg=red + + + + UMLUseCase + + 880 + 624 + 352 + 96 + + Erstellung komplexer Diagramme +bg=blue + + + + UMLUseCase + + 928 + 480 + 304 + 112 + + Erstellung einfacher Motive +bg=red + + + + UMLActor + + 544 + 448 + 160 + 176 + + Casual User +bg=red + + + + Relation + + 592 + 256 + 368 + 160 + + + 210.0;80.0;10.0;10.0 + + + Relation + + 608 + 432 + 352 + 128 + + + 200.0;60.0;10.0;10.0 + + + Relation + + 608 + 400 + 368 + 288 + + + 210.0;10.0;10.0;160.0 + + + UMLActor + + 480 + 656 + 288 + 176 + + Freiberufliche Fotografen +bg=blue + + + + Relation + + 592 + 64 + 384 + 320 + + + 220.0;180.0;10.0;10.0 + + + Relation + + 592 + 64 + 352 + 176 + + + 200.0;90.0;10.0;10.0 + + + UMLUseCase + + 912 + 160 + 304 + 128 + + Anfertigen von +ortographischen Skizzen +bg=green + + + + UMLClass + + 848 + 80 + 432 + 704 + + lw=2 +CircleTool +bg=gray + + + + Relation + + 608 + 624 + 304 + 80 + + + 170.0;30.0;10.0;20.0 + + + Relation + + 608 + 432 + 320 + 256 + + + 180.0;140.0;10.0;10.0 + + diff --git a/docs/Volere Snow Cards/Req_0001.txt b/docs/Volere Snow Cards/Req_0001.txt index 1281493..9c1dd3d 100644 --- a/docs/Volere Snow Cards/Req_0001.txt +++ b/docs/Volere Snow Cards/Req_0001.txt @@ -27,4 +27,4 @@ Conflicts: History: -Erstellt am 30.10.2019, von Jonas Mucke -Aktualisiert am 17.12.2019, von Paul Norberger - -Vollständig umgesetzt, Stand: 17.12.2019 \ No newline at end of file + -Vollständig umgesetzt, Stand: 16.01.2019 \ No newline at end of file diff --git a/docs/Volere Snow Cards/Req_0002.txt b/docs/Volere Snow Cards/Req_0002.txt index c106509..3c41b87 100644 --- a/docs/Volere Snow Cards/Req_0002.txt +++ b/docs/Volere Snow Cards/Req_0002.txt @@ -3,25 +3,25 @@ Req-ID: 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 + - 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: + - 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. + - 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: + - 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: + - 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 @@ -31,7 +31,7 @@ Description: -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: + - 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 @@ -40,26 +40,10 @@ Description: 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 + - Das Floodfill Tool, bei diesem wird ein Pixel ausgewählt. Alle Pixel die mit diesem Pixel in einer Äquivalenzklasse im Bezug auf Farbe und Nachbarschafts-Relation stehen, werden in die gewählte Farbe eingefärbt. Einfarbig: - -Das Einfarbig Tool färbt das gesamte Bild in die gewählte Farbe ein. - Korrektur: - -Die Korrektur Tool ermöglicht das Anpassen verschiedener Bildwerte - -Helligkeit: - Das Tool Korrektur (Helligkeit), soll es ermöglichen die Helligkeit des Bildes anzupassen - -Farbton: - Das Tool Korrektur (Farbton), soll es ermöglichen den Farbton des Bildes anzupassen - Gradiation: - -Das Gradiations Tool soll es ermöglichen Farbverläufe mit einer Anfangs- und Endfarbe zu erstellen, zwischen welchen linear interpoliert wird. - Selektion: - -Das Selektionstool soll es ermöglichen ein Rechteck an Pixeln auszuwählen welche für die Bearbeitung durch andere Tools - berücksichtigt werden sollen. - Dabei wird am ersten Punkt angesetzt und zum Zielpunkt gezogen. Dabei verändert sich das Rechteck live. - Sobald das Eingabegerät getogglet wird, so wird die aktuelle Stelle als Endpunkt angenommen. Zwischen Start und Endpunkt - wird das Rechteck aufgespannt. - Cut: - -Das Cut Tool ermöglicht das Ausschneiden der selektierten Pixel + - Das Einfarbig Tool färbt das gesamte Bild in die gewählte Farbe ein. Originator: Jonas Mucke Fit Criterion: @@ -72,7 +56,9 @@ Priority: Support Material: Ubungsblat_01.pdf Conflicts: - - Keine bekannten Konflikte, Stand: 17.12.2019 + - 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 \ No newline at end of file + - Aktualisiert am 17.12.2019, von Paul Norberger + - Aktualisiert am 16.01.2019, von Paul Norberger, Gradiations-Tool, Cuttool, Selektionstool, Korrekturtool + wurde gestrichen \ No newline at end of file diff --git a/docs/Volere Snow Cards/Req_0003.txt b/docs/Volere Snow Cards/Req_0003.txt index e157f07..1b5fcc2 100644 --- a/docs/Volere Snow Cards/Req_0003.txt +++ b/docs/Volere Snow Cards/Req_0003.txt @@ -14,13 +14,14 @@ Description: 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. + - Testgruppe von 3 Personen, die das Programm zuvor noch nie benutzt haben, stellen keine Fragen über die Benutzerobefläche nach einigen Minuten Ausprobieren. + - Kunde, der das neue Interface noch nie benutzt hat, hat keine größeren Schwierigkeiten damit zurecht zu kommen. Priority: 20 Support Material: Ubungsblat_01.pdf Conflicts: - -Keine bekannten Konflikte, Stand: 17.12.2019 + - Keine bekannten Konflikte, Stand: 16.01.2019 History: - -Erstellt am 17.12.2019 + - Erstellt am 17.12.2019 + - Aktualisiert am 16.01.2019 \ No newline at end of file diff --git a/docs/Volere Snow Cards/Req_0004.txt b/docs/Volere Snow Cards/Req_0004.txt index 7fd77a2..097ded3 100644 --- a/docs/Volere Snow Cards/Req_0004.txt +++ b/docs/Volere Snow Cards/Req_0004.txt @@ -3,32 +3,29 @@ Req-ID: Req-Type: Funktional Events/UCs: - -Rückgängigmachen eines vorherigen Fehlers - -Rückgängigmachen einer versehntlichen Korrektur - -Einen rückgängig gemachten Schritt wiederholen + - Erstellen eines Raster Layers + - Erstellen eines Shaped Layers mit Polygonfunktion + - Veränderung der Anordnung der Layer + - Verschieben der Layer innerhalb des Canvas 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. + - 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 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 + - 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: - 50 + 0 Support Material: Ubungsblat_01.pdf Conflicts: - - Keine bekannten Konflikte, Stand: 18.12.2019 + - Keine bekannten Konflikte, Stand: 16.01.2020 History: - - Erstellt am 18.12.2019, von Paul Norberger \ No newline at end of file + - Erstellt am 16.01.2020 + - Vollständig implementiert, Stand: 16.01.2020 \ No newline at end of file diff --git a/docs/Volere Snow Cards/Req_0004_gestrichen.txt b/docs/Volere Snow Cards/Req_0004_gestrichen.txt new file mode 100644 index 0000000..1ee6102 --- /dev/null +++ b/docs/Volere Snow Cards/Req_0004_gestrichen.txt @@ -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 \ No newline at end of file diff --git a/docs/Zustandsdiagramm/Zustandsiagram-Layer-Color.uxf b/docs/Zustandsdiagramm/Zustandsiagram-Layer-Color.uxf new file mode 100644 index 0000000..a89bd07 --- /dev/null +++ b/docs/Zustandsdiagramm/Zustandsiagram-Layer-Color.uxf @@ -0,0 +1,206 @@ + + + 10 + + UMLSpecialState + + 480 + 200 + 20 + 20 + + type=initial + + + + UMLSpecialState + + 550 + 200 + 20 + 20 + + type=final + + + + UMLState + + 300 + 280 + 450 + 40 + + idle state + + + + Relation + + 480 + 210 + 60 + 90 + + lt=-> +start + 10.0;10.0;10.0;70.0 + + + Relation + + 550 + 210 + 50 + 90 + + lt=-> +end + 10.0;70.0;10.0;10.0 + + + Relation + + 650 + 310 + 90 + 110 + + lt=-> +new layer + 10.0;10.0;10.0;90.0 + + + UMLState + + 560 + 400 + 140 + 40 + + set width + + + + Relation + + 690 + 400 + 190 + 40 + + lt=-> +ok + 10.0;20.0;170.0;20.0 + + + UMLState + + 860 + 400 + 90 + 40 + + set height + + + + Relation + + 740 + 290 + 250 + 130 + + lt=-> +create +new layer + 170.0;110.0;170.0;10.0;10.0;10.0 + + + Relation + + 570 + 310 + 70 + 110 + + lt=-> +cancel + 10.0;90.0;10.0;10.0 + + + Relation + + 720 + 310 + 170 + 110 + + lt=-> +cancel + 150.0;90.0;10.0;90.0;10.0;10.0 + + + Relation + + 470 + 310 + 80 + 90 + + lt=-> +move +layer + 60.0;10.0;60.0;60.0;10.0;60.0;10.0;10.0 + + + Relation + + 420 + 310 + 100 + 210 + + lt=-> +new primary +color + 10.0;10.0;10.0;190.0 + + + Relation + + 330 + 310 + 120 + 210 + + lt=-> +new secondary +color + 10.0;10.0;10.0;190.0 + + + UMLState + + 320 + 500 + 140 + 40 + + color picker + + + + Relation + + 260 + 290 + 110 + 250 + + lt=-> +choose color + 60.0;230.0;10.0;230.0;10.0;10.0;40.0;10.0 + + diff --git a/docs/Zustandsdiagramm/Zustandsiagram-Tool.uxf b/docs/Zustandsdiagramm/Zustandsiagram-Tool.uxf new file mode 100644 index 0000000..3420725 --- /dev/null +++ b/docs/Zustandsdiagramm/Zustandsiagram-Tool.uxf @@ -0,0 +1,218 @@ + + + + 10 + + UMLState + + 360 + 330 + 290 + 40 + + idle state + + + + UMLSpecialState + + 480 + 220 + 20 + 20 + + type=initial + + + + UMLSpecialState + + 620 + 220 + 20 + 20 + + type=final + + + + Relation + + 480 + 230 + 60 + 120 + + lt=-> +start + 10.0;10.0;10.0;100.0 + + + Relation + + 620 + 230 + 50 + 120 + + lt=-> +end + 10.0;100.0;10.0;10.0 + + + Relation + + 620 + 360 + 80 + 130 + + lt=-> +use Tool + 10.0;10.0;10.0;110.0 + + + UMLState + + 470 + 470 + 180 + 40 + + drawing + + + + Relation + + 610 + 480 + 140 + 100 + + lt=-> +preview + + 10.0;30.0;10.0;70.0;120.0;70.0;120.0;10.0;40.0;10.0 + + + Relation + + 390 + 360 + 120 + 90 + + lt=-> +switch Tool + 10.0;10.0;10.0;70.0;100.0;70.0;100.0;10.0 + + + Relation + + 500 + 360 + 80 + 130 + + lt=-> +merch +preview + 10.0;110.0;10.0;10.0 + + + Relation + + 560 + 360 + 80 + 130 + + lt=-> +discard +changes + 10.0;110.0;10.0;10.0 + + + Relation + + 380 + 360 + 110 + 150 + + lt=-> +switch Tool + 90.0;130.0;10.0;130.0;10.0;10.0 + + + Relation + + 640 + 320 + 210 + 40 + + lt=-> +set tool width + 10.0;20.0;190.0;20.0 + + + UMLState + + 830 + 330 + 90 + 40 + + line width + + + + Relation + + 640 + 340 + 210 + 40 + + lt=-> +choose tool width + 190.0;20.0;10.0;20.0 + + + UMLState + + 140 + 330 + 90 + 40 + + inner Alpha + + + + Relation + + 220 + 320 + 160 + 40 + + lt=-> +set inner Alpha + 140.0;20.0;10.0;20.0 + + + Relation + + 220 + 340 + 160 + 40 + + lt=-> +choose Alpha value + 10.0;20.0;140.0;20.0 + + diff --git a/docs/html/_intelli_color_picker_8cpp.html b/docs/html/_intelli_color_picker_8cpp.html new file mode 100644 index 0000000..4c18fee --- /dev/null +++ b/docs/html/_intelli_color_picker_8cpp.html @@ -0,0 +1,104 @@ + + + + + + + +IntelliPhoto: src/IntelliHelper/IntelliColorPicker.cpp File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliColorPicker.cpp File Reference
+
+ +
+ + + + diff --git a/docs/html/_intelli_color_picker_8cpp_source.html b/docs/html/_intelli_color_picker_8cpp_source.html new file mode 100644 index 0000000..7d1ff02 --- /dev/null +++ b/docs/html/_intelli_color_picker_8cpp_source.html @@ -0,0 +1,139 @@ + + + + + + + +IntelliPhoto: src/IntelliHelper/IntelliColorPicker.cpp Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliColorPicker.cpp
+
+
+Go to the documentation of this file.
1 #include "IntelliColorPicker.h"
+
2 
+ +
4  firstColor = QColor(255,0,0,255);
+
5  secondColor = QColor(0,255,255,255);
+
6 }
+
7 
+ +
9 
+
10 }
+
11 
+ +
13  std::swap(firstColor, secondColor);
+
14 }
+
15 
+ +
17  return this->firstColor;
+
18 }
+
19 
+ +
21  return this->secondColor;
+
22 }
+
23 
+ +
25  this->firstColor = Color;
+
26 }
+
27 
+ +
29  this->secondColor = Color;
+
30 }
+
+
+
virtual ~IntelliColorPicker()
IntelliColorPicker destructor clears up his used memory, if there is some.
+
void setSecondColor(QColor Color)
A function to set the secondary color.
+
QColor getSecondColor()
A function to read the secondary selected color.
+ +
void setFirstColor(QColor Color)
A function to set the primary color.
+
QColor getFirstColor()
A function to read the primary selected color.
+
void swapColors()
A function switching primary and secondary color.
+
IntelliColorPicker()
IntelliColorPicker constructor, setting 2 preset colors, be careful, theese color may change in produ...
+ + + + diff --git a/docs/html/_intelli_color_picker_8h.html b/docs/html/_intelli_color_picker_8h.html index 47b8e92..87bc808 100644 --- a/docs/html/_intelli_color_picker_8h.html +++ b/docs/html/_intelli_color_picker_8h.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/IntelliHelper/IntelliColorPicker.h File Reference +IntelliPhoto: src/IntelliHelper/IntelliColorPicker.h File Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -109,10 +105,10 @@ Classes diff --git a/docs/html/_intelli_color_picker_8h_source.html b/docs/html/_intelli_color_picker_8h_source.html index 5efb6e4..7c0b1d8 100644 --- a/docs/html/_intelli_color_picker_8h_source.html +++ b/docs/html/_intelli_color_picker_8h_source.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/IntelliHelper/IntelliColorPicker.h Source File +IntelliPhoto: src/IntelliHelper/IntelliColorPicker.h Source File @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@
- +
@@ -97,46 +93,51 @@ $(document).ready(function(){initNavTree('_intelli_color_picker_8h_source.html',
5 #include "QPoint"
6 #include "QColorDialog"
7 
- -
12 public:
- -
17 
-
21 virtual ~IntelliColorPicker();
-
22 
-
26 void swapColors();
-
27 
-
32 QColor getFirstColor();
-
33 
-
38 QColor getSecondColor();
-
39 
-
44 void setFirstColor(QColor Color);
-
45 
-
50 void setSecondColor(QColor Color);
-
51 
-
52 private:
-
56 QColor firstColor;
-
57 
-
61 QColor secondColor;
-
62 };
-
63 
-
64 #endif // INTELLITOOLSETCOLORTOOL_H
+
8 //for unit testing
+
9 class UnitTest;
+
10 
+ +
15  friend UnitTest;
+
16 public:
+ +
21 
+
25 virtual ~IntelliColorPicker();
+
26 
+
30 void swapColors();
+
31 
+
36 QColor getFirstColor();
+
37 
+
42 QColor getSecondColor();
+
43 
+
48 void setFirstColor(QColor Color);
+
49 
+
54 void setSecondColor(QColor Color);
+
55 
+
56 private:
+
60 QColor firstColor;
+
61 
+
65 QColor secondColor;
+
66 };
+
67 
+
68 #endif
-
virtual ~IntelliColorPicker()
IntelliColorPicker destructor clears up his used memory, if there is some.
-
void setSecondColor(QColor Color)
A function to set the secondary color.
-
QColor getSecondColor()
A function to read the secondary selected color.
-
void setFirstColor(QColor Color)
A function to set the primary color.
-
QColor getFirstColor()
A function to read the primary selected color.
-
The IntelliColorPicker manages the selected colors for one whole project.
-
void swapColors()
A function switching primary and secondary color.
-
IntelliColorPicker()
IntelliColorPicker constructor, setting 2 preset colors, be careful, theese color may change in produ...
+
virtual ~IntelliColorPicker()
IntelliColorPicker destructor clears up his used memory, if there is some.
+
void setSecondColor(QColor Color)
A function to set the secondary color.
+
QColor getSecondColor()
A function to read the secondary selected color.
+
void setFirstColor(QColor Color)
A function to set the primary color.
+
QColor getFirstColor()
A function to read the primary selected color.
+
The IntelliColorPicker manages the selected colors for one whole project.
+ +
void swapColors()
A function switching primary and secondary color.
+
IntelliColorPicker()
IntelliColorPicker constructor, setting 2 preset colors, be careful, theese color may change in produ...
diff --git a/docs/html/_intelli_helper_2_intelli_color_picker_8cpp.html b/docs/html/_intelli_helper_2_intelli_color_picker_8cpp.html index c03d538..c91b3b8 100644 --- a/docs/html/_intelli_helper_2_intelli_color_picker_8cpp.html +++ b/docs/html/_intelli_helper_2_intelli_color_picker_8cpp.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/IntelliHelper/IntelliColorPicker.cpp File Reference +IntelliPhoto: src/IntelliHelper/IntelliColorPicker.cpp File Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -98,10 +94,10 @@ $(document).ready(function(){initNavTree('_intelli_helper_2_intelli_color_picker diff --git a/docs/html/_intelli_helper_2_intelli_color_picker_8cpp_source.html b/docs/html/_intelli_helper_2_intelli_color_picker_8cpp_source.html index 3625595..5ff0ba5 100644 --- a/docs/html/_intelli_helper_2_intelli_color_picker_8cpp_source.html +++ b/docs/html/_intelli_helper_2_intelli_color_picker_8cpp_source.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/IntelliHelper/IntelliColorPicker.cpp Source File +IntelliPhoto: src/IntelliHelper/IntelliColorPicker.cpp Source File @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@
- +
@@ -133,10 +129,10 @@ $(document).ready(function(){initNavTree('_intelli_helper_2_intelli_color_picker diff --git a/docs/html/_intelli_image_8cpp.html b/docs/html/_intelli_image_8cpp.html index 04c96c5..48082b7 100644 --- a/docs/html/_intelli_image_8cpp.html +++ b/docs/html/_intelli_image_8cpp.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Image/IntelliImage.cpp File Reference +IntelliPhoto: src/Image/IntelliImage.cpp File Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@
- +
@@ -100,10 +96,10 @@ $(document).ready(function(){initNavTree('_intelli_image_8cpp.html','');}); diff --git a/docs/html/_intelli_image_8cpp_source.html b/docs/html/_intelli_image_8cpp_source.html index abbb094..18c4353 100644 --- a/docs/html/_intelli_image_8cpp_source.html +++ b/docs/html/_intelli_image_8cpp_source.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Image/IntelliImage.cpp Source File +IntelliPhoto: src/Image/IntelliImage.cpp Source File @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@
- +
@@ -103,7 +99,7 @@ $(document).ready(function(){initNavTree('_intelli_image_8cpp_source.html','');}
11  if(fastRendererOn) {
12  imageData = imageData.convertToFormat(QImage::Format_Indexed8);
13  }
-
14  this->fastRenderer = fastRendererOn;
+
14  this->fastRenderering = fastRendererOn;
15 
16 }
17 
@@ -122,7 +118,7 @@ $(document).ready(function(){initNavTree('_intelli_image_8cpp_source.html','');}
30  // scaled Image to size of Layer
31  loadedImage = loadedImage.scaled(imageData.size(),Qt::IgnoreAspectRatio);
32 
-
33  imageData = loadedImage.convertToFormat(fastRenderer ? QImage::Format_Indexed8 : QImage::Format_ARGB32);
+
33  imageData = loadedImage.convertToFormat(fastRenderering ? QImage::Format_Indexed8 : QImage::Format_ARGB32);
34  return true;
35 }
36 
@@ -138,111 +134,142 @@ $(document).ready(function(){initNavTree('_intelli_image_8cpp_source.html','');}
46  // Draw the image
47  QPainter painter(&newImage);
48  painter.drawImage(QPoint(0, 0), *image);
-
49  *image = newImage;
-
50  if(fastRenderer) {
-
51  this->imageData = this->imageData.convertToFormat(QImage::Format_Indexed8);
-
52  }
-
53 }
-
54 
-
55 void IntelliImage::drawPixel(const QPoint &p1, const QColor& color){
-
56  if(fastRenderer) {
-
57  this->imageData = this->imageData.convertToFormat(QImage::Format_ARGB32);
-
58  }
-
59  // Used to draw on the widget
-
60  QPainter painter(&imageData);
-
61 
-
62  // Set the current settings for the pen
-
63  painter.setPen(QPen(color, 1, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
-
64 
-
65  // Draw a line from the last registered point to the current
-
66  painter.drawPoint(p1);
-
67  if(fastRenderer) {
-
68  this->imageData = this->imageData.convertToFormat(QImage::Format_Indexed8);
-
69  }
-
70 }
+
49  if(fastRenderering) {
+
50  *image = newImage.convertToFormat(QImage::Format_Indexed8);
+
51  }
+
52  else{
+
53  *image = newImage;
+
54  }
+
55 }
+
56 
+
57 void IntelliImage::drawPixel(const QPoint &p1, const QColor& color){
+
58  if(fastRenderering) {
+
59  this->imageData = this->imageData.convertToFormat(QImage::Format_ARGB32);
+
60  }
+
61  // Used to draw on the widget
+
62  QPainter* painter = new QPainter(&imageData);
+
63 
+
64  // Set the current settings for the pen
+
65  painter->setPen(QPen(color, 1, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
+
66 
+
67  // Draw a line from the last registered point to the current
+
68  painter->drawPoint(p1);
+
69  delete painter;
+
70  painter = nullptr;
71 
-
72 void IntelliImage::drawPoint(const QPoint &p1, const QColor& color, const int& penWidth){
-
73  if(fastRenderer) {
-
74  this->imageData = this->imageData.convertToFormat(QImage::Format_ARGB32);
-
75  }
-
76  // Used to draw on the widget
-
77  QPainter painter(&imageData);
-
78 
-
79  // Set the current settings for the pen
-
80  painter.setPen(QPen(color, penWidth, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
-
81  // Draw a line from the last registered point to the current
-
82  painter.drawPoint(p1);
-
83  if(fastRenderer) {
-
84  this->imageData = this->imageData.convertToFormat(QImage::Format_Indexed8);
-
85  }
-
86 }
-
87 
-
88 void IntelliImage::drawLine(const QPoint &p1, const QPoint& p2, const QColor& color, const int& penWidth){
-
89  if(fastRenderer) {
-
90  this->imageData = this->imageData.convertToFormat(QImage::Format_ARGB32);
-
91  }
-
92  // Used to draw on the widget
-
93  QPainter painter(&imageData);
-
94 
-
95  // Set the current settings for the pen
-
96  painter.setPen(QPen(color, penWidth, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
-
97 
-
98  // Draw a line from the last registered point to the current
-
99  painter.drawLine(p1, p2);
-
100  if(fastRenderer) {
-
101  this->imageData = this->imageData.convertToFormat(QImage::Format_Indexed8);
-
102  }
-
103 }
-
104 
-
105 void IntelliImage::drawPlain(const QColor& color){
-
106  if(fastRenderer) {
-
107  this->imageData = this->imageData.convertToFormat(QImage::Format_ARGB32);
-
108  }
-
109  imageData.fill(color);
-
110  if(fastRenderer) {
-
111  this->imageData = this->imageData.convertToFormat(QImage::Format_Indexed8);
-
112  }
-
113 }
-
114 
-
115 QColor IntelliImage::getPixelColor(QPoint& point){
-
116  if(fastRenderer) {
-
117  QImage copy = this->imageData.convertToFormat(QImage::Format_ARGB32);
-
118  return copy.pixelColor(point);
+
72  if(fastRenderering) {
+
73  this->imageData = this->imageData.convertToFormat(QImage::Format_Indexed8);
+
74  }
+
75 }
+
76 
+
77 void IntelliImage::drawPoint(const QPoint &p1, const QColor& color, const int& penWidth){
+
78  if(fastRenderering) {
+
79  this->imageData = this->imageData.convertToFormat(QImage::Format_ARGB32);
+
80  }
+
81  // Used to draw on the widget
+
82  QPainter* painter = new QPainter(&imageData);
+
83 
+
84  // Set the current settings for the pen
+
85  painter->setPen(QPen(color, penWidth, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
+
86  // Draw a line from the last registered point to the current
+
87  painter->drawPoint(p1);
+
88  delete painter;
+
89 
+
90  painter = nullptr;
+
91  if(fastRenderering) {
+
92  this->imageData = this->imageData.convertToFormat(QImage::Format_Indexed8);
+
93  }
+
94 }
+
95 
+
96 void IntelliImage::drawLine(const QPoint &p1, const QPoint& p2, const QColor& color, const int& penWidth){
+
97  if(fastRenderering) {
+
98  this->imageData = this->imageData.convertToFormat(QImage::Format_ARGB32);
+
99  }
+
100  // Used to draw on the widget
+
101  QPainter* painter = new QPainter(&imageData);
+
102 
+
103  // Set the current settings for the pen
+
104  painter->setPen(QPen(color, penWidth, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
+
105 
+
106  // Draw a line from the last registered point to the current
+
107  painter->drawLine(p1, p2);
+
108  delete painter;
+
109  painter = nullptr;
+
110 
+
111  if(fastRenderering) {
+
112  this->imageData = this->imageData.convertToFormat(QImage::Format_Indexed8);
+
113  }
+
114 }
+
115 
+
116 void IntelliImage::drawPlain(const QColor& color){
+
117  if(fastRenderering) {
+
118  this->imageData = this->imageData.convertToFormat(QImage::Format_ARGB32);
119  }
-
120  return imageData.pixelColor(point);
-
121 }
-
122 
- -
124  return this->imageData;
-
125 }
-
126 
-
127 void IntelliImage::updateRendererSetting(bool fastRendererOn){
-
128  this->fastRenderer = fastRendererOn;
-
129  this->imageData = this->imageData.convertToFormat(fastRenderer ? QImage::Format_Indexed8 : QImage::Format_ARGB32);
-
130 }
+
120  imageData.fill(color);
+
121  if(fastRenderering) {
+
122  this->imageData = this->imageData.convertToFormat(QImage::Format_Indexed8);
+
123  }
+
124 }
+
125 
+
126 QColor IntelliImage::getPixelColor(QPoint& point){
+
127  if(fastRenderering) {
+
128  QImage copy = this->imageData.convertToFormat(QImage::Format_ARGB32);
+
129  return copy.pixelColor(point);
+
130  }
+
131  return imageData.pixelColor(point);
+
132 }
+
133 
+ +
135  QImage copy = imageData;
+
136  if(fastRenderering) {
+
137  copy = copy.convertToFormat(QImage::Format_ARGB32);
+
138  }
+
139  return copy;
+
140 }
+
141 
+
142 void IntelliImage::setImageData(const QImage& newData){
+
143  imageData = newData;
+
144  if(fastRenderering) {
+
145  this->imageData = imageData.convertToFormat(QImage::Format_Indexed8);
+
146  }
+
147  else {
+
148  this->imageData = imageData.convertToFormat(QImage::Format_ARGB32);
+
149  }
+
150 }
+
151 
+
152 void IntelliImage::updateRendererSetting(bool fastRendererOn){
+
153  this->fastRenderering = fastRendererOn;
+
154  if(fastRenderering) {
+
155  this->imageData = imageData.convertToFormat(QImage::Format_Indexed8);
+
156  }
+
157  else {
+
158  this->imageData = imageData.convertToFormat(QImage::Format_ARGB32);
+
159  }
+
160 }
-
virtual void drawLine(const QPoint &p1, const QPoint &p2, const QColor &color, const int &penWidth)
A function that draws A Line between two given Points in a given color.
+
virtual void drawLine(const QPoint &p1, const QPoint &p2, const QColor &color, const int &penWidth)
A function that draws a line between two given points in a given color.
virtual ~IntelliImage()=0
An Abstract Destructor.
-
virtual void drawPixel(const QPoint &p1, const QColor &color)
A funtcion used to draw a pixel on the Image with the given Color.
+
virtual void drawPixel(const QPoint &p1, const QColor &color)
A funtcion used to draw a pixel on the Image with the given Color.
IntelliImage(int width, int height, bool fastRendererOn)
The Construcor of the IntelliImage. Given the Image dimensions.
Definition: IntelliImage.cpp:5
-
virtual void drawPoint(const QPoint &p1, const QColor &color, const int &penWidth)
A.
-
virtual void updateRendererSetting(bool fastRendererOn)
updateRendererSetting updates the existing image format to the new format.
-
virtual QImage getImageData()
getImageData returns the data of the current image.
+
virtual void drawPoint(const QPoint &p1, const QColor &color, const int &penWidth)
A function that draws a point between on a given point in a given color.
+
virtual void updateRendererSetting(bool fastRendererOn)
updateRendererSetting updates the existing image format to the new format.
+
bool fastRenderering
fastRendering is the flag that represents the usage of 8bit pictures.
Definition: IntelliImage.h:51
+
virtual QImage getImageData()
getImageData returns the data of the current image (Note: It will allways return a ARGB32bit QImage!...
void resizeImage(QImage *image, const QSize &newSize)
-
virtual QColor getPixelColor(QPoint &point)
A function that returns the pixelcolor at a certain point.
-
bool fastRenderer
fastRenderer is the flag that represents the usage of 8bit pictures.
Definition: IntelliImage.h:47
-
QImage imageData
The underlying image data.
Definition: IntelliImage.h:37
+
virtual void setImageData(const QImage &newData)
setImageData overwrites the old imageData the new imageData.
+
virtual QColor getPixelColor(QPoint &point)
A function that returns the pixelcolor at a certain point.
+
QImage imageData
The underlying image data.
Definition: IntelliImage.h:41
virtual bool loadImage(const QString &filePath)
A function that loads and sclaes an image to the fitting dimensions.
-
virtual void drawPlain(const QColor &color)
A function that clears the whole image in a given Color.
+
virtual void drawPlain(const QColor &color)
A function that clears the whole image in a given Color.
diff --git a/docs/html/_intelli_image_8h.html b/docs/html/_intelli_image_8h.html index 358f3b6..dc44395 100644 --- a/docs/html/_intelli_image_8h.html +++ b/docs/html/_intelli_image_8h.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Image/IntelliImage.h File Reference +IntelliPhoto: src/Image/IntelliImage.h File Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -114,10 +110,10 @@ Classes diff --git a/docs/html/_intelli_image_8h_source.html b/docs/html/_intelli_image_8h_source.html index ebcec11..8e520a4 100644 --- a/docs/html/_intelli_image_8h_source.html +++ b/docs/html/_intelli_image_8h_source.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Image/IntelliImage.h Source File +IntelliPhoto: src/Image/IntelliImage.h Source File @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@
- +
@@ -103,105 +99,113 @@ $(document).ready(function(){initNavTree('_intelli_image_8h_source.html','');});
13 
-
14 class IntelliTool;
-
15 
-
19 class IntelliImage {
-
20 friend IntelliTool;
-
21 public:
-
22 
-
26 enum class ImageType {
- - -
29 };
-
30 
-
31 protected:
-
32 void resizeImage(QImage*image, const QSize &newSize);
-
33 
-
37 QImage imageData;
-
38 
- -
43 
- -
48 
-
49 public:
-
56 IntelliImage(int width, int height, bool fastRendererOn);
-
57 
-
61 virtual ~IntelliImage() = 0;
-
62 
-
63 
-
69 virtual void drawPixel(const QPoint &p1, const QColor& color);
-
70 
-
78 virtual void drawLine(const QPoint &p1, const QPoint& p2, const QColor& color, const int& penWidth);
-
79 
-
86 virtual void drawPoint(const QPoint &p1, const QColor& color, const int& penWidth);
-
87 
-
92 virtual void drawPlain(const QColor& color);
-
93 
-
100 virtual QImage getDisplayable(const QSize& displaySize, int alpha) = 0;
-
101 
-
107 virtual QImage getDisplayable(int alpha=255) = 0;
-
108 
-
113 virtual IntelliImage* getDeepCopy() = 0;
-
114 
-
118 virtual void calculateVisiblity() = 0;
-
119 
-
124 virtual void setPolygon(const std::vector<QPoint>& polygonData) = 0;
-
125 
-
130 virtual std::vector<QPoint> getPolygonData(){
-
131  return std::vector<QPoint>();
-
132 }
-
133 
- -
135  return TypeOfImage;
+
14 //for unit testing
+
15 class UnitTest;
+
16 
+
17 class IntelliTool;
+
18 
+
22 class IntelliImage {
+
23  friend UnitTest;
+
24 friend IntelliTool;
+
25 public:
+
26 
+
30 enum class ImageType {
+ + +
33 };
+
34 
+
35 protected:
+
36 void resizeImage(QImage*image, const QSize &newSize);
+
37 
+
41 QImage imageData;
+
42 
+ +
47 
+ +
52 
+
53 public:
+
60 IntelliImage(int width, int height, bool fastRendererOn);
+
61 
+
65 virtual ~IntelliImage() = 0;
+
66 
+
67 
+
73 virtual void drawPixel(const QPoint &p1, const QColor& color);
+
74 
+
82 virtual void drawLine(const QPoint &p1, const QPoint& p2, const QColor& color, const int& penWidth);
+
83 
+
90 virtual void drawPoint(const QPoint &p1, const QColor& color, const int& penWidth);
+
91 
+
96 virtual void drawPlain(const QColor& color);
+
97 
+
104 virtual QImage getDisplayable(const QSize& displaySize, int alpha) = 0;
+
105 
+
111 virtual QImage getDisplayable(int alpha = 255) = 0;
+
112 
+
117 virtual IntelliImage* getDeepCopy() = 0;
+
118 
+
122 virtual void calculateVisiblity() = 0;
+
123 
+
128 virtual void setPolygon(const std::vector<QPoint>& polygonData) = 0;
+
129 
+
134 virtual std::vector<QPoint> getPolygonData(){
+
135  return std::vector<QPoint>();
136 }
137 
-
143 virtual bool loadImage(const QString &filePath);
-
144 
-
150 virtual QColor getPixelColor(QPoint& point);
-
151 
-
156 virtual void updateRendererSetting(bool fastRendererOn);
-
157 
-
161 virtual QImage getImageData();
-
162 
-
163 };
-
164 
-
165 #endif
+ +
139  return TypeOfImage;
+
140 }
+
141 
+
147 virtual bool loadImage(const QString &filePath);
+
148 
+
154 virtual QColor getPixelColor(QPoint& point);
+
155 
+
160 virtual void updateRendererSetting(bool fastRendererOn);
+
161 
+
165 virtual QImage getImageData();
+
166 
+
171 virtual void setImageData(const QImage& newData);
+
172 
+
173 };
+
174 
+
175 #endif
-
virtual void drawLine(const QPoint &p1, const QPoint &p2, const QColor &color, const int &penWidth)
A function that draws A Line between two given Points in a given color.
+
virtual void drawLine(const QPoint &p1, const QPoint &p2, const QColor &color, const int &penWidth)
A function that draws a line between two given points in a given color.
virtual ~IntelliImage()=0
An Abstract Destructor.
-
virtual void drawPixel(const QPoint &p1, const QColor &color)
A funtcion used to draw a pixel on the Image with the given Color.
+
virtual void drawPixel(const QPoint &p1, const QColor &color)
A funtcion used to draw a pixel on the Image with the given Color.
virtual QImage getDisplayable(const QSize &displaySize, int alpha)=0
A function returning the displayable ImageData in a requested transparence and size.
-
virtual ImageType getTypeOfImage()
Definition: IntelliImage.h:134
-
virtual std::vector< QPoint > getPolygonData()
A function that returns the Polygondata if existent.
Definition: IntelliImage.h:130
+
virtual ImageType getTypeOfImage()
Definition: IntelliImage.h:138
+
virtual std::vector< QPoint > getPolygonData()
A function that returns the Polygondata if existent.
Definition: IntelliImage.h:134
IntelliImage(int width, int height, bool fastRendererOn)
The Construcor of the IntelliImage. Given the Image dimensions.
Definition: IntelliImage.cpp:5
-
virtual void drawPoint(const QPoint &p1, const QColor &color, const int &penWidth)
A.
-
virtual void updateRendererSetting(bool fastRendererOn)
updateRendererSetting updates the existing image format to the new format.
-
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:14
- -
virtual QImage getImageData()
getImageData returns the data of the current image.
+
virtual void drawPoint(const QPoint &p1, const QColor &color, const int &penWidth)
A function that draws a point between on a given point in a given color.
+
virtual void updateRendererSetting(bool fastRendererOn)
updateRendererSetting updates the existing image format to the new format.
+
bool fastRenderering
fastRendering is the flag that represents the usage of 8bit pictures.
Definition: IntelliImage.h:51
+
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:17
+ +
virtual QImage getImageData()
getImageData returns the data of the current image (Note: It will allways return a ARGB32bit QImage!...
void resizeImage(QImage *image, const QSize &newSize)
-
ImageType TypeOfImage
The Type, an Image is.
Definition: IntelliImage.h:42
-
virtual QColor getPixelColor(QPoint &point)
A function that returns the pixelcolor at a certain point.
-
bool fastRenderer
fastRenderer is the flag that represents the usage of 8bit pictures.
Definition: IntelliImage.h:47
- -
QImage imageData
The underlying image data.
Definition: IntelliImage.h:37
+
virtual void setImageData(const QImage &newData)
setImageData overwrites the old imageData the new imageData.
+
ImageType TypeOfImage
The Type, an Image is.
Definition: IntelliImage.h:46
+
virtual QColor getPixelColor(QPoint &point)
A function that returns the pixelcolor at a certain point.
+ +
QImage imageData
The underlying image data.
Definition: IntelliImage.h:41
+
virtual bool loadImage(const QString &filePath)
A function that loads and sclaes an image to the fitting dimensions.
-
An abstract class which manages the basic IntelliImage operations.
Definition: IntelliImage.h:19
+
An abstract class which manages the basic IntelliImage operations.
Definition: IntelliImage.h:22
virtual IntelliImage * getDeepCopy()=0
A function that copys all that returns a [allocated] Image.
virtual void calculateVisiblity()=0
An abstract function that calculates the visiblity of the Image data if needed.
-
ImageType
The Types, which an Image can be.
Definition: IntelliImage.h:26
-
virtual void drawPlain(const QColor &color)
A function that clears the whole image in a given Color.
+
ImageType
The Types, which an Image can be.
Definition: IntelliImage.h:30
+
virtual void drawPlain(const QColor &color)
A function that clears the whole image in a given Color.
virtual void setPolygon(const std::vector< QPoint > &polygonData)=0
An abstract function that sets the data of the visible Polygon, if needed.
diff --git a/docs/html/_intelli_input_dialog_8cpp.html b/docs/html/_intelli_input_dialog_8cpp.html new file mode 100644 index 0000000..65f283c --- /dev/null +++ b/docs/html/_intelli_input_dialog_8cpp.html @@ -0,0 +1,104 @@ + + + + + + + +IntelliPhoto: src/GUI/IntelliInputDialog.cpp File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliInputDialog.cpp File Reference
+
+ +
+ + + + diff --git a/docs/html/_intelli_input_dialog_8cpp_source.html b/docs/html/_intelli_input_dialog_8cpp_source.html new file mode 100644 index 0000000..d9ad586 --- /dev/null +++ b/docs/html/_intelli_input_dialog_8cpp_source.html @@ -0,0 +1,191 @@ + + + + + + + +IntelliPhoto: src/GUI/IntelliInputDialog.cpp Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliInputDialog.cpp
+
+
+Go to the documentation of this file.
1 #include "IntelliInputDialog.h"
+
2 
+
3 IntelliInputDialog::IntelliInputDialog(QString Title, QString Label, int value, int minValue, int maxValue, int step, bool* ok)
+
4 {
+
5  this->valueInt = value;
+
6  this->notClosed = ok;
+
7  if(notClosed != nullptr) {
+
8  *notClosed = false;
+
9  }
+
10  createInputBox(Title, Label, value, minValue, maxValue, step);
+
11  createConnections();
+
12  setInputBoxStyle();
+
13  this->exec();
+
14 }
+
15 
+
16 int IntelliInputDialog::getInt(QString Title, QString Label, int value, int minValue, int maxValue, int step, bool* ok){
+
17  IntelliInputDialog dialog(Title, Label, value, minValue, maxValue, step, ok);
+
18  return dialog.valueInt;
+
19 }
+
20 
+
21 void IntelliInputDialog::createInputBox(QString Title, QString Label, int value, int minValue, int maxValue, int step){
+
22  this->setWindowFlags(this->windowFlags() & ~Qt::WindowContextHelpButtonHint);
+
23  if(Title == nullptr) {
+
24  this->setWindowTitle("Input Box");
+
25  }
+
26  else{
+
27  this->setWindowTitle(Title);
+
28  }
+
29  this->Layout = new QGridLayout();
+
30  this->ButtonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
+
31 
+
32  this->InputLabel = new QLabel();
+
33  if(Label == nullptr) {
+
34  this->InputLabel->setText("Width:");
+
35  }
+
36  else{
+
37  this->InputLabel->setText(Label);
+
38  }
+
39  this->InputLabel->setFixedSize(Linesize);
+
40 
+
41  this->Input = new QSpinBox();
+
42  this->Input->setFixedSize(Linesize);
+
43  this->Input->setRange(minValue,maxValue);
+
44  this->Input->setSingleStep(step);
+
45  this->Input->setValue(value);
+
46 
+
47  this->okButton = ButtonBox->button(QDialogButtonBox::Ok);
+
48  this->okButton->setFixedSize(Buttonsize);
+
49  this->okButton->setAutoDefault(false);
+
50  this->okButton->setDefault(false);
+
51 
+
52  this->cancelButton = ButtonBox->button(QDialogButtonBox::Cancel);
+
53  this->cancelButton->setFixedSize(Buttonsize);
+
54  this->cancelButton->setAutoDefault(false);
+
55  this->cancelButton->setDefault(false);
+
56 
+
57  Layout->addWidget(InputLabel,1,1,1,1);
+
58  Layout->addWidget(Input,2,1,1,1);
+
59  Layout->addWidget(ButtonBox,3,1,1,1);
+
60  this->setLayout(Layout);
+
61  this->resize(172,94);
+
62  this->show();
+
63 }
+
64 
+
65 void IntelliInputDialog::createConnections(){
+
66  connect(okButton, SIGNAL(clicked()), this, SLOT(slotEingabe()));
+
67  connect(cancelButton, SIGNAL(clicked()), this, SLOT(slotCloseEvent()));
+
68 }
+
69 
+
70 void IntelliInputDialog::setInputBoxStyle(){
+
71  this->setStyleSheet("color: white;" "background-color: rgb(64, 64, 64);" "selection-color: rgb(200, 10, 10);" "selection-background-color: rgb(64, 64, 64);");
+
72 }
+
73 
+ +
75  this->close();
+
76 }
+
77 
+ +
79  valueInt = QString("%1").arg(Input->value()).toInt();
+
80  if(notClosed != nullptr) {
+
81  *notClosed = true;
+
82  }
+
83  this->close();
+
84 }
+
+
+ + + +
IntelliInputDialog(QString Title=nullptr, QString Label=nullptr, int value=5, int minValue=-2147483647, int maxValue=2147483647, int step=1, bool *ok=nullptr)
+
static int getInt(QString Title=nullptr, QString Label=nullptr, int value=5, int minValue=-2147483647, int maxValue=2147483647, int step=1, bool *ok=nullptr)
+ + + + + diff --git a/docs/html/_intelli_input_dialog_8h.html b/docs/html/_intelli_input_dialog_8h.html new file mode 100644 index 0000000..b26c496 --- /dev/null +++ b/docs/html/_intelli_input_dialog_8h.html @@ -0,0 +1,118 @@ + + + + + + + +IntelliPhoto: src/GUI/IntelliInputDialog.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
IntelliInputDialog.h File Reference
+
+
+
#include <QSize>
+#include <QDialog>
+#include <QLabel>
+#include <QGridLayout>
+#include <QDialogButtonBox>
+#include <QPushButton>
+#include <QSpinBox>
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  IntelliInputDialog
 
+
+
+ + + + diff --git a/docs/html/_intelli_input_dialog_8h_source.html b/docs/html/_intelli_input_dialog_8h_source.html new file mode 100644 index 0000000..1e3e363 --- /dev/null +++ b/docs/html/_intelli_input_dialog_8h_source.html @@ -0,0 +1,150 @@ + + + + + + + +IntelliPhoto: src/GUI/IntelliInputDialog.h Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliInputDialog.h
+
+
+Go to the documentation of this file.
1 #ifndef INTELLIINPUTDIALOG_H
+
2 #define INTELLIINPUTDIALOG_H
+
3 
+
4 #include <QSize>
+
5 #include <QDialog>
+
6 #include <QLabel>
+
7 #include <QGridLayout>
+
8 #include <QDialogButtonBox>
+
9 #include <QPushButton>
+
10 #include <QSpinBox>
+
11 
+
12 class IntelliInputDialog : public QDialog
+
13 {
+
14 Q_OBJECT
+
15 public:
+
16 IntelliInputDialog(QString Title = nullptr, QString Label = nullptr, int value = 5, int minValue = -2147483647, int maxValue = 2147483647, int step = 1, bool* ok = nullptr);
+
17 
+
18 
+
19 static int getInt(QString Title = nullptr, QString Label = nullptr, int value = 5, int minValue = -2147483647, int maxValue = 2147483647, int step = 1, bool* ok = nullptr);
+
20 
+
21 public slots:
+
22 void slotCloseEvent();
+
23 void slotEingabe();
+
24 
+
25 private:
+
26 void createInputBox(QString Title = nullptr, QString Label = nullptr, int value = 5, int minValue = -2147483647, int maxValue = 2147483647, int step = 1);
+
27 void createConnections();
+
28 void setInputBoxStyle();
+
29 
+
30 int valueInt;
+
31 
+
32 QGridLayout* Layout;
+
33 QDialogButtonBox* ButtonBox;
+
34 bool* notClosed;
+
35 
+
36 const QSize Linesize = QSize(150,20);
+
37 const QSize Buttonsize = QSize(72,20);
+
38 QLabel* InputLabel;
+
39 QSpinBox* Input;
+
40 QPushButton* okButton;
+
41 QPushButton* cancelButton;
+
42 };
+
43 
+
44 #endif // INTELLIINPUTDIALOG_H
+
+
+ + +
IntelliInputDialog(QString Title=nullptr, QString Label=nullptr, int value=5, int minValue=-2147483647, int maxValue=2147483647, int step=1, bool *ok=nullptr)
+
static int getInt(QString Title=nullptr, QString Label=nullptr, int value=5, int minValue=-2147483647, int maxValue=2147483647, int step=1, bool *ok=nullptr)
+ + + + + diff --git a/docs/html/_intelli_photo_gui_8cpp.html b/docs/html/_intelli_photo_gui_8cpp.html index 44c3c0a..780817b 100644 --- a/docs/html/_intelli_photo_gui_8cpp.html +++ b/docs/html/_intelli_photo_gui_8cpp.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/GUI/IntelliPhotoGui.cpp File Reference +IntelliPhoto: src/GUI/IntelliPhotoGui.cpp File Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -99,10 +95,10 @@ $(document).ready(function(){initNavTree('_intelli_photo_gui_8cpp.html','');}); diff --git a/docs/html/_intelli_photo_gui_8cpp_source.html b/docs/html/_intelli_photo_gui_8cpp_source.html index fab2947..b281cb4 100644 --- a/docs/html/_intelli_photo_gui_8cpp_source.html +++ b/docs/html/_intelli_photo_gui_8cpp_source.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/GUI/IntelliPhotoGui.cpp Source File +IntelliPhoto: src/GUI/IntelliPhotoGui.cpp Source File @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@
- +
@@ -107,7 +103,7 @@ $(document).ready(function(){initNavTree('_intelli_photo_gui_8cpp_source.html','
15  setIntelliStyle();
16  // Size the app
17  resize(600,600);
-
18  showMaximized();
+
18  //showMaximized();
19  setDefaultToolValue();
20 }
21 
@@ -138,706 +134,826 @@ $(document).ready(function(){initNavTree('_intelli_photo_gui_8cpp_source.html','
46 
47  // If we have a file name load the image and place
48  // it in the paintingArea
-
49  if (!fileName.isEmpty())
+
49  if (!fileName.isEmpty()) {
50  paintingArea->open(fileName);
-
51  }
-
52 }
-
53 
-
54 // Called when the user clicks Save As in the menu
-
55 void IntelliPhotoGui::slotSave(){
-
56  // A QAction represents the action of the user clicking
-
57  QAction*action = qobject_cast<QAction*>(sender());
-
58 
-
59  // Stores the array of bytes of the users data
-
60  QByteArray fileFormat = action->data().toByteArray();
-
61 
-
62  // Pass it to be saved
-
63  saveFile(fileFormat);
-
64 }
-
65 
-
66 // Opens a dialog that allows the user to create a New Layer
-
67 void IntelliPhotoGui::slotCreateNewLayer(){
-
68  // Stores button value
-
69  bool ok1, ok2;
-
70 
-
71  // "New Layer" is the title of the window
-
72  // the next tr is the text to display
-
73  // Define the standard Value, min, max, step and ok button
-
74  int width = QInputDialog::getInt(this, tr("New Layer"),
-
75  tr("Width:"),
-
76  200,1, 500, 1, &ok1);
-
77  int height = QInputDialog::getInt(this, tr("New Layer"),
-
78  tr("Height:"),
-
79  200,1, 500, 1, &ok2);
+
51  UpdateGui();
+
52  }
+
53  }
+
54 }
+
55 
+
56 // Called when the user clicks Save As in the menu
+
57 void IntelliPhotoGui::slotSave(){
+
58  // A QAction represents the action of the user clicking
+
59  QAction*action = qobject_cast<QAction*>(sender());
+
60 
+
61  // Stores the array of bytes of the users data
+
62  QByteArray fileFormat = action->data().toByteArray();
+
63 
+
64  // Pass it to be saved
+
65  saveFile(fileFormat);
+
66 }
+
67 
+
68 // Opens a dialog that allows the user to create a New RASTER Layer
+
69 void IntelliPhotoGui::slotCreateNewRasterLayer(){
+
70  // Stores button value
+
71  bool ok1, ok2;
+
72 
+
73  // "New Layer" is the title of the window
+
74  // the next tr is the text to display
+
75  // Define the standard Value, min, max, step and ok button
+
76  int width = IntelliInputDialog::getInt("New Layer", "Width:", 200, 1, paintingArea->getMaxWidth(), 1, &ok1);
+
77 
+
78  int height = IntelliInputDialog::getInt("New Layer", "Height:", 200, 1, paintingArea->getMaxHeight(), 1, &ok2);
+
79 
80  // Create New Layer
-
81  if (ok1&&ok2)
-
82  {
-
83  int layer = paintingArea->addLayer(width,height,0,0);
-
84  UpdateGui();
-
85  }
-
86 }
-
87 
-
88 // Opens a dialog that allows the user to delete a Layer
-
89 void IntelliPhotoGui::slotDeleteLayer(){
-
90  // Stores button value
-
91  bool ok;
-
92 
-
93  // "delete Layer" is the title of the window
-
94  // the next tr is the text to display
-
95  // Define the standard Value, min, max, step and ok button
-
96  int layerNumber = QInputDialog::getInt(this, tr("delete Layer"),
-
97  tr("Number:"),
-
98  paintingArea->getNumberOfActiveLayer(),0, 500, 1, &ok);
+
81  if (ok1&&ok2) {
+
82  paintingArea->addLayer(width,height,0,0,IntelliImage::ImageType::RASTERIMAGE);
+
83  UpdateGui();
+
84  }
+
85 }
+
86 
+
87 // Opens a dialog that allows the user to create a New SHAPED Layer
+
88 void IntelliPhotoGui::slotCreateNewShapedLayer(){
+
89  // Stores button value
+
90  bool ok1, ok2;
+
91 
+
92  // "New Layer" is the title of the window
+
93  // the next tr is the text to display
+
94  // Define the standard Value, min, max, step and ok button
+
95  int width = IntelliInputDialog::getInt("New Layer", "Width:", 200, 1, paintingArea->getMaxWidth(), 1, &ok1);
+
96 
+
97  int height = IntelliInputDialog::getInt("New Layer", "Height:", 200, 1, paintingArea->getMaxHeight(), 1, &ok2);
+
98 
99  // Create New Layer
-
100  if (ok) {
-
101  paintingArea->deleteLayer(layerNumber);
+
100  if (ok1&&ok2) {
+
101  paintingArea->addLayer(width, height, 0, 0, IntelliImage::ImageType::SHAPEDIMAGE);
102  UpdateGui();
103  }
104 }
105 
-
106 void IntelliPhotoGui::slotSetActiveAlpha(){
-
107  // Stores button value
-
108  bool ok1, ok2;
-
109 
-
110  // "Layer to set on" is the title of the window
+
106 // Opens a dialog that allows the user to delete a Layer
+
107 void IntelliPhotoGui::slotDeleteLayer(){
+
108 
+
109  bool ok1;
+
110  // "delete Layer" is the title of the window
111  // the next tr is the text to display
112  // Define the standard Value, min, max, step and ok button
-
113  int layer = QInputDialog::getInt(this, tr("Layer to set on"),
-
114  tr("Layer:"),
-
115  -1,-1,100,1, &ok1);
-
116  // "New Alpha" is the title of the window
-
117  int alpha = QInputDialog::getInt(this, tr("New Alpha"),
-
118  tr("Alpha:"),
-
119  255,0, 255, 1, &ok2);
-
120  if (ok1&&ok2)
-
121  {
-
122  paintingArea->setLayerAlpha(layer,alpha);
-
123  UpdateGui();
-
124  }
-
125 }
-
126 
-
127 void IntelliPhotoGui::slotPositionMoveUp(){
-
128  paintingArea->movePositionActive(0,-20);
-
129  update();
-
130 }
-
131 
-
132 void IntelliPhotoGui::slotPositionMoveDown(){
-
133  paintingArea->movePositionActive(0,20);
-
134  update();
-
135 }
-
136 
-
137 void IntelliPhotoGui::slotPositionMoveLeft(){
-
138  paintingArea->movePositionActive(-20,0);
-
139  update();
-
140 }
-
141 
-
142 void IntelliPhotoGui::slotPositionMoveRight(){
-
143  paintingArea->movePositionActive(20,0);
-
144  update();
-
145 }
-
146 
-
147 void IntelliPhotoGui::slotMoveLayerUp(){
-
148  paintingArea->moveActiveLayer(1);
-
149  update();
-
150 }
-
151 
-
152 void IntelliPhotoGui::slotMoveLayerDown(){
-
153  paintingArea->moveActiveLayer(-1);
-
154  update();
+
113  int layerNumber = IntelliInputDialog::getInt("Delete Layer", "Number:", paintingArea->getNumberOfActiveLayer() + 1, 1, static_cast<int>(paintingArea->layerBundle.size()), 1, &ok1);
+
114 
+
115  // Create New Layer
+
116  if(ok1) {
+
117  paintingArea->deleteLayer(layerNumber - 1);
+
118  UpdateGui();
+
119  }
+
120 }
+
121 
+
122 void IntelliPhotoGui::slotSetActiveAlpha(){
+
123 
+
124  bool ok1, ok2;
+
125  // "Layer to set on" is the title of the window
+
126  // the next tr is the text to display
+
127  // Define the standard Value, min, max, step and ok button
+
128 
+
129  int layer = IntelliInputDialog::getInt("Layer to set on", "Layer:", paintingArea->getNumberOfActiveLayer() + 1, 1, static_cast<int>(paintingArea->layerBundle.size()), 1, &ok1);
+
130 
+
131  // "New Alpha" is the title of the window
+
132  int alpha = IntelliInputDialog::getInt("Layer to set on", "Alpha:", 255, 0, 255, 1, &ok2);
+
133 
+
134  if (ok1&&ok2)
+
135  {
+
136  paintingArea->setLayerAlpha(layer - 1,alpha);
+
137  UpdateGui();
+
138  }
+
139 }
+
140 
+
141 void IntelliPhotoGui::slotSetPolygon(){
+
142  // Stores button value
+
143  bool ok1;
+
144 
+
145  // "Layer to set on" is the title of the window
+
146  // the next tr is the text to display
+
147  // Define the standard Value, min, max, step and ok button
+
148  int layer = IntelliInputDialog::getInt("Layer to set on", "Layer:", paintingArea->getNumberOfActiveLayer() + 1, 1, static_cast<int>(paintingArea->layerBundle.size()), 1, &ok1);
+
149 
+
150  if (ok1)
+
151  {
+
152  paintingArea->setPolygon(layer - 1);
+
153  UpdateGui();
+
154  }
155 }
156 
-
157 void IntelliPhotoGui::slotClearActiveLayer(){
-
158  // Stores button value
-
159  bool ok1, ok2, ok3, ok4;
-
160 
-
161  // "Red Input" is the title of the window
-
162  // the next tr is the text to display
-
163  // Define the standard Value, min, max, step and ok button
-
164  int red = QInputDialog::getInt(this, tr("Red Input"),
-
165  tr("Red:"),
-
166  255,0, 255,1, &ok1);
-
167  // "Green Input" is the title of the window
-
168  int green = QInputDialog::getInt(this, tr("Green Input"),
-
169  tr("Green:"),
-
170  255,0, 255, 1, &ok2);
-
171  // "Blue Input" is the title of the window
-
172  int blue = QInputDialog::getInt(this, tr("Blue Input"),
-
173  tr("Blue:"),
-
174  255,0, 255, 1, &ok3);
-
175  // "Alpha Input" is the title of the window
-
176  int alpha = QInputDialog::getInt(this, tr("Alpha Input"),
-
177  tr("Alpha:"),
-
178  255,0, 255, 1, &ok4);
-
179  if (ok1&&ok2&&ok3&&ok4)
-
180  {
-
181  paintingArea->floodFill(red, green, blue, alpha);
-
182  UpdateGui();
-
183  }
-
184 }
-
185 
-
186 void IntelliPhotoGui::slotSetActiveLayer(){
-
187  // Stores button value
+
157 void IntelliPhotoGui::slotPositionMoveUp(){
+
158  paintingArea->movePositionActive(0,-20);
+
159  update();
+
160 }
+
161 
+
162 void IntelliPhotoGui::slotPositionMoveDown(){
+
163  paintingArea->movePositionActive(0,20);
+
164  update();
+
165 }
+
166 
+
167 void IntelliPhotoGui::slotPositionMoveLeft(){
+
168  paintingArea->movePositionActive(-20,0);
+
169  update();
+
170 }
+
171 
+
172 void IntelliPhotoGui::slotPositionMoveRight(){
+
173  paintingArea->movePositionActive(20,0);
+
174  update();
+
175 }
+
176 
+
177 void IntelliPhotoGui::slotMoveLayerUp(){
+
178  paintingArea->moveActiveLayer(1);
+
179  update();
+
180 }
+
181 
+
182 void IntelliPhotoGui::slotMoveLayerDown(){
+
183  paintingArea->moveActiveLayer(-1);
+
184  update();
+
185 }
+
186 
+
187 void IntelliPhotoGui::slotSetActiveLayer(){
188  bool ok1;
-
189 
-
190  // "Layer to set on" is the title of the window
-
191  // the next tr is the text to display
-
192  // Define the standard Value, min, max, step and ok button
-
193  int layer = QInputDialog::getInt(this, tr("Layer to set on"),
-
194  tr("Layer:"),
-
195  -1,0,255,1, &ok1);
-
196  if (ok1)
-
197  {
-
198  paintingArea->setLayerActive(layer);
-
199  UpdateGui();
-
200  }
-
201 }
-
202 
-
203 void IntelliPhotoGui::slotSetFirstColor(){
-
204  paintingArea->colorPickerSetFirstColor();
-
205  UpdateGui();
-
206 }
-
207 
-
208 void IntelliPhotoGui::slotSetSecondColor(){
-
209  paintingArea->colorPickerSetSecondColor();
-
210  UpdateGui();
-
211 }
-
212 
-
213 void IntelliPhotoGui::slotSwapColor(){
-
214  paintingArea->colorPickerSwapColors();
-
215  UpdateGui();
-
216 }
-
217 
-
218 void IntelliPhotoGui::slotCreatePenTool(){
-
219  PenButton->setChecked(true);
-
220  paintingArea->createPenTool();
-
221 }
-
222 
-
223 void IntelliPhotoGui::slotCreatePlainTool(){
-
224  PlainButton->setChecked(true);
-
225  paintingArea->createPlainTool();
-
226 }
-
227 
-
228 void IntelliPhotoGui::slotCreateLineTool(){
-
229  LineButton->setChecked(true);
-
230  paintingArea->createLineTool();
-
231 }
-
232 
-
233 void IntelliPhotoGui::slotCreateRectangleTool(){
-
234  RectangleButton->setChecked(true);
-
235  paintingArea->createRectangleTool();
-
236 }
-
237 
-
238 void IntelliPhotoGui::slotCreateCircleTool(){
-
239  CircleButton->setChecked(true);
-
240  paintingArea->createCircleTool();
-
241 }
-
242 
-
243 void IntelliPhotoGui::slotCreatePolygonTool(){
-
244  PolygonButton->setChecked(true);
-
245  paintingArea->createPolygonTool();
-
246 }
-
247 
-
248 void IntelliPhotoGui::slotCreateFloodFillTool(){
-
249  FloodFillButton->setChecked(true);
-
250  paintingArea->createFloodFillTool();
-
251 }
-
252 
-
253 // Open an about dialog
-
254 void IntelliPhotoGui::slotAboutDialog(){
-
255  // Window title and text to display
-
256  QMessageBox::about(this, tr("About Painting"),
-
257  tr("<p><b>IntelliPhoto</b>Pretty basic editor.</p>"));
+
189  // "Layer to set on" is the title of the window
+
190  // the next tr is the text to display
+
191  // Define the standard Value, min, max, step and ok button
+
192  int layer = IntelliInputDialog::getInt("Layer to set on", "Layer:", 1, 1, static_cast<int>(paintingArea->layerBundle.size()), 1, &ok1);
+
193 
+
194  if(ok1) {
+
195  paintingArea->setLayerActive(layer - 1);
+
196  UpdateGui();
+
197  }
+
198 }
+
199 
+
200 void IntelliPhotoGui::slotUpdateRenderSettingsOn(){
+
201  paintingArea->setRenderSettings(true);
+
202  UpdateGui();
+
203 }
+
204 
+
205 void IntelliPhotoGui::slotUpdateRenderSettingsOff(){
+
206  paintingArea->setRenderSettings(false);
+
207  UpdateGui();
+
208 }
+
209 
+
210 void IntelliPhotoGui::slotSetFirstColor(){
+
211  paintingArea->colorPickerSetFirstColor();
+
212  UpdateGui();
+
213 }
+
214 
+
215 void IntelliPhotoGui::slotSetSecondColor(){
+
216  paintingArea->colorPickerSetSecondColor();
+
217  UpdateGui();
+
218 }
+
219 
+
220 void IntelliPhotoGui::slotSwapColor(){
+
221  paintingArea->colorPickerSwapColors();
+
222  UpdateGui();
+
223 }
+
224 
+
225 void IntelliPhotoGui::slotCreatePenTool(){
+
226  PenButton->setChecked(true);
+
227  paintingArea->createPenTool();
+
228 }
+
229 
+
230 void IntelliPhotoGui::slotCreatePlainTool(){
+
231  PlainButton->setChecked(true);
+
232  paintingArea->createPlainTool();
+
233 }
+
234 
+
235 void IntelliPhotoGui::slotCreateLineTool(){
+
236  LineButton->setChecked(true);
+
237  paintingArea->createLineTool();
+
238 }
+
239 
+
240 void IntelliPhotoGui::slotCreateRectangleTool(){
+
241  RectangleButton->setChecked(true);
+
242  paintingArea->createRectangleTool();
+
243 }
+
244 
+
245 void IntelliPhotoGui::slotCreateCircleTool(){
+
246  CircleButton->setChecked(true);
+
247  paintingArea->createCircleTool();
+
248 }
+
249 
+
250 void IntelliPhotoGui::slotCreatePolygonTool(){
+
251  PolygonButton->setChecked(true);
+
252  paintingArea->createPolygonTool();
+
253 }
+
254 
+
255 void IntelliPhotoGui::slotCreateFloodFillTool(){
+
256  FloodFillButton->setChecked(true);
+
257  paintingArea->createFloodFillTool();
258 }
259 
-
260 void IntelliPhotoGui::slotEnterPressed(){
-
261  QString string = EditLineWidth->text();
-
262  if(string.toInt() > 50) {
-
263  EditLineWidth->setText("50");
-
264  }
-
265  paintingArea->Toolsettings.setLineWidth(string.toInt());
-
266  string = EditLineInnerAlpha->text();
-
267  if(string.toInt() > 255) {
-
268  EditLineInnerAlpha->setText("255");
-
269  }
-
270  paintingArea->Toolsettings.setInnerAlpha(string.toInt());
-
271 }
-
272 
-
273 void IntelliPhotoGui::slotResetTools(){
-
274  CircleButton->setChecked(false);
-
275  FloodFillButton->setChecked(false);
-
276  LineButton->setChecked(false);
-
277  PenButton->setChecked(false);
-
278  PlainButton->setChecked(false);
-
279  PolygonButton->setChecked(false);
-
280  RectangleButton->setChecked(false);
-
281 }
-
282 
-
283 // Define menu actions that call functions
-
284 void IntelliPhotoGui::createActions(){
-
285  // Get a list of the supported file formats
-
286  // QImageWriter is used to write images to files
-
287  foreach (QByteArray format, QImageWriter::supportedImageFormats()) {
-
288  QString text = tr("%1...").arg(QString(format).toUpper());
+
260 // Open an about dialog
+
261 void IntelliPhotoGui::slotAboutDialog(){
+
262  // Window title and text to display
+
263  QMessageBox::about(this, tr("About Painting"),
+
264  tr("<p><b>IntelliPhoto - </b>A Pretty basic editor.</p> <br>Developed by Team 7."));
+
265 }
+
266 
+
267 void IntelliPhotoGui::slotEnterPressed(){
+
268  QString string = EditLineWidth->text();
+
269  if(string.toInt() > 50) {
+
270  EditLineWidth->setText("50");
+
271  }
+
272  paintingArea->Toolsettings.setLineWidth(string.toInt());
+
273  string = EditLineInnerAlpha->text();
+
274  if(string.toInt() > 255) {
+
275  EditLineInnerAlpha->setText("255");
+
276  }
+
277  paintingArea->Toolsettings.setInnerAlpha(string.toInt());
+
278 }
+
279 
+
280 void IntelliPhotoGui::slotResetTools(){
+
281  CircleButton->setChecked(false);
+
282  FloodFillButton->setChecked(false);
+
283  LineButton->setChecked(false);
+
284  PenButton->setChecked(false);
+
285  PlainButton->setChecked(false);
+
286  PolygonButton->setChecked(false);
+
287  RectangleButton->setChecked(false);
+
288 }
289 
-
290  // Create an action for each file format
-
291  QAction*action = new QAction(text, this);
-
292 
-
293  // Set an action for each file format
-
294  action->setData(format);
-
295 
-
296  // When clicked call IntelliPhotoGui::save()
-
297  connect(action, SIGNAL(triggered()), this, SLOT(slotSave()));
+
290 void IntelliPhotoGui::slotSetWidth(){
+
291  bool ok1;
+
292  int temp = IntelliInputDialog::getInt("Toolsettings", "Width:", 5, 1, 50, 1, &ok1);
+
293  if(ok1) {
+
294  paintingArea->Toolsettings.setLineWidth(temp);
+
295  EditLineWidth->setText(QString("%1").arg(temp));
+
296  }
+
297 }
298 
-
299  // Attach each file format option menu item to Save As
-
300  actionSaveAs.append(action);
-
301  }
-
302 
-
303  //set exporter to actions
-
304  QAction*pngSaveAction = new QAction("PNG-8", this);
-
305  pngSaveAction->setData("PNG");
-
306  // When clicked call IntelliPhotoGui::save()
-
307  connect(pngSaveAction, SIGNAL(triggered()), this, SLOT(slotSave()));
-
308  // Attach each PNG in save Menu
-
309  actionSaveAs.append(pngSaveAction);
-
310 
-
311  // Create exit action and tie to IntelliPhotoGui::close()
-
312  actionExit = new QAction(tr("&Exit"), this);
-
313  actionExit->setShortcuts(QKeySequence::Quit);
-
314  connect(actionExit, SIGNAL(triggered()), this, SLOT(close()));
-
315 
-
316  actionOpen = new QAction(tr("&Open"), this);
-
317  actionOpen->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_O));
-
318  connect(actionOpen, SIGNAL(triggered()), this, SLOT(slotOpen()));
-
319 
-
320  // Create New Layer action and tie to IntelliPhotoGui::newLayer()
-
321  actionCreateNewLayer = new QAction(tr("&New Layer..."), this);
-
322  actionCreateNewLayer->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_N));
-
323  connect(actionCreateNewLayer, SIGNAL(triggered()), this, SLOT(slotCreateNewLayer()));
-
324 
-
325  // Delete New Layer action and tie to IntelliPhotoGui::deleteLayer()
-
326  actionDeleteLayer = new QAction(tr("&Delete Layer..."), this);
-
327  connect(actionDeleteLayer, SIGNAL(triggered()), this, SLOT(slotDeleteLayer()));
-
328 
-
329  actionSetActiveLayer = new QAction(tr("&set Active"), this);
-
330  connect(actionSetActiveLayer, SIGNAL(triggered()), this, SLOT(slotSetActiveLayer()));
-
331 
-
332  actionSetActiveAlpha = new QAction(tr("&set Alpha"), this);
-
333  connect(actionSetActiveAlpha, SIGNAL(triggered()), this, SLOT(slotSetActiveAlpha()));
-
334 
-
335  actionMovePositionUp = new QAction(tr("&move Up"), this);
-
336  actionMovePositionUp->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Up));
-
337  connect(actionMovePositionUp, SIGNAL(triggered()), this, SLOT(slotPositionMoveUp()));
-
338 
-
339  actionMovePositionDown = new QAction(tr("&move Down"), this);
-
340  actionMovePositionDown->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Down));
-
341  connect(actionMovePositionDown, SIGNAL(triggered()), this, SLOT(slotPositionMoveDown()));
-
342 
-
343  actionMovePositionLeft = new QAction(tr("&move Left"), this);
-
344  actionMovePositionLeft->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Left));
-
345  connect(actionMovePositionLeft, SIGNAL(triggered()), this, SLOT(slotPositionMoveLeft()));
-
346 
-
347  actionMovePositionRight = new QAction(tr("&move Right"), this);
-
348  actionMovePositionRight->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Right));
-
349  connect(actionMovePositionRight, SIGNAL(triggered()), this, SLOT(slotPositionMoveRight()));
+
299 void IntelliPhotoGui::slotSetInnerAlpha(){
+
300  bool ok1;
+
301  int temp = IntelliInputDialog::getInt("Toolsettings", "Width:", 5, 1, 50, 1, &ok1);
+
302  if(ok1) {
+
303  paintingArea->Toolsettings.setInnerAlpha(temp);
+
304  EditLineInnerAlpha->setText(QString("%1").arg(temp));
+
305  }
+
306 }
+
307 
+
308 // Define menu actions that call functions
+
309 void IntelliPhotoGui::createActions(){
+
310  // Get a list of the supported file formats
+
311  // QImageWriter is used to write images to files
+
312  foreach (QByteArray format, QImageWriter::supportedImageFormats()) {
+
313  QString text = tr("%1...").arg(QString(format).toUpper());
+
314 
+
315  // Create an action for each file format
+
316  QAction*action = new QAction(text, this);
+
317 
+
318  // Set an action for each file format
+
319  action->setData(format);
+
320 
+
321  // When clicked call IntelliPhotoGui::save()
+
322  connect(action, SIGNAL(triggered()), this, SLOT(slotSave()));
+
323 
+
324  // Attach each file format option menu item to Save As
+
325  actionSaveAs.append(action);
+
326  }
+
327 
+
328  //set exporter to actions
+
329  QAction*pngSaveAction = new QAction("PNG-8", this);
+
330  pngSaveAction->setData("PNG");
+
331  // When clicked call IntelliPhotoGui::save()
+
332  connect(pngSaveAction, SIGNAL(triggered()), this, SLOT(slotSave()));
+
333  // Attach each PNG in save Menu
+
334  actionSaveAs.append(pngSaveAction);
+
335  pngSaveAction->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_S));
+
336 
+
337  // Create exit action and tie to IntelliPhotoGui::close()
+
338  actionExit = new QAction(tr("&Exit"), this);
+
339  actionExit->setShortcuts(QKeySequence::Quit);
+
340  connect(actionExit, SIGNAL(triggered()), this, SLOT(close()));
+
341 
+
342  actionOpen = new QAction(tr("&Open"), this);
+
343  actionOpen->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_O));
+
344  connect(actionOpen, SIGNAL(triggered()), this, SLOT(slotOpen()));
+
345 
+
346  // Create New RASTER Layer action and tie to IntelliPhotoGui::newLayer()
+
347  actionCreateNewRasterLayer = new QAction(tr("&Raster Image"), this);
+
348  actionCreateNewRasterLayer->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_N));
+
349  connect(actionCreateNewRasterLayer, SIGNAL(triggered()), this, SLOT(slotCreateNewRasterLayer()));
350 
-
351  actionMoveLayerUp = new QAction(tr("&move Layer Up"), this);
-
352  actionMoveLayerUp->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_Up));
-
353  connect(actionMoveLayerUp, SIGNAL(triggered()), this, SLOT(slotMoveLayerUp()));
-
354 
-
355  actionMoveLayerDown= new QAction(tr("&move Layer Down"), this);
-
356  actionMoveLayerDown->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_Down));
-
357  connect(actionMoveLayerDown, SIGNAL(triggered()), this, SLOT(slotMoveLayerDown()));
-
358 
-
359  //Create Color Actions here
-
360  actionColorPickerFirstColor = new QAction(tr("&Main"), this);
-
361  connect(actionColorPickerFirstColor, SIGNAL(triggered()), this, SLOT(slotSetFirstColor()));
-
362  connect(FirstColorButton, SIGNAL(clicked()), this, SLOT(slotSetFirstColor()));
-
363 
-
364  actionColorPickerSecondColor = new QAction(tr("&Secondary"), this);
-
365  connect(actionColorPickerSecondColor, SIGNAL(triggered()), this, SLOT(slotSetSecondColor()));
-
366  connect(SecondColorButton, SIGNAL(clicked()), this, SLOT(slotSetSecondColor()));
-
367 
-
368  actionColorSwap = new QAction(tr("&Switch"), this);
-
369  actionColorSwap->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_S));
-
370  connect(actionColorSwap, SIGNAL(triggered()), this, SLOT(slotSwapColor()));
-
371  connect(SwitchColorButton, SIGNAL(clicked()), this, SLOT(slotSwapColor()));
-
372 
-
373  //Create Tool actions down here
-
374  actionCreatePlainTool = new QAction(tr("&Plain"), this);
-
375  connect(actionCreatePlainTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
-
376  connect(actionCreatePlainTool, SIGNAL(triggered()), this, SLOT(slotCreatePlainTool()));
+
351 
+
352  // Create New SHAPED Layer action and tie to IntelliPhotoGui::newLayer()
+
353  actionCreateNewShapedLayer = new QAction(tr("&Shaped Image"), this);
+
354  actionCreateNewShapedLayer->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_N + Qt::ALT));
+
355  connect(actionCreateNewShapedLayer, SIGNAL(triggered()), this, SLOT(slotCreateNewShapedLayer()));
+
356 
+
357  // Delete New Layer action and tie to IntelliPhotoGui::deleteLayer()
+
358  actionDeleteLayer = new QAction(tr("&Delete Layer..."), this);
+
359  actionDeleteLayer->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_D));
+
360  connect(actionDeleteLayer, SIGNAL(triggered()), this, SLOT(slotDeleteLayer()));
+
361 
+
362  actionSetActiveLayer = new QAction(tr("&set Active"), this);
+
363  actionSetActiveLayer->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_A));
+
364  connect(actionSetActiveLayer, SIGNAL(triggered()), this, SLOT(slotSetActiveLayer()));
+
365 
+
366  actionSetActiveAlpha = new QAction(tr("&set Alpha"), this);
+
367  actionSetActiveAlpha->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_A));
+
368  connect(actionSetActiveAlpha, SIGNAL(triggered()), this, SLOT(slotSetActiveAlpha()));
+
369 
+
370  actionSetPolygon = new QAction(tr("&set new Polygondata"), this);
+
371  actionSetPolygon->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_P));
+
372  connect(actionSetPolygon, SIGNAL(triggered()), this, SLOT(slotSetPolygon()));
+
373 
+
374  actionMovePositionUp = new QAction(tr("&move Up"), this);
+
375  actionMovePositionUp->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Up));
+
376  connect(actionMovePositionUp, SIGNAL(triggered()), this, SLOT(slotPositionMoveUp()));
377 
-
378 
-
379  actionCreatePenTool = new QAction(tr("&Pen"),this);
-
380  connect(actionCreatePenTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
-
381  connect(actionCreatePenTool, SIGNAL(triggered()), this, SLOT(slotCreatePenTool()));
-
382 
-
383  actionCreateLineTool = new QAction(tr("&Line"), this);
-
384  connect(actionCreateLineTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
-
385  connect(actionCreateLineTool, SIGNAL(triggered()), this, SLOT(slotCreateLineTool()));
-
386 
-
387  actionCreateCircleTool = new QAction(tr("&Circle"), this);
-
388  connect(actionCreateCircleTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
-
389  connect(actionCreateCircleTool, SIGNAL(triggered()), this, SLOT(slotCreateCircleTool()));
-
390 
-
391  actionCreateRectangleTool = new QAction(tr("&Rectangle"), this);
-
392  connect(actionCreateRectangleTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
-
393  connect(actionCreateRectangleTool, SIGNAL(triggered()), this, SLOT(slotCreateRectangleTool()));
-
394 
-
395  actionCreatePolygonTool = new QAction(tr("&Polygon"), this);
-
396  connect(actionCreatePolygonTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
-
397  connect(actionCreatePolygonTool, SIGNAL(triggered()), this, SLOT(slotCreatePolygonTool()));
-
398 
-
399  actionCreateFloodFillTool = new QAction(tr("&FloodFill"), this);
-
400  connect(actionCreateFloodFillTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
-
401  connect(actionCreateFloodFillTool, SIGNAL(triggered()), this, SLOT(slotCreateFloodFillTool()));
+
378  actionMovePositionDown = new QAction(tr("&move Down"), this);
+
379  actionMovePositionDown->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Down));
+
380  connect(actionMovePositionDown, SIGNAL(triggered()), this, SLOT(slotPositionMoveDown()));
+
381 
+
382  actionMovePositionLeft = new QAction(tr("&move Left"), this);
+
383  actionMovePositionLeft->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Left));
+
384  connect(actionMovePositionLeft, SIGNAL(triggered()), this, SLOT(slotPositionMoveLeft()));
+
385 
+
386  actionMovePositionRight = new QAction(tr("&move Right"), this);
+
387  actionMovePositionRight->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Right));
+
388  connect(actionMovePositionRight, SIGNAL(triggered()), this, SLOT(slotPositionMoveRight()));
+
389 
+
390  actionMoveLayerUp = new QAction(tr("&move Layer Up"), this);
+
391  actionMoveLayerUp->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_Up));
+
392  connect(actionMoveLayerUp, SIGNAL(triggered()), this, SLOT(slotMoveLayerUp()));
+
393 
+
394  actionMoveLayerDown = new QAction(tr("&move Layer Down"), this);
+
395  actionMoveLayerDown->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_Down));
+
396  connect(actionMoveLayerDown, SIGNAL(triggered()), this, SLOT(slotMoveLayerDown()));
+
397 
+
398  //Create Update RenderSettings Actions here
+
399  actionUpdateRenderSettingsOn = new QAction(tr("&On"), this);
+
400  actionUpdateRenderSettingsOn->setShortcut(QKeySequence(Qt::ALT + Qt::SHIFT + +Qt::Key_A));
+
401  connect(actionUpdateRenderSettingsOn, SIGNAL(triggered()),this, SLOT(slotUpdateRenderSettingsOn()));
402 
-
403  // Create about action and tie to IntelliPhotoGui::about()
-
404  actionAboutDialog = new QAction(tr("&About"), this);
-
405  connect(actionAboutDialog, SIGNAL(triggered()), this, SLOT(slotAboutDialog()));
+
403  actionUpdateRenderSettingsOff = new QAction(tr("&Off"), this);
+
404  actionUpdateRenderSettingsOff->setShortcut(QKeySequence(Qt::ALT + Qt::SHIFT + +Qt::Key_D));
+
405  connect(actionUpdateRenderSettingsOff, SIGNAL(triggered()),this, SLOT(slotUpdateRenderSettingsOff()));
406 
-
407  // Create about Qt action and tie to IntelliPhotoGui::aboutQt()
-
408  actionAboutQtDialog = new QAction(tr("About &Qt"), this);
-
409  connect(actionAboutQtDialog, SIGNAL(triggered()), qApp, SLOT(aboutQt()));
-
410 
-
411  connect(EditLineWidth, SIGNAL(returnPressed()), this, SLOT(slotEnterPressed()));
-
412  connect(EditLineInnerAlpha, SIGNAL(returnPressed()), this, SLOT(slotEnterPressed()));
-
413 
-
414  connect(CircleButton,SIGNAL(pressed()), this, SLOT(slotResetTools()));
-
415  connect(CircleButton, SIGNAL(clicked()), this, SLOT(slotCreateCircleTool()));
-
416 
-
417  connect(FloodFillButton,SIGNAL(pressed()), this, SLOT(slotResetTools()));
-
418  connect(FloodFillButton, SIGNAL(clicked()), this, SLOT(slotCreateFloodFillTool()));
-
419 
-
420  connect(LineButton,SIGNAL(pressed()), this, SLOT(slotResetTools()));
-
421  connect(LineButton, SIGNAL(clicked()), this, SLOT(slotCreateLineTool()));
+
407  //Create Color Actions here
+
408  actionColorPickerFirstColor = new QAction(tr("&Main"), this);
+
409  actionColorPickerFirstColor->setShortcut(QKeySequence(Qt::ALT + Qt::Key_N));
+
410  connect(actionColorPickerFirstColor, SIGNAL(triggered()), this, SLOT(slotSetFirstColor()));
+
411  connect(FirstColorButton, SIGNAL(clicked()), this, SLOT(slotSetFirstColor()));
+
412 
+
413  actionColorPickerSecondColor = new QAction(tr("&Secondary"), this);
+
414  actionColorPickerSecondColor->setShortcut(QKeySequence(Qt::ALT + Qt::Key_M));
+
415  connect(actionColorPickerSecondColor, SIGNAL(triggered()), this, SLOT(slotSetSecondColor()));
+
416  connect(SecondColorButton, SIGNAL(clicked()), this, SLOT(slotSetSecondColor()));
+
417 
+
418  actionColorSwap = new QAction(tr("&Switch"), this);
+
419  actionColorSwap->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_S));
+
420  connect(actionColorSwap, SIGNAL(triggered()), this, SLOT(slotSwapColor()));
+
421  connect(SwitchColorButton, SIGNAL(clicked()), this, SLOT(slotSwapColor()));
422 
-
423  connect(PenButton,SIGNAL(pressed()), this, SLOT(slotResetTools()));
-
424  connect(PenButton, SIGNAL(clicked()), this, SLOT(slotCreatePenTool()));
-
425 
-
426  connect(PlainButton,SIGNAL(pressed()), this, SLOT(slotResetTools()));
-
427  connect(PlainButton, SIGNAL(clicked()), this, SLOT(slotCreatePlainTool()));
+
423  //Create Tool actions down here
+
424  actionCreatePlainTool = new QAction(tr("&Plain"), this);
+
425  actionCreatePlainTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT + Qt::Key_P));
+
426  connect(actionCreatePlainTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
+
427  connect(actionCreatePlainTool, SIGNAL(triggered()), this, SLOT(slotCreatePlainTool()));
428 
-
429  connect(PolygonButton,SIGNAL(pressed()), this, SLOT(slotResetTools()));
-
430  connect(PolygonButton, SIGNAL(clicked()), this, SLOT(slotCreatePolygonTool()));
-
431 
-
432  connect(RectangleButton,SIGNAL(pressed()), this, SLOT(slotResetTools()));
-
433  connect(RectangleButton, SIGNAL(clicked()), this, SLOT(slotCreateRectangleTool()));
-
434 }
-
435 
-
436 // Create the menubar
-
437 void IntelliPhotoGui::createMenus(){
-
438  // Create Save As option and the list of file types
-
439  saveAsMenu = new QMenu(tr("&Save As"), this);
-
440  foreach (QAction *action, actionSaveAs)
-
441  saveAsMenu->addAction(action);
-
442 
-
443 
-
444  // Attach all actions to File
-
445  fileMenu = new QMenu(tr("&File"), this);
-
446  fileMenu->addAction(actionOpen);
-
447  fileMenu->addMenu(saveAsMenu);
-
448  fileMenu->addSeparator();
-
449  fileMenu->addAction(actionExit);
-
450 
-
451  // Attach all actions to Options
-
452  optionMenu = new QMenu(tr("&Options"), this);
-
453  optionMenu->addAction(actionSetActiveLayer);
-
454  optionMenu->addAction(actionSetActiveAlpha);
-
455  optionMenu->addAction(actionMovePositionUp);
-
456  optionMenu->addAction(actionMovePositionDown);
-
457  optionMenu->addAction(actionMovePositionLeft);
-
458  optionMenu->addAction(actionMovePositionRight);
-
459  optionMenu->addAction(actionMoveLayerUp);
-
460  optionMenu->addAction(actionMoveLayerDown);
-
461 
-
462  // Attach all actions to Layer
-
463  layerMenu = new QMenu(tr("&Layer"), this);
-
464  layerMenu->addAction(actionCreateNewLayer);
-
465  layerMenu->addAction(actionDeleteLayer);
-
466 
-
467  //Attach all Color Options
-
468  colorMenu = new QMenu(tr("&Color"), this);
-
469  colorMenu->addAction(actionColorPickerFirstColor);
-
470  colorMenu->addAction(actionColorPickerSecondColor);
-
471  colorMenu->addAction(actionColorSwap);
+
429 
+
430  actionCreatePenTool = new QAction(tr("&Pen"),this);
+
431  actionCreatePenTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT + Qt::Key_S));
+
432  connect(actionCreatePenTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
+
433  connect(actionCreatePenTool, SIGNAL(triggered()), this, SLOT(slotCreatePenTool()));
+
434 
+
435  actionCreateLineTool = new QAction(tr("&Line"), this);
+
436  actionCreateLineTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT + Qt::Key_L));
+
437  connect(actionCreateLineTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
+
438  connect(actionCreateLineTool, SIGNAL(triggered()), this, SLOT(slotCreateLineTool()));
+
439 
+
440  actionCreateCircleTool = new QAction(tr("&Circle"), this);
+
441  actionCreateCircleTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT + Qt::Key_C));
+
442  connect(actionCreateCircleTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
+
443  connect(actionCreateCircleTool, SIGNAL(triggered()), this, SLOT(slotCreateCircleTool()));
+
444 
+
445  actionCreateRectangleTool = new QAction(tr("&Rectangle"), this);
+
446  actionCreateRectangleTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT + Qt::Key_R));
+
447  connect(actionCreateRectangleTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
+
448  connect(actionCreateRectangleTool, SIGNAL(triggered()), this, SLOT(slotCreateRectangleTool()));
+
449 
+
450  actionCreatePolygonTool = new QAction(tr("&Polygon"), this);
+
451  actionCreatePolygonTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT + Qt::Key_V));
+
452  connect(actionCreatePolygonTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
+
453  connect(actionCreatePolygonTool, SIGNAL(triggered()), this, SLOT(slotCreatePolygonTool()));
+
454 
+
455  actionCreateFloodFillTool = new QAction(tr("&FloodFill"), this);
+
456  actionCreateFloodFillTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT + Qt::Key_F));
+
457  connect(actionCreateFloodFillTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
+
458  connect(actionCreateFloodFillTool, SIGNAL(triggered()), this, SLOT(slotCreateFloodFillTool()));
+
459 
+
460  // Create about action and tie to IntelliPhotoGui::about()
+
461  actionAboutDialog = new QAction(tr("&About"), this);
+
462  actionAboutDialog->setShortcut(Qt::Key_F2);
+
463  connect(actionAboutDialog, SIGNAL(triggered()), this, SLOT(slotAboutDialog()));
+
464 
+
465  // Create about Qt action and tie to IntelliPhotoGui::aboutQt()
+
466  actionAboutQtDialog = new QAction(tr("About &Qt"), this);
+
467  actionAboutQtDialog->setShortcut(Qt::Key_F3);
+
468  connect(actionAboutQtDialog, SIGNAL(triggered()), qApp, SLOT(aboutQt()));
+
469 
+
470  connect(EditLineWidth, SIGNAL(returnPressed()), this, SLOT(slotEnterPressed()));
+
471  connect(EditLineInnerAlpha, SIGNAL(returnPressed()), this, SLOT(slotEnterPressed()));
472 
-
473  //Attach all Tool Options
-
474  toolMenu = new QMenu(tr("&Tools"), this);
-
475  toolMenu->addAction(actionCreateCircleTool);
-
476  toolMenu->addAction(actionCreateFloodFillTool);
-
477  toolMenu->addAction(actionCreateLineTool);
-
478  toolMenu->addAction(actionCreatePenTool);
-
479  toolMenu->addAction(actionCreatePlainTool);
-
480  toolMenu->addAction(actionCreatePolygonTool);
-
481  toolMenu->addAction(actionCreateRectangleTool);
-
482  toolMenu->addSeparator();
-
483  toolMenu->addMenu(colorMenu);
+
473  connect(CircleButton,SIGNAL(pressed()), this, SLOT(slotResetTools()));
+
474  connect(CircleButton, SIGNAL(clicked()), this, SLOT(slotCreateCircleTool()));
+
475 
+
476  connect(FloodFillButton,SIGNAL(pressed()), this, SLOT(slotResetTools()));
+
477  connect(FloodFillButton, SIGNAL(clicked()), this, SLOT(slotCreateFloodFillTool()));
+
478 
+
479  connect(LineButton,SIGNAL(pressed()), this, SLOT(slotResetTools()));
+
480  connect(LineButton, SIGNAL(clicked()), this, SLOT(slotCreateLineTool()));
+
481 
+
482  connect(PenButton,SIGNAL(pressed()), this, SLOT(slotResetTools()));
+
483  connect(PenButton, SIGNAL(clicked()), this, SLOT(slotCreatePenTool()));
484 
-
485  // Attach all actions to Help
-
486  helpMenu = new QMenu(tr("&Help"), this);
-
487  helpMenu->addAction(actionAboutDialog);
-
488  helpMenu->addAction(actionAboutQtDialog);
-
489 
-
490  // Add menu items to the menubar
-
491  menuBar()->addMenu(fileMenu);
-
492  menuBar()->addMenu(optionMenu);
-
493  menuBar()->addMenu(layerMenu);
-
494  menuBar()->addMenu(toolMenu);
-
495  menuBar()->addMenu(helpMenu);
-
496 }
+
485  connect(PlainButton,SIGNAL(pressed()), this, SLOT(slotResetTools()));
+
486  connect(PlainButton, SIGNAL(clicked()), this, SLOT(slotCreatePlainTool()));
+
487 
+
488  connect(PolygonButton,SIGNAL(pressed()), this, SLOT(slotResetTools()));
+
489  connect(PolygonButton, SIGNAL(clicked()), this, SLOT(slotCreatePolygonTool()));
+
490 
+
491  connect(RectangleButton,SIGNAL(pressed()), this, SLOT(slotResetTools()));
+
492  connect(RectangleButton, SIGNAL(clicked()), this, SLOT(slotCreateRectangleTool()));
+
493 
+
494  actionSetWidth = new QAction(tr("&Set Width"),this);
+
495  actionSetWidth->setShortcut(QKeySequence(Qt::ALT + Qt::Key_W));
+
496  connect(actionSetWidth, SIGNAL(triggered()), this, SLOT(slotSetWidth()));
497 
-
498 void IntelliPhotoGui::createGui(){
-
499  // create a central widget to work on
-
500  centralGuiWidget = new QWidget(this);
-
501  setCentralWidget(centralGuiWidget);
+
498  actionSetInnerAlpha = new QAction(tr("&Set Inner Alpha"),this);
+
499  actionSetInnerAlpha->setShortcut(QKeySequence(Qt::ALT + Qt::Key_A));
+
500  connect(actionSetInnerAlpha, SIGNAL(triggered()), this, SLOT(slotSetInnerAlpha()));
+
501 }
502 
-
503  // create the grid for the layout
-
504  mainLayout = new QGridLayout(centralGuiWidget);
-
505  centralGuiWidget->setLayout(mainLayout);
-
506 
-
507  // create Gui elements
-
508  paintingArea = new PaintingArea();
-
509  paintingArea->DumpyGui = this;
-
510 
-
511  p = QPixmap(":/Icons/Buttons/icons/circle-tool.svg");
-
512  CircleButton = new QPushButton();
-
513  CircleButton->setFixedSize(Buttonsize);
-
514  CircleButton->setIcon(p);
-
515  CircleButton->setIconSize(Buttonsize);
-
516  CircleButton->setCheckable(true);
-
517 
-
518  p = QPixmap(":/Icons/Buttons/icons/flood-fill-tool.svg");
-
519  FloodFillButton = new QPushButton();
-
520  FloodFillButton->setFixedSize(Buttonsize);
-
521  FloodFillButton->setIcon(p);
-
522  FloodFillButton->setIconSize(Buttonsize);
-
523  FloodFillButton->setCheckable(true);
-
524 
-
525  p = QPixmap(":/Icons/Buttons/icons/icon.png");
-
526  LineButton = new QPushButton();
-
527  LineButton->setFixedSize(Buttonsize);
-
528  LineButton->setIcon(p);
-
529  LineButton->setIconSize(Buttonsize);
-
530  LineButton->setCheckable(true);
-
531 
-
532  p = QPixmap(":/Icons/Buttons/icons/pen-tool.svg");
-
533  PenButton = new QPushButton();
-
534  PenButton->setFixedSize(Buttonsize);
-
535  PenButton->setIcon(p);
-
536  PenButton->setIconSize(Buttonsize);
-
537  PenButton->setCheckable(true);
-
538 
-
539  p = QPixmap(":/Icons/Buttons/icons/icon.png");
-
540  PlainButton = new QPushButton();
-
541  PlainButton->setFixedSize(Buttonsize);
-
542  PlainButton->setIcon(p);
-
543  PlainButton->setIconSize(Buttonsize);
-
544  PlainButton->setCheckable(true);
-
545 
-
546  p = QPixmap(":/Icons/Buttons/icons/polygon-tool.svg");
-
547  PolygonButton = new QPushButton();
-
548  PolygonButton->setFixedSize(Buttonsize);
-
549  PolygonButton->setIcon(p);
-
550  PolygonButton->setIconSize(Buttonsize);
-
551  PolygonButton->setCheckable(true);
-
552 
-
553  p = QPixmap(":/Icons/Buttons/icons/rectangle-tool.svg");
-
554  RectangleButton = new QPushButton();
-
555  RectangleButton->setFixedSize(Buttonsize);
-
556  RectangleButton->setIcon(p);
-
557  RectangleButton->setIconSize(Buttonsize);
-
558  RectangleButton->setCheckable(true);
-
559 
-
560  WidthLine = new QLabel();
-
561  WidthLine->setText("Width");
-
562  WidthLine->setFixedSize(Buttonsize.width(),Buttonsize.height()/3);
+
503 // Create the menubar
+
504 void IntelliPhotoGui::createMenus(){
+
505  // Create Save As option and the list of file types
+
506  saveAsMenu = new QMenu(tr("&Save As"), this);
+
507  foreach (QAction * action, actionSaveAs)
+
508  saveAsMenu->addAction(action);
+
509 
+
510  // Attach all actions to File
+
511  fileMenu = new QMenu(tr("&File"), this);
+
512  fileMenu->addAction(actionOpen);
+
513  fileMenu->addMenu(saveAsMenu);
+
514  fileMenu->addSeparator();
+
515  fileMenu->addAction(actionExit);
+
516 
+
517  //Attach all actions to Render Settings
+
518  renderMenu = new QMenu(tr("&Fast Renderer"), this);
+
519  renderMenu->addAction(actionUpdateRenderSettingsOn);
+
520  renderMenu->addAction(actionUpdateRenderSettingsOff);
+
521 
+
522  //Attach all Layer Creations to Menu
+
523  layerCreationMenu = new QMenu(tr("&Create new Layer"), this);
+
524  layerCreationMenu->addAction(actionCreateNewRasterLayer);
+
525  layerCreationMenu->addAction(actionCreateNewShapedLayer);
+
526  // Attach all actions to Layer
+
527  layerMenu = new QMenu(tr("&Layer"), this);
+
528  layerMenu->addMenu(layerCreationMenu);
+
529  layerMenu->addSeparator();
+
530  layerMenu->addAction(actionSetActiveAlpha);
+
531  layerMenu->addAction(actionSetActiveLayer);
+
532  layerMenu->addAction(actionSetPolygon);
+
533  layerMenu->addSeparator();
+
534  layerMenu->addAction(actionMovePositionUp);
+
535  layerMenu->addAction(actionMovePositionDown);
+
536  layerMenu->addAction(actionMovePositionLeft);
+
537  layerMenu->addAction(actionMovePositionRight);
+
538  layerMenu->addAction(actionMoveLayerUp);
+
539  layerMenu->addAction(actionMoveLayerDown);
+
540  layerMenu->addSeparator();
+
541  layerMenu->addAction(actionDeleteLayer);
+
542 
+
543  //Attach all Color Options
+
544  colorMenu = new QMenu(tr("&Color"), this);
+
545  colorMenu->addAction(actionColorPickerFirstColor);
+
546  colorMenu->addAction(actionColorPickerSecondColor);
+
547  colorMenu->addAction(actionColorSwap);
+
548 
+
549  //Attach all Tool Creation Actions
+
550  toolCreationMenu = new QMenu(tr("&Drawingtools"), this);
+
551  toolCreationMenu->addAction(actionCreateCircleTool);
+
552  toolCreationMenu->addAction(actionCreateFloodFillTool);
+
553  toolCreationMenu->addAction(actionCreateLineTool);
+
554  toolCreationMenu->addAction(actionCreatePenTool);
+
555  toolCreationMenu->addAction(actionCreatePlainTool);
+
556  toolCreationMenu->addAction(actionCreatePolygonTool);
+
557  toolCreationMenu->addAction(actionCreateRectangleTool);
+
558 
+
559  //Attach all Tool Setting Actions
+
560  toolSettingsMenu = new QMenu(tr("&Toolsettings"), this);
+
561  toolSettingsMenu->addAction(actionSetWidth);
+
562  toolSettingsMenu->addAction(actionSetInnerAlpha);
563 
-
564  EditLineWidth = new QLineEdit();
-
565  EditLineWidth->setFixedSize(Buttonsize.width(),Buttonsize.height()/3);
-
566  EditLineWidth->setText("5");
-
567  ValidatorLineWidth = new QIntValidator();
-
568  ValidatorLineWidth->setTop(99);
-
569  ValidatorLineWidth->setBottom(1);
-
570  EditLineWidth->setValidator(ValidatorLineWidth);
-
571 
-
572  innerAlphaLine = new QLabel();
-
573  innerAlphaLine->setText("Inner Alpha");
-
574  innerAlphaLine->setFixedSize(Buttonsize.width(),Buttonsize.height()/3);
-
575 
-
576  EditLineInnerAlpha = new QLineEdit();
-
577  EditLineInnerAlpha->setFixedSize(Buttonsize.width(),Buttonsize.height()/3);
-
578  EditLineInnerAlpha->setText("255");
-
579  ValidatorInnerAlpha = new QIntValidator();
-
580  ValidatorInnerAlpha->setTop(999);
-
581  ValidatorInnerAlpha->setBottom(0);
-
582  EditLineInnerAlpha->setValidator(ValidatorInnerAlpha);
-
583 
-
584  FirstColorButton = new QPushButton();
-
585  FirstColorButton->setFixedSize(Buttonsize/2);
-
586 
-
587  SecondColorButton = new QPushButton();
-
588  SecondColorButton->setFixedSize(Buttonsize/2);
-
589 
-
590  p = QPixmap(":/Icons/Buttons/icons/Wechselpfeile.png");
-
591  SwitchColorButton = new QPushButton();
-
592  SwitchColorButton->setFixedSize(Buttonsize.width(),Buttonsize.height()/2);
-
593  SwitchColorButton->setIcon(p);
-
594  SwitchColorButton->setIconSize(QSize(Buttonsize.width(),Buttonsize.height()/2));
-
595 
-
596  ActiveLayerLine = new QLabel();
-
597  QString string = QString("Active Layer: %1").arg(paintingArea->getNumberOfActiveLayer());
-
598  ActiveLayerLine->setText(string);
-
599  ActiveLayerLine->setFixedSize(Buttonsize.width()+10,Buttonsize.height()/3);
-
600 
-
601  p = p.fromImage(paintingArea->getImageOfActiveLayer()->getImageData());
-
602 
-
603  ActiveLayerImageButton = new QPushButton();
-
604  ActiveLayerImageButton->setFixedSize(Buttonsize);
-
605  ActiveLayerImageButton->setIcon(p);
-
606  ActiveLayerImageButton->setIconSize(Buttonsize);
-
607 
-
608  // set gui elements
-
609 
-
610  mainLayout->addWidget(paintingArea,1,1,20,1);
-
611  mainLayout->addWidget(CircleButton,1,2,1,2);
-
612  mainLayout->addWidget(FloodFillButton,2,2,1,2);
-
613  mainLayout->addWidget(LineButton,3,2,1,2);
-
614  mainLayout->addWidget(PenButton,4,2,1,2);
-
615  mainLayout->addWidget(PlainButton,5,2,1,2);
-
616  mainLayout->addWidget(PolygonButton,6,2,1,2);
-
617  mainLayout->addWidget(RectangleButton,7,2,1,2);
-
618  mainLayout->addWidget(WidthLine,8,2,1,2);
-
619  mainLayout->addWidget(EditLineWidth,9,2,1,2);
-
620  mainLayout->addWidget(innerAlphaLine,10,2,1,2);
-
621  mainLayout->addWidget(EditLineInnerAlpha,11,2,1,2);
-
622  mainLayout->addWidget(FirstColorButton,12,2,1,1);
-
623  mainLayout->addWidget(SecondColorButton,12,3,1,1);
-
624  mainLayout->addWidget(SwitchColorButton,13,2,1,2);
-
625  mainLayout->addWidget(ActiveLayerLine,14,2,1,2);
-
626  mainLayout->addWidget(ActiveLayerImageButton,15,2,1,2);
-
627 }
-
628 
-
629 void IntelliPhotoGui::setIntelliStyle(){
-
630  // Set the title
-
631  setWindowTitle("IntelliPhoto Prototype");
-
632  // Set style sheet
-
633  this->setStyleSheet("background-color:rgb(64,64,64)");
-
634  this->centralGuiWidget->setStyleSheet("color:rgb(255,255,255)");
-
635  this->menuBar()->setStyleSheet("color:rgb(255,255,255)");
-
636  QString string = QString("background-color: %1").arg(paintingArea->colorPicker.getFirstColor().name());
-
637  FirstColorButton->setStyleSheet(string);
-
638  string = QString("background-color: %1").arg(paintingArea->colorPicker.getSecondColor().name());
-
639  SecondColorButton->setStyleSheet(string);
-
640 }
-
641 
-
642 bool IntelliPhotoGui::maybeSave(){
-
643  // Check for changes since last save
-
644 
-
645  // TODO insert variable for modified status here to make an save exit message
-
646  if (false) {
-
647  QMessageBox::StandardButton ret;
-
648 
-
649  // Painting is the title of the window
-
650  // Add text and the buttons
-
651  ret = QMessageBox::warning(this, tr("Painting"),
-
652  tr("The image has been modified.\n"
-
653  "Do you want to save your changes?"),
-
654  QMessageBox::Save | QMessageBox::Discard
-
655  | QMessageBox::Cancel);
-
656 
-
657  // If save button clicked call for file to be saved
-
658  if (ret == QMessageBox::Save) {
-
659  return saveFile("png");
-
660 
-
661  // If cancel do nothing
-
662  } else if (ret == QMessageBox::Cancel) {
-
663  return false;
-
664  }
-
665  }
-
666  return true;
-
667 }
-
668 
-
669 bool IntelliPhotoGui::saveFile(const QByteArray &fileFormat){
-
670  // Define path, name and default file type
-
671  QString initialPath = QDir::currentPath() + "/untitled." + fileFormat;
-
672 
-
673  // Get selected file from dialog
-
674  // Add the proper file formats and extensions
-
675  QString fileName = QFileDialog::getSaveFileName(this, tr("Save As"),
-
676  initialPath,
-
677  tr("%1 Files (*.%2);;All Files (*)")
-
678  .arg(QString::fromLatin1(fileFormat.toUpper()))
-
679  .arg(QString::fromLatin1(fileFormat)), nullptr, QFileDialog::DontUseNativeDialog);
+
564  //Attach all Tool Options
+
565  toolMenu = new QMenu(tr("&Tools"), this);
+
566  toolMenu->addMenu(toolCreationMenu);
+
567  toolMenu->addMenu(toolSettingsMenu);
+
568  toolMenu->addSeparator();
+
569  toolMenu->addMenu(colorMenu);
+
570 
+
571  // Attach all actions to Options
+
572  optionMenu = new QMenu(tr("&Options"), this);
+
573  optionMenu->addMenu(layerMenu);
+
574  optionMenu->addMenu(toolMenu);
+
575  optionMenu->addSeparator();
+
576  optionMenu->addMenu(renderMenu);
+
577 
+
578  // Attach all actions to Help
+
579  helpMenu = new QMenu(tr("&Help"), this);
+
580  helpMenu->addAction(actionAboutDialog);
+
581  helpMenu->addAction(actionAboutQtDialog);
+
582 
+
583  // Add menu items to the menubar
+
584  menuBar()->addMenu(fileMenu);
+
585  menuBar()->addMenu(optionMenu);
+
586  menuBar()->addMenu(helpMenu);
+
587 }
+
588 
+
589 void IntelliPhotoGui::createGui(){
+
590  // create a central widget to work on
+
591  centralGuiWidget = new QWidget(this);
+
592  setCentralWidget(centralGuiWidget);
+
593 
+
594  // create the grid for the layout
+
595  mainLayout = new QGridLayout(centralGuiWidget);
+
596  centralGuiWidget->setLayout(mainLayout);
+
597 
+
598  // create Gui elements
+
599  paintingArea = new PaintingArea();
+
600  paintingArea->DummyGui = this;
+
601 
+
602  preview = QPixmap(":/Icons/Buttons/icons/circle-tool.svg");
+
603  CircleButton = new QPushButton();
+
604  CircleButton->setFixedSize(Buttonsize);
+
605  CircleButton->setIcon(preview);
+
606  CircleButton->setIconSize(Buttonsize);
+
607  CircleButton->setCheckable(true);
+
608 
+
609  preview = QPixmap(":/Icons/Buttons/icons/flood-fill-tool.svg");
+
610  FloodFillButton = new QPushButton();
+
611  FloodFillButton->setFixedSize(Buttonsize);
+
612  FloodFillButton->setIcon(preview);
+
613  FloodFillButton->setIconSize(Buttonsize);
+
614  FloodFillButton->setCheckable(true);
+
615 
+
616  preview = QPixmap(":/Icons/Buttons/icons/line-tool.svg");
+
617  LineButton = new QPushButton();
+
618  LineButton->setFixedSize(Buttonsize);
+
619  LineButton->setIcon(preview);
+
620  LineButton->setIconSize(Buttonsize);
+
621  LineButton->setCheckable(true);
+
622 
+
623  preview = QPixmap(":/Icons/Buttons/icons/pen-tool.svg");
+
624  PenButton = new QPushButton();
+
625  PenButton->setFixedSize(Buttonsize);
+
626  PenButton->setIcon(preview);
+
627  PenButton->setIconSize(Buttonsize);
+
628  PenButton->setCheckable(true);
+
629 
+
630  preview = QPixmap(":/Icons/Buttons/icons/plain-tool.svg");
+
631  PlainButton = new QPushButton();
+
632  PlainButton->setFixedSize(Buttonsize);
+
633  PlainButton->setIcon(preview);
+
634  PlainButton->setIconSize(Buttonsize);
+
635  PlainButton->setCheckable(true);
+
636 
+
637  preview = QPixmap(":/Icons/Buttons/icons/polygon-tool.svg");
+
638  PolygonButton = new QPushButton();
+
639  PolygonButton->setFixedSize(Buttonsize);
+
640  PolygonButton->setIcon(preview);
+
641  PolygonButton->setIconSize(Buttonsize);
+
642  PolygonButton->setCheckable(true);
+
643 
+
644  preview = QPixmap(":/Icons/Buttons/icons/rectangle-tool.svg");
+
645  RectangleButton = new QPushButton();
+
646  RectangleButton->setFixedSize(Buttonsize);
+
647  RectangleButton->setIcon(preview);
+
648  RectangleButton->setIconSize(Buttonsize);
+
649  RectangleButton->setCheckable(true);
+
650 
+
651  WidthLine = new QLabel();
+
652  WidthLine->setText("Width");
+
653  WidthLine->setFixedSize(Buttonsize.width() * 2,(Buttonsize.height() * 2) / 3);
+
654 
+
655  EditLineWidth = new QLineEdit();
+
656  EditLineWidth->setFixedSize(Buttonsize.width() * 2,(Buttonsize.height() * 2) / 3);
+
657  EditLineWidth->setText("5");
+
658  ValidatorLineWidth = new QIntValidator();
+
659  ValidatorLineWidth->setTop(99);
+
660  ValidatorLineWidth->setBottom(1);
+
661  EditLineWidth->setValidator(ValidatorLineWidth);
+
662 
+
663  innerAlphaLine = new QLabel();
+
664  innerAlphaLine->setText("Inner Alpha");
+
665  innerAlphaLine->setFixedSize(Buttonsize.width() * 2,(Buttonsize.height() * 2) / 3);
+
666 
+
667  EditLineInnerAlpha = new QLineEdit();
+
668  EditLineInnerAlpha->setFixedSize(Buttonsize.width() * 2,(Buttonsize.height() * 2) / 3);
+
669  EditLineInnerAlpha->setText("255");
+
670  ValidatorInnerAlpha = new QIntValidator();
+
671  ValidatorInnerAlpha->setTop(999);
+
672  ValidatorInnerAlpha->setBottom(0);
+
673  EditLineInnerAlpha->setValidator(ValidatorInnerAlpha);
+
674 
+
675  FirstColorButton = new QPushButton();
+
676  FirstColorButton->setFixedSize(Buttonsize);
+
677 
+
678  SecondColorButton = new QPushButton();
+
679  SecondColorButton->setFixedSize(Buttonsize);
680 
-
681  // If no file do nothing
-
682  if (fileName.isEmpty()) {
-
683  return false;
-
684  } else {
-
685  // Call for the file to be saved
-
686  return paintingArea->save(fileName, fileFormat.constData());
-
687  }
-
688 }
-
689 
-
690 void IntelliPhotoGui::setDefaultToolValue(){
-
691  slotEnterPressed();
-
692 }
-
693 
- -
695  QString string = QString("Active Layer: %1").arg(paintingArea->getNumberOfActiveLayer());
-
696  ActiveLayerLine->setText(string);
-
697  p = p.fromImage(paintingArea->getImageOfActiveLayer()->getImageData());
-
698  ActiveLayerImageButton->setIcon(p);
-
699  ActiveLayerImageButton->setIconSize(Buttonsize);
+
681  preview = QPixmap(":/Icons/Buttons/icons/Wechselpfeile.png");
+
682  SwitchColorButton = new QPushButton();
+
683  SwitchColorButton->setFixedSize(Buttonsize.width() * 2,Buttonsize.height());
+
684  SwitchColorButton->setIcon(preview);
+
685  SwitchColorButton->setIconSize(QSize(Buttonsize.width() * 2,Buttonsize.height()));
+
686 
+
687  ActiveLayerLine = new QLabel();
+
688  QString string = QString("Active Layer: %1").arg(paintingArea->getNumberOfActiveLayer() + 1);
+
689  ActiveLayerLine->setText(string);
+
690  ActiveLayerLine->setFixedSize(Buttonsize.width() * 2 + 10,(Buttonsize.height() * 2) / 3);
+
691 
+
692  IntelliImage* activePicture = paintingArea->getImageOfActiveLayer();
+
693  if(activePicture) {
+
694  preview = preview.fromImage(activePicture->getImageData());
+
695  }else{
+
696  QImage tmp(1,1,QImage::Format_ARGB32);
+
697  tmp.fill(Qt::transparent);
+
698  preview = preview.fromImage(tmp);
+
699  }
700 
-
701  string = QString("background-color: %1").arg(paintingArea->colorPicker.getFirstColor().name());
-
702  FirstColorButton->setStyleSheet(string);
-
703  string = QString("background-color: %1").arg(paintingArea->colorPicker.getSecondColor().name());
-
704  SecondColorButton->setStyleSheet(string);
-
705 }
+
701  ActiveLayerImageLabel = new QLabel();
+
702  ActiveLayerImageLabel->setFixedSize(Buttonsize * 2);
+
703  ActiveLayerImageLabel->setPixmap(preview.scaled(Buttonsize * 2));
+
704 
+
705  // set gui elements
+
706  mainLayout->addWidget(paintingArea,1,1,20,1);
+
707  mainLayout->addWidget(CircleButton,1,2,1,1);
+
708  mainLayout->addWidget(FloodFillButton,1,3,1,1);
+
709  mainLayout->addWidget(LineButton,2,2,1,1);
+
710  mainLayout->addWidget(PenButton,2,3,1,1);
+
711  mainLayout->addWidget(PlainButton,3,2,1,1);
+
712  mainLayout->addWidget(PolygonButton,3,3,1,1);
+
713  mainLayout->addWidget(RectangleButton,4,2,1,1);
+
714  mainLayout->addWidget(WidthLine,5,2,1,2);
+
715  mainLayout->addWidget(EditLineWidth,6,2,1,2);
+
716  mainLayout->addWidget(innerAlphaLine,7,2,1,2);
+
717  mainLayout->addWidget(EditLineInnerAlpha,8,2,1,2);
+
718  mainLayout->addWidget(FirstColorButton,9,2,1,1);
+
719  mainLayout->addWidget(SecondColorButton,9,3,1,1);
+
720  mainLayout->addWidget(SwitchColorButton,10,2,1,2);
+
721  mainLayout->addWidget(ActiveLayerLine,11,2,1,2);
+
722  mainLayout->addWidget(ActiveLayerImageLabel,12,2,1,2);
+
723  mainLayout->setHorizontalSpacing(0);
+
724 }
+
725 
+
726 void IntelliPhotoGui::setIntelliStyle(){
+
727  // Set the title
+
728  setWindowTitle("IntelliPhoto Prototype");
+
729  // Set style sheet
+
730  this->setStyleSheet("color: white;" "background-color: rgb(64, 64, 64);" "selection-color: rgb(200, 10, 10);" "selection-background-color: rgb(64, 64, 64);");
+
731 
+
732  QString string = QString("background-color: %1").arg(paintingArea->colorPicker.getFirstColor().name());
+
733  FirstColorButton->setStyleSheet(string);
+
734  string = QString("background-color: %1").arg(paintingArea->colorPicker.getSecondColor().name());
+
735  SecondColorButton->setStyleSheet(string);
+
736 }
+
737 
+
738 bool IntelliPhotoGui::maybeSave(){
+
739  // Check for changes since last save
+
740 
+
741  // TODO insert variable for modified status here to make an save exit message
+
742  if (false) {
+
743  QMessageBox::StandardButton ret;
+
744 
+
745  // Painting is the title of the window
+
746  // Add text and the buttons
+
747  ret = QMessageBox::warning(this, tr("Painting"),
+
748  tr("The image has been modified.\n"
+
749  "Do you want to save your changes?"),
+
750  QMessageBox::Save | QMessageBox::Discard
+
751  | QMessageBox::Cancel);
+
752 
+
753  // If save button clicked call for file to be saved
+
754  if (ret == QMessageBox::Save) {
+
755  return saveFile("png");
+
756 
+
757  // If cancel do nothing
+
758  } else if (ret == QMessageBox::Cancel) {
+
759  return false;
+
760  }
+
761  }
+
762  return true;
+
763 }
+
764 
+
765 bool IntelliPhotoGui::saveFile(const QByteArray &fileFormat){
+
766  // Define path, name and default file type
+
767  QString initialPath = QDir::currentPath() + "/untitled." + fileFormat;
+
768 
+
769  // Get selected file from dialog
+
770  // Add the proper file formats and extensions
+
771  QString fileName = QFileDialog::getSaveFileName(this, tr("Save As"),
+
772  initialPath,
+
773  tr("%1 Files (*.%2);;All Files (*)")
+
774  .arg(QString::fromLatin1(fileFormat.toUpper()))
+
775  .arg(QString::fromLatin1(fileFormat)), nullptr, QFileDialog::DontUseNativeDialog);
+
776 
+
777  // If no file do nothing
+
778  if (fileName.isEmpty()) {
+
779  return false;
+
780  } else {
+
781  // Call for the file to be saved
+
782  return paintingArea->save(fileName, fileFormat.constData());
+
783  }
+
784 }
+
785 
+
786 void IntelliPhotoGui::setDefaultToolValue(){
+
787  slotEnterPressed();
+
788 }
+
789 
+ +
791  if(value < 1) {
+
792  value = 1;
+
793  }else if(value > 50) {
+
794  value = 50;
+
795  }
+
796  EditLineWidth->setText(QString("%1").arg(value));
+
797 }
+
798 
+ +
800  QString string = QString("Active Layer: %1").arg(paintingArea->getNumberOfActiveLayer() + 1);
+
801  ActiveLayerLine->setText(string);
+
802 
+
803  IntelliImage* activePicture = paintingArea->getImageOfActiveLayer();
+
804  if(activePicture) {
+
805  preview = preview.fromImage(activePicture->getImageData());
+
806  }else{
+
807  QImage tmp(1,1,QImage::Format_ARGB32);
+
808  tmp.fill(Qt::transparent);
+
809  preview = preview.fromImage(tmp);
+
810  }
+
811  ActiveLayerImageLabel->setPixmap(preview.scaled(Buttonsize * 2));
+
812 
+
813  string = QString("background-color: %1").arg(paintingArea->colorPicker.getFirstColor().name());
+
814  FirstColorButton->setStyleSheet(string);
+
815  string = QString("background-color: %1").arg(paintingArea->colorPicker.getSecondColor().name());
+
816  SecondColorButton->setStyleSheet(string);
+
817 }
-
void createCircleTool()
-
IntelliImage * getImageOfActiveLayer()
-
void createRectangleTool()
- -
bool save(const QString &filePath, const char *fileFormat)
The save method is used for exporting the current project as one picture.
-
void setLayerAlpha(int idx, int alpha)
The setAlphaOfLayer method sets the alpha value of a specific layer.
-
void setLayerActive(int idx)
The setLayerToActive method marks a specific layer as active.
-
void floodFill(int r, int g, int b, int a)
The floodFill method fills a the active layer with a given color.
-
QColor getSecondColor()
A function to read the secondary selected color.
-
void deleteLayer(int idx)
The deleteLayer method removes a layer at a given idx.
-
void createPlainTool()
+
void createCircleTool()
+
void setRenderSettings(bool isFastRenderingOn)
setRenderSettings updates all Images to the new Rendersetting.
+
IntelliImage * getImageOfActiveLayer()
+
void createRectangleTool()
+ +
bool save(const QString &filePath, const char *fileFormat)
The save method is used for exporting the current project as one picture.
+
void setLayerAlpha(int idx, int alpha)
The setAlphaOfLayer method sets the alpha value of a specific layer.
+
void setLayerActive(int idx)
The setLayerToActive method marks a specific layer as active.
+ +
void deleteLayer(int idx, bool isTool=false)
The deleteLayer method removes a layer at a given idx.
+
QColor getSecondColor()
A function to read the secondary selected color.
+
void createPlainTool()
IntelliPhotoGui()
The IntelliPhotoGui method is the constructor and is used to create a new instance of the main progra...
-
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:37
-
void createPenTool()
-
void createLineTool()
-
void colorPickerSetSecondColor()
The colorPickerSetSecondColor calls the QTColorPicker to determine the secondary drawing color.
-
void colorPickerSetFirstColor()
The colorPickerSetFirstColor calls the QTColorPicker to determine the primary drawing color.
+
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:53
+
void createPenTool()
+
void createLineTool()
+
void colorPickerSetSecondColor()
The colorPickerSetSecondColor calls the QTColorPicker to determine the secondary drawing color.
+
void colorPickerSetFirstColor()
The colorPickerSetFirstColor calls the QTColorPicker to determine the primary drawing color.
+
static int getInt(QString Title=nullptr, QString Label=nullptr, int value=5, int minValue=-2147483647, int maxValue=2147483647, int step=1, bool *ok=nullptr)
-
int getNumberOfActiveLayer()
-
void closeEvent(QCloseEvent *event) override
-
virtual QImage getImageData()
getImageData returns the data of the current image.
-
bool open(const QString &filePath)
The open method is used for loading a picture into the current layer.
-
void createPolygonTool()
-
void moveActiveLayer(int idx)
The moveActiveLayer moves the active layer to a specific position in the layer stack.
-
IntelliColorPicker colorPicker
Definition: PaintingArea.h:175
+
int getNumberOfActiveLayer()
+ +
void closeEvent(QCloseEvent *event) override
The closeEvent function handles closing events.
+
virtual QImage getImageData()
getImageData returns the data of the current image (Note: It will allways return a ARGB32bit QImage!...
+
void setToolWidth(int value)
+
bool open(const QString &filePath)
The open method is used for loading a picture into the current layer.
+
void createPolygonTool()
+
void moveActiveLayer(int idx)
The moveActiveLayer moves the active layer to a specific position in the layer stack.
+
IntelliColorPicker colorPicker
Definition: PaintingArea.h:202
-
QColor getFirstColor()
A function to read the primary selected color.
-
void createFloodFillTool()
- -
IntelliToolsettings Toolsettings
Definition: PaintingArea.h:174
-
void colorPickerSwapColors()
The colorPickerSwitchColor swaps the primary color with the secondary drawing color.
-
void movePositionActive(int x, int y)
The movePositionActive method moves the active layer to certain position.
- -
int addLayer(int width, int height, int widthOffset=0, int heightOffset=0, IntelliImage::ImageType type=IntelliImage::ImageType::RASTERIMAGE)
The addLayer adds a layer to the current project/ painting area.
+
QColor getFirstColor()
A function to read the primary selected color.
+
void createFloodFillTool()
+
void setInnerAlpha(int innerAlpha)
+ + +
IntelliToolsettings Toolsettings
Definition: PaintingArea.h:201
+
void setPolygon(int idx)
setPolygon is used for setting polygondata, it only works on RASTER images
+
void setLineWidth(int LineWidth)
+
void colorPickerSwapColors()
The colorPickerSwitchColor swaps the primary color with the secondary drawing color.
+
void movePositionActive(int x, int y)
The movePositionActive method moves the active layer to certain position.
+
An abstract class which manages the basic IntelliImage operations.
Definition: IntelliImage.h:22
+
int addLayer(int width, int height, int widthOffset=0, int heightOffset=0, IntelliImage::ImageType type=IntelliImage::ImageType::RASTERIMAGE)
The addLayer adds a layer to the current project/ painting area.
diff --git a/docs/html/_intelli_photo_gui_8h.html b/docs/html/_intelli_photo_gui_8h.html index e64e9bf..0cbd36f 100644 --- a/docs/html/_intelli_photo_gui_8h.html +++ b/docs/html/_intelli_photo_gui_8h.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/GUI/IntelliPhotoGui.h File Reference +IntelliPhoto: src/GUI/IntelliPhotoGui.h File Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -92,8 +88,12 @@ $(document).ready(function(){initNavTree('_intelli_photo_gui_8h.html','');});
IntelliPhotoGui.h File Reference
-
#include <QtWidgets>
-#include <QPixmap>
+
#include <QAction>
+#include <QFileDialog>
+#include <QMessageBox>
+#include <QImageWriter>
+#include <QMenu>
+#include <QMenuBar>
#include <QList>
#include <QMainWindow>
#include <QGridLayout>
@@ -101,13 +101,14 @@ $(document).ready(function(){initNavTree('_intelli_photo_gui_8h.html','');}); #include <QTextEdit>
#include <QLabel>
#include <QLineEdit>
+#include "IntelliInputDialog.h"

Go to the source code of this file.

- +

Classes

class  IntelliPhotoGui
 The IntelliPhotoGui class handles the graphical user interface for the intelliPhoto program. More...
 The IntelliPhotoGui base class handles the graphical user interface and events for the intelliPhoto program. More...
 
@@ -115,10 +116,10 @@ Classes diff --git a/docs/html/_intelli_photo_gui_8h_source.html b/docs/html/_intelli_photo_gui_8h_source.html index 2646100..918ad77 100644 --- a/docs/html/_intelli_photo_gui_8h_source.html +++ b/docs/html/_intelli_photo_gui_8h_source.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/GUI/IntelliPhotoGui.h Source File +IntelliPhoto: src/GUI/IntelliPhotoGui.h Source File @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@
- +
@@ -93,187 +89,214 @@ $(document).ready(function(){initNavTree('_intelli_photo_gui_8h_source.html','') Go to the documentation of this file.
1 #ifndef IntelliPhotoGui_H
2 #define IntelliPhotoGui_H
3 
-
4 #include <QtWidgets>
-
5 #include <QPixmap>
-
6 #include <QList>
-
7 #include <QMainWindow>
-
8 #include <QGridLayout>
-
9 #include <QPushButton>
-
10 #include <QTextEdit>
-
11 #include <QLabel>
-
12 #include <QLineEdit>
-
13 
-
14 // PaintingArea used to paint the image
-
15 class PaintingArea;
-
16 
-
17 class IntelliTool;
+
4 #include <QAction>
+
5 #include <QFileDialog>
+
6 #include <QMessageBox>
+
7 #include <QImageWriter>
+
8 #include <QMenu>
+
9 #include <QMenuBar>
+
10 #include <QList>
+
11 #include <QMainWindow>
+
12 #include <QGridLayout>
+
13 #include <QPushButton>
+
14 #include <QTextEdit>
+
15 #include <QLabel>
+
16 #include <QLineEdit>
+
17 #include "IntelliInputDialog.h"
18 
-
19 class IntelliColorPicker;
-
20 
-
24 class IntelliPhotoGui : public QMainWindow {
-
25 // Declares our class as a QObject which is the base class
-
26 // for all Qt objects
-
27 // QObjects handle events
-
28 Q_OBJECT
-
29 public:
- -
34 
-
35 void UpdateGui();
-
36 
-
37 protected:
-
38 // Function used to close an event
-
39 void closeEvent(QCloseEvent*event) override;
-
40 
-
41 private slots:
-
42 // meta slots here (need further )
-
43 void slotOpen();
-
44 void slotSave();
+
19 //for unit testing
+
20 class UnitTest;
+
21 
+
22 // PaintingArea used to paint the image
+
23 class PaintingArea;
+
24 
+
25 class IntelliTool;
+
26 
+
27 class IntelliColorPicker;
+
28 
+
32 class IntelliPhotoGui : public QMainWindow {
+
33 friend UnitTest;
+
34 // Declares our class as a QObject which is the base class
+
35 // for all Qt objects
+
36 // QObjects handle events
+
37 Q_OBJECT
+
38 public:
+ +
43 
+
44 void UpdateGui();
45 
-
46 // layer slots here
-
47 void slotCreateNewLayer();
-
48 void slotDeleteLayer();
-
49 void slotClearActiveLayer();
-
50 void slotSetActiveLayer();
-
51 void slotSetActiveAlpha();
-
52 void slotPositionMoveUp();
-
53 void slotPositionMoveDown();
-
54 void slotPositionMoveLeft();
-
55 void slotPositionMoveRight();
-
56 void slotMoveLayerUp();
-
57 void slotMoveLayerDown();
-
58 
-
59 // color Picker slots here
-
60 void slotSetFirstColor();
-
61 void slotSetSecondColor();
-
62 void slotSwapColor();
-
63 
-
64 // tool slots here
-
65 void slotCreatePenTool();
-
66 void slotCreatePlainTool();
-
67 void slotCreateLineTool();
-
68 void slotCreateRectangleTool();
-
69 void slotCreateCircleTool();
-
70 void slotCreatePolygonTool();
-
71 void slotCreateFloodFillTool();
-
72 
-
73 // slots for dialogs
-
74 void slotAboutDialog();
-
75 
-
76 void slotEnterPressed();
-
77 
-
78 void slotResetTools();
-
79 
-
80 private:
-
81 // Will tie user actions to functions
-
82 void createActions();
-
83 void createMenus();
-
84 // setup GUI elements
-
85 void createGui();
-
86 // set style of the GUI
-
87 void setIntelliStyle();
+
46 void setToolWidth(int value);
+
47 
+
48 protected:
+
52 void closeEvent(QCloseEvent*event) override;
+
53 
+
54 private slots:
+
55 void slotOpen();
+
56 void slotSave();
+
57 
+
58 // layer slots here
+
59 void slotCreateNewRasterLayer();
+
60 void slotCreateNewShapedLayer();
+
61 void slotDeleteLayer();
+
62 void slotSetActiveLayer();
+
63 void slotSetActiveAlpha();
+
64 void slotSetPolygon();
+
65 void slotPositionMoveUp();
+
66 void slotPositionMoveDown();
+
67 void slotPositionMoveLeft();
+
68 void slotPositionMoveRight();
+
69 void slotMoveLayerUp();
+
70 void slotMoveLayerDown();
+
71 
+
72 void slotUpdateRenderSettingsOn();
+
73 void slotUpdateRenderSettingsOff();
+
74 
+
75 void slotSetFirstColor();
+
76 void slotSetSecondColor();
+
77 void slotSwapColor();
+
78 
+
79 void slotCreatePenTool();
+
80 void slotCreatePlainTool();
+
81 void slotCreateLineTool();
+
82 void slotCreateRectangleTool();
+
83 void slotCreateCircleTool();
+
84 void slotCreatePolygonTool();
+
85 void slotCreateFloodFillTool();
+
86 
+
87 void slotAboutDialog();
88 
-
89 // Will check if changes have occurred since last save
-
90 bool maybeSave();
-
91 // Opens the Save dialog and saves
-
92 bool saveFile(const QByteArray &fileFormat);
+
89 void slotEnterPressed();
+
90 
+
91 void slotSetWidth();
+
92 void slotSetInnerAlpha();
93 
-
94 void setDefaultToolValue();
+
94 void slotResetTools();
95 
-
96 // What we'll draw on
-
97 PaintingArea* paintingArea;
-
98 
-
99 const QSize Buttonsize = QSize(70,70);
-
100 QPixmap p;
-
101 QPushButton* CircleButton;
-
102 QPushButton* FloodFillButton;
-
103 QPushButton* LineButton;
-
104 QPushButton* PenButton;
-
105 QPushButton* PlainButton;
-
106 QPushButton* PolygonButton;
-
107 QPushButton* RectangleButton;
-
108 QLabel* WidthLine;
-
109 QLabel* innerAlphaLine;
-
110 QLineEdit* EditLineWidth;
-
111 QLineEdit* EditLineInnerAlpha;
-
112 QIntValidator* ValidatorLineWidth;
-
113 QIntValidator* ValidatorInnerAlpha;
-
114 
-
115 QPushButton* FirstColorButton;
-
116 QPushButton* SecondColorButton;
-
117 QPushButton* SwitchColorButton;
-
118 
-
119 QLabel* ActiveLayerLine;
-
120 QPushButton* ActiveLayerImageButton;
-
121 
-
122 // The menu widgets
-
123 QMenu*saveAsMenu;
-
124 QMenu*fileMenu;
-
125 QMenu*optionMenu;
-
126 QMenu*layerMenu;
-
127 QMenu*colorMenu;
-
128 QMenu*toolMenu;
-
129 QMenu*helpMenu;
-
130 
-
131 // All the actions that can occur
-
132 // meta image actions (need further modularisation)
-
133 QAction*actionOpen;
-
134 QAction*actionExit;
+
96 private:
+
97 void createActions();
+
98 void createMenus();
+
99 void createGui();
+
100 // Set the style of the GUI
+
101 void setIntelliStyle();
+
102 
+
103 // Will check if changes have occurred since last save
+
104 bool maybeSave();
+
105 // Opens the Save dialog and saves
+
106 bool saveFile(const QByteArray &fileFormat);
+
107 
+
108 void setDefaultToolValue();
+
109 
+
110 // What we'll draw on
+
111 PaintingArea* paintingArea;
+
112 
+
113 const QSize Buttonsize = QSize(35,35);
+
114 QPixmap preview;
+
115 QPushButton* CircleButton;
+
116 QPushButton* FloodFillButton;
+
117 QPushButton* LineButton;
+
118 QPushButton* PenButton;
+
119 QPushButton* PlainButton;
+
120 QPushButton* PolygonButton;
+
121 QPushButton* RectangleButton;
+
122 QLabel* WidthLine;
+
123 QLabel* innerAlphaLine;
+
124 QLineEdit* EditLineWidth;
+
125 QLineEdit* EditLineInnerAlpha;
+
126 QIntValidator* ValidatorLineWidth;
+
127 QIntValidator* ValidatorInnerAlpha;
+
128 
+
129 QPushButton* FirstColorButton;
+
130 QPushButton* SecondColorButton;
+
131 QPushButton* SwitchColorButton;
+
132 
+
133 QLabel* ActiveLayerLine;
+
134 QLabel* ActiveLayerImageLabel;
135 
-
136 // color Picker actions
-
137 QAction*actionColorPickerFirstColor;
-
138 QAction*actionColorPickerSecondColor;
-
139 QAction*actionColorSwap;
-
140 
-
141 // tool actions
-
142 QAction*actionCreatePenTool;
-
143 QAction*actionCreatePlainTool;
-
144 QAction*actionCreateLineTool;
-
145 QAction*actionCreateRectangleTool;
-
146 QAction*actionCreateCircleTool;
-
147 QAction*actionCreatePolygonTool;
-
148 QAction*actionCreateFloodFillTool;
-
149 
-
150 // dialog actions
-
151 QAction*actionAboutDialog;
-
152 QAction*actionAboutQtDialog;
+
136 // The menu widgets
+
137 QMenu*saveAsMenu;
+
138 QMenu*fileMenu;
+
139 QMenu*renderMenu;
+
140 QMenu*optionMenu;
+
141 QMenu*layerCreationMenu;
+
142 QMenu*layerMenu;
+
143 QMenu*colorMenu;
+
144 QMenu*toolCreationMenu;
+
145 QMenu*toolSettingsMenu;
+
146 QMenu*toolMenu;
+
147 QMenu*helpMenu;
+
148 
+
149 // All the actions that can occur
+
150 // meta image actions (need further modularisation)
+
151 QAction* actionOpen;
+
152 QAction* actionExit;
153 
-
154 // layer change actions
-
155 QAction*actionCreateNewLayer;
-
156 QAction*actionDeleteLayer;
-
157 QAction* actionSetActiveLayer;
-
158 QAction* actionSetActiveAlpha;
-
159 QAction* actionMovePositionUp;
-
160 QAction* actionMovePositionDown;
-
161 QAction* actionMovePositionLeft;
-
162 QAction* actionMovePositionRight;
-
163 QAction* actionMoveLayerUp;
-
164 QAction* actionMoveLayerDown;
-
165 
-
166 // Actions tied to specific file formats
-
167 QList<QAction*> actionSaveAs;
-
168 
-
169 // main GUI elements
-
170 QWidget* centralGuiWidget;
-
171 QGridLayout* mainLayout;
-
172 };
-
173 
-
174 #endif
+
154 //Rendersetting actions
+
155 QAction*actionUpdateRenderSettingsOn;
+
156 QAction*actionUpdateRenderSettingsOff;
+
157 
+
158 // color Picker actions
+
159 QAction* actionColorPickerFirstColor;
+
160 QAction* actionColorPickerSecondColor;
+
161 QAction* actionColorSwap;
+
162 
+
163 // tool actions
+
164 QAction* actionCreatePenTool;
+
165 QAction* actionCreatePlainTool;
+
166 QAction* actionCreateLineTool;
+
167 QAction* actionCreateRectangleTool;
+
168 QAction* actionCreateCircleTool;
+
169 QAction* actionCreatePolygonTool;
+
170 QAction* actionCreateFloodFillTool;
+
171 
+
172 // dialog actions
+
173 QAction* actionAboutDialog;
+
174 QAction* actionAboutQtDialog;
+
175 
+
176 // layer change actions
+
177 QAction* actionCreateNewRasterLayer;
+
178 QAction* actionCreateNewShapedLayer;
+
179 QAction* actionDeleteLayer;
+
180 QAction* actionSetActiveLayer;
+
181 QAction* actionSetActiveAlpha;
+
182 QAction* actionSetPolygon;
+
183 QAction* actionMovePositionUp;
+
184 QAction* actionMovePositionDown;
+
185 QAction* actionMovePositionLeft;
+
186 QAction* actionMovePositionRight;
+
187 QAction* actionMoveLayerUp;
+
188 QAction* actionMoveLayerDown;
+
189 
+
190 // Actions tied to specific file formats
+
191 QList<QAction*> actionSaveAs;
+
192 
+
193 QAction* actionSetWidth;
+
194 QAction* actionSetInnerAlpha;
+
195 
+
196 // main GUI elements
+
197 QWidget* centralGuiWidget;
+
198 QGridLayout* mainLayout;
+
199 };
+
200 
+
201 #endif
-
The IntelliPhotoGui class handles the graphical user interface for the intelliPhoto program.
+ +
The IntelliPhotoGui base class handles the graphical user interface and events for the intelliPhoto p...
IntelliPhotoGui()
The IntelliPhotoGui method is the constructor and is used to create a new instance of the main progra...
-
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:37
-
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:14
-
void closeEvent(QCloseEvent *event) override
-
The IntelliColorPicker manages the selected colors for one whole project.
- +
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:53
+
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:17
+
void closeEvent(QCloseEvent *event) override
The closeEvent function handles closing events.
+
void setToolWidth(int value)
+
The IntelliColorPicker manages the selected colors for one whole project.
+ + diff --git a/docs/html/_intelli_raster_image_8cpp.html b/docs/html/_intelli_raster_image_8cpp.html index fce04ab..00fea0b 100644 --- a/docs/html/_intelli_raster_image_8cpp.html +++ b/docs/html/_intelli_raster_image_8cpp.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Image/IntelliRasterImage.cpp File Reference +IntelliPhoto: src/Image/IntelliRasterImage.cpp File Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -101,10 +97,10 @@ $(document).ready(function(){initNavTree('_intelli_raster_image_8cpp.html','');} diff --git a/docs/html/_intelli_raster_image_8cpp_source.html b/docs/html/_intelli_raster_image_8cpp_source.html index 0ce5b69..cfbef61 100644 --- a/docs/html/_intelli_raster_image_8cpp_source.html +++ b/docs/html/_intelli_raster_image_8cpp_source.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Image/IntelliRasterImage.cpp Source File +IntelliPhoto: src/Image/IntelliRasterImage.cpp Source File @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@
- +
@@ -98,7 +94,7 @@ $(document).ready(function(){initNavTree('_intelli_raster_image_8cpp_source.html
6 IntelliRasterImage::IntelliRasterImage(int width, int height, bool fastRendererOn)
7  : IntelliImage(width, height, fastRendererOn){
-
9  this->fastRenderer = fastRendererOn;
+
9  this->fastRenderering = fastRendererOn;
10 }
11 
@@ -122,7 +118,7 @@ $(document).ready(function(){initNavTree('_intelli_raster_image_8cpp_source.html
30 
31 QImage IntelliRasterImage::getDisplayable(const QSize& displaySize, int alpha){
32  QImage copy = imageData;
-
33  if(fastRenderer) {
+
33  if(fastRenderering) {
34  copy = copy.convertToFormat(QImage::Format_ARGB32);
35  }
36  for(int y = 0; y<copy.height(); y++) {
@@ -132,38 +128,37 @@ $(document).ready(function(){initNavTree('_intelli_raster_image_8cpp_source.html
40  copy.setPixelColor(x,y, clr);
41  }
42  }
-
43  if(fastRenderer) {
+
43  if(fastRenderering) {
44  copy = copy.convertToFormat(QImage::Format_Indexed8);
45  }
46  return copy.scaled(displaySize,Qt::IgnoreAspectRatio);
47 }
48 
49 void IntelliRasterImage::setPolygon(const std::vector<QPoint>& polygonData){
-
50  qDebug() << "Raster Image has no polygon data " << polygonData.size() <<"\n";
-
51  return;
-
52 }
+
50  return;
+
51 }
virtual ~IntelliRasterImage() override
An Destructor.
IntelliRasterImage(int width, int height, bool fastRendererOn)
The Construcor of the IntelliRasterImage. Given the Image dimensions.
+
bool fastRenderering
fastRendering is the flag that represents the usage of 8bit pictures.
Definition: IntelliImage.h:51
virtual QImage getDisplayable(const QSize &displaySize, int alpha) override
A function returning the displayable ImageData in a requested transparence and size.
-
ImageType TypeOfImage
The Type, an Image is.
Definition: IntelliImage.h:42
-
bool fastRenderer
fastRenderer is the flag that represents the usage of 8bit pictures.
Definition: IntelliImage.h:47
- -
QImage imageData
The underlying image data.
Definition: IntelliImage.h:37
-
An abstract class which manages the basic IntelliImage operations.
Definition: IntelliImage.h:19
+
ImageType TypeOfImage
The Type, an Image is.
Definition: IntelliImage.h:46
+ +
QImage imageData
The underlying image data.
Definition: IntelliImage.h:41
+
An abstract class which manages the basic IntelliImage operations.
Definition: IntelliImage.h:22
virtual IntelliImage * getDeepCopy() override
A function that copys all that returns a [allocated] Image.
virtual void calculateVisiblity() override
A function that calculates the visibility of the image if a polygon is given. [does nothing in RASTER...
virtual void setPolygon(const std::vector< QPoint > &polygonData) override
An abstract function that sets the data of the visible Polygon, if needed.
-
The IntelliRasterImage manages a RASTERIMAGE.
+
The IntelliRasterImage manages a RASTERIMAGE.
diff --git a/docs/html/_intelli_raster_image_8h.html b/docs/html/_intelli_raster_image_8h.html index 8875fba..bbb081a 100644 --- a/docs/html/_intelli_raster_image_8h.html +++ b/docs/html/_intelli_raster_image_8h.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Image/IntelliRasterImage.h File Reference +IntelliPhoto: src/Image/IntelliRasterImage.h File Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -107,10 +103,10 @@ Classes diff --git a/docs/html/_intelli_raster_image_8h_source.html b/docs/html/_intelli_raster_image_8h_source.html index 768a7de..b9ac13d 100644 --- a/docs/html/_intelli_raster_image_8h_source.html +++ b/docs/html/_intelli_raster_image_8h_source.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Image/IntelliRasterImage.h Source File +IntelliPhoto: src/Image/IntelliRasterImage.h Source File @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@
- +
@@ -95,44 +91,49 @@ $(document).ready(function(){initNavTree('_intelli_raster_image_8h_source.html',
3 
4 #include "Image/IntelliImage.h"
5 
- -
10 friend IntelliTool;
-
11 protected:
-
15 virtual void calculateVisiblity() override;
-
16 public:
-
23 IntelliRasterImage(int width, int height, bool fastRendererOn);
-
24 
-
28 virtual ~IntelliRasterImage() override;
-
29 
-
36 virtual QImage getDisplayable(const QSize& displaySize,int alpha) override;
-
37 
-
43 virtual QImage getDisplayable(int alpha=255) override;
-
44 
-
49 virtual IntelliImage* getDeepCopy() override;
-
50 
-
55 virtual void setPolygon(const std::vector<QPoint>& polygonData) override;
-
56 };
-
57 
-
58 #endif
+
6 //for unit testing
+
7 class UnitTest;
+
8 
+ +
13  friend UnitTest;
+
14 friend IntelliTool;
+
15 protected:
+
19 virtual void calculateVisiblity() override;
+
20 public:
+
27 IntelliRasterImage(int width, int height, bool fastRendererOn);
+
28 
+
32 virtual ~IntelliRasterImage() override;
+
33 
+
40 virtual QImage getDisplayable(const QSize& displaySize,int alpha) override;
+
41 
+
47 virtual QImage getDisplayable(int alpha = 255) override;
+
48 
+
53 virtual IntelliImage* getDeepCopy() override;
+
54 
+
59 virtual void setPolygon(const std::vector<QPoint>& polygonData) override;
+
60 };
+
61 
+
62 #endif
virtual ~IntelliRasterImage() override
An Destructor.
IntelliRasterImage(int width, int height, bool fastRendererOn)
The Construcor of the IntelliRasterImage. Given the Image dimensions.
-
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:14
+
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:17
virtual QImage getDisplayable(const QSize &displaySize, int alpha) override
A function returning the displayable ImageData in a requested transparence and size.
-
An abstract class which manages the basic IntelliImage operations.
Definition: IntelliImage.h:19
+ +
An abstract class which manages the basic IntelliImage operations.
Definition: IntelliImage.h:22
virtual IntelliImage * getDeepCopy() override
A function that copys all that returns a [allocated] Image.
virtual void calculateVisiblity() override
A function that calculates the visibility of the image if a polygon is given. [does nothing in RASTER...
virtual void setPolygon(const std::vector< QPoint > &polygonData) override
An abstract function that sets the data of the visible Polygon, if needed.
-
The IntelliRasterImage manages a RASTERIMAGE.
+
The IntelliRasterImage manages a RASTERIMAGE.
diff --git a/docs/html/_intelli_render_settings_8cpp.html b/docs/html/_intelli_render_settings_8cpp.html index 5893ff2..713fb11 100644 --- a/docs/html/_intelli_render_settings_8cpp.html +++ b/docs/html/_intelli_render_settings_8cpp.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/IntelliHelper/IntelliRenderSettings.cpp File Reference +IntelliPhoto: src/IntelliHelper/IntelliRenderSettings.cpp File Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -98,10 +94,10 @@ $(document).ready(function(){initNavTree('_intelli_render_settings_8cpp.html','' diff --git a/docs/html/_intelli_render_settings_8cpp_source.html b/docs/html/_intelli_render_settings_8cpp_source.html index 217f8d6..ddb0034 100644 --- a/docs/html/_intelli_render_settings_8cpp_source.html +++ b/docs/html/_intelli_render_settings_8cpp_source.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/IntelliHelper/IntelliRenderSettings.cpp Source File +IntelliPhoto: src/IntelliHelper/IntelliRenderSettings.cpp Source File @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@
- +
@@ -97,21 +93,26 @@ $(document).ready(function(){initNavTree('_intelli_render_settings_8cpp_source.h
5 
6 }
7 
- -
9  return fastRenderer;
+
8 void IntelliRenderSettings::setFastRendering(bool Updatedsetting){
+
9  this->fastRenderering = Updatedsetting;
10 }
+
11 
+ +
13  return fastRenderering;
+
14 }
-
bool getFastRenderer()
The getfastRenderer gets the value of the flag for the fastRenderer setting.
+
bool isFastRenderering()
The getfastRenderer gets the value of the flag for the fastRenderer setting.
+
void setFastRendering(bool Updatedsetting)
setFastRendering sets fastRendering to Updatedsetting.
diff --git a/docs/html/_intelli_render_settings_8h.html b/docs/html/_intelli_render_settings_8h.html index 352ce0b..a0073c8 100644 --- a/docs/html/_intelli_render_settings_8h.html +++ b/docs/html/_intelli_render_settings_8h.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/IntelliHelper/IntelliRenderSettings.h File Reference +IntelliPhoto: src/IntelliHelper/IntelliRenderSettings.h File Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -105,10 +101,10 @@ Classes diff --git a/docs/html/_intelli_render_settings_8h_source.html b/docs/html/_intelli_render_settings_8h_source.html index af97456..1e196ba 100644 --- a/docs/html/_intelli_render_settings_8h_source.html +++ b/docs/html/_intelli_render_settings_8h_source.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/IntelliHelper/IntelliRenderSettings.h Source File +IntelliPhoto: src/IntelliHelper/IntelliRenderSettings.h Source File @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@
- +
@@ -93,31 +89,38 @@ $(document).ready(function(){initNavTree('_intelli_render_settings_8h_source.htm Go to the documentation of this file.
1 #ifndef INTELLIRENDERSETTINGS_H
2 #define INTELLIRENDERSETTINGS_H
3 
-
4 
- -
6 {
-
7 public:
- -
9 
-
14 bool getFastRenderer();
-
15 
-
16 private:
-
17 bool fastRenderer = true;
-
18 };
-
19 
-
20 #endif // INTELLIRENDERSETTINGS_H
+
4 //for unit testing
+
5 class UnitTest;
+
6 
+
7 
+ +
9 {
+
10  friend UnitTest;
+
11 public:
+ +
13 
+
18 void setFastRendering(bool Updatedsetting);
+
23 bool isFastRenderering();
+
24 
+
25 private:
+
26 bool fastRenderering = true;
+
27 };
+
28 
+
29 #endif
- -
bool getFastRenderer()
The getfastRenderer gets the value of the flag for the fastRenderer setting.
+ +
bool isFastRenderering()
The getfastRenderer gets the value of the flag for the fastRenderer setting.
+
void setFastRendering(bool Updatedsetting)
setFastRendering sets fastRendering to Updatedsetting.
+ diff --git a/docs/html/_intelli_shaped_image_8cpp.html b/docs/html/_intelli_shaped_image_8cpp.html index 9b83df9..e512cef 100644 --- a/docs/html/_intelli_shaped_image_8cpp.html +++ b/docs/html/_intelli_shaped_image_8cpp.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Image/IntelliShapedImage.cpp File Reference +IntelliPhoto: src/Image/IntelliShapedImage.cpp File Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -102,10 +98,10 @@ $(document).ready(function(){initNavTree('_intelli_shaped_image_8cpp.html','');} diff --git a/docs/html/_intelli_shaped_image_8cpp_source.html b/docs/html/_intelli_shaped_image_8cpp_source.html index 7e34b9c..3b9c25a 100644 --- a/docs/html/_intelli_shaped_image_8cpp_source.html +++ b/docs/html/_intelli_shaped_image_8cpp_source.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Image/IntelliShapedImage.cpp Source File +IntelliPhoto: src/Image/IntelliShapedImage.cpp Source File @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@
- +
@@ -99,7 +95,7 @@ $(document).ready(function(){initNavTree('_intelli_shaped_image_8cpp_source.html
7 IntelliShapedImage::IntelliShapedImage(int width, int height, bool fastRendererOn)
8  : IntelliRasterImage(width, height, fastRendererOn){
-
10  this->fastRenderer = fastRendererOn;
+
10  this->fastRenderering = fastRendererOn;
11 }
12 
@@ -119,100 +115,116 @@ $(document).ready(function(){initNavTree('_intelli_shaped_image_8cpp_source.html
27 }
28 
29 void IntelliShapedImage::calculateVisiblity(){
-
30  if(fastRenderer) {
-
31  this->imageData = imageData.convertToFormat(QImage::Format_ARGB32);
+
30  if(polygonData.size()<2) {
+
31  return;
32  }
-
33 
-
34  if(polygonData.size()<=2) {
-
35  QColor clr;
-
36  for(int y=0; y<imageData.height(); y++) {
-
37  for(int x=0; x<imageData.width(); x++) {
-
38  clr = imageData.pixel(x,y);
-
39  clr.setAlpha(255);
-
40  imageData.setPixelColor(x,y,clr);
-
41  }
-
42  }
-
43  if(fastRenderer) {
-
44  this->imageData = this->imageData.convertToFormat(QImage::Format_Indexed8);
+
33  if(fastRenderering) {
+
34  this->imageData = imageData.convertToFormat(QImage::Format_ARGB32);
+
35  }
+
36 
+
37  if(polygonData.size()<=2) {
+
38  QColor clr;
+
39  for(int y = 0; y<imageData.height(); y++) {
+
40  for(int x = 0; x<imageData.width(); x++) {
+
41  clr = imageData.pixel(x,y);
+
42  clr.setAlpha(255);
+
43  imageData.setPixelColor(x,y,clr);
+
44  }
45  }
-
46  return;
-
47  }
-
48  QColor clr;
-
49  for(int y=0; y<imageData.height(); y++) {
-
50  for(int x=0; x<imageData.width(); x++) {
-
51  QPoint ptr(x,y);
-
52  clr = imageData.pixelColor(x,y);
-
53  bool isInPolygon = IntelliTriangulation::isInPolygon(triangles, ptr);
-
54  if(isInPolygon) {
-
55  clr.setAlpha(std::min(255, clr.alpha()));
-
56  }else{
-
57  clr.setAlpha(0);
-
58  }
-
59  imageData.setPixelColor(x,y,clr);
-
60  }
-
61  }
-
62  if(fastRenderer) {
-
63  this->imageData = this->imageData.convertToFormat(QImage::Format_Indexed8);
+
46  if(fastRenderering) {
+
47  this->imageData = this->imageData.convertToFormat(QImage::Format_Indexed8);
+
48  }
+
49  return;
+
50  }
+
51  QColor clr;
+
52  for(int y = 0; y<imageData.height(); y++) {
+
53  for(int x = 0; x<imageData.width(); x++) {
+
54  QPoint ptr(x,y);
+
55  clr = imageData.pixelColor(x,y);
+
56  bool isInPolygon = IntelliTriangulation::isInPolygon(triangles, ptr);
+
57  if(isInPolygon) {
+
58  clr.setAlpha(std::min(255, clr.alpha()));
+
59  }else{
+
60  clr.setAlpha(0);
+
61  }
+
62  imageData.setPixelColor(x,y,clr);
+
63  }
64  }
-
65 }
-
66 
-
67 QImage IntelliShapedImage::getDisplayable(const QSize& displaySize, int alpha){
-
68  QImage copy = imageData;
-
69  if(fastRenderer) {
-
70  copy = copy.convertToFormat(QImage::Format_ARGB32);
-
71  }
-
72  for(int y = 0; y<copy.height(); y++) {
-
73  for(int x = 0; x<copy.width(); x++) {
-
74  QColor clr = copy.pixelColor(x,y);
-
75  clr.setAlpha(std::min(alpha,clr.alpha()));
-
76  copy.setPixelColor(x,y, clr);
-
77  }
-
78  }
-
79  if(fastRenderer) {
-
80  copy = copy.convertToFormat(QImage::Format_Indexed8);
+
65  if(fastRenderering) {
+
66  this->imageData = this->imageData.convertToFormat(QImage::Format_Indexed8);
+
67  }
+
68 }
+
69 
+
70 QImage IntelliShapedImage::getDisplayable(const QSize& displaySize, int alpha){
+
71  QImage copy = imageData;
+
72  if(fastRenderering) {
+
73  copy = copy.convertToFormat(QImage::Format_ARGB32);
+
74  }
+
75  for(int y = 0; y<copy.height(); y++) {
+
76  for(int x = 0; x<copy.width(); x++) {
+
77  QColor clr = copy.pixelColor(x,y);
+
78  clr.setAlpha(std::min(alpha,clr.alpha()));
+
79  copy.setPixelColor(x,y, clr);
+
80  }
81  }
-
82  return copy.scaled(displaySize,Qt::IgnoreAspectRatio);
-
83 }
-
84 
-
85 void IntelliShapedImage::setPolygon(const std::vector<QPoint>& polygonData){
-
86  if(polygonData.size()<3) {
-
87  this->polygonData.clear();
-
88  }else{
-
89  this->polygonData.clear();
-
90  for(auto element:polygonData) {
-
91  this->polygonData.push_back(QPoint(element.x(), element.y()));
-
92  }
- -
94  }
-
95  calculateVisiblity();
-
96  return;
-
97 }
+
82  if(fastRenderering) {
+
83  copy = copy.convertToFormat(QImage::Format_Indexed8);
+
84  }
+
85  return copy.scaled(displaySize,Qt::IgnoreAspectRatio);
+
86 }
+
87 
+
88 void IntelliShapedImage::setPolygon(const std::vector<QPoint>& polygonData){
+
89  if(polygonData.size()<3) {
+
90  this->polygonData.clear();
+
91  }else{
+
92  this->polygonData.clear();
+
93  for(auto element:polygonData) {
+
94  this->polygonData.push_back(QPoint(element.x(), element.y()));
+
95  }
+ +
97  if(fastRenderering) {
+
98  imageData = imageData.convertToFormat(QImage::Format_ARGB32);
+
99  }
+
100  for(int y = 0; y<imageData.height(); y++) {
+
101  for(int x = 0; x<imageData.width(); x++) {
+
102  QColor clr = imageData.pixelColor(x,y);
+
103  clr.setAlpha(255);
+
104  imageData.setPixelColor(x,y,clr);
+
105  }
+
106  }
+
107  if(fastRenderering) {
+
108  imageData = imageData.convertToFormat(QImage::Format_Indexed8);
+
109  }
+
110  }
+
111  calculateVisiblity();
+
112  return;
+
113 }
-
virtual QImage getDisplayable(const QSize &displaySize, int alpha=255) override
A function returning the displayable ImageData in a requested transparence and size.
+
virtual QImage getDisplayable(const QSize &displaySize, int alpha=255) override
A function returning the displayable ImageData in a requested transparence and size.
std::vector< Triangle > calculateTriangles(std::vector< QPoint > polyPoints)
A function to split a polygon in its spanning traingles by using Meisters Theorem of graph theory by ...
-
The IntelliShapedImage manages a Shapedimage.
+
The IntelliShapedImage manages a Shapedimage.
virtual IntelliImage * getDeepCopy() override
A function that copys all that returns a [allocated] Image.
- -
bool isInPolygon(std::vector< Triangle > &triangles, QPoint &point)
A function to check if a point lies in a polygon by checking its spanning triangles.
-
ImageType TypeOfImage
The Type, an Image is.
Definition: IntelliImage.h:42
-
bool fastRenderer
fastRenderer is the flag that represents the usage of 8bit pictures.
Definition: IntelliImage.h:47
-
QImage imageData
The underlying image data.
Definition: IntelliImage.h:37
-
An abstract class which manages the basic IntelliImage operations.
Definition: IntelliImage.h:19
-
std::vector< QPoint > polygonData
The Vertices of The Polygon. Needs to be a planar Polygon.
+
bool fastRenderering
fastRendering is the flag that represents the usage of 8bit pictures.
Definition: IntelliImage.h:51
+ +
ImageType TypeOfImage
The Type, an Image is.
Definition: IntelliImage.h:46
+
QImage imageData
The underlying image data.
Definition: IntelliImage.h:41
+
An abstract class which manages the basic IntelliImage operations.
Definition: IntelliImage.h:22
+
std::vector< QPoint > polygonData
The Vertices of The Polygon. Needs to be a planar Polygon.
IntelliShapedImage(int width, int height, bool fastRendererOn)
The Construcor of the IntelliShapedImage. Given the Image dimensions.
+
bool isInPolygon(const std::vector< Triangle > &triangles, QPoint &point)
A function to check if a point lies in a polygon by checking its spanning triangles.
virtual ~IntelliShapedImage() override
An Destructor.
-
The IntelliRasterImage manages a RASTERIMAGE.
+
The IntelliRasterImage manages a RASTERIMAGE.
-
virtual void setPolygon(const std::vector< QPoint > &polygonData) override
A function that sets the data of the visible Polygon.
+
virtual void setPolygon(const std::vector< QPoint > &polygonData) override
A function that sets the data of the visible Polygon.
diff --git a/docs/html/_intelli_shaped_image_8h.html b/docs/html/_intelli_shaped_image_8h.html index 40a02ce..d213348 100644 --- a/docs/html/_intelli_shaped_image_8h.html +++ b/docs/html/_intelli_shaped_image_8h.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Image/IntelliShapedImage.h File Reference +IntelliPhoto: src/Image/IntelliShapedImage.h File Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -108,10 +104,10 @@ Classes diff --git a/docs/html/_intelli_shaped_image_8h_source.html b/docs/html/_intelli_shaped_image_8h_source.html index 34b790f..9403334 100644 --- a/docs/html/_intelli_shaped_image_8h_source.html +++ b/docs/html/_intelli_shaped_image_8h_source.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Image/IntelliShapedImage.h Source File +IntelliPhoto: src/Image/IntelliShapedImage.h Source File @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@
- +
@@ -96,55 +92,60 @@ $(document).ready(function(){initNavTree('_intelli_shaped_image_8h_source.html',
5 #include <vector>
6 
- -
11 friend IntelliTool;
-
12 private:
-
16 std::vector<Triangle> triangles;
-
17 
-
21 virtual void calculateVisiblity() override;
-
22 protected:
-
23 
-
27 std::vector<QPoint> polygonData;
-
28 public:
-
35 IntelliShapedImage(int width, int height, bool fastRendererOn);
-
36 
-
40 virtual ~IntelliShapedImage() override;
-
41 
-
48 virtual QImage getDisplayable(const QSize& displaySize, int alpha=255) override;
-
49 
-
55 virtual QImage getDisplayable(int alpha=255) override;
-
56 
-
61 virtual IntelliImage* getDeepCopy() override;
-
62 
-
67 virtual std::vector<QPoint> getPolygonData() override {
-
68  return polygonData;
-
69 }
-
70 
-
75 virtual void setPolygon(const std::vector<QPoint>& polygonData) override;
-
76 };
-
77 
-
78 #endif
+
7 //for unit testing
+
8 class UnitTest;
+
9 
+ +
14  friend UnitTest;
+
15 friend IntelliTool;
+
16 private:
+
20 std::vector<Triangle> triangles;
+
21 
+
25 virtual void calculateVisiblity() override;
+
26 protected:
+
27 
+
31 std::vector<QPoint> polygonData;
+
32 public:
+
39 IntelliShapedImage(int width, int height, bool fastRendererOn);
+
40 
+
44 virtual ~IntelliShapedImage() override;
+
45 
+
52 virtual QImage getDisplayable(const QSize& displaySize, int alpha = 255) override;
+
53 
+
59 virtual QImage getDisplayable(int alpha = 255) override;
+
60 
+
65 virtual IntelliImage* getDeepCopy() override;
+
66 
+
71 virtual std::vector<QPoint> getPolygonData() override {
+
72  return polygonData;
+
73 }
+
74 
+
79 virtual void setPolygon(const std::vector<QPoint>& polygonData) override;
+
80 };
+
81 
+
82 #endif
-
virtual QImage getDisplayable(const QSize &displaySize, int alpha=255) override
A function returning the displayable ImageData in a requested transparence and size.
-
The IntelliShapedImage manages a Shapedimage.
+
virtual QImage getDisplayable(const QSize &displaySize, int alpha=255) override
A function returning the displayable ImageData in a requested transparence and size.
+
The IntelliShapedImage manages a Shapedimage.
virtual IntelliImage * getDeepCopy() override
A function that copys all that returns a [allocated] Image.
-
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:14
-
virtual std::vector< QPoint > getPolygonData() override
A function that returns the Polygondata if existent.
-
An abstract class which manages the basic IntelliImage operations.
Definition: IntelliImage.h:19
-
std::vector< QPoint > polygonData
The Vertices of The Polygon. Needs to be a planar Polygon.
+
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:17
+
virtual std::vector< QPoint > getPolygonData() override
A function that returns the Polygondata if existent.
+ +
An abstract class which manages the basic IntelliImage operations.
Definition: IntelliImage.h:22
+
std::vector< QPoint > polygonData
The Vertices of The Polygon. Needs to be a planar Polygon.
IntelliShapedImage(int width, int height, bool fastRendererOn)
The Construcor of the IntelliShapedImage. Given the Image dimensions.
virtual ~IntelliShapedImage() override
An Destructor.
-
The IntelliRasterImage manages a RASTERIMAGE.
-
virtual void setPolygon(const std::vector< QPoint > &polygonData) override
A function that sets the data of the visible Polygon.
+
The IntelliRasterImage manages a RASTERIMAGE.
+
virtual void setPolygon(const std::vector< QPoint > &polygonData) override
A function that sets the data of the visible Polygon.
diff --git a/docs/html/_intelli_tool_8cpp.html b/docs/html/_intelli_tool_8cpp.html index 966693d..485b5c6 100644 --- a/docs/html/_intelli_tool_8cpp.html +++ b/docs/html/_intelli_tool_8cpp.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Tool/IntelliTool.cpp File Reference +IntelliPhoto: src/Tool/IntelliTool.cpp File Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -99,10 +95,10 @@ $(document).ready(function(){initNavTree('_intelli_tool_8cpp.html','');}); diff --git a/docs/html/_intelli_tool_8cpp_source.html b/docs/html/_intelli_tool_8cpp_source.html index 29774cd..1ef3e51 100644 --- a/docs/html/_intelli_tool_8cpp_source.html +++ b/docs/html/_intelli_tool_8cpp_source.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Tool/IntelliTool.cpp Source File +IntelliPhoto: src/Tool/IntelliTool.cpp Source File @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@
- +
@@ -94,132 +90,153 @@ $(document).ready(function(){initNavTree('_intelli_tool_8cpp_source.html','');})
2 #include "Layer/PaintingArea.h"
3 
-
5  this->Area=Area;
-
6  this->colorPicker=colorPicker;
-
7  this->Toolsettings=Toolsettings;
-
8 }
-
9 
-
10 
- -
12 
-
13 }
-
14 
- -
16  if(isDrawing) {
-
17  isDrawing=false;
-
18  this->deleteToolLayer();
-
19  }
-
20 }
-
21 
- -
23  //optional for tool
-
24 }
-
25 
- -
27  this->isDrawing=true;
-
28  //create drawing layer
-
29  this->createToolLayer();
- -
31 }
-
32 
- -
34  if(isDrawing) {
-
35  isDrawing=false;
-
36  this->mergeToolLayer();
-
37  this->deleteToolLayer();
- -
39  }
-
40 }
-
41 
-
42 void IntelliTool::onMouseMoved(int x, int y){
-
43  if(isDrawing)
- -
45 }
-
46 
- -
48  //if needed for future general tasks implement in here
+
5  this->Area = Area;
+
6  this->colorPicker = colorPicker;
+
7  this->Toolsettings = Toolsettings;
+
8  this->isDrawing = false;
+ +
10  this->activeLayer = nullptr;
+
11  this->Canvas = nullptr;
+
12 }
+
13 
+ +
15 
+
16 }
+
17 
+ +
19  if(isDrawing) {
+
20  isDrawing = false;
+
21  this->deleteToolLayer();
+
22  }
+
23 }
+
24 
+ +
26  //optional for tool
+
27 }
+
28 
+ +
30  this->isDrawing = this->createToolLayer();
+
31  if(isDrawing) {
+ +
33  }
+
34 }
+
35 
+ +
37  if(isDrawing) {
+
38  isDrawing = false;
+
39  this->mergeToolLayer();
+
40  this->deleteToolLayer();
+ +
42 
+
43  }
+
44 }
+
45 
+
46 void IntelliTool::onMouseMoved(int x, int y){
+
47  if(isDrawing)
+
49 }
50 
-
51 void IntelliTool::createToolLayer(){
-
52  Area->createTempTopLayer(Area->activeLayer);
-
53  this->activeLayer=&Area->layerBundle[static_cast<unsigned long long>(Area->activeLayer)];
-
54  this->Canvas=&Area->layerBundle[static_cast<unsigned long long>(Area->activeLayer+1)];
-
55 }
-
56 
-
57 void IntelliTool::mergeToolLayer(){
-
58  QColor clr_0;
-
59  QColor clr_1;
-
60  for(int y=0; y<activeLayer->height; y++) {
-
61  for(int x=0; x<activeLayer->width; x++) {
-
62  clr_0=activeLayer->image->imageData.pixelColor(x,y);
-
63  clr_1=Canvas->image->imageData.pixelColor(x,y);
-
64  float t = static_cast<float>(clr_1.alpha())/255.f;
-
65  int r =static_cast<int>(static_cast<float>(clr_1.red())*(t)+static_cast<float>(clr_0.red())*(1.f-t)+0.5f);
-
66  int g =static_cast<int>(static_cast<float>(clr_1.green())*(t)+static_cast<float>(clr_0.green())*(1.f-t)+0.5f);
-
67  int b =static_cast<int>(static_cast<float>(clr_1.blue())*(t)+static_cast<float>(clr_0.blue()*(1.f-t))+0.5f);
-
68  int a =std::min(clr_0.alpha()+clr_1.alpha(), 255);
-
69  clr_0.setRed(r);
-
70  clr_0.setGreen(g);
-
71  clr_0.setBlue(b);
-
72  clr_0.setAlpha(a);
-
73 
-
74  activeLayer->image->imageData.setPixelColor(x, y, clr_0);
-
75  }
-
76  }
-
77  Area->DumpyGui->UpdateGui();
-
78 }
-
79 
-
80 void IntelliTool::deleteToolLayer(){
-
81  Area->deleteLayer(Area->activeLayer+1);
-
82  this->Canvas=nullptr;
-
83 }
-
84 
- -
86  return ActiveType;
-
87 }
-
88 
- -
90  return isDrawing;
-
91 }
+ +
52  //if needed for future general tasks implement in here
+
53  Area->DummyGui->setToolWidth(value + Toolsettings->getLineWidth());
+
54 }
+
55 
+
56 bool IntelliTool::createToolLayer(){
+
57  if(Area->createTempTopLayer(Area->activeLayer)) {
+
58  this->activeLayer = &Area->layerBundle[static_cast<unsigned long long>(Area->activeLayer)];
+
59  this->Canvas = &Area->layerBundle[static_cast<unsigned long long>(Area->activeLayer + 1)];
+
60  return true;
+
61  }
+
62  return false;
+
63 }
+
64 
+
65 void IntelliTool::mergeToolLayer(){
+
66  QColor clr_0;
+
67  QColor clr_1;
+
68  QImage updatedImage = activeLayer->image->getImageData();
+
69 
+
70  for(int y = 0; y<activeLayer->height; y++) {
+
71  for(int x = 0; x<activeLayer->width; x++) {
+
72  clr_0 = updatedImage.pixelColor(x,y);
+
73  clr_1 = Canvas->image->imageData.pixelColor(x,y);
+
74  float t = static_cast<float>(clr_1.alpha()) / 255.f;
+
75  int r = static_cast<int>(static_cast<float>(clr_1.red()) * (t) + static_cast<float>(clr_0.red()) * (1.f - t) + 0.5f);
+
76  int g = static_cast<int>(static_cast<float>(clr_1.green()) * (t) + static_cast<float>(clr_0.green()) * (1.f - t) + 0.5f);
+
77  int b = static_cast<int>(static_cast<float>(clr_1.blue()) * (t) + static_cast<float>(clr_0.blue() * (1.f - t)) + 0.5f);
+
78  int a = std::min(clr_0.alpha() + clr_1.alpha(), 255);
+
79  clr_0.setRed(r);
+
80  clr_0.setGreen(g);
+
81  clr_0.setBlue(b);
+
82  clr_0.setAlpha(a);
+
83 
+
84  updatedImage.setPixelColor(x, y, clr_0);
+
85  }
+
86  }
+
87  activeLayer->image->setImageData(updatedImage);
+
88  if(Canvas->image->getPolygonData().size() > 0) {
+ +
90  }
+
91  Area->DummyGui->UpdateGui();
+
92 }
+
93 
+
94 void IntelliTool::deleteToolLayer(){
+
95  Area->deleteLayer(Area->activeLayer + 1, true);
+
96  this->Canvas = nullptr;
+
97 }
+
98 
+ +
100  return ActiveType;
+
101 }
+
102 
+ +
104  return isDrawing;
+
105 }
-
virtual void onMouseRightPressed(int x, int y)
A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on....
Definition: IntelliTool.cpp:15
-
virtual void onMouseLeftReleased(int x, int y)
A function managing the left click Released of a Mouse. Call this in child classes!
Definition: IntelliTool.cpp:33
-
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:51
+
virtual void onMouseRightPressed(int x, int y)
A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on....
Definition: IntelliTool.cpp:18
+
virtual void onMouseLeftReleased(int x, int y)
A function managing the left click Released of a Mouse. Call this in child classes!
Definition: IntelliTool.cpp:36
+
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:57
-
virtual void onMouseLeftPressed(int x, int y)
A function managing the left click Pressed of a Mouse. Resetting the current draw....
Definition: IntelliTool.cpp:26
-
IntelliToolsettings * Toolsettings
Definition: IntelliTool.h:53
-
PaintingArea * Area
A pointer to the general PaintingArea to interact with.
Definition: IntelliTool.h:44
-
void deleteLayer(int idx)
The deleteLayer method removes a layer at a given idx.
- -
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:37
-
bool isDrawing
A flag checking if the user is currently drawing or not.
Definition: IntelliTool.h:68
-
virtual void onMouseRightReleased(int x, int y)
A function managing the right click Released of a Mouse. Merging the Canvas to Active....
Definition: IntelliTool.cpp:22
-
LayerObject * activeLayer
A pointer to the underlying active Layer, do not work on this. This is used for data grabbing or prev...
Definition: IntelliTool.h:58
-
Tooltype getTooltype()
Definition: IntelliTool.cpp:85
-
LayerObject * Canvas
A pointer to the drawing canvas of the tool, work on this.
Definition: IntelliTool.h:63
- -
bool getIsDrawing()
Definition: IntelliTool.cpp:89
+
virtual void onMouseLeftPressed(int x, int y)
A function managing the left click Pressed of a Mouse. Resetting the current draw....
Definition: IntelliTool.cpp:29
+
IntelliToolsettings * Toolsettings
Definition: IntelliTool.h:59
+ +
void deleteLayer(int idx, bool isTool=false)
The deleteLayer method removes a layer at a given idx.
+
PaintingArea * Area
A pointer to the general PaintingArea to interact with.
Definition: IntelliTool.h:50
+ +
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:53
+
bool isDrawing
A flag checking if the user is currently drawing or not.
Definition: IntelliTool.h:74
+
virtual std::vector< QPoint > getPolygonData()
A function that returns the Polygondata if existent.
Definition: IntelliImage.h:134
+
virtual void onMouseRightReleased(int x, int y)
A function managing the right click Released of a Mouse. Merging the Canvas to Active....
Definition: IntelliTool.cpp:25
+
LayerObject * activeLayer
A pointer to the underlying active Layer, do not work on this. This is used for data grabbing or prev...
Definition: IntelliTool.h:64
+
Tooltype getTooltype()
Definition: IntelliTool.cpp:99
+
LayerObject * Canvas
A pointer to the drawing canvas of the tool, work on this.
Definition: IntelliTool.h:69
+
int width
width - Stores the width of a layer in pixels.
Definition: PaintingArea.h:31
+
virtual QImage getImageData()
getImageData returns the data of the current image (Note: It will allways return a ARGB32bit QImage!...
+
virtual void setImageData(const QImage &newData)
setImageData overwrites the old imageData the new imageData.
+
void setToolWidth(int value)
+
bool getIsDrawing()
- -
Tooltype ActiveType
Definition: IntelliTool.h:46
-
The IntelliColorPicker manages the selected colors for one whole project.
+
int height
height - Stores the height of a layer in pixels.
Definition: PaintingArea.h:35
+
Tooltype ActiveType
Definition: IntelliTool.h:52
+
The IntelliColorPicker manages the selected colors for one whole project.
IntelliTool(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings)
A constructor setting the general Painting Area and colorPicker.
Definition: IntelliTool.cpp:4
- -
QImage imageData
The underlying image data.
Definition: IntelliImage.h:37
-
IntelliImage * image
Definition: PaintingArea.h:26
-
virtual void onMouseMoved(int x, int y)
A function managing the mouse moved event. Call this in child classes!
Definition: IntelliTool.cpp:42
+ +
QImage imageData
The underlying image data.
Definition: IntelliImage.h:41
+
IntelliImage * image
image - Stores the imageData of the current LayerObject.
Definition: PaintingArea.h:27
+ +
virtual void onMouseMoved(int x, int y)
A function managing the mouse moved event. Call this in child classes!
Definition: IntelliTool.cpp:46
virtual void calculateVisiblity()=0
An abstract function that calculates the visiblity of the Image data if needed.
-
virtual void onWheelScrolled(int value)
A function managing the scroll event. A positive value means scrolling outwards. Call this in child c...
Definition: IntelliTool.cpp:47
- -
virtual ~IntelliTool()=0
An abstract Destructor.
Definition: IntelliTool.cpp:11
+
virtual void onWheelScrolled(int value)
A function managing the scroll event. A positive value means scrolling outwards. Call this in child c...
Definition: IntelliTool.cpp:51
+ +
virtual ~IntelliTool()=0
An abstract Destructor.
Definition: IntelliTool.cpp:14
+
virtual void setPolygon(const std::vector< QPoint > &polygonData)=0
An abstract function that sets the data of the visible Polygon, if needed.
diff --git a/docs/html/_intelli_tool_8h.html b/docs/html/_intelli_tool_8h.html index 7ce29fc..982c659 100644 --- a/docs/html/_intelli_tool_8h.html +++ b/docs/html/_intelli_tool_8h.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Tool/IntelliTool.h File Reference +IntelliPhoto: src/Tool/IntelliTool.h File Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -109,10 +105,10 @@ Classes diff --git a/docs/html/_intelli_tool_8h_source.html b/docs/html/_intelli_tool_8h_source.html index b8832db..69b89e3 100644 --- a/docs/html/_intelli_tool_8h_source.html +++ b/docs/html/_intelli_tool_8h_source.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Tool/IntelliTool.h Source File +IntelliPhoto: src/Tool/IntelliTool.h Source File @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@
- +
@@ -97,105 +93,112 @@ $(document).ready(function(){initNavTree('_intelli_tool_8h_source.html','');});
6 #include <vector>
7 
-
8 struct LayerObject;
-
9 class PaintingArea;
+
8 //for unit testing
+
9 class UnitTest;
10 
-
14 class IntelliTool {
-
15 public:
-
16 enum class Tooltype {
-
17  CIRCLE,
-
18  FLOODFILL,
-
19  LINE,
-
20  PEN,
-
21  PLAIN,
-
22  POLYGON,
-
23  RECTANGLE
-
24 };
-
25 private:
-
29 void createToolLayer();
-
30 
-
34 void mergeToolLayer();
-
35 
-
39 void deleteToolLayer();
-
40 protected:
- -
45 
- -
47 
- -
52 
- -
54 
- -
59 
- -
64 
-
68 bool isDrawing = false;
-
69 
-
70 public:
- -
77 
-
81 virtual ~IntelliTool() = 0;
-
82 
-
88 virtual void onMouseRightPressed(int x, int y);
-
89 
-
95 virtual void onMouseRightReleased(int x, int y);
-
96 
-
102 virtual void onMouseLeftPressed(int x, int y);
-
103 
-
109 virtual void onMouseLeftReleased(int x, int y);
-
110 
-
115 virtual void onWheelScrolled(int value);
+
11 struct LayerObject;
+
12 class PaintingArea;
+
13 
+
17 class IntelliTool {
+
18  friend UnitTest;
+
19 public:
+
20 enum class Tooltype {
+
21  CIRCLE,
+
22  FLOODFILL,
+
23  LINE,
+
24  PEN,
+
25  PLAIN,
+
26  POLYGON,
+
27  RECTANGLE,
+
28  NONE
+
29 };
+
30 private:
+
35 bool createToolLayer();
+
36 
+
40 void mergeToolLayer();
+
41 
+
45 void deleteToolLayer();
+
46 protected:
+ +
51 
+ +
53 
+ +
58 
+ +
60 
+ +
65 
+ +
70 
+
74 bool isDrawing = false;
+
75 
+
76 public:
+ +
83 
+
87 virtual ~IntelliTool() = 0;
+
88 
+
94 virtual void onMouseRightPressed(int x, int y);
+
95 
+
101 virtual void onMouseRightReleased(int x, int y);
+
102 
+
108 virtual void onMouseLeftPressed(int x, int y);
+
109 
+
115 virtual void onMouseLeftReleased(int x, int y);
116 
-
122 virtual void onMouseMoved(int x, int y);
-
123 
- -
125 
-
126 bool getIsDrawing();
-
127 
-
128 };
-
129 #endif
+
121 virtual void onWheelScrolled(int value);
+
122 
+
128 virtual void onMouseMoved(int x, int y);
+
129 
+ +
131 
+
132 bool getIsDrawing();
+
133 
+
134 };
+
135 #endif
- -
virtual void onMouseRightPressed(int x, int y)
A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on....
Definition: IntelliTool.cpp:15
-
virtual void onMouseLeftReleased(int x, int y)
A function managing the left click Released of a Mouse. Call this in child classes!
Definition: IntelliTool.cpp:33
-
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:51
-
virtual void onMouseLeftPressed(int x, int y)
A function managing the left click Pressed of a Mouse. Resetting the current draw....
Definition: IntelliTool.cpp:26
-
IntelliToolsettings * Toolsettings
Definition: IntelliTool.h:53
- + +
virtual void onMouseRightPressed(int x, int y)
A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on....
Definition: IntelliTool.cpp:18
+
virtual void onMouseLeftReleased(int x, int y)
A function managing the left click Released of a Mouse. Call this in child classes!
Definition: IntelliTool.cpp:36
+
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:57
+
virtual void onMouseLeftPressed(int x, int y)
A function managing the left click Pressed of a Mouse. Resetting the current draw....
Definition: IntelliTool.cpp:29
+
IntelliToolsettings * Toolsettings
Definition: IntelliTool.h:59
+ -
PaintingArea * Area
A pointer to the general PaintingArea to interact with.
Definition: IntelliTool.h:44
- -
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:37
-
bool isDrawing
A flag checking if the user is currently drawing or not.
Definition: IntelliTool.h:68
-
The LayerObject struct holds all the information needed to construct a layer.
Definition: PaintingArea.h:25
-
virtual void onMouseRightReleased(int x, int y)
A function managing the right click Released of a Mouse. Merging the Canvas to Active....
Definition: IntelliTool.cpp:22
-
LayerObject * activeLayer
A pointer to the underlying active Layer, do not work on this. This is used for data grabbing or prev...
Definition: IntelliTool.h:58
- + +
PaintingArea * Area
A pointer to the general PaintingArea to interact with.
Definition: IntelliTool.h:50
+ +
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:53
+
bool isDrawing
A flag checking if the user is currently drawing or not.
Definition: IntelliTool.h:74
+
The LayerObject struct holds all the information needed to construct a layer.
Definition: PaintingArea.h:23
+
virtual void onMouseRightReleased(int x, int y)
A function managing the right click Released of a Mouse. Merging the Canvas to Active....
Definition: IntelliTool.cpp:25
+
LayerObject * activeLayer
A pointer to the underlying active Layer, do not work on this. This is used for data grabbing or prev...
Definition: IntelliTool.h:64
+ - -
Tooltype getTooltype()
Definition: IntelliTool.cpp:85
-
LayerObject * Canvas
A pointer to the drawing canvas of the tool, work on this.
Definition: IntelliTool.h:63
-
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:14
-
bool getIsDrawing()
Definition: IntelliTool.cpp:89
-
Tooltype ActiveType
Definition: IntelliTool.h:46
-
The IntelliColorPicker manages the selected colors for one whole project.
+ +
Tooltype getTooltype()
Definition: IntelliTool.cpp:99
+
LayerObject * Canvas
A pointer to the drawing canvas of the tool, work on this.
Definition: IntelliTool.h:69
+
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:17
+
bool getIsDrawing()
+
Tooltype ActiveType
Definition: IntelliTool.h:52
+
The IntelliColorPicker manages the selected colors for one whole project.
IntelliTool(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings)
A constructor setting the general Painting Area and colorPicker.
Definition: IntelliTool.cpp:4
- - -
virtual void onMouseMoved(int x, int y)
A function managing the mouse moved event. Call this in child classes!
Definition: IntelliTool.cpp:42
-
virtual void onWheelScrolled(int value)
A function managing the scroll event. A positive value means scrolling outwards. Call this in child c...
Definition: IntelliTool.cpp:47
- -
virtual ~IntelliTool()=0
An abstract Destructor.
Definition: IntelliTool.cpp:11
- + + + +
virtual void onMouseMoved(int x, int y)
A function managing the mouse moved event. Call this in child classes!
Definition: IntelliTool.cpp:46
+
virtual void onWheelScrolled(int value)
A function managing the scroll event. A positive value means scrolling outwards. Call this in child c...
Definition: IntelliTool.cpp:51
+ +
virtual ~IntelliTool()=0
An abstract Destructor.
Definition: IntelliTool.cpp:14
+ diff --git a/docs/html/_intelli_tool_circle_8cpp.html b/docs/html/_intelli_tool_circle_8cpp.html index 75f7613..88dac33 100644 --- a/docs/html/_intelli_tool_circle_8cpp.html +++ b/docs/html/_intelli_tool_circle_8cpp.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Tool/IntelliToolCircle.cpp File Reference +IntelliPhoto: src/Tool/IntelliToolCircle.cpp File Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -101,10 +97,10 @@ $(document).ready(function(){initNavTree('_intelli_tool_circle_8cpp.html','');}) diff --git a/docs/html/_intelli_tool_circle_8cpp_source.html b/docs/html/_intelli_tool_circle_8cpp_source.html index 1b2e28c..0fe40ff 100644 --- a/docs/html/_intelli_tool_circle_8cpp_source.html +++ b/docs/html/_intelli_tool_circle_8cpp_source.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Tool/IntelliToolCircle.cpp Source File +IntelliPhoto: src/Tool/IntelliToolCircle.cpp Source File @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@
- +
@@ -105,119 +101,120 @@ $(document).ready(function(){initNavTree('_intelli_tool_circle_8cpp_source.html'
13 }
14 
15 void IntelliToolCircle::drawCircle(int radius){
-
16  int outer = radius+20;
-
17  QColor inner = this->colorPicker->getSecondColor();
-
18  inner.setAlpha(Toolsettings->getInnerAlpha());
-
19  int yMin, yMax, xMin, xMax;
-
20  yMin = centerPoint.y()-radius;
-
21  yMax = centerPoint.y()+radius;
-
22  // x = x0+-sqrt(r2-(y-y0)2)
-
23  for(int i=yMin; i<=yMax; i++) {
-
24  xMin = static_cast<int>(centerPoint.x()-sqrt(pow(radius,2)-pow(i-centerPoint.y(),2)));
-
25  xMax = static_cast<int>(centerPoint.x()+sqrt(pow(radius,2)-pow(i-centerPoint.y(),2)));
-
26  this->Canvas->image->drawLine(QPoint(xMin,i), QPoint(xMax,i),inner,1);
-
27  }
-
28 
-
29  //TODO implement circle drawing algorithm bresenham
-
30  radius = static_cast<int>(radius +(Toolsettings->getLineWidth()/2.)-1.);
-
31  yMin = (centerPoint.y()-radius);
-
32  yMax = (centerPoint.y()+radius);
-
33  for(int i=yMin; i<=yMax; i++) {
-
34  xMin = static_cast<int>(centerPoint.x()-sqrt(pow(radius,2)-pow(i-centerPoint.y(),2)));
-
35  xMax = static_cast<int>(centerPoint.x()+sqrt(pow(radius,2)-pow(i-centerPoint.y(),2)));
- - -
38  }
-
39 
-
40  xMin = (centerPoint.x()-radius);
-
41  xMax = (centerPoint.x()+radius);
-
42  for(int i=xMin; i<=xMax; i++) {
-
43  int yMin = static_cast<int>(centerPoint.y()-sqrt(pow(radius,2)-pow(i-centerPoint.x(),2)));
-
44  int yMax = static_cast<int>(centerPoint.y()+sqrt(pow(radius,2)-pow(i-centerPoint.x(),2)));
- - -
47  }
-
48 }
-
49 
- - -
52 }
-
53 
- - -
56 }
-
57 
- - -
60  this->centerPoint=QPoint(x,y);
-
61  int radius = 1;
-
62  drawCircle(radius);
- -
64 }
-
65 
- - -
68 }
-
69 
- - - -
73 }
-
74 
- -
76  if(this->isDrawing) {
-
77  this->Canvas->image->drawPlain(Qt::transparent);
-
78  QPoint next(x,y);
-
79  int radius = static_cast<int>(sqrt(pow((centerPoint.x()-x),2)+pow((centerPoint.y()-y),2)));
-
80  drawCircle(radius);
-
81  }
- -
83 }
+
16  QColor inner = this->colorPicker->getSecondColor();
+
17  inner.setAlpha(Toolsettings->getInnerAlpha());
+
18  int yMin, yMax, xMin, xMax;
+
19  yMin = centerPoint.y() - radius;
+
20  yMax = centerPoint.y() + radius;
+
21  // x = x0+-sqrt(r2-(y-y0)2)
+
22  for(int i = yMin; i<=yMax; i++) {
+
23  xMin = static_cast<int>(centerPoint.x() - sqrt(pow(radius,2) - pow(i - centerPoint.y(),2)));
+
24  xMax = static_cast<int>(centerPoint.x() + sqrt(pow(radius,2) - pow(i - centerPoint.y(),2)));
+
25  this->Canvas->image->drawLine(QPoint(xMin,i), QPoint(xMax,i),inner,1);
+
26  }
+
27 
+
28  //TODO implement circle drawing algorithm bresenham
+
29  radius = static_cast<int>(radius + (Toolsettings->getLineWidth() / 2.));
+
30  yMin = (centerPoint.y() - radius);
+
31  yMax = (centerPoint.y() + radius);
+
32  for(int i = yMin; i<=yMax; i++) {
+
33  xMin = static_cast<int>(centerPoint.x() - sqrt(pow(radius,2) - pow(i - centerPoint.y(),2)));
+
34  xMax = static_cast<int>(centerPoint.x() + sqrt(pow(radius,2) - pow(i - centerPoint.y(),2)));
+ + +
37  }
+
38 
+
39  xMin = (centerPoint.x() - radius);
+
40  xMax = (centerPoint.x() + radius);
+
41  for(int i = xMin; i<=xMax; i++) {
+
42  int yMin = static_cast<int>(centerPoint.y() - sqrt(pow(radius,2) - pow(i - centerPoint.x(),2)));
+
43  int yMax = static_cast<int>(centerPoint.y() + sqrt(pow(radius,2) - pow(i - centerPoint.x(),2)));
+ + +
46  }
+
47 }
+
48 
+ + +
51 }
+
52 
+ + +
55 }
+
56 
+ + +
59  if(this->isDrawing) {
+
60  this->centerPoint = QPoint(x,y);
+
61  int radius = 1;
+
62  drawCircle(radius);
+ +
64  }
+
65 }
+
66 
+ + +
69 }
+
70 
+ + + +
74 }
+
75 
+ +
77  if(this->isDrawing) {
+
78  this->Canvas->image->drawPlain(Qt::transparent);
+
79  QPoint next(x,y);
+
80  int radius = static_cast<int>(sqrt(pow((centerPoint.x() - x),2) + pow((centerPoint.y() - y),2)));
+
81  drawCircle(radius);
+
82  }
+ +
84 }
-
virtual void onMouseRightPressed(int x, int y) override
A function managing the right click pressed of a mouse. Clearing the canvas layer.
-
virtual void onMouseRightPressed(int x, int y)
A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on....
Definition: IntelliTool.cpp:15
-
virtual void onMouseLeftReleased(int x, int y)
A function managing the left click Released of a Mouse. Call this in child classes!
Definition: IntelliTool.cpp:33
-
virtual void onMouseRightReleased(int x, int y) override
A function managing the right click released of a mouse.
-
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:51
-
virtual void drawLine(const QPoint &p1, const QPoint &p2, const QColor &color, const int &penWidth)
A function that draws A Line between two given Points in a given color.
-
virtual void onWheelScrolled(int value) override
A function managing the scroll event. Changing the edge Width relative to value.
-
virtual void onMouseLeftPressed(int x, int y)
A function managing the left click Pressed of a Mouse. Resetting the current draw....
Definition: IntelliTool.cpp:26
-
IntelliToolsettings * Toolsettings
Definition: IntelliTool.h:53
- -
QColor getSecondColor()
A function to read the secondary selected color.
-
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:37
-
bool isDrawing
A flag checking if the user is currently drawing or not.
Definition: IntelliTool.h:68
- -
virtual void drawPoint(const QPoint &p1, const QColor &color, const int &penWidth)
A.
-
virtual void onMouseRightReleased(int x, int y)
A function managing the right click Released of a Mouse. Merging the Canvas to Active....
Definition: IntelliTool.cpp:22
-
LayerObject * Canvas
A pointer to the drawing canvas of the tool, work on this.
Definition: IntelliTool.h:63
+
virtual void onMouseRightPressed(int x, int y) override
A function managing the right click pressed of a mouse. Clearing the canvas layer.
+
virtual void onMouseRightPressed(int x, int y)
A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on....
Definition: IntelliTool.cpp:18
+
virtual void onMouseLeftReleased(int x, int y)
A function managing the left click Released of a Mouse. Call this in child classes!
Definition: IntelliTool.cpp:36
+
virtual void onMouseRightReleased(int x, int y) override
A function managing the right click released of a mouse.
+
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:57
+
virtual void drawLine(const QPoint &p1, const QPoint &p2, const QColor &color, const int &penWidth)
A function that draws a line between two given points in a given color.
+
virtual void onWheelScrolled(int value) override
A function managing the scroll event. Changing the edge Width relative to value.
+
virtual void onMouseLeftPressed(int x, int y)
A function managing the left click Pressed of a Mouse. Resetting the current draw....
Definition: IntelliTool.cpp:29
+
IntelliToolsettings * Toolsettings
Definition: IntelliTool.h:59
+
QColor getSecondColor()
A function to read the secondary selected color.
+
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:53
+
bool isDrawing
A flag checking if the user is currently drawing or not.
Definition: IntelliTool.h:74
+ +
virtual void drawPoint(const QPoint &p1, const QColor &color, const int &penWidth)
A function that draws a point between on a given point in a given color.
+
virtual void onMouseRightReleased(int x, int y)
A function managing the right click Released of a Mouse. Merging the Canvas to Active....
Definition: IntelliTool.cpp:25
+
LayerObject * Canvas
A pointer to the drawing canvas of the tool, work on this.
Definition: IntelliTool.h:69
IntelliToolCircle(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings)
A constructor setting the general paintingArea and colorPicker. And reading in the inner alpha and ed...
virtual ~IntelliToolCircle() override
A Destructor.
-
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:14
+
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:17
-
QColor getFirstColor()
A function to read the primary selected color.
-
Tooltype ActiveType
Definition: IntelliTool.h:46
-
The IntelliColorPicker manages the selected colors for one whole project.
-
virtual void onMouseMoved(int x, int y) override
A function managing the mouse moved event. Draws a circle with radius of eulerian norm of mouse posit...
-
IntelliImage * image
Definition: PaintingArea.h:26
-
virtual void onMouseLeftReleased(int x, int y) override
A function managing the left click released of a mouse.
- -
virtual void onMouseMoved(int x, int y)
A function managing the mouse moved event. Call this in child classes!
Definition: IntelliTool.cpp:42
+
QColor getFirstColor()
A function to read the primary selected color.
+
Tooltype ActiveType
Definition: IntelliTool.h:52
+
The IntelliColorPicker manages the selected colors for one whole project.
+
virtual void onMouseMoved(int x, int y) override
A function managing the mouse moved event. Draws a circle with radius of eulerian norm of mouse posit...
+
IntelliImage * image
image - Stores the imageData of the current LayerObject.
Definition: PaintingArea.h:27
+
virtual void onMouseLeftReleased(int x, int y) override
A function managing the left click released of a mouse.
+
void setLineWidth(int LineWidth)
+ +
virtual void onMouseMoved(int x, int y)
A function managing the mouse moved event. Call this in child classes!
Definition: IntelliTool.cpp:46
virtual void calculateVisiblity()=0
An abstract function that calculates the visiblity of the Image data if needed.
-
virtual void onWheelScrolled(int value)
A function managing the scroll event. A positive value means scrolling outwards. Call this in child c...
Definition: IntelliTool.cpp:47
+
virtual void onWheelScrolled(int value)
A function managing the scroll event. A positive value means scrolling outwards. Call this in child c...
Definition: IntelliTool.cpp:51
- -
virtual void drawPlain(const QColor &color)
A function that clears the whole image in a given Color.
- -
virtual void onMouseLeftPressed(int x, int y) override
A function managing the left click pressed of a mouse. Sets the middle point of the cricle.
+ +
virtual void drawPlain(const QColor &color)
A function that clears the whole image in a given Color.
+ +
virtual void onMouseLeftPressed(int x, int y) override
A function managing the left click pressed of a mouse. Sets the middle point of the cricle.
diff --git a/docs/html/_intelli_tool_circle_8h.html b/docs/html/_intelli_tool_circle_8h.html index 1e2602d..0b2df6e 100644 --- a/docs/html/_intelli_tool_circle_8h.html +++ b/docs/html/_intelli_tool_circle_8h.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Tool/IntelliToolCircle.h File Reference +IntelliPhoto: src/Tool/IntelliToolCircle.h File Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -109,10 +105,10 @@ Classes diff --git a/docs/html/_intelli_tool_circle_8h_source.html b/docs/html/_intelli_tool_circle_8h_source.html index 7eb05f7..2102f4e 100644 --- a/docs/html/_intelli_tool_circle_8h_source.html +++ b/docs/html/_intelli_tool_circle_8h_source.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Tool/IntelliToolCircle.h Source File +IntelliPhoto: src/Tool/IntelliToolCircle.h Source File @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@
- +
@@ -96,56 +92,62 @@ $(document).ready(function(){initNavTree('_intelli_tool_circle_8h_source.html','
4 
5 #include "QColor"
6 #include "QPoint"
- -
15 void drawCircle(int radius);
-
16 
-
20 QPoint centerPoint;
+
7 
+
8 //for unit testing
+
9 class UnitTest;
+
10 
+ +
15  friend UnitTest;
+
20 void drawCircle(int radius);
21 
-
22 public:
- -
29 
-
33 virtual ~IntelliToolCircle() override;
+
25 QPoint centerPoint;
+
26 
+
27 public:
+
34 
-
40 virtual void onMouseRightPressed(int x, int y) override;
-
41 
-
47 virtual void onMouseRightReleased(int x, int y) override;
-
48 
-
54 virtual void onMouseLeftPressed(int x, int y) override;
-
55 
-
61 virtual void onMouseLeftReleased(int x, int y) override;
-
62 
-
67 virtual void onWheelScrolled(int value) override;
-
68 
-
74 virtual void onMouseMoved(int x, int y) override;
-
75 };
-
76 
-
77 #endif // INTELLITOOLCIRCLE_H
+
38 virtual ~IntelliToolCircle() override;
+
39 
+
45 virtual void onMouseRightPressed(int x, int y) override;
+
46 
+
52 virtual void onMouseRightReleased(int x, int y) override;
+
53 
+
59 virtual void onMouseLeftPressed(int x, int y) override;
+
60 
+
66 virtual void onMouseLeftReleased(int x, int y) override;
+
67 
+
72 virtual void onWheelScrolled(int value) override;
+
73 
+
79 virtual void onMouseMoved(int x, int y) override;
+
80 };
+
81 
+
82 #endif
-
virtual void onMouseRightPressed(int x, int y) override
A function managing the right click pressed of a mouse. Clearing the canvas layer.
-
virtual void onMouseRightReleased(int x, int y) override
A function managing the right click released of a mouse.
-
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:51
+
virtual void onMouseRightPressed(int x, int y) override
A function managing the right click pressed of a mouse. Clearing the canvas layer.
+
virtual void onMouseRightReleased(int x, int y) override
A function managing the right click released of a mouse.
+
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:57
-
virtual void onWheelScrolled(int value) override
A function managing the scroll event. Changing the edge Width relative to value.
-
IntelliToolsettings * Toolsettings
Definition: IntelliTool.h:53
-
PaintingArea * Area
A pointer to the general PaintingArea to interact with.
Definition: IntelliTool.h:44
-
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:37
+
virtual void onWheelScrolled(int value) override
A function managing the scroll event. Changing the edge Width relative to value.
+
IntelliToolsettings * Toolsettings
Definition: IntelliTool.h:59
+
PaintingArea * Area
A pointer to the general PaintingArea to interact with.
Definition: IntelliTool.h:50
+
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:53
IntelliToolCircle(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings)
A constructor setting the general paintingArea and colorPicker. And reading in the inner alpha and ed...
virtual ~IntelliToolCircle() override
A Destructor.
-
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:14
-
The IntelliColorPicker manages the selected colors for one whole project.
-
virtual void onMouseMoved(int x, int y) override
A function managing the mouse moved event. Draws a circle with radius of eulerian norm of mouse posit...
-
virtual void onMouseLeftReleased(int x, int y) override
A function managing the left click released of a mouse.
-
The IntelliToolCircle class represents a tool to draw a circle.
- -
virtual void onMouseLeftPressed(int x, int y) override
A function managing the left click pressed of a mouse. Sets the middle point of the cricle.
+
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:17
+
The IntelliColorPicker manages the selected colors for one whole project.
+
virtual void onMouseMoved(int x, int y) override
A function managing the mouse moved event. Draws a circle with radius of eulerian norm of mouse posit...
+ +
virtual void onMouseLeftReleased(int x, int y) override
A function managing the left click released of a mouse.
+
The IntelliToolCircle class represents a tool to draw a circle.
+ +
virtual void onMouseLeftPressed(int x, int y) override
A function managing the left click pressed of a mouse. Sets the middle point of the cricle.
diff --git a/docs/html/_intelli_tool_flood_fill_8cpp.html b/docs/html/_intelli_tool_flood_fill_8cpp.html index d78ffb0..be3c43f 100644 --- a/docs/html/_intelli_tool_flood_fill_8cpp.html +++ b/docs/html/_intelli_tool_flood_fill_8cpp.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Tool/IntelliToolFloodFill.cpp File Reference +IntelliPhoto: src/Tool/IntelliToolFloodFill.cpp File Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -103,10 +99,10 @@ $(document).ready(function(){initNavTree('_intelli_tool_flood_fill_8cpp.html','' diff --git a/docs/html/_intelli_tool_flood_fill_8cpp_source.html b/docs/html/_intelli_tool_flood_fill_8cpp_source.html index 30e6814..7b84984 100644 --- a/docs/html/_intelli_tool_flood_fill_8cpp_source.html +++ b/docs/html/_intelli_tool_flood_fill_8cpp_source.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Tool/IntelliToolFloodFill.cpp Source File +IntelliPhoto: src/Tool/IntelliToolFloodFill.cpp Source File @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@
- +
@@ -126,91 +122,94 @@ $(document).ready(function(){initNavTree('_intelli_tool_flood_fill_8cpp_source.h
34 
35  QColor oldColor = this->activeLayer->image->getPixelColor(start);
36  QColor newColor = this->colorPicker->getFirstColor();
-
37  Canvas->image->drawPixel(start,newColor);
-
38 
-
39  QPoint left, right, top, down;
-
40  while(!Q.empty()) {
-
41  QPoint Current = Q.front();
-
42  Q.pop();
-
43 
-
44  left = QPoint(Current.x()-1,Current.y() );
-
45  right = QPoint(Current.x()+1,Current.y() );
-
46  top = QPoint(Current.x(),Current.y()-1);
-
47  down = QPoint(Current.x(),Current.y()+1);
-
48  if((right.x() < Canvas->width) && (Canvas->image->getPixelColor(right) != newColor) && (activeLayer->image->getPixelColor(right) == oldColor)) {
-
49  Canvas->image->drawPixel(right,newColor);
-
50  Q.push(right);
-
51  }
-
52  if((left.x() >= 0) && (Canvas->image->getPixelColor(left) != newColor) && (activeLayer->image->getPixelColor(left) == oldColor)) {
-
53  Canvas->image->drawPixel(left,newColor);
-
54  Q.push(left);
-
55  }
-
56  if((top.y() >= 0) && (Canvas->image->getPixelColor(top) != newColor) && (activeLayer->image->getPixelColor(top) == oldColor)) {
-
57  Canvas->image->drawPixel(top,newColor);
-
58  Q.push(top);
-
59  }
-
60  if((down.y() < Canvas->height) && (Canvas->image->getPixelColor(down) != newColor) && (activeLayer->image->getPixelColor(down) == oldColor)) {
-
61  Canvas->image->drawPixel(down,newColor);
-
62  Q.push(down);
-
63  }
-
64  }
-
65 
- -
67 }
+
37  if(newColor == oldColor) {
+
38  return;
+
39  }
+
40  Canvas->image->drawPixel(start,newColor);
+
41 
+
42  QPoint left, right, top, down;
+
43  while(!Q.empty()) {
+
44  QPoint Current = Q.front();
+
45  Q.pop();
+
46 
+
47  left = QPoint(Current.x() - 1,Current.y() );
+
48  right = QPoint(Current.x() + 1,Current.y() );
+
49  top = QPoint(Current.x(),Current.y() - 1);
+
50  down = QPoint(Current.x(),Current.y() + 1);
+
51  if((right.x() < Canvas->width) && (Canvas->image->getPixelColor(right) != newColor) && (activeLayer->image->getPixelColor(right) == oldColor)) {
+
52  Canvas->image->drawPixel(right,newColor);
+
53  Q.push(right);
+
54  }
+
55  if((left.x() >= 0) && (Canvas->image->getPixelColor(left) != newColor) && (activeLayer->image->getPixelColor(left) == oldColor)) {
+
56  Canvas->image->drawPixel(left,newColor);
+
57  Q.push(left);
+
58  }
+
59  if((top.y() >= 0) && (Canvas->image->getPixelColor(top) != newColor) && (activeLayer->image->getPixelColor(top) == oldColor)) {
+
60  Canvas->image->drawPixel(top,newColor);
+
61  Q.push(top);
+
62  }
+
63  if((down.y() < Canvas->height) && (Canvas->image->getPixelColor(down) != newColor) && (activeLayer->image->getPixelColor(down) == oldColor)) {
+
64  Canvas->image->drawPixel(down,newColor);
+
65  Q.push(down);
+
66  }
+
67  }
68 
- - -
71 }
-
72 
- - + +
70 }
+
71 
+ + +
74 }
75 
-
76 }
-
77 
- - -
80 }
+ + +
78 
+
79 }
+
80 
+ + +
83 }
-
virtual void onMouseRightPressed(int x, int y)
A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on....
Definition: IntelliTool.cpp:15
-
virtual void onMouseLeftReleased(int x, int y)
A function managing the left click Released of a Mouse. Call this in child classes!
Definition: IntelliTool.cpp:33
-
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:51
+
virtual void onMouseRightPressed(int x, int y)
A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on....
Definition: IntelliTool.cpp:18
+
virtual void onMouseLeftReleased(int x, int y)
A function managing the left click Released of a Mouse. Call this in child classes!
Definition: IntelliTool.cpp:36
+
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:57
virtual void onMouseRightReleased(int x, int y) override
A function managing the right click released of a mouse.
-
virtual void onMouseLeftPressed(int x, int y)
A function managing the left click Pressed of a Mouse. Resetting the current draw....
Definition: IntelliTool.cpp:26
-
virtual void drawPixel(const QPoint &p1, const QColor &color)
A funtcion used to draw a pixel on the Image with the given Color.
- +
virtual void onMouseLeftPressed(int x, int y)
A function managing the left click Pressed of a Mouse. Resetting the current draw....
Definition: IntelliTool.cpp:29
+
virtual void drawPixel(const QPoint &p1, const QColor &color)
A funtcion used to draw a pixel on the Image with the given Color.
+
IntelliToolFloodFill(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings)
A constructor setting the general paintingArea and colorPicker.
-
virtual void onMouseLeftReleased(int x, int y) override
A function managing the left click released of a mouse.
-
virtual void onWheelScrolled(int value) override
A function managing the scroll event.
+
virtual void onMouseLeftReleased(int x, int y) override
A function managing the left click released of a mouse.
+
virtual void onWheelScrolled(int value) override
A function managing the scroll event.
virtual void onMouseLeftPressed(int x, int y) override
A function managing the left click pressed of a mouse. Sets the point to flood fill around and does t...
-
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:37
+
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:53
virtual ~IntelliToolFloodFill() override
A Destructor.
-
virtual void onMouseRightReleased(int x, int y)
A function managing the right click Released of a Mouse. Merging the Canvas to Active....
Definition: IntelliTool.cpp:22
-
LayerObject * activeLayer
A pointer to the underlying active Layer, do not work on this. This is used for data grabbing or prev...
Definition: IntelliTool.h:58
-
LayerObject * Canvas
A pointer to the drawing canvas of the tool, work on this.
Definition: IntelliTool.h:63
- -
virtual void onMouseMoved(int x, int y) override
A function managing the mouse moved event.
-
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:14
+
virtual void onMouseRightReleased(int x, int y)
A function managing the right click Released of a Mouse. Merging the Canvas to Active....
Definition: IntelliTool.cpp:25
+
LayerObject * activeLayer
A pointer to the underlying active Layer, do not work on this. This is used for data grabbing or prev...
Definition: IntelliTool.h:64
+
LayerObject * Canvas
A pointer to the drawing canvas of the tool, work on this.
Definition: IntelliTool.h:69
+
int width
width - Stores the width of a layer in pixels.
Definition: PaintingArea.h:31
+
virtual void onMouseMoved(int x, int y) override
A function managing the mouse moved event.
+
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:17
-
QColor getFirstColor()
A function to read the primary selected color.
-
virtual QColor getPixelColor(QPoint &point)
A function that returns the pixelcolor at a certain point.
- -
Tooltype ActiveType
Definition: IntelliTool.h:46
-
The IntelliColorPicker manages the selected colors for one whole project.
+
QColor getFirstColor()
A function to read the primary selected color.
+
virtual QColor getPixelColor(QPoint &point)
A function that returns the pixelcolor at a certain point.
+
int height
height - Stores the height of a layer in pixels.
Definition: PaintingArea.h:35
+
Tooltype ActiveType
Definition: IntelliTool.h:52
+
The IntelliColorPicker manages the selected colors for one whole project.
virtual void onMouseRightPressed(int x, int y) override
A function managing the right click pressed of a mouse. Clearing the canvas.
-
IntelliImage * image
Definition: PaintingArea.h:26
-
virtual void onMouseMoved(int x, int y)
A function managing the mouse moved event. Call this in child classes!
Definition: IntelliTool.cpp:42
+
IntelliImage * image
image - Stores the imageData of the current LayerObject.
Definition: PaintingArea.h:27
+
virtual void onMouseMoved(int x, int y)
A function managing the mouse moved event. Call this in child classes!
Definition: IntelliTool.cpp:46
virtual void calculateVisiblity()=0
An abstract function that calculates the visiblity of the Image data if needed.
-
virtual void onWheelScrolled(int value)
A function managing the scroll event. A positive value means scrolling outwards. Call this in child c...
Definition: IntelliTool.cpp:47
- +
virtual void onWheelScrolled(int value)
A function managing the scroll event. A positive value means scrolling outwards. Call this in child c...
Definition: IntelliTool.cpp:51
+ diff --git a/docs/html/_intelli_tool_flood_fill_8h.html b/docs/html/_intelli_tool_flood_fill_8h.html index c519fe0..4f2496e 100644 --- a/docs/html/_intelli_tool_flood_fill_8h.html +++ b/docs/html/_intelli_tool_flood_fill_8h.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Tool/IntelliToolFloodFill.h File Reference +IntelliPhoto: src/Tool/IntelliToolFloodFill.h File Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -108,10 +104,10 @@ Classes diff --git a/docs/html/_intelli_tool_flood_fill_8h_source.html b/docs/html/_intelli_tool_flood_fill_8h_source.html index 8b7db74..f8f2409 100644 --- a/docs/html/_intelli_tool_flood_fill_8h_source.html +++ b/docs/html/_intelli_tool_flood_fill_8h_source.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Tool/IntelliToolFloodFill.h Source File +IntelliPhoto: src/Tool/IntelliToolFloodFill.h Source File @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@
- +
@@ -96,53 +92,59 @@ $(document).ready(function(){initNavTree('_intelli_tool_flood_fill_8h_source.htm
4 
5 #include "QColor"
6 
- -
11 public:
- -
18 
-
22 virtual ~IntelliToolFloodFill() override;
+
7 //for unit testing
+
8 class UnitTest;
+
9 
+
10 
+ +
15  friend UnitTest;
+
16 public:
+
23 
-
24 
-
30 virtual void onMouseRightPressed(int x, int y) override;
-
31 
-
37 virtual void onMouseRightReleased(int x, int y) override;
-
38 
-
44 virtual void onMouseLeftPressed(int x, int y) override;
-
45 
-
51 virtual void onMouseLeftReleased(int x, int y) override;
-
52 
-
57 virtual void onWheelScrolled(int value) override;
-
58 
-
64 virtual void onMouseMoved(int x, int y) override;
-
65 };
-
66 
-
67 #endif // INTELLITOOLFLOODFILL_H
+
27 virtual ~IntelliToolFloodFill() override;
+
28 
+
29 
+
35 virtual void onMouseRightPressed(int x, int y) override;
+
36 
+
42 virtual void onMouseRightReleased(int x, int y) override;
+
43 
+
49 virtual void onMouseLeftPressed(int x, int y) override;
+
50 
+
56 virtual void onMouseLeftReleased(int x, int y) override;
+
57 
+
62 virtual void onWheelScrolled(int value) override;
+
63 
+
69 virtual void onMouseMoved(int x, int y) override;
+
70 };
+
71 
+
72 #endif
-
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:51
+
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:57
virtual void onMouseRightReleased(int x, int y) override
A function managing the right click released of a mouse.
-
IntelliToolsettings * Toolsettings
Definition: IntelliTool.h:53
+
IntelliToolsettings * Toolsettings
Definition: IntelliTool.h:59
IntelliToolFloodFill(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings)
A constructor setting the general paintingArea and colorPicker.
-
virtual void onMouseLeftReleased(int x, int y) override
A function managing the left click released of a mouse.
-
virtual void onWheelScrolled(int value) override
A function managing the scroll event.
-
PaintingArea * Area
A pointer to the general PaintingArea to interact with.
Definition: IntelliTool.h:44
+
virtual void onMouseLeftReleased(int x, int y) override
A function managing the left click released of a mouse.
+
virtual void onWheelScrolled(int value) override
A function managing the scroll event.
+
PaintingArea * Area
A pointer to the general PaintingArea to interact with.
Definition: IntelliTool.h:50
virtual void onMouseLeftPressed(int x, int y) override
A function managing the left click pressed of a mouse. Sets the point to flood fill around and does t...
-
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:37
+
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:53
virtual ~IntelliToolFloodFill() override
A Destructor.
-
virtual void onMouseMoved(int x, int y) override
A function managing the mouse moved event.
-
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:14
-
The IntelliColorPicker manages the selected colors for one whole project.
+
virtual void onMouseMoved(int x, int y) override
A function managing the mouse moved event.
+
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:17
+
The IntelliColorPicker manages the selected colors for one whole project.
virtual void onMouseRightPressed(int x, int y) override
A function managing the right click pressed of a mouse. Clearing the canvas.
-
The IntelliToolFloodFill class represents a tool to flood FIll a certian area.
- + +
The IntelliToolFloodFill class represents a tool to flood FIll a certian area.
+ diff --git a/docs/html/_intelli_tool_line_8cpp.html b/docs/html/_intelli_tool_line_8cpp.html index bcb96e7..4090c1e 100644 --- a/docs/html/_intelli_tool_line_8cpp.html +++ b/docs/html/_intelli_tool_line_8cpp.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Tool/IntelliToolLine.cpp File Reference +IntelliPhoto: src/Tool/IntelliToolLine.cpp File Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -101,10 +97,10 @@ $(document).ready(function(){initNavTree('_intelli_tool_line_8cpp.html','');}); diff --git a/docs/html/_intelli_tool_line_8cpp_source.html b/docs/html/_intelli_tool_line_8cpp_source.html index 74bdc0e..3f9ffdf 100644 --- a/docs/html/_intelli_tool_line_8cpp_source.html +++ b/docs/html/_intelli_tool_line_8cpp_source.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Tool/IntelliToolLine.cpp Source File +IntelliPhoto: src/Tool/IntelliToolLine.cpp Source File @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@
- +
@@ -114,7 +110,7 @@ $(document).ready(function(){initNavTree('_intelli_tool_line_8cpp_source.html','
22 
-
25  this->lineStartingPoint=QPoint(x,y);
+
25  this->lineStartingPoint = QPoint(x,y);
26  this->Canvas->image->drawPoint(lineStartingPoint, colorPicker->getFirstColor(),Toolsettings->getLineWidth());
28 }
@@ -125,74 +121,60 @@ $(document).ready(function(){initNavTree('_intelli_tool_line_8cpp_source.html','
33 
- +
37 }
38 
39 void IntelliToolLine::onMouseMoved(int x, int y){
40  if(this->isDrawing) {
41  this->Canvas->image->drawPlain(Qt::transparent);
42  QPoint next(x,y);
-
43  switch(Toolsettings->getLinestyle()) {
- -
45  this->Canvas->image->drawLine(lineStartingPoint,next,colorPicker->getFirstColor(),Toolsettings->getLineWidth());
-
46  break;
- -
48  QPoint p1 =lineStartingPoint.x() <= next.x() ? lineStartingPoint : next;
-
49  QPoint p2 =lineStartingPoint.x() < next.x() ? next : lineStartingPoint;
-
50  int m = static_cast<int>(static_cast<float>(p2.y()-p1.y())/static_cast<float>(p2.x()-p1.x())+0.5f);
-
51  int c = lineStartingPoint.y()-lineStartingPoint.x()*m;
-
52 
-
53  break;
-
54  }
-
55  }
- -
57 }
+
43  this->Canvas->image->drawLine(lineStartingPoint,next,colorPicker->getFirstColor(),Toolsettings->getLineWidth());
+
44  }
+ +
46 }
-
virtual void onMouseRightPressed(int x, int y)
A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on....
Definition: IntelliTool.cpp:15
-
virtual void onMouseLeftReleased(int x, int y)
A function managing the left click Released of a Mouse. Call this in child classes!
Definition: IntelliTool.cpp:33
-
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:51
-
virtual void drawLine(const QPoint &p1, const QPoint &p2, const QColor &color, const int &penWidth)
A function that draws A Line between two given Points in a given color.
-
virtual void onMouseLeftPressed(int x, int y)
A function managing the left click Pressed of a Mouse. Resetting the current draw....
Definition: IntelliTool.cpp:26
-
IntelliToolsettings * Toolsettings
Definition: IntelliTool.h:53
-
IntelliToolLine(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings)
A constructor setting the general paintingArea and colorPicker. And reading in the lineWidth and line...
- - - +
virtual void onMouseRightPressed(int x, int y)
A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on....
Definition: IntelliTool.cpp:18
+
virtual void onMouseLeftReleased(int x, int y)
A function managing the left click Released of a Mouse. Call this in child classes!
Definition: IntelliTool.cpp:36
+
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:57
+
virtual void drawLine(const QPoint &p1, const QPoint &p2, const QColor &color, const int &penWidth)
A function that draws a line between two given points in a given color.
+
virtual void onMouseLeftPressed(int x, int y)
A function managing the left click Pressed of a Mouse. Resetting the current draw....
Definition: IntelliTool.cpp:29
+
IntelliToolsettings * Toolsettings
Definition: IntelliTool.h:59
+
IntelliToolLine(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings)
A constructor setting the general paintingArea and colorPicker.
virtual void onMouseMoved(int x, int y) override
A function managing the mouse moved event. Drawing a Line from the startpoint to the current mouse po...
virtual void onWheelScrolled(int value) override
A function managing the scroll event. Changing the lineWidth relative to value.
virtual void onMouseRightReleased(int x, int y) override
A function managing the right click released of a mouse.
-
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:37
-
bool isDrawing
A flag checking if the user is currently drawing or not.
Definition: IntelliTool.h:68
- +
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:53
+
bool isDrawing
A flag checking if the user is currently drawing or not.
Definition: IntelliTool.h:74
virtual ~IntelliToolLine() override
An abstract Destructor.
-
virtual void drawPoint(const QPoint &p1, const QColor &color, const int &penWidth)
A.
+
virtual void drawPoint(const QPoint &p1, const QColor &color, const int &penWidth)
A function that draws a point between on a given point in a given color.
virtual void onMouseLeftReleased(int x, int y) override
A function managing the left click released of a mouse.
virtual void onMouseRightPressed(int x, int y) override
A function managing the right click pressed of a mouse. Clearing the canvas.
-
virtual void onMouseRightReleased(int x, int y)
A function managing the right click Released of a Mouse. Merging the Canvas to Active....
Definition: IntelliTool.cpp:22
-
LayerObject * Canvas
A pointer to the drawing canvas of the tool, work on this.
Definition: IntelliTool.h:63
-
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:14
+
virtual void onMouseRightReleased(int x, int y)
A function managing the right click Released of a Mouse. Merging the Canvas to Active....
Definition: IntelliTool.cpp:25
+
LayerObject * Canvas
A pointer to the drawing canvas of the tool, work on this.
Definition: IntelliTool.h:69
+
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:17
-
QColor getFirstColor()
A function to read the primary selected color.
-
Tooltype ActiveType
Definition: IntelliTool.h:46
-
The IntelliColorPicker manages the selected colors for one whole project.
-
IntelliImage * image
Definition: PaintingArea.h:26
+
QColor getFirstColor()
A function to read the primary selected color.
+
Tooltype ActiveType
Definition: IntelliTool.h:52
+
The IntelliColorPicker manages the selected colors for one whole project.
+
IntelliImage * image
image - Stores the imageData of the current LayerObject.
Definition: PaintingArea.h:27
virtual void onMouseLeftPressed(int x, int y) override
A function managing the left click pressed of a mouse. Sets the starting point of the line.
- - -
virtual void onMouseMoved(int x, int y)
A function managing the mouse moved event. Call this in child classes!
Definition: IntelliTool.cpp:42
+ +
void setLineWidth(int LineWidth)
+ +
virtual void onMouseMoved(int x, int y)
A function managing the mouse moved event. Call this in child classes!
Definition: IntelliTool.cpp:46
virtual void calculateVisiblity()=0
An abstract function that calculates the visiblity of the Image data if needed.
-
virtual void onWheelScrolled(int value)
A function managing the scroll event. A positive value means scrolling outwards. Call this in child c...
Definition: IntelliTool.cpp:47
- -
virtual void drawPlain(const QColor &color)
A function that clears the whole image in a given Color.
+
virtual void onWheelScrolled(int value)
A function managing the scroll event. A positive value means scrolling outwards. Call this in child c...
Definition: IntelliTool.cpp:51
+ +
virtual void drawPlain(const QColor &color)
A function that clears the whole image in a given Color.
diff --git a/docs/html/_intelli_tool_line_8h.html b/docs/html/_intelli_tool_line_8h.html index 3c23196..b32eec0 100644 --- a/docs/html/_intelli_tool_line_8h.html +++ b/docs/html/_intelli_tool_line_8h.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Tool/IntelliToolLine.h File Reference +IntelliPhoto: src/Tool/IntelliToolLine.h File Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -108,10 +104,10 @@ Classes diff --git a/docs/html/_intelli_tool_line_8h_source.html b/docs/html/_intelli_tool_line_8h_source.html index 7217625..8ba791a 100644 --- a/docs/html/_intelli_tool_line_8h_source.html +++ b/docs/html/_intelli_tool_line_8h_source.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Tool/IntelliToolLine.h Source File +IntelliPhoto: src/Tool/IntelliToolLine.h Source File @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@
- +
@@ -96,55 +92,60 @@ $(document).ready(function(){initNavTree('_intelli_tool_line_8h_source.html','')
4 
5 #include "QPoint"
6 
-
10 class IntelliToolLine : public IntelliTool {
-
14 QPoint lineStartingPoint;
-
15 
-
16 public:
-
17 
- -
24 
-
28 virtual ~IntelliToolLine() override;
-
29 
-
35 virtual void onMouseRightPressed(int x, int y) override;
-
36 
-
42 virtual void onMouseRightReleased(int x, int y) override;
-
43 
-
49 virtual void onMouseLeftPressed(int x, int y) override;
-
50 
-
56 virtual void onMouseLeftReleased(int x, int y) override;
-
57 
-
62 virtual void onWheelScrolled(int value) override;
-
63 
-
69 virtual void onMouseMoved(int x, int y) override;
-
70 };
-
71 
-
72 #endif // INTELLITOOLLINE_H
+
7 //for unit testing
+
8 class UnitTest;
+
9 
+
13 class IntelliToolLine : public IntelliTool {
+
14  friend UnitTest;
+
18 QPoint lineStartingPoint;
+
19 
+
20 public:
+
21 
+ +
28 
+
32 virtual ~IntelliToolLine() override;
+
33 
+
39 virtual void onMouseRightPressed(int x, int y) override;
+
40 
+
46 virtual void onMouseRightReleased(int x, int y) override;
+
47 
+
53 virtual void onMouseLeftPressed(int x, int y) override;
+
54 
+
60 virtual void onMouseLeftReleased(int x, int y) override;
+
61 
+
66 virtual void onWheelScrolled(int value) override;
+
67 
+
73 virtual void onMouseMoved(int x, int y) override;
+
74 };
+
75 
+
76 #endif
-
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:51
+
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:57
-
IntelliToolsettings * Toolsettings
Definition: IntelliTool.h:53
-
IntelliToolLine(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings)
A constructor setting the general paintingArea and colorPicker. And reading in the lineWidth and line...
+
IntelliToolsettings * Toolsettings
Definition: IntelliTool.h:59
+
IntelliToolLine(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings)
A constructor setting the general paintingArea and colorPicker.
virtual void onMouseMoved(int x, int y) override
A function managing the mouse moved event. Drawing a Line from the startpoint to the current mouse po...
virtual void onWheelScrolled(int value) override
A function managing the scroll event. Changing the lineWidth relative to value.
virtual void onMouseRightReleased(int x, int y) override
A function managing the right click released of a mouse.
-
PaintingArea * Area
A pointer to the general PaintingArea to interact with.
Definition: IntelliTool.h:44
-
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:37
+
PaintingArea * Area
A pointer to the general PaintingArea to interact with.
Definition: IntelliTool.h:50
+
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:53
virtual ~IntelliToolLine() override
An abstract Destructor.
virtual void onMouseLeftReleased(int x, int y) override
A function managing the left click released of a mouse.
virtual void onMouseRightPressed(int x, int y) override
A function managing the right click pressed of a mouse. Clearing the canvas.
-
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:14
-
The IntelliColorPicker manages the selected colors for one whole project.
+
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:17
+
The IntelliColorPicker manages the selected colors for one whole project.
+
virtual void onMouseLeftPressed(int x, int y) override
A function managing the left click pressed of a mouse. Sets the starting point of the line.
- -
The IntelliToolFloodFill class represents a tool to draw a line.
+ +
The IntelliToolFloodFill class represents a tool to draw a line.
diff --git a/docs/html/_intelli_tool_pen_8cpp.html b/docs/html/_intelli_tool_pen_8cpp.html index d321921..e52b2b4 100644 --- a/docs/html/_intelli_tool_pen_8cpp.html +++ b/docs/html/_intelli_tool_pen_8cpp.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Tool/IntelliToolPen.cpp File Reference +IntelliPhoto: src/Tool/IntelliToolPen.cpp File Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -102,10 +98,10 @@ $(document).ready(function(){initNavTree('_intelli_tool_pen_8cpp.html','');}); diff --git a/docs/html/_intelli_tool_pen_8cpp_source.html b/docs/html/_intelli_tool_pen_8cpp_source.html index c75e60f..e13c012 100644 --- a/docs/html/_intelli_tool_pen_8cpp_source.html +++ b/docs/html/_intelli_tool_pen_8cpp_source.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Tool/IntelliToolPen.cpp Source File +IntelliPhoto: src/Tool/IntelliToolPen.cpp Source File @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@
- +
@@ -115,7 +111,7 @@ $(document).ready(function(){initNavTree('_intelli_tool_pen_8cpp_source.html',''
23 
-
26  this->previousPoint=QPoint(x,y);
+
26  this->previousPoint = QPoint(x,y);
29 }
@@ -128,57 +124,57 @@ $(document).ready(function(){initNavTree('_intelli_tool_pen_8cpp_source.html',''
36  if(this->isDrawing) {
37  QPoint newPoint(x,y);
38  this->Canvas->image->drawLine(this->previousPoint, newPoint, colorPicker->getFirstColor(), Toolsettings->getLineWidth());
-
39  this->previousPoint=newPoint;
+
39  this->previousPoint = newPoint;
40  }
42 }
43 
- +
47 }
- -
virtual void onMouseRightPressed(int x, int y)
A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on....
Definition: IntelliTool.cpp:15
-
virtual void onMouseLeftReleased(int x, int y)
A function managing the left click Released of a Mouse. Call this in child classes!
Definition: IntelliTool.cpp:33
-
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:51
-
virtual void drawLine(const QPoint &p1, const QPoint &p2, const QColor &color, const int &penWidth)
A function that draws A Line between two given Points in a given color.
-
virtual void onMouseLeftPressed(int x, int y)
A function managing the left click Pressed of a Mouse. Resetting the current draw....
Definition: IntelliTool.cpp:26
-
IntelliToolsettings * Toolsettings
Definition: IntelliTool.h:53
- + +
virtual void onMouseRightPressed(int x, int y)
A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on....
Definition: IntelliTool.cpp:18
+
virtual void onMouseLeftReleased(int x, int y)
A function managing the left click Released of a Mouse. Call this in child classes!
Definition: IntelliTool.cpp:36
+
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:57
+
virtual void drawLine(const QPoint &p1, const QPoint &p2, const QColor &color, const int &penWidth)
A function that draws a line between two given points in a given color.
+
virtual void onMouseLeftPressed(int x, int y)
A function managing the left click Pressed of a Mouse. Resetting the current draw....
Definition: IntelliTool.cpp:29
+
IntelliToolsettings * Toolsettings
Definition: IntelliTool.h:59
virtual ~IntelliToolPen() override
A Destructor.
virtual void onMouseMoved(int x, int y) override
A function managing the mouse moved event. To draw the line.
virtual void onMouseRightPressed(int x, int y) override
A function managing the right click pressed of a mouse. Resetting the current draw.
virtual void onMouseRightReleased(int x, int y) override
A function managing the right click released of a mouse.
-
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:37
-
bool isDrawing
A flag checking if the user is currently drawing or not.
Definition: IntelliTool.h:68
-
virtual void drawPoint(const QPoint &p1, const QColor &color, const int &penWidth)
A.
-
virtual void onMouseRightReleased(int x, int y)
A function managing the right click Released of a Mouse. Merging the Canvas to Active....
Definition: IntelliTool.cpp:22
-
LayerObject * Canvas
A pointer to the drawing canvas of the tool, work on this.
Definition: IntelliTool.h:63
+
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:53
+
bool isDrawing
A flag checking if the user is currently drawing or not.
Definition: IntelliTool.h:74
+
virtual void drawPoint(const QPoint &p1, const QColor &color, const int &penWidth)
A function that draws a point between on a given point in a given color.
+
virtual void onMouseRightReleased(int x, int y)
A function managing the right click Released of a Mouse. Merging the Canvas to Active....
Definition: IntelliTool.cpp:25
+
LayerObject * Canvas
A pointer to the drawing canvas of the tool, work on this.
Definition: IntelliTool.h:69
virtual void onWheelScrolled(int value) override
A function managing the scroll event. Changing penWidth relativ to value.
-
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:14
+
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:17
virtual void onMouseLeftReleased(int x, int y) override
A function managing the left click released of a mouse. Merging the drawing to the active layer.
-
QColor getFirstColor()
A function to read the primary selected color.
+
QColor getFirstColor()
A function to read the primary selected color.
IntelliToolPen(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings)
A constructor setting the general paintingArea and colorPicker. Reading the penWidth.
-
Tooltype ActiveType
Definition: IntelliTool.h:46
-
The IntelliColorPicker manages the selected colors for one whole project.
-
IntelliImage * image
Definition: PaintingArea.h:26
- +
Tooltype ActiveType
Definition: IntelliTool.h:52
+
The IntelliColorPicker manages the selected colors for one whole project.
+
IntelliImage * image
image - Stores the imageData of the current LayerObject.
Definition: PaintingArea.h:27
+
void setLineWidth(int LineWidth)
+ -
virtual void onMouseMoved(int x, int y)
A function managing the mouse moved event. Call this in child classes!
Definition: IntelliTool.cpp:42
+
virtual void onMouseMoved(int x, int y)
A function managing the mouse moved event. Call this in child classes!
Definition: IntelliTool.cpp:46
virtual void onMouseLeftPressed(int x, int y) override
A function managing the left click pressed of a mouse. Starting the drawing procedure.
virtual void calculateVisiblity()=0
An abstract function that calculates the visiblity of the Image data if needed.
-
virtual void onWheelScrolled(int value)
A function managing the scroll event. A positive value means scrolling outwards. Call this in child c...
Definition: IntelliTool.cpp:47
- +
virtual void onWheelScrolled(int value)
A function managing the scroll event. A positive value means scrolling outwards. Call this in child c...
Definition: IntelliTool.cpp:51
+ diff --git a/docs/html/_intelli_tool_pen_8h.html b/docs/html/_intelli_tool_pen_8h.html index 02a6c32..160dbc8 100644 --- a/docs/html/_intelli_tool_pen_8h.html +++ b/docs/html/_intelli_tool_pen_8h.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Tool/IntelliToolPen.h File Reference +IntelliPhoto: src/Tool/IntelliToolPen.h File Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -109,10 +105,10 @@ Classes diff --git a/docs/html/_intelli_tool_pen_8h_source.html b/docs/html/_intelli_tool_pen_8h_source.html index 34b054d..54baa3d 100644 --- a/docs/html/_intelli_tool_pen_8h_source.html +++ b/docs/html/_intelli_tool_pen_8h_source.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Tool/IntelliToolPen.h Source File +IntelliPhoto: src/Tool/IntelliToolPen.h Source File @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@
- +
@@ -97,52 +93,57 @@ $(document).ready(function(){initNavTree('_intelli_tool_pen_8h_source.html','');
5 #include "QColor"
6 #include "QPoint"
7 
-
11 class IntelliToolPen : public IntelliTool {
-
15 QPoint previousPoint;
-
16 public:
- -
26 virtual ~IntelliToolPen() override;
-
27 
-
33 virtual void onMouseRightPressed(int x, int y) override;
-
34 
-
40 virtual void onMouseRightReleased(int x, int y) override;
-
41 
-
47 virtual void onMouseLeftPressed(int x, int y) override;
-
48 
-
54 virtual void onMouseLeftReleased(int x, int y) override;
-
55 
-
60 virtual void onWheelScrolled(int value) override;
-
61 
-
67 virtual void onMouseMoved(int x, int y) override;
-
68 };
-
69 
-
70 #endif // INTELLITOOLPEN_H
+
8 //for unit testing
+
9 class UnitTest;
+
10 
+
14 class IntelliToolPen : public IntelliTool {
+
15  friend UnitTest;
+
19 QPoint previousPoint;
+
20 public:
+ +
30 virtual ~IntelliToolPen() override;
+
31 
+
37 virtual void onMouseRightPressed(int x, int y) override;
+
38 
+
44 virtual void onMouseRightReleased(int x, int y) override;
+
45 
+
51 virtual void onMouseLeftPressed(int x, int y) override;
+
52 
+
58 virtual void onMouseLeftReleased(int x, int y) override;
+
59 
+
64 virtual void onWheelScrolled(int value) override;
+
65 
+
71 virtual void onMouseMoved(int x, int y) override;
+
72 };
+
73 
+
74 #endif
-
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:51
+
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:57
-
IntelliToolsettings * Toolsettings
Definition: IntelliTool.h:53
+
IntelliToolsettings * Toolsettings
Definition: IntelliTool.h:59
virtual ~IntelliToolPen() override
A Destructor.
-
PaintingArea * Area
A pointer to the general PaintingArea to interact with.
Definition: IntelliTool.h:44
+
PaintingArea * Area
A pointer to the general PaintingArea to interact with.
Definition: IntelliTool.h:50
virtual void onMouseMoved(int x, int y) override
A function managing the mouse moved event. To draw the line.
virtual void onMouseRightPressed(int x, int y) override
A function managing the right click pressed of a mouse. Resetting the current draw.
virtual void onMouseRightReleased(int x, int y) override
A function managing the right click released of a mouse.
-
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:37
-
The IntelliToolPen class represents a tool to draw a line.
+
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:53
+
The IntelliToolPen class represents a tool to draw a line.
virtual void onWheelScrolled(int value) override
A function managing the scroll event. Changing penWidth relativ to value.
-
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:14
+
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:17
virtual void onMouseLeftReleased(int x, int y) override
A function managing the left click released of a mouse. Merging the drawing to the active layer.
IntelliToolPen(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings)
A constructor setting the general paintingArea and colorPicker. Reading the penWidth.
-
The IntelliColorPicker manages the selected colors for one whole project.
+
The IntelliColorPicker manages the selected colors for one whole project.
+
virtual void onMouseLeftPressed(int x, int y) override
A function managing the left click pressed of a mouse. Starting the drawing procedure.
- + diff --git a/docs/html/_intelli_tool_plain_8cpp.html b/docs/html/_intelli_tool_plain_8cpp.html index 080106d..cd9d19a 100644 --- a/docs/html/_intelli_tool_plain_8cpp.html +++ b/docs/html/_intelli_tool_plain_8cpp.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Tool/IntelliToolPlain.cpp File Reference +IntelliPhoto: src/Tool/IntelliToolPlain.cpp File Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -100,10 +96,10 @@ $(document).ready(function(){initNavTree('_intelli_tool_plain_8cpp.html','');}); diff --git a/docs/html/_intelli_tool_plain_8cpp_source.html b/docs/html/_intelli_tool_plain_8cpp_source.html index dc9398c..cd751eb 100644 --- a/docs/html/_intelli_tool_plain_8cpp_source.html +++ b/docs/html/_intelli_tool_plain_8cpp_source.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Tool/IntelliToolPlain.cpp Source File +IntelliPhoto: src/Tool/IntelliToolPlain.cpp Source File @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@
- +
@@ -130,41 +126,41 @@ $(document).ready(function(){initNavTree('_intelli_tool_plain_8cpp_source.html',
38 }
-
virtual void onMouseRightPressed(int x, int y)
A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on....
Definition: IntelliTool.cpp:15
-
virtual void onMouseLeftReleased(int x, int y)
A function managing the left click Released of a Mouse. Call this in child classes!
Definition: IntelliTool.cpp:33
-
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:51
-
virtual void onMouseLeftPressed(int x, int y)
A function managing the left click Pressed of a Mouse. Resetting the current draw....
Definition: IntelliTool.cpp:26
+
virtual void onMouseRightPressed(int x, int y)
A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on....
Definition: IntelliTool.cpp:18
+
virtual void onMouseLeftReleased(int x, int y)
A function managing the left click Released of a Mouse. Call this in child classes!
Definition: IntelliTool.cpp:36
+
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:57
+
virtual void onMouseLeftPressed(int x, int y)
A function managing the left click Pressed of a Mouse. Resetting the current draw....
Definition: IntelliTool.cpp:29
virtual void onMouseLeftReleased(int x, int y) override
A function managing the left click released of a mouse. Merging the fill to the active layer.
virtual void onWheelScrolled(int value) override
A function managing the scroll event.
virtual void onMouseRightReleased(int x, int y) override
A function managing the right click released of a mouse.
-
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:37
+
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:53
-
virtual void onMouseRightReleased(int x, int y)
A function managing the right click Released of a Mouse. Merging the Canvas to Active....
Definition: IntelliTool.cpp:22
+
virtual void onMouseRightReleased(int x, int y)
A function managing the right click Released of a Mouse. Merging the Canvas to Active....
Definition: IntelliTool.cpp:25
virtual void onMouseLeftPressed(int x, int y) override
A function managing the left click pressed of a mouse. Filling the whole canvas.
- -
LayerObject * Canvas
A pointer to the drawing canvas of the tool, work on this.
Definition: IntelliTool.h:63
-
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:14
+ +
LayerObject * Canvas
A pointer to the drawing canvas of the tool, work on this.
Definition: IntelliTool.h:69
+
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:17
-
QColor getFirstColor()
A function to read the primary selected color.
-
Tooltype ActiveType
Definition: IntelliTool.h:46
-
The IntelliColorPicker manages the selected colors for one whole project.
+
QColor getFirstColor()
A function to read the primary selected color.
+
Tooltype ActiveType
Definition: IntelliTool.h:52
+
The IntelliColorPicker manages the selected colors for one whole project.
virtual void onMouseRightPressed(int x, int y) override
A function managing the right click pressed of a mouse. Resetting the current fill.
-
IntelliImage * image
Definition: PaintingArea.h:26
+
IntelliImage * image
image - Stores the imageData of the current LayerObject.
Definition: PaintingArea.h:27
IntelliToolPlainTool(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings)
A constructor setting the general paintingArea and colorPicker.
virtual void onMouseMoved(int x, int y) override
A function managing the mouse moved event.
-
virtual void onMouseMoved(int x, int y)
A function managing the mouse moved event. Call this in child classes!
Definition: IntelliTool.cpp:42
+
virtual void onMouseMoved(int x, int y)
A function managing the mouse moved event. Call this in child classes!
Definition: IntelliTool.cpp:46
virtual void calculateVisiblity()=0
An abstract function that calculates the visiblity of the Image data if needed.
virtual ~IntelliToolPlainTool() override
A Destructor.
-
virtual void onWheelScrolled(int value)
A function managing the scroll event. A positive value means scrolling outwards. Call this in child c...
Definition: IntelliTool.cpp:47
- -
virtual void drawPlain(const QColor &color)
A function that clears the whole image in a given Color.
+
virtual void onWheelScrolled(int value)
A function managing the scroll event. A positive value means scrolling outwards. Call this in child c...
Definition: IntelliTool.cpp:51
+ +
virtual void drawPlain(const QColor &color)
A function that clears the whole image in a given Color.
diff --git a/docs/html/_intelli_tool_plain_8h.html b/docs/html/_intelli_tool_plain_8h.html index 20e755e..32446ae 100644 --- a/docs/html/_intelli_tool_plain_8h.html +++ b/docs/html/_intelli_tool_plain_8h.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Tool/IntelliToolPlain.h File Reference +IntelliPhoto: src/Tool/IntelliToolPlain.h File Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -108,10 +104,10 @@ Classes diff --git a/docs/html/_intelli_tool_plain_8h_source.html b/docs/html/_intelli_tool_plain_8h_source.html index aba7ae2..757984f 100644 --- a/docs/html/_intelli_tool_plain_8h_source.html +++ b/docs/html/_intelli_tool_plain_8h_source.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Tool/IntelliToolPlain.h Source File +IntelliPhoto: src/Tool/IntelliToolPlain.h Source File @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@
- +
@@ -95,52 +91,58 @@ $(document).ready(function(){initNavTree('_intelli_tool_plain_8h_source.html',''
3 
4 #include "IntelliTool.h"
5 #include "QColor"
- -
10 public:
- -
20 virtual ~IntelliToolPlainTool() override;
-
21 
-
27 virtual void onMouseRightPressed(int x, int y) override;
-
28 
-
34 virtual void onMouseRightReleased(int x, int y) override;
-
35 
-
41 virtual void onMouseLeftPressed(int x, int y) override;
-
42 
-
48 virtual void onMouseLeftReleased(int x, int y) override;
-
49 
-
54 virtual void onWheelScrolled(int value) override;
-
55 
-
61 virtual void onMouseMoved(int x, int y) override;
-
62 
-
63 };
-
64 
-
65 #endif // INTELLITOOLFLOODFILLTOOL_H
+
6 
+
7 //for unit testing
+
8 class UnitTest;
+
9 
+ +
14  friend UnitTest;
+
15 public:
+ +
25 virtual ~IntelliToolPlainTool() override;
+
26 
+
32 virtual void onMouseRightPressed(int x, int y) override;
+
33 
+
39 virtual void onMouseRightReleased(int x, int y) override;
+
40 
+
46 virtual void onMouseLeftPressed(int x, int y) override;
+
47 
+
53 virtual void onMouseLeftReleased(int x, int y) override;
+
54 
+
59 virtual void onWheelScrolled(int value) override;
+
60 
+
66 virtual void onMouseMoved(int x, int y) override;
+
67 
+
68 };
+
69 
+
70 #endif
-
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:51
+
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:57
-
IntelliToolsettings * Toolsettings
Definition: IntelliTool.h:53
+
IntelliToolsettings * Toolsettings
Definition: IntelliTool.h:59
virtual void onMouseLeftReleased(int x, int y) override
A function managing the left click released of a mouse. Merging the fill to the active layer.
-
PaintingArea * Area
A pointer to the general PaintingArea to interact with.
Definition: IntelliTool.h:44
-
The IntelliToolPlainTool class represents a tool to fill the whole canvas with one color.
+
PaintingArea * Area
A pointer to the general PaintingArea to interact with.
Definition: IntelliTool.h:50
+
The IntelliToolPlainTool class represents a tool to fill the whole canvas with one color.
virtual void onWheelScrolled(int value) override
A function managing the scroll event.
virtual void onMouseRightReleased(int x, int y) override
A function managing the right click released of a mouse.
-
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:37
+
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:53
virtual void onMouseLeftPressed(int x, int y) override
A function managing the left click pressed of a mouse. Filling the whole canvas.
-
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:14
-
The IntelliColorPicker manages the selected colors for one whole project.
+
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:17
+
The IntelliColorPicker manages the selected colors for one whole project.
virtual void onMouseRightPressed(int x, int y) override
A function managing the right click pressed of a mouse. Resetting the current fill.
+
IntelliToolPlainTool(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings)
A constructor setting the general paintingArea and colorPicker.
virtual void onMouseMoved(int x, int y) override
A function managing the mouse moved event.
virtual ~IntelliToolPlainTool() override
A Destructor.
- + diff --git a/docs/html/_intelli_tool_polygon_8cpp.html b/docs/html/_intelli_tool_polygon_8cpp.html index 8729530..3190650 100644 --- a/docs/html/_intelli_tool_polygon_8cpp.html +++ b/docs/html/_intelli_tool_polygon_8cpp.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Tool/IntelliToolPolygon.cpp File Reference +IntelliPhoto: src/Tool/IntelliToolPolygon.cpp File Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -102,10 +98,10 @@ $(document).ready(function(){initNavTree('_intelli_tool_polygon_8cpp.html','');} diff --git a/docs/html/_intelli_tool_polygon_8cpp_source.html b/docs/html/_intelli_tool_polygon_8cpp_source.html index 611ad6c..5b880b5 100644 --- a/docs/html/_intelli_tool_polygon_8cpp_source.html +++ b/docs/html/_intelli_tool_polygon_8cpp_source.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Tool/IntelliToolPolygon.cpp Source File +IntelliPhoto: src/Tool/IntelliToolPolygon.cpp Source File @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@
- +
@@ -96,182 +92,208 @@ $(document).ready(function(){initNavTree('_intelli_tool_polygon_8cpp_source.html
4 #include <QInputDialog>
5 #include <QDebug>
6 
- +
7 IntelliToolPolygon::IntelliToolPolygon(PaintingArea* Area, IntelliColorPicker* colorPicker, IntelliToolsettings* Toolsettings, bool isSettingPolygon)
8  : IntelliTool(Area, colorPicker, Toolsettings){
9  isPointNearStart = false;
-
10  isDrawing = false;
+
10  drawingOfPolygon = false;
11  isInside = false;
- -
13 }
-
14 
- -
16  if(isDrawing) {
- -
18  }
-
19 }
-
20 
- -
22  if(!isDrawing && Area->getTypeOfImageRealLayer() == IntelliImage::ImageType::SHAPEDIMAGE && x > 0 && y > 0 && x<Area->getWidthOfActive() && y<Area->getHeightOfActive()) {
-
23  std::vector<Triangle> Triangles = IntelliTriangulation::calculateTriangles(Area->getPolygonDataOfRealLayer());
-
24  QPoint Point(x,y);
-
25  isInside = IntelliTriangulation::isInPolygon(Triangles,Point);
-
26  }
-
27  else if(!isDrawing && Area->getTypeOfImageRealLayer() == IntelliImage::ImageType::RASTERIMAGE && x > 0 && y > 0 && x<Area->getWidthOfActive() && y<Area->getHeightOfActive()) {
-
28  isInside = true;
-
29  }
-
30 
-
31  if(isInside && !isDrawing) {
- -
33  QPoint drawingPoint = QPoint(x,y);
-
34 
-
35  isDrawing = true;
-
36  QPointList.push_back(drawingPoint);
-
37 
-
38  this->Canvas->image->drawPoint(QPointList.back(), colorPicker->getFirstColor(), Toolsettings->getLineWidth());
- -
40  }
-
41  else if(isDrawing && isNearStart(x,y,QPointList.front())) {
-
42  if(QPointList.size() > 2) {
-
43  isPointNearStart = true;
-
44  this->Canvas->image->drawLine(QPointList.back(), QPointList.front(), colorPicker->getFirstColor(), Toolsettings->getLineWidth());
- -
46  }
-
47  else{
-
48  isInside = false;
-
49  isDrawing = false;
-
50  QPointList.clear();
- -
52  }
-
53 
+
12  this->isSettingPolygon = isSettingPolygon;
+
13  if(isSettingPolygon) {
+ +
15  }
+ +
17 }
+
18 
+ +
20  if(drawingOfPolygon) {
+ +
22  }
+
23 }
+
24 
+ +
26  if(!drawingOfPolygon && Area->getTypeOfImageRealLayer() == IntelliImage::ImageType::SHAPEDIMAGE && x > 0 && y > 0 && x<Area->getWidthOfActive() && y<Area->getHeightOfActive()) {
+
27  if(Area->getPolygonDataOfRealLayer().size()>2) {
+
28  std::vector<Triangle> Triangles = IntelliTriangulation::calculateTriangles(Area->getPolygonDataOfRealLayer());
+
29  QPoint Point(x,y);
+
30  isInside = IntelliTriangulation::isInPolygon(Triangles,Point);
+
31  }
+
32  else{
+
33  isInside = true;
+
34  }
+
35  if(isSettingPolygon) {
+
36  isInside = true;
+
37  }
+
38  }
+
39  else if(!drawingOfPolygon && Area->getTypeOfImageRealLayer() == IntelliImage::ImageType::RASTERIMAGE && x >= 0 && y >= 0 && x<Area->getWidthOfActive() && y<Area->getHeightOfActive()) {
+
40  isInside = true;
+
41  }
+
42 
+
43  if(isInside && !drawingOfPolygon) {
+ +
45  QPoint drawingPoint = QPoint(x,y);
+
46 
+
47  drawingOfPolygon = true;
+
48  QPointList.push_back(drawingPoint);
+
49 
+
50  this->Canvas->image->drawPoint(QPointList.back(), colorPicker->getFirstColor(), Toolsettings->getLineWidth());
+
51  if(!isSettingPolygon) {
+ +
53  }
54  }
-
55  else if(isDrawing) {
-
56  QPoint drawingPoint(x,y);
-
57  QPointList.push_back(drawingPoint);
-
58  this->Canvas->image->drawLine(QPointList[QPointList.size() - 2], QPointList[QPointList.size() - 1], colorPicker->getFirstColor(), Toolsettings->getLineWidth());
- -
60  }
-
61 }
-
62 
- -
64  isInside = false;
-
65  isDrawing = false;
-
66  isPointNearStart = false;
-
67  QPointList.clear();
- -
69 }
+
55  else if(drawingOfPolygon && QPointList.size() > 0 && isNearStart(x,y,QPointList.front())) {
+
56  if(QPointList.size() > 2) {
+
57  isPointNearStart = true;
+
58  this->Canvas->image->drawLine(QPointList.back(), QPointList.front(), colorPicker->getFirstColor(), Toolsettings->getLineWidth());
+
59  if(!isSettingPolygon) {
+ +
61  }
+
62  }
+
63  else{
+
64  isInside = false;
+
65  drawingOfPolygon = false;
+
66  QPointList.clear();
+ + +
69  }
70 
- -
72  if(isPointNearStart) {
-
73  isInside = false;
-
74  isPointNearStart = false;
-
75  isDrawing = false;
-
76  std::vector<Triangle> Triangles = IntelliTriangulation::calculateTriangles(QPointList);
-
77  QPoint Point;
-
78  QColor colorTwo(colorPicker->getSecondColor());
-
79  colorTwo.setAlpha(Toolsettings->getInnerAlpha());
-
80  for(int i = 0; i < activeLayer->width; i++) {
-
81  for(int j = 0; j < activeLayer->height; j++) {
-
82  Point = QPoint(i,j);
-
83  if(IntelliTriangulation::isInPolygon(Triangles,Point)) {
-
84  this->Canvas->image->drawPixel(Point, colorTwo);
-
85  }
-
86  }
-
87  }
-
88  for(int i=0; i<static_cast<int>(QPointList.size()); i++) {
-
89  int next = static_cast<int>((i+static_cast<int>(1))%static_cast<int>(QPointList.size()));
-
90  this->Canvas->image->drawLine(QPointList[static_cast<unsigned long long>(i)], QPointList[static_cast<unsigned long long>(next)], colorPicker->getFirstColor(), Toolsettings->getLineWidth());
-
91  }
-
92  QPointList.clear();
- -
94  }
-
95 }
-
96 
- - -
99 }
-
100 
- - -
103  if(!isDrawing) {
- -
105  }
-
106 }
-
107 
- - -
110 }
-
111 
-
112 bool IntelliToolPolygon::isNearStart(int x, int y, QPoint Startpoint){
-
113  bool isNear = false;
-
114  int StartX = Startpoint.x();
-
115  int StartY = Startpoint.y();
-
116  int valueToNear = 5;
-
117 
-
118  for(int i = StartX - valueToNear; i < StartX + valueToNear; i++) {
-
119  for(int j = StartY - valueToNear; j < StartY + valueToNear; j++) {
-
120  if((i == x) && (j == y)) {
-
121  isNear = true;
-
122  }
-
123  }
-
124  }
-
125  return isNear;
-
126 }
+
71  }
+
72  else if(drawingOfPolygon) {
+
73  QPoint drawingPoint(x,y);
+
74  QPointList.push_back(drawingPoint);
+
75  this->Canvas->image->drawLine(QPointList[QPointList.size() - 2], QPointList[QPointList.size() - 1], colorPicker->getFirstColor(), Toolsettings->getLineWidth());
+
76  if(!isSettingPolygon) {
+ +
78  }
+
79  }
+
80 }
+
81 
+ +
83  drawingOfPolygon = false;
+
84  isInside = false;
+
85  isPointNearStart = false;
+
86  QPointList.clear();
+ +
88 }
+
89 
+ +
91  if(isPointNearStart) {
+
92  isInside = false;
+
93  isPointNearStart = false;
+
94  drawingOfPolygon = false;
+
95  if(!isSettingPolygon) {
+
96  std::vector<Triangle> Triangles = IntelliTriangulation::calculateTriangles(QPointList);
+
97  QPoint Point;
+
98  QColor colorTwo(colorPicker->getSecondColor());
+
99  colorTwo.setAlpha(Toolsettings->getInnerAlpha());
+
100  for(int i = 0; i < activeLayer->width; i++) {
+
101  for(int j = 0; j < activeLayer->height; j++) {
+
102  Point = QPoint(i,j);
+
103  if(IntelliTriangulation::isInPolygon(Triangles,Point)) {
+
104  this->Canvas->image->drawPixel(Point, colorTwo);
+
105  }
+
106  }
+
107  }
+
108  for(int i = 0; i<static_cast<int>(QPointList.size()); i++) {
+
109  int next = static_cast<int>((i + static_cast<int>(1)) % static_cast<int>(QPointList.size()));
+
110  this->Canvas->image->drawLine(QPointList[static_cast<unsigned long long>(i)], QPointList[static_cast<unsigned long long>(next)], colorPicker->getFirstColor(), Toolsettings->getLineWidth());
+
111  }
+
112 
+
113  }
+
114  else{
+
115  Canvas->image->setPolygon(QPointList);
+ +
117  }
+ +
119  QPointList.clear();
+
120  }
+
121 }
+
122 
+ + +
125 }
+
126 
+ +
128  if(!isSettingPolygon) {
+ +
130  if(!isDrawing) {
+ +
132  }
+
133  }
+
134 }
+
135 
+ +
137  if(!isSettingPolygon) {
+ +
139  }
+
140 }
+
141 
+
142 bool IntelliToolPolygon::isNearStart(int x, int y, QPoint Startpoint){
+
143  int StartX = Startpoint.x();
+
144  int StartY = Startpoint.y();
+
145  int valueToNear = 5;
+
146 
+
147  float euklid = sqrt(pow(static_cast<float>(StartX-x),2.f)+pow(static_cast<float>(StartY-y),2.f));
+
148 
+
149  return static_cast<int>(euklid)<valueToNear;
+
150 }
-
int getWidthOfActive()
The getWidthOfActive gets the horizontal dimensions of the active layer.
-
virtual void onMouseRightPressed(int x, int y)
A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on....
Definition: IntelliTool.cpp:15
-
virtual void onMouseLeftReleased(int x, int y)
A function managing the left click Released of a Mouse. Call this in child classes!
Definition: IntelliTool.cpp:33
-
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:51
-
virtual void drawLine(const QPoint &p1, const QPoint &p2, const QColor &color, const int &penWidth)
A function that draws A Line between two given Points in a given color.
-
IntelliToolPolygon(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings)
A constructor setting the general paintingArea and colorPicker.
+
virtual void onMouseRightPressed(int x, int y)
A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on....
Definition: IntelliTool.cpp:18
+
virtual void onMouseLeftReleased(int x, int y)
A function managing the left click Released of a Mouse. Call this in child classes!
Definition: IntelliTool.cpp:36
+
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:57
+
virtual void drawLine(const QPoint &p1, const QPoint &p2, const QColor &color, const int &penWidth)
A function that draws a line between two given points in a given color.
-
virtual void onMouseLeftPressed(int x, int y)
A function managing the left click Pressed of a Mouse. Resetting the current draw....
Definition: IntelliTool.cpp:26
-
IntelliToolsettings * Toolsettings
Definition: IntelliTool.h:53
- -
virtual void drawPixel(const QPoint &p1, const QColor &color)
A funtcion used to draw a pixel on the Image with the given Color.
+
virtual void onMouseLeftPressed(int x, int y)
A function managing the left click Pressed of a Mouse. Resetting the current draw....
Definition: IntelliTool.cpp:29
+
IntelliToolsettings * Toolsettings
Definition: IntelliTool.h:59
+
virtual void drawPixel(const QPoint &p1, const QColor &color)
A funtcion used to draw a pixel on the Image with the given Color.
std::vector< Triangle > calculateTriangles(std::vector< QPoint > polyPoints)
A function to split a polygon in its spanning traingles by using Meisters Theorem of graph theory by ...
-
PaintingArea * Area
A pointer to the general PaintingArea to interact with.
Definition: IntelliTool.h:44
-
QColor getSecondColor()
A function to read the secondary selected color.
-
int getHeightOfActive()
The getHeightOfActive gets the vertical dimensions of the active layer.
-
virtual void onMouseMoved(int x, int y) override
A function managing the mouse moved event.
-
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:37
- -
virtual void drawPoint(const QPoint &p1, const QColor &color, const int &penWidth)
A.
-
virtual void onMouseRightReleased(int x, int y)
A function managing the right click Released of a Mouse. Merging the Canvas to Active....
Definition: IntelliTool.cpp:22
-
LayerObject * activeLayer
A pointer to the underlying active Layer, do not work on this. This is used for data grabbing or prev...
Definition: IntelliTool.h:58
- -
LayerObject * Canvas
A pointer to the drawing canvas of the tool, work on this.
Definition: IntelliTool.h:63
-
IntelliImage::ImageType getTypeOfImageRealLayer()
- -
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:14
- -
bool isInPolygon(std::vector< Triangle > &triangles, QPoint &point)
A function to check if a point lies in a polygon by checking its spanning triangles.
-
virtual void onMouseRightPressed(int x, int y) override
A function managing the right click pressed of a mouse. Resetting the current fill.
+
PaintingArea * Area
A pointer to the general PaintingArea to interact with.
Definition: IntelliTool.h:50
+
QColor getSecondColor()
A function to read the secondary selected color.
+
virtual void onMouseMoved(int x, int y) override
A function managing the mouse moved event.
+
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:53
+
bool isDrawing
A flag checking if the user is currently drawing or not.
Definition: IntelliTool.h:74
+ +
virtual void drawPoint(const QPoint &p1, const QColor &color, const int &penWidth)
A function that draws a point between on a given point in a given color.
+
virtual void onMouseRightReleased(int x, int y)
A function managing the right click Released of a Mouse. Merging the Canvas to Active....
Definition: IntelliTool.cpp:25
+
LayerObject * activeLayer
A pointer to the underlying active Layer, do not work on this. This is used for data grabbing or prev...
Definition: IntelliTool.h:64
+
IntelliToolPolygon(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings, bool isSettingPolygon=false)
A constructor setting the general paintingArea and colorPicker.
+ +
LayerObject * Canvas
A pointer to the drawing canvas of the tool, work on this.
Definition: IntelliTool.h:69
+
IntelliImage::ImageType getTypeOfImageRealLayer()
+
int width
width - Stores the width of a layer in pixels.
Definition: PaintingArea.h:31
+
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:17
+ +
virtual void setImageData(const QImage &newData)
setImageData overwrites the old imageData the new imageData.
+
virtual void onMouseRightPressed(int x, int y) override
A function managing the right click pressed of a mouse. Resetting the current fill.
-
QColor getFirstColor()
A function to read the primary selected color.
- -
Tooltype ActiveType
Definition: IntelliTool.h:46
-
The IntelliColorPicker manages the selected colors for one whole project.
-
~IntelliToolPolygon() override
A Destructor.
- -
IntelliImage * image
Definition: PaintingArea.h:26
-
std::vector< QPoint > getPolygonDataOfRealLayer()
- -
virtual void onMouseMoved(int x, int y)
A function managing the mouse moved event. Call this in child classes!
Definition: IntelliTool.cpp:42
-
virtual void onMouseLeftPressed(int x, int y) override
A function managing the left click pressed of a mouse. Setting polygon points.
-
virtual void onMouseRightReleased(int x, int y) override
A function managing the right click released of a mouse.
-
virtual void onMouseLeftReleased(int x, int y) override
A function managing the left click released of a mouse. Merging the fill to the active layer.
+
QColor getFirstColor()
A function to read the primary selected color.
+
int height
height - Stores the height of a layer in pixels.
Definition: PaintingArea.h:35
+
QImage getImageDataOfActiveLayer()
getImageDataOfActiveLayer used to get the currents active imageData (if there isn't any active layer ...
+
Tooltype ActiveType
Definition: IntelliTool.h:52
+
The IntelliColorPicker manages the selected colors for one whole project.
+
~IntelliToolPolygon() override
A Destructor.
+ +
IntelliImage * image
image - Stores the imageData of the current LayerObject.
Definition: PaintingArea.h:27
+
std::vector< QPoint > getPolygonDataOfRealLayer()
+
void setLineWidth(int LineWidth)
+ +
virtual void onMouseMoved(int x, int y)
A function managing the mouse moved event. Call this in child classes!
Definition: IntelliTool.cpp:46
+
virtual void onMouseLeftPressed(int x, int y) override
A function managing the left click pressed of a mouse. Setting polygon points.
+
virtual void onMouseRightReleased(int x, int y) override
A function managing the right click released of a mouse.
+
virtual void onMouseLeftReleased(int x, int y) override
A function managing the left click released of a mouse. Merging the fill to the active layer.
virtual void calculateVisiblity()=0
An abstract function that calculates the visiblity of the Image data if needed.
-
virtual void onWheelScrolled(int value)
A function managing the scroll event. A positive value means scrolling outwards. Call this in child c...
Definition: IntelliTool.cpp:47
- -
virtual void onWheelScrolled(int value) override
A function managing the scroll event. CHanging the lineWidth relative to value.
+
bool isInPolygon(const std::vector< Triangle > &triangles, QPoint &point)
A function to check if a point lies in a polygon by checking its spanning triangles.
+
virtual void onWheelScrolled(int value)
A function managing the scroll event. A positive value means scrolling outwards. Call this in child c...
Definition: IntelliTool.cpp:51
+ +
virtual void onWheelScrolled(int value) override
A function managing the scroll event. CHanging the lineWidth relative to value.
+
virtual void setPolygon(const std::vector< QPoint > &polygonData)=0
An abstract function that sets the data of the visible Polygon, if needed.
diff --git a/docs/html/_intelli_tool_polygon_8h.html b/docs/html/_intelli_tool_polygon_8h.html index 687c06e..797b1a1 100644 --- a/docs/html/_intelli_tool_polygon_8h.html +++ b/docs/html/_intelli_tool_polygon_8h.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Tool/IntelliToolPolygon.h File Reference +IntelliPhoto: src/Tool/IntelliToolPolygon.h File Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -110,10 +106,10 @@ Classes diff --git a/docs/html/_intelli_tool_polygon_8h_source.html b/docs/html/_intelli_tool_polygon_8h_source.html index 79330db..560626e 100644 --- a/docs/html/_intelli_tool_polygon_8h_source.html +++ b/docs/html/_intelli_tool_polygon_8h_source.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Tool/IntelliToolPolygon.h Source File +IntelliPhoto: src/Tool/IntelliToolPolygon.h Source File @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@
- +
@@ -97,64 +93,71 @@ $(document).ready(function(){initNavTree('_intelli_tool_polygon_8h_source.html',
6 #include <vector>
7 #include <QPoint>
- -
12 {
-
20 bool isNearStart(int x, int y, QPoint Startpoint);
-
21 
-
25 bool isDrawing;
+
8 
+
9 //for unit testing
+
10 class UnitTest;
+
11 
+ +
16 {
+
17  friend UnitTest;
+
25 bool isNearStart(int x, int y, QPoint Startpoint);
26 
-
30 bool isInside;
+
30 bool drawingOfPolygon;
31 
-
35 bool isPointNearStart;
+
35 bool isInside;
36 
-
40 std::vector<QPoint> QPointList;
-
41 public:
- -
51 ~IntelliToolPolygon() override;
-
52 
-
58 virtual void onMouseLeftPressed(int x, int y) override;
-
59 
-
65 virtual void onMouseLeftReleased(int x, int y) override;
-
66 
-
72 virtual void onMouseRightPressed(int x, int y) override;
-
73 
-
79 virtual void onMouseRightReleased(int x, int y) override;
-
80 
-
85 virtual void onWheelScrolled(int value) override;
-
86 
-
92 virtual void onMouseMoved(int x, int y) override;
-
93 
-
94 
-
95 };
-
96 
-
97 #endif // INTELLITOOLPOLYGON_H
+
40 bool isSettingPolygon;
+
41 
+
45 bool isPointNearStart;
+
46 
+
50 std::vector<QPoint> QPointList;
+
51 public:
+ +
62 ~IntelliToolPolygon() override;
+
63 
+
69 virtual void onMouseLeftPressed(int x, int y) override;
+
70 
+
76 virtual void onMouseLeftReleased(int x, int y) override;
+
77 
+
83 virtual void onMouseRightPressed(int x, int y) override;
+
84 
+
90 virtual void onMouseRightReleased(int x, int y) override;
+
91 
+
96 virtual void onWheelScrolled(int value) override;
+
97 
+
103 virtual void onMouseMoved(int x, int y) override;
+
104 
+
105 };
+
106 
+
107 #endif
-
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:51
+
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:57
-
IntelliToolPolygon(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings)
A constructor setting the general paintingArea and colorPicker.
-
IntelliToolsettings * Toolsettings
Definition: IntelliTool.h:53
-
PaintingArea * Area
A pointer to the general PaintingArea to interact with.
Definition: IntelliTool.h:44
-
virtual void onMouseMoved(int x, int y) override
A function managing the mouse moved event.
-
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:37
-
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:14
-
virtual void onMouseRightPressed(int x, int y) override
A function managing the right click pressed of a mouse. Resetting the current fill.
-
The IntelliColorPicker manages the selected colors for one whole project.
-
~IntelliToolPolygon() override
A Destructor.
-
virtual void onMouseLeftPressed(int x, int y) override
A function managing the left click pressed of a mouse. Setting polygon points.
-
virtual void onMouseRightReleased(int x, int y) override
A function managing the right click released of a mouse.
-
The IntelliToolPolygon managed the Drawing of Polygonforms.
-
virtual void onMouseLeftReleased(int x, int y) override
A function managing the left click released of a mouse. Merging the fill to the active layer.
+
IntelliToolsettings * Toolsettings
Definition: IntelliTool.h:59
+
PaintingArea * Area
A pointer to the general PaintingArea to interact with.
Definition: IntelliTool.h:50
+
virtual void onMouseMoved(int x, int y) override
A function managing the mouse moved event.
+
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:53
+
IntelliToolPolygon(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings, bool isSettingPolygon=false)
A constructor setting the general paintingArea and colorPicker.
+
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:17
+
virtual void onMouseRightPressed(int x, int y) override
A function managing the right click pressed of a mouse. Resetting the current fill.
+
The IntelliColorPicker manages the selected colors for one whole project.
+
~IntelliToolPolygon() override
A Destructor.
+ +
virtual void onMouseLeftPressed(int x, int y) override
A function managing the left click pressed of a mouse. Setting polygon points.
+
virtual void onMouseRightReleased(int x, int y) override
A function managing the right click released of a mouse.
+
The IntelliToolPolygon managed the Drawing of Polygonforms.
+
virtual void onMouseLeftReleased(int x, int y) override
A function managing the left click released of a mouse. Merging the fill to the active layer.
- -
virtual void onWheelScrolled(int value) override
A function managing the scroll event. CHanging the lineWidth relative to value.
+ +
virtual void onWheelScrolled(int value) override
A function managing the scroll event. CHanging the lineWidth relative to value.
diff --git a/docs/html/_intelli_tool_rectangle_8cpp.html b/docs/html/_intelli_tool_rectangle_8cpp.html index 3f90a03..3916457 100644 --- a/docs/html/_intelli_tool_rectangle_8cpp.html +++ b/docs/html/_intelli_tool_rectangle_8cpp.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Tool/IntelliToolRectangle.cpp File Reference +IntelliPhoto: src/Tool/IntelliToolRectangle.cpp File Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -100,10 +96,10 @@ $(document).ready(function(){initNavTree('_intelli_tool_rectangle_8cpp.html','') diff --git a/docs/html/_intelli_tool_rectangle_8cpp_source.html b/docs/html/_intelli_tool_rectangle_8cpp_source.html index 583bea6..c43529a 100644 --- a/docs/html/_intelli_tool_rectangle_8cpp_source.html +++ b/docs/html/_intelli_tool_rectangle_8cpp_source.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Tool/IntelliToolRectangle.cpp Source File +IntelliPhoto: src/Tool/IntelliToolRectangle.cpp Source File @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@
- +
@@ -112,7 +108,7 @@ $(document).ready(function(){initNavTree('_intelli_tool_rectangle_8cpp_source.ht
20 
21  QColor clr = colorPicker->getSecondColor();
22  clr.setAlpha(Toolsettings->getInnerAlpha());
-
23  for(int y=yMin; y<=yMax; y++) {
+
23  for(int y = yMin; y<=yMax; y++) {
24  this->Canvas->image->drawLine(QPoint(xMin,y), QPoint(xMax, y), clr, 1);
25  }
26  this->Canvas->image->drawLine(QPoint(xMin, yMin),QPoint(xMin, yMax), this->colorPicker->getFirstColor(), Toolsettings->getLineWidth());
@@ -131,7 +127,7 @@ $(document).ready(function(){initNavTree('_intelli_tool_rectangle_8cpp_source.ht
39 
-
42  this->originCorner=QPoint(x,y);
+
42  this->originCorner = QPoint(x,y);
43  drawRectangle(originCorner);
45 }
@@ -151,52 +147,52 @@ $(document).ready(function(){initNavTree('_intelli_tool_rectangle_8cpp_source.ht
59 
- +
63 }
virtual void onWheelScrolled(int value) override
A function managing the scroll event.Changing edgeWidth relativ to value.
-
virtual void onMouseRightPressed(int x, int y)
A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on....
Definition: IntelliTool.cpp:15
-
virtual void onMouseLeftReleased(int x, int y)
A function managing the left click Released of a Mouse. Call this in child classes!
Definition: IntelliTool.cpp:33
+
virtual void onMouseRightPressed(int x, int y)
A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on....
Definition: IntelliTool.cpp:18
+
virtual void onMouseLeftReleased(int x, int y)
A function managing the left click Released of a Mouse. Call this in child classes!
Definition: IntelliTool.cpp:36
virtual void onMouseRightReleased(int x, int y) override
A function managing the right click released of a mouse.
-
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:51
-
virtual void drawLine(const QPoint &p1, const QPoint &p2, const QColor &color, const int &penWidth)
A function that draws A Line between two given Points in a given color.
-
virtual void onMouseLeftPressed(int x, int y)
A function managing the left click Pressed of a Mouse. Resetting the current draw....
Definition: IntelliTool.cpp:26
-
IntelliToolsettings * Toolsettings
Definition: IntelliTool.h:53
- +
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:57
+
virtual void drawLine(const QPoint &p1, const QPoint &p2, const QColor &color, const int &penWidth)
A function that draws a line between two given points in a given color.
+
virtual void onMouseLeftPressed(int x, int y)
A function managing the left click Pressed of a Mouse. Resetting the current draw....
Definition: IntelliTool.cpp:29
+
IntelliToolsettings * Toolsettings
Definition: IntelliTool.h:59
virtual ~IntelliToolRectangle() override
A Destructor.
virtual void onMouseLeftPressed(int x, int y) override
A function managing the left click pressed of a mouse. Setting the originCorner and draws a rectangle...
-
QColor getSecondColor()
A function to read the secondary selected color.
+
QColor getSecondColor()
A function to read the secondary selected color.
virtual void onMouseRightPressed(int x, int y) override
A function managing the right click pressed of a mouse.Resetting the current draw.
-
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:37
-
bool isDrawing
A flag checking if the user is currently drawing or not.
Definition: IntelliTool.h:68
- -
virtual void onMouseRightReleased(int x, int y)
A function managing the right click Released of a Mouse. Merging the Canvas to Active....
Definition: IntelliTool.cpp:22
-
LayerObject * Canvas
A pointer to the drawing canvas of the tool, work on this.
Definition: IntelliTool.h:63
+
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:53
+
bool isDrawing
A flag checking if the user is currently drawing or not.
Definition: IntelliTool.h:74
+ +
virtual void onMouseRightReleased(int x, int y)
A function managing the right click Released of a Mouse. Merging the Canvas to Active....
Definition: IntelliTool.cpp:25
+
LayerObject * Canvas
A pointer to the drawing canvas of the tool, work on this.
Definition: IntelliTool.h:69
-
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:14
+
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:17
-
QColor getFirstColor()
A function to read the primary selected color.
-
Tooltype ActiveType
Definition: IntelliTool.h:46
+
QColor getFirstColor()
A function to read the primary selected color.
+
Tooltype ActiveType
Definition: IntelliTool.h:52
virtual void onMouseMoved(int x, int y) override
A function managing the mouse moved event.Drawing a rectangle to currrent mouse position.
-
The IntelliColorPicker manages the selected colors for one whole project.
- -
IntelliImage * image
Definition: PaintingArea.h:26
- -
virtual void onMouseMoved(int x, int y)
A function managing the mouse moved event. Call this in child classes!
Definition: IntelliTool.cpp:42
+
The IntelliColorPicker manages the selected colors for one whole project.
+ +
IntelliImage * image
image - Stores the imageData of the current LayerObject.
Definition: PaintingArea.h:27
+
void setLineWidth(int LineWidth)
+ +
virtual void onMouseMoved(int x, int y)
A function managing the mouse moved event. Call this in child classes!
Definition: IntelliTool.cpp:46
virtual void calculateVisiblity()=0
An abstract function that calculates the visiblity of the Image data if needed.
virtual void onMouseLeftReleased(int x, int y) override
A function managing the left click released of a mouse. Merging the draw to the active layer.
-
virtual void onWheelScrolled(int value)
A function managing the scroll event. A positive value means scrolling outwards. Call this in child c...
Definition: IntelliTool.cpp:47
- -
virtual void drawPlain(const QColor &color)
A function that clears the whole image in a given Color.
+
virtual void onWheelScrolled(int value)
A function managing the scroll event. A positive value means scrolling outwards. Call this in child c...
Definition: IntelliTool.cpp:51
+ +
virtual void drawPlain(const QColor &color)
A function that clears the whole image in a given Color.
IntelliToolRectangle(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings)
A constructor setting the general paintingArea and colorPicker. And reading in the alphaInner and edg...
diff --git a/docs/html/_intelli_tool_rectangle_8h.html b/docs/html/_intelli_tool_rectangle_8h.html index 6aff06c..5b34e64 100644 --- a/docs/html/_intelli_tool_rectangle_8h.html +++ b/docs/html/_intelli_tool_rectangle_8h.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Tool/IntelliToolRectangle.h File Reference +IntelliPhoto: src/Tool/IntelliToolRectangle.h File Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -109,10 +105,10 @@ Classes diff --git a/docs/html/_intelli_tool_rectangle_8h_source.html b/docs/html/_intelli_tool_rectangle_8h_source.html index 99df4ed..74655e4 100644 --- a/docs/html/_intelli_tool_rectangle_8h_source.html +++ b/docs/html/_intelli_tool_rectangle_8h_source.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Tool/IntelliToolRectangle.h Source File +IntelliPhoto: src/Tool/IntelliToolRectangle.h Source File @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@
- +
@@ -97,54 +93,60 @@ $(document).ready(function(){initNavTree('_intelli_tool_rectangle_8h_source.html
5 
6 #include "QColor"
7 #include "QPoint"
- -
16 void drawRectangle(QPoint otherCorner);
-
17 
-
21 QPoint originCorner;
-
22 public:
- -
32 virtual ~IntelliToolRectangle() override;
-
33 
-
39 virtual void onMouseRightPressed(int x, int y) override;
-
40 
-
46 virtual void onMouseRightReleased(int x, int y) override;
-
47 
-
53 virtual void onMouseLeftPressed(int x, int y) override;
-
54 
-
60 virtual void onMouseLeftReleased(int x, int y) override;
-
61 
-
66 virtual void onWheelScrolled(int value) override;
-
67 
-
73 virtual void onMouseMoved(int x, int y) override;
-
74 };
-
75 
-
76 #endif // INTELLIRECTANGLETOOL_H
+
8 
+
9 //for unit testing
+
10 class UnitTest;
+
11 
+ +
16  friend UnitTest;
+
21 void drawRectangle(QPoint otherCorner);
+
22 
+
26 QPoint originCorner;
+
27 public:
+ +
37 virtual ~IntelliToolRectangle() override;
+
38 
+
44 virtual void onMouseRightPressed(int x, int y) override;
+
45 
+
51 virtual void onMouseRightReleased(int x, int y) override;
+
52 
+
58 virtual void onMouseLeftPressed(int x, int y) override;
+
59 
+
65 virtual void onMouseLeftReleased(int x, int y) override;
+
66 
+
71 virtual void onWheelScrolled(int value) override;
+
72 
+
78 virtual void onMouseMoved(int x, int y) override;
+
79 };
+
80 
+
81 #endif
virtual void onWheelScrolled(int value) override
A function managing the scroll event.Changing edgeWidth relativ to value.
virtual void onMouseRightReleased(int x, int y) override
A function managing the right click released of a mouse.
-
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:51
+
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:57
-
IntelliToolsettings * Toolsettings
Definition: IntelliTool.h:53
+
IntelliToolsettings * Toolsettings
Definition: IntelliTool.h:59
virtual ~IntelliToolRectangle() override
A Destructor.
virtual void onMouseLeftPressed(int x, int y) override
A function managing the left click pressed of a mouse. Setting the originCorner and draws a rectangle...
-
PaintingArea * Area
A pointer to the general PaintingArea to interact with.
Definition: IntelliTool.h:44
+
PaintingArea * Area
A pointer to the general PaintingArea to interact with.
Definition: IntelliTool.h:50
virtual void onMouseRightPressed(int x, int y) override
A function managing the right click pressed of a mouse.Resetting the current draw.
-
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:37
-
The IntelliToolRectangle class represents a tool to draw a rectangle.
-
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:14
+
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:53
+
The IntelliToolRectangle class represents a tool to draw a rectangle.
+
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:17
virtual void onMouseMoved(int x, int y) override
A function managing the mouse moved event.Drawing a rectangle to currrent mouse position.
-
The IntelliColorPicker manages the selected colors for one whole project.
+
The IntelliColorPicker manages the selected colors for one whole project.
+
virtual void onMouseLeftReleased(int x, int y) override
A function managing the left click released of a mouse. Merging the draw to the active layer.
- +
IntelliToolRectangle(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings)
A constructor setting the general paintingArea and colorPicker. And reading in the alphaInner and edg...
diff --git a/docs/html/_intelli_toolsettings_8cpp.html b/docs/html/_intelli_toolsettings_8cpp.html index f012172..dada395 100644 --- a/docs/html/_intelli_toolsettings_8cpp.html +++ b/docs/html/_intelli_toolsettings_8cpp.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/IntelliHelper/IntelliToolsettings.cpp File Reference +IntelliPhoto: src/IntelliHelper/IntelliToolsettings.cpp File Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -99,10 +95,10 @@ $(document).ready(function(){initNavTree('_intelli_toolsettings_8cpp.html','');} diff --git a/docs/html/_intelli_toolsettings_8cpp_source.html b/docs/html/_intelli_toolsettings_8cpp_source.html index 7591999..19a91f4 100644 --- a/docs/html/_intelli_toolsettings_8cpp_source.html +++ b/docs/html/_intelli_toolsettings_8cpp_source.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/IntelliHelper/IntelliToolsettings.cpp Source File +IntelliPhoto: src/IntelliHelper/IntelliToolsettings.cpp Source File @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@
- +
@@ -97,71 +93,55 @@ $(document).ready(function(){initNavTree('_intelli_toolsettings_8cpp_source.html
5 {
6  lineWidth = 1;
7  innerAlpha = 255;
-
8  Linestyle = LineStyle::SOLID_LINE;
-
9 }
-
10 
- -
12 
-
13 }
-
14 
- -
16  return lineWidth;
-
17 }
-
18 
- -
20  lineWidth = QInputDialog::getInt(nullptr,"Line Width Input", "Width",1,1,50,1);
-
21 }
-
22 
- -
24  if(LineWidth < 1) {
-
25  LineWidth = 1;
-
26  }
-
27  else if(LineWidth > 50) {
-
28  LineWidth = 50;
-
29  }
-
30  lineWidth = LineWidth;
-
31 }
-
32 
- -
34  return this->innerAlpha;
-
35 }
-
36 
- -
38  this->innerAlpha = QInputDialog::getInt(nullptr,"Inner Aplha Input", "Value",0,0,255,1);
-
39 }
-
40 
- -
42  if(innerAlpha < 0) {
-
43  innerAlpha = 0;
-
44  }
-
45  else if(innerAlpha > 255) {
-
46  innerAlpha = 255;
-
47  }
-
48  this->innerAlpha = innerAlpha;
-
49 }
-
50 
- -
52  return Linestyle;
-
53 }
+
8 }
+
9 
+ +
11 
+
12 }
+
13 
+ +
15  return lineWidth;
+
16 }
+
17 
+ +
19  if(LineWidth < 1) {
+
20  LineWidth = 1;
+
21  }
+
22  else if(LineWidth > 50) {
+
23  LineWidth = 50;
+
24  }
+
25  lineWidth = LineWidth;
+
26 }
+
27 
+ +
29  return this->innerAlpha;
+
30 }
+
31 
+ +
33  if(innerAlpha < 0) {
+
34  innerAlpha = 0;
+
35  }
+
36  else if(innerAlpha > 255) {
+
37  innerAlpha = 255;
+
38  }
+
39  this->innerAlpha = innerAlpha;
+
40 }
- - - -
LineStyle
The LineStyle enum classifing all ways of drawing a line.
- - - - + + +
void setInnerAlpha(int innerAlpha)
+
void setLineWidth(int LineWidth)
+ diff --git a/docs/html/_intelli_toolsettings_8h.html b/docs/html/_intelli_toolsettings_8h.html index b77d91d..65b6e18 100644 --- a/docs/html/_intelli_toolsettings_8h.html +++ b/docs/html/_intelli_toolsettings_8h.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/IntelliHelper/IntelliToolsettings.h File Reference +IntelliPhoto: src/IntelliHelper/IntelliToolsettings.h File Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -105,10 +101,10 @@ Classes diff --git a/docs/html/_intelli_toolsettings_8h_source.html b/docs/html/_intelli_toolsettings_8h_source.html index c419423..3cea510 100644 --- a/docs/html/_intelli_toolsettings_8h_source.html +++ b/docs/html/_intelli_toolsettings_8h_source.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/IntelliHelper/IntelliToolsettings.h Source File +IntelliPhoto: src/IntelliHelper/IntelliToolsettings.h Source File @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@
- +
@@ -93,49 +89,44 @@ $(document).ready(function(){initNavTree('_intelli_toolsettings_8h_source.html', Go to the documentation of this file.
1 #ifndef INTELLITOOLSETTINGS_H
2 #define INTELLITOOLSETTINGS_H
3 
- -
5 public:
-
9 enum class LineStyle {
-
10  SOLID_LINE,
- -
12 };
- -
14 virtual ~IntelliToolsettings();
-
15 int getLineWidth();
-
16 void setLineWidth();
-
17 void setLineWidth(int LineWidth);
-
18 int getInnerAlpha();
-
19 void setInnerAlpha();
-
20 void setInnerAlpha(int innerAlpha);
- -
22 
-
23 private:
-
24 int lineWidth;
-
25 int innerAlpha;
-
26 LineStyle Linestyle;
-
27 };
-
28 
-
29 #endif // INTELLITOOLSETTINGS_H
+
4 //for unit testing
+
5 class UnitTest;
+
6 
+ +
8 friend UnitTest;
+
9 public:
+ +
11 virtual ~IntelliToolsettings();
+
12 
+
13 int getLineWidth();
+
14 void setLineWidth(int LineWidth);
+
15 
+
16 int getInnerAlpha();
+
17 void setInnerAlpha(int innerAlpha);
+
18 
+
19 private:
+
20 int lineWidth;
+
21 int innerAlpha;
+
22 };
+
23 
+
24 #endif
- - - -
LineStyle
The LineStyle enum classifing all ways of drawing a line.
- - - - - + + +
void setInnerAlpha(int innerAlpha)
+ +
void setLineWidth(int LineWidth)
+ - + diff --git a/docs/html/_intelli_triangulation_8cpp.html b/docs/html/_intelli_triangulation_8cpp.html index 7ef82bf..bed1df2 100644 --- a/docs/html/_intelli_triangulation_8cpp.html +++ b/docs/html/_intelli_triangulation_8cpp.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/IntelliHelper/IntelliTriangulation.cpp File Reference +IntelliPhoto: src/IntelliHelper/IntelliTriangulation.cpp File Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -126,10 +122,10 @@ Macros diff --git a/docs/html/_intelli_triangulation_8cpp_source.html b/docs/html/_intelli_triangulation_8cpp_source.html index 8fc95e8..01d0e53 100644 --- a/docs/html/_intelli_triangulation_8cpp_source.html +++ b/docs/html/_intelli_triangulation_8cpp_source.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/IntelliHelper/IntelliTriangulation.cpp Source File +IntelliPhoto: src/IntelliHelper/IntelliTriangulation.cpp Source File @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@
- +
@@ -106,106 +102,106 @@ $(document).ready(function(){initNavTree('_intelli_triangulation_8cpp_source.htm
14  };
15 
16  // calculates the inner angle of 'point'
-
17  auto calculateInner = [](QPoint& point, QPoint& prev, QPoint& post){
-
18  QPoint AP(point.x()-prev.x(), point.y()-prev.y());
-
19  QPoint BP(point.x()-post.x(), point.y()-post.y());
+
17  auto calculateInner = [] (QPoint& point, QPoint& prev, QPoint& post) {
+
18  QPoint AP(point.x() - prev.x(), point.y() - prev.y());
+
19  QPoint BP(point.x() - post.x(), point.y() - post.y());
20 
-
21  float topSclar = AP.x()*BP.x()+AP.y()*BP.y();
-
22  float absolute = static_cast<float>(sqrt(pow(AP.x(),2.)+pow(AP.y(),2.))*sqrt(pow(BP.x(),2.)+pow(BP.y(),2.)));
-
23  return acos(topSclar/absolute);
+
21  float topSclar = AP.x() * BP.x() + AP.y() * BP.y();
+
22  float absolute = static_cast<float>(sqrt(pow(AP.x(),2.) + pow(AP.y(),2.)) * sqrt(pow(BP.x(),2.) + pow(BP.y(),2.)));
+
23  return acos(topSclar / absolute);
24  };
25 
26  // gets the first element of vec for which element.isTip == true holds
-
27  auto getTip= [](const std::vector<TriangleHelper>& vec){
-
28  size_t min = 0;
-
29  for(size_t i=0; i<vec.size(); i++) {
-
30  if(vec[i].interiorAngle<vec[min].interiorAngle) {
-
31  min = i;
-
32  }
-
33  }
-
34  return vec[min];
-
35  };
+
27  auto getTip = [] (const std::vector<TriangleHelper>& vec) {
+
28  size_t min = 0;
+
29  for(size_t i = 0; i<vec.size(); i++) {
+
30  if(vec[i].interiorAngle<vec[min].interiorAngle) {
+
31  min = i;
+
32  }
+
33  }
+
34  return vec[min];
+
35  };
36 
37  // get the vertex idx bevor idx in relation to the container length
-
38  auto getPrev = [](int idx, int length){
-
39  return (idx-1)>=0 ? (idx-1) : (length-1);
+
38  auto getPrev = [] (int idx, int length) {
+
39  return (idx - 1)>=0 ? (idx - 1) : (length - 1);
40  };
41 
42  // get the vertex idx after idx in relation to the container lenght
-
43  auto getPost = [](int idx, int length){
-
44  return (idx+1)%length;
+
43  auto getPost = [] (int idx, int length) {
+
44  return (idx + 1) % length;
45  };
46 
47  // return if the vertex is a tip
-
48  auto isTip = [](float angle){
-
49  return static_cast<double>(angle)<(pi/2.);
+
48  auto isTip = [] (float angle) {
+
49  return static_cast<double>(angle)<(pi / 2.);
50  };
51 
52  std::vector<TriangleHelper> Vertices;
53  std::vector<Triangle> Triangles;
54 
55  // set up all vertices and calculate intirior angle
-
56  for(int i=0; i<static_cast<int>(polyPoints.size()); i++) {
+
56  for(int i = 0; i<static_cast<int>(polyPoints.size()); i++) {
57  TriangleHelper helper;
-
58  int prev = getPrev(i, static_cast<int>(polyPoints.size()));
-
59  int post = getPost(i, static_cast<int>(polyPoints.size()));
+
58  int prev = getPrev(i, static_cast<int>(polyPoints.size()));
+
59  int post = getPost(i, static_cast<int>(polyPoints.size()));
60 
-
61  helper.vertex = polyPoints[static_cast<size_t>(i)];
+
61  helper.vertex = polyPoints[static_cast<size_t>(i)];
62  helper.idx = i;
63 
-
64  helper.interiorAngle = calculateInner(polyPoints[static_cast<size_t>(i)],
-
65  polyPoints[static_cast<size_t>(prev)],
-
66  polyPoints[static_cast<size_t>(post)]);
+
64  helper.interiorAngle = calculateInner(polyPoints[static_cast<size_t>(i)],
+
65  polyPoints[static_cast<size_t>(prev)],
+
66  polyPoints[static_cast<size_t>(post)]);
67  helper.isTip = isTip(helper.interiorAngle);
68  Vertices.push_back(helper);
69  }
70 
71  // search triangles based on the intirior angles of each vertey
-
72  while(Triangles.size() != polyPoints.size()-2) {
+
72  while(Triangles.size() != polyPoints.size() - 2) {
73  Triangle tri;
74  TriangleHelper smallest = getTip(Vertices);
-
75  int prev = getPrev(smallest.idx, static_cast<int>(Vertices.size()));
-
76  int post = getPost(smallest.idx, static_cast<int>(Vertices.size()));
+
75  int prev = getPrev(smallest.idx, static_cast<int>(Vertices.size()));
+
76  int post = getPost(smallest.idx, static_cast<int>(Vertices.size()));
77 
78  // set triangle and push it
-
79  tri.A = Vertices[static_cast<size_t>(prev)].vertex;
-
80  tri.B = Vertices[static_cast<size_t>(smallest.idx)].vertex;
-
81  tri.C = Vertices[static_cast<size_t>(post)].vertex;
+
79  tri.A = Vertices[static_cast<size_t>(prev)].vertex;
+
80  tri.B = Vertices[static_cast<size_t>(smallest.idx)].vertex;
+
81  tri.C = Vertices[static_cast<size_t>(post)].vertex;
82  Triangles.push_back(tri);
83 
84  // update Vertice array
-
85  Vertices.erase(Vertices.begin()+smallest.idx);
-
86  for(size_t i=static_cast<size_t>(smallest.idx); i<Vertices.size(); i++) {
-
87  Vertices[i].idx-=1;
+
85  Vertices.erase(Vertices.begin() + smallest.idx);
+
86  for(size_t i = static_cast<size_t>(smallest.idx); i<Vertices.size(); i++) {
+
87  Vertices[i].idx -= 1;
88  }
89 
90  // update post und prev idx
91  post = getPrev(post, Vertices.size());
-
92  prev = prev<smallest.idx ? prev : (prev-1);
+
92  prev = prev<smallest.idx ? prev : (prev - 1);
93 
94  // calcultae neighboors of prev and post to calculate new interior angles
-
95  int prevOfPrev = getPrev(prev, static_cast<int>(Vertices.size()));
-
96  int postOfPrev = getPost(prev, static_cast<int>(Vertices.size()));
+
95  int prevOfPrev = getPrev(prev, static_cast<int>(Vertices.size()));
+
96  int postOfPrev = getPost(prev, static_cast<int>(Vertices.size()));
97 
-
98  int prevOfPost = getPrev(post, static_cast<int>(Vertices.size()));
-
99  int postOfPost = getPost(post, static_cast<int>(Vertices.size()));
+
98  int prevOfPost = getPrev(post, static_cast<int>(Vertices.size()));
+
99  int postOfPost = getPost(post, static_cast<int>(Vertices.size()));
100 
101  // update vertices with interior angles
102  // updtae prev
-
103  Vertices[static_cast<size_t>(prev)].interiorAngle = calculateInner(Vertices[static_cast<size_t>(prev)].vertex,
-
104  Vertices[static_cast<size_t>(prevOfPrev)].vertex,
-
105  Vertices[static_cast<size_t>(postOfPrev)].vertex);
-
106  Vertices[static_cast<size_t>(prev)].isTip = isTip(Vertices[static_cast<size_t>(prev)].interiorAngle);
+
103  Vertices[static_cast<size_t>(prev)].interiorAngle = calculateInner(Vertices[static_cast<size_t>(prev)].vertex,
+
104  Vertices[static_cast<size_t>(prevOfPrev)].vertex,
+
105  Vertices[static_cast<size_t>(postOfPrev)].vertex);
+
106  Vertices[static_cast<size_t>(prev)].isTip = isTip(Vertices[static_cast<size_t>(prev)].interiorAngle);
107  // update post
-
108  Vertices[static_cast<size_t>(post)].interiorAngle = calculateInner(Vertices[static_cast<size_t>(post)].vertex,
-
109  Vertices[static_cast<size_t>(prevOfPost)].vertex,
-
110  Vertices[static_cast<size_t>(postOfPost)].vertex);
-
111  Vertices[static_cast<size_t>(post)].isTip = isTip(Vertices[static_cast<size_t>(post)].interiorAngle);
+
108  Vertices[static_cast<size_t>(post)].interiorAngle = calculateInner(Vertices[static_cast<size_t>(post)].vertex,
+
109  Vertices[static_cast<size_t>(prevOfPost)].vertex,
+
110  Vertices[static_cast<size_t>(postOfPost)].vertex);
+
111  Vertices[static_cast<size_t>(post)].isTip = isTip(Vertices[static_cast<size_t>(post)].interiorAngle);
112  }
113  return Triangles;
114 }
115 
-
116 bool IntelliTriangulation::isInPolygon(std::vector<Triangle> &triangles, QPoint &point){
+
116 bool IntelliTriangulation::isInPolygon(const std::vector<Triangle> &triangles, QPoint &point){
117  for(auto triangle : triangles) {
118  if(IntelliTriangulation::isInTriangle(triangle, point)) {
119  return true;
@@ -215,22 +211,22 @@ $(document).ready(function(){initNavTree('_intelli_triangulation_8cpp_source.htm
123 }
-
bool isInTriangle(Triangle &tri, QPoint &P)
A function to check if a given point is in a triangle.
+
bool isInTriangle(Triangle &tri, QPoint &P)
A function to check if a given point is in a triangle.
std::vector< Triangle > calculateTriangles(std::vector< QPoint > polyPoints)
A function to split a polygon in its spanning traingles by using Meisters Theorem of graph theory by ...
- +
#define pi
- -
The Triangle struct holds the 3 vertices of a triangle.
-
bool isInPolygon(std::vector< Triangle > &triangles, QPoint &point)
A function to check if a point lies in a polygon by checking its spanning triangles.
- + +
The Triangle struct holds the 3 vertices of a triangle.
+ +
bool isInPolygon(const std::vector< Triangle > &triangles, QPoint &point)
A function to check if a point lies in a polygon by checking its spanning triangles.
diff --git a/docs/html/_intelli_triangulation_8h.html b/docs/html/_intelli_triangulation_8h.html index ea5eb14..3b84cc0 100644 --- a/docs/html/_intelli_triangulation_8h.html +++ b/docs/html/_intelli_triangulation_8h.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/IntelliHelper/IntelliTriangulation.h File Reference +IntelliPhoto: src/IntelliHelper/IntelliTriangulation.h File Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -121,19 +117,19 @@ Functions std::vector< TriangleIntelliTriangulation::calculateTriangles (std::vector< QPoint > polyPoints)  A function to split a polygon in its spanning traingles by using Meisters Theorem of graph theory by clipping ears of a planar graph. More...
  -bool IntelliTriangulation::isInPolygon (std::vector< Triangle > &triangles, QPoint &point) - A function to check if a point lies in a polygon by checking its spanning triangles. More...
-  +bool IntelliTriangulation::isInPolygon (const std::vector< Triangle > &triangles, QPoint &point) + A function to check if a point lies in a polygon by checking its spanning triangles. More...
diff --git a/docs/html/_intelli_triangulation_8h.js b/docs/html/_intelli_triangulation_8h.js index 0384860..1dfa6d3 100644 --- a/docs/html/_intelli_triangulation_8h.js +++ b/docs/html/_intelli_triangulation_8h.js @@ -2,7 +2,7 @@ var _intelli_triangulation_8h = [ [ "Triangle", "struct_triangle.html", "struct_triangle" ], [ "calculateTriangles", "_intelli_triangulation_8h.html#acdaf1ed598e868b25e9e06d580da32e5", null ], - [ "isInPolygon", "_intelli_triangulation_8h.html#a00621e2d8708fe2e8966d7d79b64e186", null ], + [ "isInPolygon", "_intelli_triangulation_8h.html#ac276696f29d141ed34614c1c3b1c040f", null ], [ "isInTriangle", "_intelli_triangulation_8h.html#ac150fee67fd41a451bd2592f10e00197", null ], [ "sign", "_intelli_triangulation_8h.html#af9af549a7faff35a74c1265b290ea0ca", null ] ]; \ No newline at end of file diff --git a/docs/html/_intelli_triangulation_8h_source.html b/docs/html/_intelli_triangulation_8h_source.html index d485a01..3a7b7a2 100644 --- a/docs/html/_intelli_triangulation_8h_source.html +++ b/docs/html/_intelli_triangulation_8h_source.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/IntelliHelper/IntelliTriangulation.h Source File +IntelliPhoto: src/IntelliHelper/IntelliTriangulation.h Source File @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -93,57 +89,61 @@ $(document).ready(function(){initNavTree('_intelli_triangulation_8h_source.html' Go to the documentation of this file.
1 #ifndef INTELLITRIANGULATION_H
2 #define INTELLITRIANGULATION_H
3 
-
4 #include <QPoint>
-
5 #include <vector>
+
4 //for unit testing
+
5 class UnitTest;
6 
-
10 struct Triangle {
-
11  QPoint A,B,C;
-
12 };
-
13 
- -
15 
-
23 inline float sign(QPoint& p1, QPoint& p2, QPoint& p3){
-
24  return (p1.x()-p3.x())*(p2.y()-p3.y())-(p2.x()-p3.x())*(p1.y()-p3.y());
-
25 }
-
26 
-
33 inline bool isInTriangle(Triangle& tri, QPoint& P){
-
34  float val1, val2, val3;
-
35  bool neg, pos;
-
36 
-
37  val1 = IntelliTriangulation::sign(P,tri.A,tri.B);
-
38  val2 = IntelliTriangulation::sign(P,tri.B,tri.C);
-
39  val3 = IntelliTriangulation::sign(P,tri.C,tri.A);
-
40 
-
41  neg = (val1<0.f) || (val2<0.f) || (val3<0.f);
-
42  pos = (val1>0.f) || (val2>0.f) || (val3>0.f);
+
7 #include <QPoint>
+
8 #include <vector>
+
9 
+
13 struct Triangle {
+
14  QPoint A,B,C;
+
15 };
+
16 
+ +
18 
+
26 inline float sign(QPoint& p1, QPoint& p2, QPoint& p3){
+
27  return (p1.x() - p3.x()) * (p2.y() - p3.y()) - (p2.x() - p3.x()) * (p1.y() - p3.y());
+
28 }
+
29 
+
36 inline bool isInTriangle(Triangle& tri, QPoint& P){
+
37  float val1, val2, val3;
+
38  bool neg, pos;
+
39 
+
40  val1 = IntelliTriangulation::sign(P,tri.A,tri.B);
+
41  val2 = IntelliTriangulation::sign(P,tri.B,tri.C);
+
42  val3 = IntelliTriangulation::sign(P,tri.C,tri.A);
43 
-
44  return !(neg && pos);
-
45 }
+
44  neg = (val1<0.f) || (val2<0.f) || (val3<0.f);
+
45  pos = (val1>0.f) || (val2>0.f) || (val3>0.f);
46 
-
52 std::vector<Triangle> calculateTriangles(std::vector<QPoint> polyPoints);
-
53 
-
60 bool isInPolygon(std::vector<Triangle> &triangles, QPoint &point);
-
61 }
-
62 
-
63 #endif
+
47  return !(neg && pos);
+
48 }
+
49 
+
55 std::vector<Triangle> calculateTriangles(std::vector<QPoint> polyPoints);
+
56 
+
63 bool isInPolygon(const std::vector<Triangle> &triangles, QPoint &point);
+
64 }
+
65 
+
66 #endif
-
bool isInTriangle(Triangle &tri, QPoint &P)
A function to check if a given point is in a triangle.
-
float sign(QPoint &p1, QPoint &p2, QPoint &p3)
A function to get the 2*area of a traingle, using its determinat.
+
bool isInTriangle(Triangle &tri, QPoint &P)
A function to check if a given point is in a triangle.
+
float sign(QPoint &p1, QPoint &p2, QPoint &p3)
A function to get the 2*area of a traingle, using its determinat.
std::vector< Triangle > calculateTriangles(std::vector< QPoint > polyPoints)
A function to split a polygon in its spanning traingles by using Meisters Theorem of graph theory by ...
- - -
The Triangle struct holds the 3 vertices of a triangle.
-
bool isInPolygon(std::vector< Triangle > &triangles, QPoint &point)
A function to check if a point lies in a polygon by checking its spanning triangles.
- - + + +
The Triangle struct holds the 3 vertices of a triangle.
+ + + +
bool isInPolygon(const std::vector< Triangle > &triangles, QPoint &point)
A function to check if a point lies in a polygon by checking its spanning triangles.
diff --git a/docs/html/_painting_area_8cpp.html b/docs/html/_painting_area_8cpp.html index 8207a1c..63d1ec5 100644 --- a/docs/html/_painting_area_8cpp.html +++ b/docs/html/_painting_area_8cpp.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Layer/PaintingArea.cpp File Reference +IntelliPhoto: src/Layer/PaintingArea.cpp File Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -112,10 +108,10 @@ $(document).ready(function(){initNavTree('_painting_area_8cpp.html','');}); diff --git a/docs/html/_painting_area_8cpp_source.html b/docs/html/_painting_area_8cpp_source.html index 08331a1..5077941 100644 --- a/docs/html/_painting_area_8cpp_source.html +++ b/docs/html/_painting_area_8cpp_source.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Layer/PaintingArea.cpp Source File +IntelliPhoto: src/Layer/PaintingArea.cpp Source File @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@
- +
@@ -110,496 +106,544 @@ $(document).ready(function(){initNavTree('_painting_area_8cpp_source.html','');}
20 
-
21 PaintingArea::PaintingArea(int maxWidth, int maxHeight, QWidget*parent)
-
22  : QWidget(parent){
-
23  this->Tool = nullptr;
-
24  this->setLayerDimensions(maxWidth, maxHeight);
- -
26  layerBundle[0].image->drawPlain(QColor(0,0,255,255));
-
27  std::vector<QPoint> polygon;
-
28  polygon.push_back(QPoint(100,000));
-
29  polygon.push_back(QPoint(200,100));
-
30  polygon.push_back(QPoint(100,200));
-
31  polygon.push_back(QPoint(000,100));
-
32  layerBundle[0].image->setPolygon(polygon);
+
21 
+
22 PaintingArea::PaintingArea(int maxWidth, int maxHeight, QWidget*parent)
+
23  : QWidget(parent){
+
24  this->Tool = nullptr;
+
25  this->setLayerDimensions(maxWidth, maxHeight);
+
26 
+
27  activeLayer = -1;
+
28 }
+
29 
+ +
31  delete Tool;
+
32 }
33 
-
34  this->addLayer(200,200,150,150,IntelliImage::ImageType::RASTERIMAGE);
-
35  layerBundle[1].image->drawPlain(QColor(0,255,0,255));
-
36  layerBundle[1].alpha=200;
-
37 
-
38  activeLayer=0;
-
39 }
-
40 
- -
42  delete Tool;
-
43 }
-
44 
-
45 void PaintingArea::setLayerDimensions(int maxWidth, int maxHeight){
-
46  //set standart parameter
-
47  this->maxWidth = maxWidth;
-
48  this->maxHeight = maxHeight;
-
49  Canvas = new QImage(maxWidth,maxHeight, QImage::Format_ARGB32);
+
34 void PaintingArea::setRenderSettings(bool isFastRenderingOn){
+
35  bool ToolIsActive;
+
36 
+
37  if(Tool!=nullptr) {
+
38  ToolIsActive = Tool->getIsDrawing();
+
39  }
+
40  else{
+
41  ToolIsActive = false;
+
42  }
+
43  if(isFastRenderingOn != renderSettings.isFastRenderering() && !ToolIsActive) {
+
44  renderSettings.setFastRendering(isFastRenderingOn);
+
45  for(auto& layer : layerBundle) {
+
46  layer.image->updateRendererSetting(isFastRenderingOn);
+
47  }
+
48  }
+
49 }
50 
-
51  // Roots the widget to the top left even if resized
-
52  setAttribute(Qt::WA_StaticContents);
-
53 
-
54 }
-
55 
-
56 int PaintingArea::addLayer(int width, int height, int widthOffset, int heightOffset, IntelliImage::ImageType type){
-
57  LayerObject newLayer;
-
58  newLayer.width = width;
-
59  newLayer.height = height;
-
60  newLayer.widthOffset = widthOffset;
-
61  newLayer.heightOffset = heightOffset;
- -
63  newLayer.image = new IntelliRasterImage(width,height,renderSettings.getFastRenderer());
-
64  }else if(type==IntelliImage::ImageType::SHAPEDIMAGE) {
-
65  newLayer.image = new IntelliShapedImage(width, height, renderSettings.getFastRenderer());
-
66  }
-
67  newLayer.alpha = 255;
-
68  this->layerBundle.push_back(newLayer);
-
69  activeLayer = static_cast<int>(layerBundle.size())-1;
-
70  return activeLayer;
-
71 }
-
72 
-
73 
- -
75  if(idx<static_cast<int>(layerBundle.size())) {
-
76  this->layerBundle.erase(layerBundle.begin()+idx);
-
77  if(activeLayer>=idx && activeLayer != 0) {
-
78  activeLayer--;
-
79  }
-
80  }
-
81 }
-
82 
- -
84  if(activeLayer>=0 && activeLayer < static_cast<int>(layerBundle.size())) {
-
85  this->layerBundle.erase(layerBundle.begin()+activeLayer);
-
86  activeLayer--;
-
87  }
-
88 }
-
89 
- -
91  if(idx>=0&&idx<static_cast<int>(layerBundle.size())) {
-
92  this->activeLayer=idx;
+
51 void PaintingArea::setLayerDimensions(int maxWidth, int maxHeight){
+
52  //set standart parameter
+
53  this->maxWidth = maxWidth;
+
54  this->maxHeight = maxHeight;
+
55  Canvas = new QImage(maxWidth,maxHeight, QImage::Format_ARGB32);
+
56 
+
57  // Roots the widget to the top left even if resized
+
58  setAttribute(Qt::WA_StaticContents);
+
59 
+
60 }
+
61 
+
62 int PaintingArea::addLayer(int width, int height, int widthOffset, int heightOffset, IntelliImage::ImageType type){
+
63  LayerObject newLayer;
+
64  updateTools();
+
65  newLayer.width = width;
+
66  newLayer.height = height;
+
67  newLayer.widthOffset = widthOffset;
+
68  newLayer.heightOffset = heightOffset;
+ +
70  newLayer.image = new IntelliRasterImage(width,height,renderSettings.isFastRenderering());
+
71  }else if(type==IntelliImage::ImageType::SHAPEDIMAGE) {
+
72  newLayer.image = new IntelliShapedImage(width, height, renderSettings.isFastRenderering());
+
73  }
+
74  newLayer.alpha = 255;
+
75  this->layerBundle.push_back(newLayer);
+
76  activeLayer = static_cast<int>(layerBundle.size()) - 1;
+
77  return activeLayer;
+
78 }
+
79 
+
80 
+
81 void PaintingArea::deleteLayer(int idx, bool isTool){
+
82  if(!isTool) {
+
83  updateTools();
+
84  }
+
85  if(idx<static_cast<int>(layerBundle.size())&&idx>=0) {
+
86  this->layerBundle.erase(layerBundle.begin() + idx);
+
87  if(activeLayer>=idx) {
+
88  activeLayer--;
+
89  }
+
90  if(activeLayer < 0 && layerBundle.size()) {
+
91  activeLayer = 0;
+
92  }
93  }
94 }
95 
-
96 void PaintingArea::setLayerAlpha(int idx, int alpha){
-
97  if(idx>=0&&idx<static_cast<int>(layerBundle.size())) {
-
98  layerBundle[static_cast<size_t>(idx)].alpha=alpha;
-
99  }
-
100 }
-
101 
-
102 // Used to load the image and place it in the widget
-
103 bool PaintingArea::open(const QString &filePath){
-
104  if(this->activeLayer==-1) {
-
105  return false;
-
106  }
-
107  IntelliImage* active = layerBundle[static_cast<size_t>(activeLayer)].image;
-
108  bool open = active->loadImage(filePath);
-
109  active->calculateVisiblity();
-
110  update();
-
111  return open;
-
112 }
-
113 
-
114 // Save the current image
-
115 bool PaintingArea::save(const QString &filePath, const char*fileFormat){
-
116  if(layerBundle.size()==0) {
-
117  return false;
-
118  }
-
119  this->drawLayers(true);
-
120 
-
121  if(!strcmp(fileFormat,"PNG")) {
-
122  QImage visibleImage = Canvas->convertToFormat(QImage::Format_Indexed8);
-
123  fileFormat = "png";
-
124  if (visibleImage.save(filePath, fileFormat)) {
-
125  return true;
-
126  } else {
-
127  return false;
-
128  }
-
129  }
-
130 
-
131  if (Canvas->save(filePath, fileFormat)) {
-
132  return true;
-
133  } else {
-
134  return false;
-
135  }
-
136 }
-
137 
-
138 // Color the image area with white
-
139 void PaintingArea::floodFill(int r, int g, int b, int a){
-
140  if(this->activeLayer==-1) {
-
141  return;
-
142  }
-
143  IntelliImage* active = layerBundle[static_cast<size_t>(activeLayer)].image;
-
144  active->drawPlain(QColor(r, g, b, a));
-
145  update();
-
146 }
-
147 
- -
149  if(Tool!=nullptr) {
-
150  if(Tool->getIsDrawing()) {
-
151  IntelliTool* temp = copyActiveTool();
-
152  delete this->Tool;
-
153  this->Tool = temp;
+ +
97  if(activeLayer>=0 && activeLayer < static_cast<int>(layerBundle.size())) {
+
98  this->layerBundle.erase(layerBundle.begin() + activeLayer);
+
99  activeLayer--;
+
100  }
+
101 }
+
102 
+ +
104  updateTools();
+
105  if(idx>=0&&idx<static_cast<int>(layerBundle.size())) {
+
106  this->activeLayer = idx;
+
107  }
+
108 }
+
109 
+
110 void PaintingArea::setLayerAlpha(int idx, int alpha){
+
111  if(idx>=0&&idx<static_cast<int>(layerBundle.size())) {
+
112  if(alpha>=0 && alpha<=255) {
+
113  layerBundle[static_cast<size_t>(idx)].alpha = alpha;
+
114  }
+
115  }
+
116 }
+ +
118  if(idx>=0&&idx<static_cast<int>(layerBundle.size())) {
+
119  if(layerBundle[static_cast<size_t>(idx)].image->getTypeOfImage()==IntelliImage::ImageType::SHAPEDIMAGE) {
+
120  delete this->Tool;
+
121  this->Tool = new IntelliToolPolygon(this,&colorPicker,&Toolsettings, true);
+
122  isSettingPolygon = true;
+
123  this->DummyGui->setToolWidth(5);
+
124  }
+
125  }
+
126 }
+
127 
+
128 // Used to load the image and place it in the widget
+
129 bool PaintingArea::open(const QString &filePath){
+
130  if(this->activeLayer==-1) {
+
131  return false;
+
132  }
+
133  IntelliImage* active = layerBundle[static_cast<size_t>(activeLayer)].image;
+
134  bool open = active->loadImage(filePath);
+
135  active->calculateVisiblity();
+
136  update();
+
137  return open;
+
138 }
+
139 
+
140 // Save the current image
+
141 bool PaintingArea::save(const QString &filePath, const char*fileFormat){
+
142  if(layerBundle.size()==0) {
+
143  return false;
+
144  }
+
145  this->drawLayers(true);
+
146 
+
147  if(!strcmp(fileFormat,"PNG")) {
+
148  QImage visibleImage = Canvas->convertToFormat(QImage::Format_Indexed8);
+
149  fileFormat = "png";
+
150  if (visibleImage.save(filePath, fileFormat)) {
+
151  return true;
+
152  } else {
+
153  return false;
154  }
155  }
-
156  layerBundle[static_cast<size_t>(activeLayer)].widthOffset += x;
-
157  layerBundle[static_cast<size_t>(activeLayer)].heightOffset += y;
-
158 }
-
159 
- -
161  if(Tool != nullptr) {
-
162  if(Tool->getIsDrawing()) {
-
163  IntelliTool* temp = copyActiveTool();
-
164  delete this->Tool;
-
165  this->Tool = temp;
-
166  }
-
167  }
-
168  if(idx==1) {
-
169  this->selectLayerUp();
-
170  }else if(idx==-1) {
-
171  this->selectLayerDown();
-
172  }
-
173 }
-
174 
- -
176  if(Tool != nullptr) {
-
177  if(Tool->getIsDrawing()) {
-
178  IntelliTool* temp = copyActiveTool();
-
179  delete this->Tool;
-
180  this->Tool = temp;
-
181  }
-
182  }
-
183  if(a>=0 && a < static_cast<int>(layerBundle.size())) {
-
184  this->setLayerActive(a);
-
185  }
-
186 }
-
187 
- -
189  QColor clr = QColorDialog::getColor(colorPicker.getFirstColor(), nullptr, "Main Color", QColorDialog::DontUseNativeDialog);
-
190  this->colorPicker.setFirstColor(clr);
-
191 }
-
192 
- -
194  QColor clr = QColorDialog::getColor(colorPicker.getSecondColor(), nullptr, "Secondary Color", QColorDialog::DontUseNativeDialog);
-
195  this->colorPicker.setSecondColor(clr);
-
196 }
-
197 
- -
199  this->colorPicker.swapColors();
-
200 }
-
201 
- -
203  delete this->Tool;
-
204  Tool = new IntelliToolPen(this, &colorPicker, &Toolsettings);
-
205 }
-
206 
- -
208  delete this->Tool;
-
209  Tool = new IntelliToolPlainTool(this, &colorPicker, &Toolsettings);
-
210 }
-
211 
- -
213  delete this->Tool;
-
214  Tool = new IntelliToolLine(this, &colorPicker, &Toolsettings);
-
215 }
-
216 
- -
218  delete this->Tool;
-
219  Tool = new IntelliToolRectangle(this, &colorPicker, &Toolsettings);
-
220 }
-
221 
- -
223  delete this->Tool;
-
224  Tool = new IntelliToolCircle(this, &colorPicker, &Toolsettings);
-
225 }
- -
227  delete this->Tool;
-
228  Tool = new IntelliToolPolygon(this, &colorPicker, &Toolsettings);
-
229 }
-
230 
- -
232  delete this->Tool;
-
233  Tool = new IntelliToolFloodFill(this, &colorPicker, &Toolsettings);
-
234 }
-
235 
- -
237  return this->layerBundle[static_cast<unsigned long long>(activeLayer)].width;
-
238 }
-
239 
- -
241  return this->layerBundle[static_cast<unsigned long long>(activeLayer)].height;
-
242 }
-
243 
- -
245  return this->layerBundle[static_cast<unsigned long long>(activeLayer)].image->getTypeOfImage();
-
246 }
-
247 
- -
249  return this->layerBundle[static_cast<unsigned long long>(activeLayer)].image->getPolygonData();
-
250 }
-
251 
-
252 // If a mouse button is pressed check if it was the
-
253 // left button and if so store the current position
-
254 // Set that we are currently drawing
-
255 void PaintingArea::mousePressEvent(QMouseEvent*event){
-
256  if(Tool == nullptr)
-
257  return;
-
258  int x = event->x()-layerBundle[static_cast<unsigned long long>(activeLayer)].widthOffset;
-
259  int y = event->y()-layerBundle[static_cast<unsigned long long>(activeLayer)].heightOffset;
-
260  if(event->button() == Qt::LeftButton) {
-
261  Tool->onMouseLeftPressed(x, y);
-
262  }else if(event->button() == Qt::RightButton) {
-
263  Tool->onMouseRightPressed(x, y);
-
264  }
-
265  update();
-
266 }
-
267 
-
268 // When the mouse moves if the left button is clicked
-
269 // we call the drawline function which draws a line
-
270 // from the last position to the current
-
271 void PaintingArea::mouseMoveEvent(QMouseEvent*event){
-
272  if(Tool == nullptr)
-
273  return;
-
274  int x = event->x()-layerBundle[static_cast<unsigned long long>(activeLayer)].widthOffset;
-
275  int y = event->y()-layerBundle[static_cast<unsigned long long>(activeLayer)].heightOffset;
-
276  Tool->onMouseMoved(x, y);
-
277  update();
-
278 }
-
279 
-
280 // If the button is released we set variables to stop drawing
-
281 void PaintingArea::mouseReleaseEvent(QMouseEvent*event){
-
282  if(Tool == nullptr)
+
156 
+
157  if (Canvas->save(filePath, fileFormat)) {
+
158  return true;
+
159  } else {
+
160  return false;
+
161  }
+
162 }
+
163 
+ +
165  updateTools();
+
166  layerBundle[static_cast<size_t>(activeLayer)].widthOffset += x;
+
167  layerBundle[static_cast<size_t>(activeLayer)].heightOffset += y;
+
168 }
+
169 
+ +
171  updateTools();
+
172  if(idx==1) {
+
173  this->selectLayerUp();
+
174  }else if(idx==-1) {
+
175  this->selectLayerDown();
+
176  }
+
177  DummyGui->UpdateGui();
+
178 }
+
179 
+ +
181  updateTools();
+
182  if(a>=0 && a < static_cast<int>(layerBundle.size())) {
+
183  this->setLayerActive(a);
+
184  }
+
185 }
+
186 
+ +
188  QColor clr = QColorDialog::getColor(colorPicker.getFirstColor(), nullptr, "Main Color", QColorDialog::DontUseNativeDialog);
+
189  this->colorPicker.setFirstColor(clr);
+
190 }
+
191 
+ +
193  QColor clr = QColorDialog::getColor(colorPicker.getSecondColor(), nullptr, "Secondary Color", QColorDialog::DontUseNativeDialog);
+
194  this->colorPicker.setSecondColor(clr);
+
195 }
+
196 
+ +
198  this->colorPicker.swapColors();
+
199 }
+
200 
+ +
202  delete this->Tool;
+
203  Tool = new IntelliToolPen(this, &colorPicker, &Toolsettings);
+
204 }
+
205 
+ +
207  delete this->Tool;
+
208  Tool = new IntelliToolPlainTool(this, &colorPicker, &Toolsettings);
+
209 }
+
210 
+ +
212  delete this->Tool;
+
213  Tool = new IntelliToolLine(this, &colorPicker, &Toolsettings);
+
214 }
+
215 
+ +
217  delete this->Tool;
+
218  Tool = new IntelliToolRectangle(this, &colorPicker, &Toolsettings);
+
219 }
+
220 
+ +
222  delete this->Tool;
+
223  Tool = new IntelliToolCircle(this, &colorPicker, &Toolsettings);
+
224 }
+ +
226  delete this->Tool;
+
227  Tool = new IntelliToolPolygon(this, &colorPicker, &Toolsettings);
+
228 }
+
229 
+ +
231  delete this->Tool;
+
232  Tool = new IntelliToolFloodFill(this, &colorPicker, &Toolsettings);
+
233 }
+
234 
+ +
236  return this->layerBundle[static_cast<unsigned long long>(activeLayer)].width;
+
237 }
+
238 
+ +
240  return this->layerBundle[static_cast<unsigned long long>(activeLayer)].height;
+
241 }
+
242 
+ +
244  return this->maxWidth;
+
245 }
+
246 
+ +
248  return this->maxHeight;
+
249 }
+
250 
+ +
252  return this->layerBundle[static_cast<unsigned long long>(activeLayer)].image->getTypeOfImage();
+
253 }
+
254 
+ +
256  return this->layerBundle[static_cast<unsigned long long>(activeLayer)].image->getPolygonData();
+
257 }
+
258 
+
259 // If a mouse button is pressed check if it was the
+
260 // left button and if so store the current position
+
261 // Set that we are currently drawing
+
262 void PaintingArea::mousePressEvent(QMouseEvent*event){
+
263  if(this->activeLayer < 0) {
+
264  return;
+
265  }
+
266  if(Tool == nullptr)
+
267  return;
+
268  int x = event->x() - layerBundle[static_cast<unsigned long long>(activeLayer)].widthOffset;
+
269  int y = event->y() - layerBundle[static_cast<unsigned long long>(activeLayer)].heightOffset;
+
270  if(event->button() == Qt::LeftButton) {
+
271  Tool->onMouseLeftPressed(x, y);
+
272  }else if(event->button() == Qt::RightButton) {
+
273  Tool->onMouseRightPressed(x, y);
+
274  }
+
275  update();
+
276 }
+
277 
+
278 // When the mouse moves if the left button is clicked
+
279 // we call the drawline function which draws a line
+
280 // from the last position to the current
+
281 void PaintingArea::mouseMoveEvent(QMouseEvent*event){
+
282  if(this->activeLayer < 0) {
283  return;
-
284  int x = event->x()-layerBundle[static_cast<unsigned long long>(activeLayer)].widthOffset;
-
285  int y = event->y()-layerBundle[static_cast<unsigned long long>(activeLayer)].heightOffset;
-
286  if(event->button() == Qt::LeftButton) {
-
287  Tool->onMouseLeftReleased(x, y);
-
288  }else if(event->button() == Qt::RightButton) {
-
289  Tool->onMouseRightReleased(x, y);
-
290  }
-
291  update();
-
292 }
-
293 
-
294 void PaintingArea::wheelEvent(QWheelEvent*event){
-
295  if(this->Tool != nullptr) {
-
296  QPoint numDegrees = event->angleDelta() / 8;
-
297  if(!numDegrees.isNull()) {
-
298  QPoint numSteps = numDegrees / 15;
-
299  Tool->onWheelScrolled(numSteps.y()* -1);
-
300  }
-
301  }
-
302 }
-
303 
-
304 // QPainter provides functions to draw on the widget
-
305 // The QPaintEvent is sent to widgets that need to
-
306 // update themselves
-
307 void PaintingArea::paintEvent(QPaintEvent*event){
-
308  this->drawLayers();
-
309 
-
310  QPainter painter(this);
-
311  QRect dirtyRec = event->rect();
-
312  painter.drawImage(dirtyRec, *Canvas, dirtyRec);
-
313  update();
-
314 }
-
315 
-
316 // Resize the image to slightly larger then the main window
-
317 // to cut down on the need to resize the image
-
318 void PaintingArea::resizeEvent(QResizeEvent*event){
-
319  //TODO wait till tool works
-
320  update();
-
321 }
-
322 
-
323 void PaintingArea::resizeLayer(QImage*image_res, const QSize &newSize){
-
324  //TODO implement
-
325 }
+
284  }
+
285  if(Tool == nullptr)
+
286  return;
+
287  int x = event->x() - layerBundle[static_cast<unsigned long long>(activeLayer)].widthOffset;
+
288  int y = event->y() - layerBundle[static_cast<unsigned long long>(activeLayer)].heightOffset;
+
289  Tool->onMouseMoved(x, y);
+
290  update();
+
291 }
+
292 
+
293 // If the button is released we set variables to stop drawing
+
294 void PaintingArea::mouseReleaseEvent(QMouseEvent*event){
+
295  if(this->activeLayer < 0)
+
296  return;
+
297  if(Tool == nullptr)
+
298  return;
+
299  int x = event->x() - layerBundle[static_cast<unsigned long long>(activeLayer)].widthOffset;
+
300  int y = event->y() - layerBundle[static_cast<unsigned long long>(activeLayer)].heightOffset;
+
301  if(event->button() == Qt::LeftButton) {
+
302  Tool->onMouseLeftReleased(x, y);
+
303  }else if(event->button() == Qt::RightButton) {
+
304  Tool->onMouseRightReleased(x, y);
+
305  }
+
306  update();
+
307 }
+
308 
+
309 void PaintingArea::wheelEvent(QWheelEvent*event){
+
310  if(this->activeLayer < 0)
+
311  return;
+
312  if(this->Tool != nullptr) {
+
313  QPoint numDegrees = event->angleDelta() / 8;
+
314  if(!numDegrees.isNull()) {
+
315  QPoint numSteps = numDegrees / 15;
+
316  Tool->onWheelScrolled(numSteps.y() * -1);
+
317  }
+
318  }
+
319 }
+
320 
+
321 // QPainter provides functions to draw on the widget
+
322 // The QPaintEvent is sent to widgets that need to
+
323 // update themselves
+
324 void PaintingArea::paintEvent(QPaintEvent*event){
+
325  this->drawLayers();
326 
-
327 void PaintingArea::selectLayerUp(){
-
328  if(activeLayer!=-1 && static_cast<unsigned long long>(activeLayer)<layerBundle.size()-1) {
-
329  std::swap(layerBundle[static_cast<unsigned long long>(activeLayer)], layerBundle[static_cast<unsigned long long>(activeLayer+1)]);
-
330  activeLayer++;
-
331  }
-
332 }
-
333 
-
334 void PaintingArea::selectLayerDown(){
-
335  if(activeLayer!=-1 && activeLayer>0) {
-
336  std::swap(layerBundle[static_cast<unsigned long long>(activeLayer)], layerBundle[static_cast<unsigned long long>(activeLayer-1)]);
-
337  activeLayer--;
+
327  QPainter painter(this);
+
328  QRect dirtyRec = event->rect();
+
329  painter.drawImage(dirtyRec, *Canvas, dirtyRec);
+
330  update();
+
331 }
+
332 
+
333 void PaintingArea::selectLayerUp(){
+
334  updateTools();
+
335  if(activeLayer != -1 && static_cast<size_t>(activeLayer)<layerBundle.size() - 1) {
+
336  std::swap(layerBundle[static_cast<size_t>(activeLayer)], layerBundle[static_cast<size_t>(activeLayer + 1)]);
+
337  activeLayer++;
338  }
339 }
340 
-
341 void PaintingArea::drawLayers(bool forSaving){
-
342  if(forSaving) {
-
343  Canvas->fill(Qt::GlobalColor::transparent);
-
344  }else{
-
345  Canvas->fill(Qt::GlobalColor::black);
+
341 void PaintingArea::selectLayerDown(){
+
342  updateTools();
+
343  if(activeLayer>0) {
+
344  std::swap(layerBundle[static_cast<unsigned long long>(activeLayer)], layerBundle[static_cast<unsigned long long>(activeLayer - 1)]);
+
345  activeLayer--;
346  }
-
347  for(size_t i=0; i<layerBundle.size(); i++) {
-
348  LayerObject layer = layerBundle[i];
-
349  QImage cpy = layer.image->getDisplayable(layer.alpha);
-
350  QColor clr_0;
-
351  QColor clr_1;
-
352  for(int y=0; y<layer.height; y++) {
-
353  if(layer.heightOffset+y<0) continue;
-
354  if(layer.heightOffset+y>=maxHeight) break;
-
355  for(int x=0; x<layer.width; x++) {
-
356  if(layer.widthOffset+x<0) continue;
-
357  if(layer.widthOffset+x>=maxWidth) break;
-
358  clr_0=Canvas->pixelColor(layer.widthOffset+x, layer.heightOffset+y);
-
359  clr_1=cpy.pixelColor(x,y);
-
360  float t = static_cast<float>(clr_1.alpha())/255.f;
-
361  int r =static_cast<int>(static_cast<float>(clr_1.red())*(t)+static_cast<float>(clr_0.red())*(1.f-t)+0.5f);
-
362  int g =static_cast<int>(static_cast<float>(clr_1.green())*(t)+static_cast<float>(clr_0.green())*(1.f-t)+0.5f);
-
363  int b =static_cast<int>(static_cast<float>(clr_1.blue())*(t)+static_cast<float>(clr_0.blue()*(1.f-t))+0.5f);
-
364  int a =std::min(clr_0.alpha()+clr_1.alpha(), 255);
-
365  clr_0.setRed(r);
-
366  clr_0.setGreen(g);
-
367  clr_0.setBlue(b);
-
368  clr_0.setAlpha(a);
-
369 
-
370  Canvas->setPixelColor(layer.widthOffset+x, layer.heightOffset+y, clr_0);
-
371  }
-
372  }
-
373  }
-
374 }
-
375 
-
376 void PaintingArea::createTempTopLayer(int idx){
-
377  if(idx>=0) {
-
378  LayerObject newLayer;
-
379  newLayer.alpha = 255;
-
380  newLayer.height = layerBundle[static_cast<unsigned long long>(idx)].height;
-
381  newLayer.width = layerBundle[static_cast<unsigned long long>(idx)].width;
-
382  newLayer.heightOffset = layerBundle[static_cast<unsigned long long>(idx)].heightOffset;
-
383  newLayer.widthOffset = layerBundle[static_cast<unsigned long long>(idx)].widthOffset;
-
384  newLayer.image = layerBundle[static_cast<unsigned long long>(idx)].image->getDeepCopy();
-
385  layerBundle.insert(layerBundle.begin()+idx+1,newLayer);
-
386  }
-
387 }
-
388 
-
389 IntelliTool* PaintingArea::copyActiveTool(){
-
390  switch(Tool->getTooltype()) {
- - - - - - - -
398  default: return nullptr;
-
399  }
-
400 }
-
401 
- -
403  return activeLayer;
-
404 }
-
405 
- -
407  return layerBundle[activeLayer].image;
-
408 }
+
347 }
+
348 
+
349 void PaintingArea::drawLayers(bool forSaving){
+
350  if(forSaving) {
+
351  Canvas->fill(Qt::GlobalColor::transparent);
+
352  }else{
+
353  Canvas->fill(Qt::GlobalColor::black);
+
354  }
+
355  for(size_t i = 0; i<layerBundle.size(); i++) {
+
356  LayerObject layer = layerBundle[i];
+
357  QImage cpy = layer.image->getDisplayable(layer.alpha);
+
358  QColor clr_0;
+
359  QColor clr_1;
+
360  for(int y = 0; y<layer.height; y++) {
+
361  if(layer.heightOffset + y<0) continue;
+
362  if(layer.heightOffset + y>=maxHeight) break;
+
363  for(int x = 0; x<layer.width; x++) {
+
364  if(layer.widthOffset + x<0) continue;
+
365  if(layer.widthOffset + x>=maxWidth) break;
+
366  clr_0 = Canvas->pixelColor(layer.widthOffset + x, layer.heightOffset + y);
+
367  clr_1 = cpy.pixelColor(x,y);
+
368  float t = static_cast<float>(clr_1.alpha()) / 255.f;
+
369  int r = static_cast<int>(static_cast<float>(clr_1.red()) * (t) + static_cast<float>(clr_0.red()) * (1.f - t) + 0.5f);
+
370  int g = static_cast<int>(static_cast<float>(clr_1.green()) * (t) + static_cast<float>(clr_0.green()) * (1.f - t) + 0.5f);
+
371  int b = static_cast<int>(static_cast<float>(clr_1.blue()) * (t) + static_cast<float>(clr_0.blue() * (1.f - t)) + 0.5f);
+
372  int a = std::min(clr_0.alpha() + clr_1.alpha(), 255);
+
373  clr_0.setRed(r);
+
374  clr_0.setGreen(g);
+
375  clr_0.setBlue(b);
+
376  clr_0.setAlpha(a);
+
377 
+
378  Canvas->setPixelColor(layer.widthOffset + x, layer.heightOffset + y, clr_0);
+
379  }
+
380  }
+
381  }
+
382 }
+
383 
+
384 bool PaintingArea::createTempTopLayer(int idx){
+
385  if(idx>=0) {
+
386  LayerObject newLayer;
+
387  newLayer.alpha = 255;
+
388  newLayer.height = layerBundle[static_cast<unsigned long long>(idx)].height;
+
389  newLayer.width = layerBundle[static_cast<unsigned long long>(idx)].width;
+
390  newLayer.heightOffset = layerBundle[static_cast<unsigned long long>(idx)].heightOffset;
+
391  newLayer.widthOffset = layerBundle[static_cast<unsigned long long>(idx)].widthOffset;
+
392  newLayer.image = layerBundle[static_cast<unsigned long long>(idx)].image->getDeepCopy();
+
393  layerBundle.insert(layerBundle.begin() + idx + 1,newLayer);
+
394  return true;
+
395  }
+
396  return false;
+
397 }
+
398 
+
399 IntelliTool* PaintingArea::copyActiveTool(){
+
400  switch(Tool->getTooltype()) {
+ + + + + + + +
408  default: return nullptr;
+
409  }
+
410 }
+
411 
+ +
413  return activeLayer;
+
414 }
+
415 
+ +
417  if(activeLayer<0) {
+
418  return nullptr;
+
419  }
+
420  return layerBundle[static_cast<size_t>(activeLayer)].image;
+
421 }
+
422 
+ +
424  QImage returnImage;
+
425  if(activeLayer<0) {
+
426  returnImage = QImage(QSize(10,10),QImage::Format_ARGB32);
+
427  returnImage.fill(QColor(255,255,255,255));
+
428  }
+
429  else{
+
430  returnImage = layerBundle[static_cast<size_t>(activeLayer)].image->getImageData();
+
431  if(renderSettings.isFastRenderering()) {
+
432  returnImage = returnImage.convertToFormat(QImage::Format_ARGB32);
+
433  }
+
434  }
+
435  return returnImage;
+
436 }
+
437 
+
438 void PaintingArea::updateTools(){
+
439  if(Tool!=nullptr) {
+
440  if(Tool->getIsDrawing()) {
+
441  IntelliTool* temp = copyActiveTool();
+
442  delete this->Tool;
+
443  this->Tool = temp;
+
444  }
+
445  if(isSettingPolygon) {
+
446  delete this->Tool;
+
447  this->Tool = nullptr;
+
448  isSettingPolygon = false;
+
449  }
+
450  }
+
451 }
-
int getWidthOfActive()
The getWidthOfActive gets the horizontal dimensions of the active layer.
- -
void createCircleTool()
-
virtual void onMouseRightPressed(int x, int y)
A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on....
Definition: IntelliTool.cpp:15
-
virtual void onMouseLeftReleased(int x, int y)
A function managing the left click Released of a Mouse. Call this in child classes!
Definition: IntelliTool.cpp:33
-
IntelliImage * getImageOfActiveLayer()
-
void mouseReleaseEvent(QMouseEvent *event) override
-
void createRectangleTool()
+
int getWidthOfActive()
The getWidthOfActive gets the horizontal dimensions of the active layer.
+ +
void createCircleTool()
+
virtual void onMouseRightPressed(int x, int y)
A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on....
Definition: IntelliTool.cpp:18
+
virtual void onMouseLeftReleased(int x, int y)
A function managing the left click Released of a Mouse. Call this in child classes!
Definition: IntelliTool.cpp:36
+
void setRenderSettings(bool isFastRenderingOn)
setRenderSettings updates all Images to the new Rendersetting.
+
IntelliImage * getImageOfActiveLayer()
+
void mouseReleaseEvent(QMouseEvent *event) override
+
void createRectangleTool()
-
virtual void onMouseLeftPressed(int x, int y)
A function managing the left click Pressed of a Mouse. Resetting the current draw....
Definition: IntelliTool.cpp:26
+
virtual void onMouseLeftPressed(int x, int y)
A function managing the left click Pressed of a Mouse. Resetting the current draw....
Definition: IntelliTool.cpp:29
+ -
bool save(const QString &filePath, const char *fileFormat)
The save method is used for exporting the current project as one picture.
-
void setLayerAlpha(int idx, int alpha)
The setAlphaOfLayer method sets the alpha value of a specific layer.
- -
void setLayerActive(int idx)
The setLayerToActive method marks a specific layer as active.
- -
void floodFill(int r, int g, int b, int a)
The floodFill method fills a the active layer with a given color.
-
The IntelliToolPlainTool class represents a tool to fill the whole canvas with one color.
-
void setSecondColor(QColor Color)
A function to set the secondary color.
-
The IntelliShapedImage manages a Shapedimage.
-
QColor getSecondColor()
A function to read the secondary selected color.
-
int heightOffset
Definition: PaintingArea.h:30
-
void deleteLayer(int idx)
The deleteLayer method removes a layer at a given idx.
-
int getHeightOfActive()
The getHeightOfActive gets the vertical dimensions of the active layer.
+
bool save(const QString &filePath, const char *fileFormat)
The save method is used for exporting the current project as one picture.
+
void setLayerAlpha(int idx, int alpha)
The setAlphaOfLayer method sets the alpha value of a specific layer.
+ +
void setLayerActive(int idx)
The setLayerToActive method marks a specific layer as active.
+
int widthOffset
widthOffset - Stores the number of pixles from the left side of the painting area.
Definition: PaintingArea.h:39
+ +
void deleteLayer(int idx, bool isTool=false)
The deleteLayer method removes a layer at a given idx.
+
The IntelliToolPlainTool class represents a tool to fill the whole canvas with one color.
+
void setSecondColor(QColor Color)
A function to set the secondary color.
+
The IntelliShapedImage manages a Shapedimage.
+
QColor getSecondColor()
A function to read the secondary selected color.
+
int heightOffset
heightOffset - Stores the number of pixles from the top of the painting area.
Definition: PaintingArea.h:43
+
int getHeightOfActive()
The getHeightOfActive gets the vertical dimensions of the active layer.
virtual QImage getDisplayable(const QSize &displaySize, int alpha)=0
A function returning the displayable ImageData in a requested transparence and size.
-
void createPlainTool()
-
void wheelEvent(QWheelEvent *event) override
-
bool getFastRenderer()
The getfastRenderer gets the value of the flag for the fastRenderer setting.
-
The LayerObject struct holds all the information needed to construct a layer.
Definition: PaintingArea.h:25
-
void createPenTool()
+
void createPlainTool()
+
void wheelEvent(QWheelEvent *event) override
+
The LayerObject struct holds all the information needed to construct a layer.
Definition: PaintingArea.h:23
+
void createPenTool()
-
void mousePressEvent(QMouseEvent *event) override
+
void mousePressEvent(QMouseEvent *event) override
- -
The IntelliToolRectangle class represents a tool to draw a rectangle.
-
void createLineTool()
+
int alpha
alpha - Stores the alpha value of the layer (default=255).
Definition: PaintingArea.h:47
+
The IntelliToolRectangle class represents a tool to draw a rectangle.
+
void createLineTool()
-
The IntelliToolPen class represents a tool to draw a line.
-
void colorPickerSetSecondColor()
The colorPickerSetSecondColor calls the QTColorPicker to determine the secondary drawing color.
-
virtual void onMouseRightReleased(int x, int y)
A function managing the right click Released of a Mouse. Merging the Canvas to Active....
Definition: IntelliTool.cpp:22
-
void colorPickerSetFirstColor()
The colorPickerSetFirstColor calls the QTColorPicker to determine the primary drawing color.
- - -
Tooltype getTooltype()
Definition: IntelliTool.cpp:85
-
IntelliImage::ImageType getTypeOfImageRealLayer()
- +
The IntelliToolPen class represents a tool to draw a line.
+
void colorPickerSetSecondColor()
The colorPickerSetSecondColor calls the QTColorPicker to determine the secondary drawing color.
+
virtual void onMouseRightReleased(int x, int y)
A function managing the right click Released of a Mouse. Merging the Canvas to Active....
Definition: IntelliTool.cpp:25
+
void colorPickerSetFirstColor()
The colorPickerSetFirstColor calls the QTColorPicker to determine the primary drawing color.
+ + +
Tooltype getTooltype()
Definition: IntelliTool.cpp:99
+
IntelliImage::ImageType getTypeOfImageRealLayer()
+
int width
width - Stores the width of a layer in pixels.
Definition: PaintingArea.h:31
-
~PaintingArea() override
This deconstructor is used to clear up the memory and remove the currently active window.
-
void mouseMoveEvent(QMouseEvent *event) override
-
int getNumberOfActiveLayer()
-
void setFirstColor(QColor Color)
A function to set the primary color.
-
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:14
- -
void slotDeleteActiveLayer()
The slotDeleteActiveLayer method handles the deletion of the active layer.
-
bool open(const QString &filePath)
The open method is used for loading a picture into the current layer.
-
void createPolygonTool()
-
void moveActiveLayer(int idx)
The moveActiveLayer moves the active layer to a specific position in the layer stack.
-
IntelliColorPicker colorPicker
Definition: PaintingArea.h:175
-
PaintingArea(int maxWidth=600, int maxHeight=600, QWidget *parent=nullptr)
PaintingArea is the constructor of the PaintingArea class, which initiates the working environment.
-
bool getIsDrawing()
Definition: IntelliTool.cpp:89
+
bool isFastRenderering()
The getfastRenderer gets the value of the flag for the fastRenderer setting.
+
~PaintingArea() override
This deconstructor is used to clear up the memory and remove the currently active window.
+
void mouseMoveEvent(QMouseEvent *event) override
+
int getNumberOfActiveLayer()
+
void setFirstColor(QColor Color)
A function to set the primary color.
+
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:17
+ +
void slotDeleteActiveLayer()
The slotDeleteActiveLayer method handles the deletion of the active layer.
+
void setToolWidth(int value)
+
bool open(const QString &filePath)
The open method is used for loading a picture into the current layer.
+
void createPolygonTool()
+
void moveActiveLayer(int idx)
The moveActiveLayer moves the active layer to a specific position in the layer stack.
+
IntelliColorPicker colorPicker
Definition: PaintingArea.h:202
+
PaintingArea(int maxWidth=600, int maxHeight=600, QWidget *parent=nullptr)
PaintingArea is the constructor of the PaintingArea class, which initiates the working environment.
+
bool getIsDrawing()
-
QColor getFirstColor()
A function to read the primary selected color.
- -
void createFloodFillTool()
-
void slotActivateLayer(int a)
The slotActivateLayer method handles the event of selecting one layer as active.
-
void paintEvent(QPaintEvent *event) override
- - -
IntelliImage * image
Definition: PaintingArea.h:26
+
QColor getFirstColor()
A function to read the primary selected color.
+
int height
height - Stores the height of a layer in pixels.
Definition: PaintingArea.h:35
+
QImage getImageDataOfActiveLayer()
getImageDataOfActiveLayer used to get the currents active imageData (if there isn't any active layer ...
+
void createFloodFillTool()
+
void slotActivateLayer(int a)
The slotActivateLayer method handles the event of selecting one layer as active.
+
void paintEvent(QPaintEvent *event) override
+
void setFastRendering(bool Updatedsetting)
setFastRendering sets fastRendering to Updatedsetting.
+ + + +
IntelliImage * image
image - Stores the imageData of the current LayerObject.
Definition: PaintingArea.h:27
virtual bool loadImage(const QString &filePath)
A function that loads and sclaes an image to the fitting dimensions.
-
std::vector< QPoint > getPolygonDataOfRealLayer()
-
IntelliToolsettings Toolsettings
Definition: PaintingArea.h:174
-
void resizeEvent(QResizeEvent *event) override
- -
void swapColors()
A function switching primary and secondary color.
-
The IntelliToolFloodFill class represents a tool to flood FIll a certian area.
-
void colorPickerSwapColors()
The colorPickerSwitchColor swaps the primary color with the secondary drawing color.
+
std::vector< QPoint > getPolygonDataOfRealLayer()
+
IntelliToolsettings Toolsettings
Definition: PaintingArea.h:201
+
void setPolygon(int idx)
setPolygon is used for setting polygondata, it only works on RASTER images
+ +
void swapColors()
A function switching primary and secondary color.
+
The IntelliToolFloodFill class represents a tool to flood FIll a certian area.
+
void colorPickerSwapColors()
The colorPickerSwitchColor swaps the primary color with the secondary drawing color.
-
The IntelliToolCircle class represents a tool to draw a circle.
-
void movePositionActive(int x, int y)
The movePositionActive method moves the active layer to certain position.
-
An abstract class which manages the basic IntelliImage operations.
Definition: IntelliImage.h:19
-
virtual void onMouseMoved(int x, int y)
A function managing the mouse moved event. Call this in child classes!
Definition: IntelliTool.cpp:42
-
The IntelliToolPolygon managed the Drawing of Polygonforms.
+
The IntelliToolCircle class represents a tool to draw a circle.
+
void movePositionActive(int x, int y)
The movePositionActive method moves the active layer to certain position.
+
An abstract class which manages the basic IntelliImage operations.
Definition: IntelliImage.h:22
+
virtual void onMouseMoved(int x, int y)
A function managing the mouse moved event. Call this in child classes!
Definition: IntelliTool.cpp:46
+
The IntelliToolPolygon managed the Drawing of Polygonforms.
virtual void calculateVisiblity()=0
An abstract function that calculates the visiblity of the Image data if needed.
-
virtual void onWheelScrolled(int value)
A function managing the scroll event. A positive value means scrolling outwards. Call this in child c...
Definition: IntelliTool.cpp:47
-
The IntelliRasterImage manages a RASTERIMAGE.
+
virtual void onWheelScrolled(int value)
A function managing the scroll event. A positive value means scrolling outwards. Call this in child c...
Definition: IntelliTool.cpp:51
+
The IntelliRasterImage manages a RASTERIMAGE.
-
int addLayer(int width, int height, int widthOffset=0, int heightOffset=0, IntelliImage::ImageType type=IntelliImage::ImageType::RASTERIMAGE)
The addLayer adds a layer to the current project/ painting area.
-
ImageType
The Types, which an Image can be.
Definition: IntelliImage.h:26
-
virtual void drawPlain(const QColor &color)
A function that clears the whole image in a given Color.
- -
The IntelliToolFloodFill class represents a tool to draw a line.
+
int addLayer(int width, int height, int widthOffset=0, int heightOffset=0, IntelliImage::ImageType type=IntelliImage::ImageType::RASTERIMAGE)
The addLayer adds a layer to the current project/ painting area.
+
ImageType
The Types, which an Image can be.
Definition: IntelliImage.h:30
+ +
The IntelliToolFloodFill class represents a tool to draw a line.
diff --git a/docs/html/_painting_area_8h.html b/docs/html/_painting_area_8h.html index aa75a8f..ca6396d 100644 --- a/docs/html/_painting_area_8h.html +++ b/docs/html/_painting_area_8h.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Layer/PaintingArea.h File Reference +IntelliPhoto: src/Layer/PaintingArea.h File Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -120,10 +116,10 @@ Classes diff --git a/docs/html/_painting_area_8h_source.html b/docs/html/_painting_area_8h_source.html index bddb4f6..0f9ed23 100644 --- a/docs/html/_painting_area_8h_source.html +++ b/docs/html/_painting_area_8h_source.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Layer/PaintingArea.h Source File +IntelliPhoto: src/Layer/PaintingArea.h Source File @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@
- +
@@ -106,184 +102,191 @@ $(document).ready(function(){initNavTree('_painting_area_8h_source.html','');});
14 #include "Tool/IntelliTool.h"
16 
-
25 struct LayerObject {
- -
27  int width;
-
28  int height;
- - -
31  int alpha=255;
-
32 };
-
33 
-
37 class PaintingArea : public QWidget
-
38 {
-
39 // Declares our class as a QObject which is the base class
-
40 // for all Qt objects
-
41 // QObjects handle events
-
42 Q_OBJECT
-
43 friend IntelliTool;
-
44 friend IntelliPhotoGui;
-
45 public:
-
52 PaintingArea(int maxWidth=600, int maxHeight=600, QWidget*parent = nullptr);
-
53 
-
57 ~PaintingArea() override;
-
58 
-
59 // Handles all events
-
60 
-
66 bool open(const QString &filePath);
-
73 bool save(const QString &filePath, const char*fileFormat);
-
74 
-
84 int addLayer(int width, int height, int widthOffset=0, int heightOffset=0, IntelliImage::ImageType type = IntelliImage::ImageType::RASTERIMAGE);
-
95 int addLayerAt(int idx, int width, int height, int widthOffset=0, int heightOffset=0, IntelliImage::ImageType type = IntelliImage::ImageType::RASTERIMAGE);
-
100 void deleteLayer(int idx);
-
105 void setLayerActive(int idx);
-
111 void setLayerAlpha(int idx, int alpha);
-
119 void floodFill(int r, int g, int b, int a);
-
125 void movePositionActive(int x, int y);
-
130 void moveActiveLayer(int idx);
-
131 
-
132 //change properties of colorPicker
- - -
144 void colorPickerSwapColors();
-
145 
-
146 // Create tools
-
147 void createPenTool();
-
148 void createPlainTool();
-
149 void createLineTool();
-
150 void createRectangleTool();
-
151 void createCircleTool();
-
152 void createPolygonTool();
-
153 void createFloodFillTool();
-
154 
-
159 int getWidthOfActive();
-
164 int getHeightOfActive();
-
165 
- -
167 
-
168 std::vector<QPoint> getPolygonDataOfRealLayer();
-
169 
- +
17 //for unit testing
+
18 class UnitTest;
+
19 
+
23 struct LayerObject {
+ +
31  int width;
+
35  int height;
+ + +
47  int alpha = 255;
+
48 };
+
49 
+
53 class PaintingArea : public QWidget
+
54 {
+
55 friend UnitTest;
+
56 // Declares our class as a QObject which is the base class
+
57 // for all Qt objects
+
58 // QObjects handle events
+
59 Q_OBJECT
+
60 friend IntelliTool;
+
61 friend IntelliPhotoGui;
+
62 public:
+
69 PaintingArea(int maxWidth = 600, int maxHeight = 600, QWidget*parent = nullptr);
+
70 
+
74 ~PaintingArea() override;
+
75 
+
80 void setRenderSettings(bool isFastRenderingOn);
+
81 
+
87 bool open(const QString &filePath);
+
94 bool save(const QString &filePath, const char*fileFormat);
+
95 
+
105 int addLayer(int width, int height, int widthOffset = 0, int heightOffset = 0, IntelliImage::ImageType type = IntelliImage::ImageType::RASTERIMAGE);
+
116 int addLayerAt(int idx, int width, int height, int widthOffset = 0, int heightOffset = 0, IntelliImage::ImageType type = IntelliImage::ImageType::RASTERIMAGE);
+
122 void deleteLayer(int idx, bool isTool = false);
+
127 void setLayerActive(int idx);
+
133 void setLayerAlpha(int idx, int alpha);
+
138 void setPolygon(int idx);
+
144 void movePositionActive(int x, int y);
+
149 void moveActiveLayer(int idx);
+
150 
+ + +
162 void colorPickerSwapColors();
+
163 
+
164 void createPenTool();
+
165 void createPlainTool();
+
166 void createLineTool();
+
167 void createRectangleTool();
+
168 void createCircleTool();
+
169 void createPolygonTool();
+
170 void createFloodFillTool();
171 
- -
173 
- - -
176 
-
177 public slots:
-
178 // Events to handle
-
183 void slotActivateLayer(int a);
-
187 void slotDeleteActiveLayer();
+
176 int getWidthOfActive();
+
181 int getHeightOfActive();
+
182 
+
183 int getMaxWidth();
+
184 
+
185 int getMaxHeight();
+
186 
+
188 
-
189 protected:
-
190 void mousePressEvent(QMouseEvent*event) override;
-
191 void mouseMoveEvent(QMouseEvent*event) override;
-
192 void mouseReleaseEvent(QMouseEvent*event) override;
-
193 
-
194 void wheelEvent(QWheelEvent*event) override;
-
195 // Updates the painting area where we are painting
-
196 void paintEvent(QPaintEvent*event) override;
-
197 
-
198 // Makes sure the area we are drawing on remains
-
199 // as large as the widget
-
200 void resizeEvent(QResizeEvent*event) override;
-
201 
-
202 private:
-
203 void setLayerDimensions(int maxWidth, int maxHeight);
-
204 void selectLayerUp();
-
205 void selectLayerDown();
-
206 IntelliTool* copyActiveTool();
-
207 
-
208 QImage* Canvas;
-
209 int maxWidth;
-
210 int maxHeight;
-
211 
-
212 IntelliRenderSettings renderSettings;
-
213 IntelliTool* Tool;
-
214 IntelliPhotoGui* DumpyGui;
-
215 
-
216 std::vector<LayerObject> layerBundle;
-
217 int activeLayer=-1;
-
218 
-
219 void drawLayers(bool forSaving=false);
-
220 
-
221 void resizeLayer(QImage*image_res, const QSize &newSize);
-
222 
-
223 // Helper for Tool
-
224 // TODO: Always create this layer on top and return the id here!
-
225 void createTempTopLayer(int idx);
-
226 };
-
227 
-
228 #endif
+
189 std::vector<QPoint> getPolygonDataOfRealLayer();
+
190 
+ +
192 
+ +
194 
+ +
200 
+ + +
203 
+
204 public slots:
+
209 void slotActivateLayer(int a);
+
213 void slotDeleteActiveLayer();
+
214 
+
215 protected:
+
216 void mousePressEvent(QMouseEvent*event) override;
+
217 void mouseMoveEvent(QMouseEvent*event) override;
+
218 void mouseReleaseEvent(QMouseEvent*event) override;
+
219 
+
220 void wheelEvent(QWheelEvent*event) override;
+
221 
+
222 void paintEvent(QPaintEvent*event) override;
+
223 
+
224 private:
+
225 void setLayerDimensions(int maxWidth, int maxHeight);
+
226 void selectLayerUp();
+
227 void selectLayerDown();
+
228 IntelliTool* copyActiveTool();
+
229 
+
230 QImage* Canvas;
+
231 int maxWidth;
+
232 int maxHeight;
+
233 
+
234 bool isSettingPolygon = false;
+
235 
+
236 IntelliRenderSettings renderSettings;
+
237 IntelliTool* Tool;
+
238 IntelliPhotoGui* DummyGui;
+
239 
+
240 std::vector<LayerObject> layerBundle;
+
241 int activeLayer = -1;
+
242 
+
243 void drawLayers(bool forSaving = false);
+
244 
+
245 bool createTempTopLayer(int idx);
+
246 
+
247 void updateTools();
+
248 };
+
249 
+
250 #endif
-
int getWidthOfActive()
The getWidthOfActive gets the horizontal dimensions of the active layer.
-
void createCircleTool()
-
IntelliImage * getImageOfActiveLayer()
-
void mouseReleaseEvent(QMouseEvent *event) override
-
void createRectangleTool()
+
int getWidthOfActive()
The getWidthOfActive gets the horizontal dimensions of the active layer.
+
void createCircleTool()
+
void setRenderSettings(bool isFastRenderingOn)
setRenderSettings updates all Images to the new Rendersetting.
+
IntelliImage * getImageOfActiveLayer()
+
void mouseReleaseEvent(QMouseEvent *event) override
+
void createRectangleTool()
+ -
bool save(const QString &filePath, const char *fileFormat)
The save method is used for exporting the current project as one picture.
-
void setLayerAlpha(int idx, int alpha)
The setAlphaOfLayer method sets the alpha value of a specific layer.
- -
void setLayerActive(int idx)
The setLayerToActive method marks a specific layer as active.
- -
The IntelliPhotoGui class handles the graphical user interface for the intelliPhoto program.
-
void floodFill(int r, int g, int b, int a)
The floodFill method fills a the active layer with a given color.
-
int heightOffset
Definition: PaintingArea.h:30
-
void deleteLayer(int idx)
The deleteLayer method removes a layer at a given idx.
-
int getHeightOfActive()
The getHeightOfActive gets the vertical dimensions of the active layer.
-
void createPlainTool()
-
void wheelEvent(QWheelEvent *event) override
-
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:37
-
The LayerObject struct holds all the information needed to construct a layer.
Definition: PaintingArea.h:25
-
void createPenTool()
-
void mousePressEvent(QMouseEvent *event) override
+
bool save(const QString &filePath, const char *fileFormat)
The save method is used for exporting the current project as one picture.
+
void setLayerAlpha(int idx, int alpha)
The setAlphaOfLayer method sets the alpha value of a specific layer.
+ +
void setLayerActive(int idx)
The setLayerToActive method marks a specific layer as active.
+
int widthOffset
widthOffset - Stores the number of pixles from the left side of the painting area.
Definition: PaintingArea.h:39
+ +
void deleteLayer(int idx, bool isTool=false)
The deleteLayer method removes a layer at a given idx.
+
The IntelliPhotoGui base class handles the graphical user interface and events for the intelliPhoto p...
+
int heightOffset
heightOffset - Stores the number of pixles from the top of the painting area.
Definition: PaintingArea.h:43
+
int getHeightOfActive()
The getHeightOfActive gets the vertical dimensions of the active layer.
+
void createPlainTool()
+
void wheelEvent(QWheelEvent *event) override
+
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:53
+
The LayerObject struct holds all the information needed to construct a layer.
Definition: PaintingArea.h:23
+
void createPenTool()
+
void mousePressEvent(QMouseEvent *event) override
- -
void createLineTool()
-
void colorPickerSetSecondColor()
The colorPickerSetSecondColor calls the QTColorPicker to determine the secondary drawing color.
-
void colorPickerSetFirstColor()
The colorPickerSetFirstColor calls the QTColorPicker to determine the primary drawing color.
+
int alpha
alpha - Stores the alpha value of the layer (default=255).
Definition: PaintingArea.h:47
+
void createLineTool()
+
void colorPickerSetSecondColor()
The colorPickerSetSecondColor calls the QTColorPicker to determine the secondary drawing color.
+
void colorPickerSetFirstColor()
The colorPickerSetFirstColor calls the QTColorPicker to determine the primary drawing color.
int addLayerAt(int idx, int width, int height, int widthOffset=0, int heightOffset=0, IntelliImage::ImageType type=IntelliImage::ImageType::RASTERIMAGE)
The addLayerAt adds a layer to the current project/ painting area at a specific position in the layer...
-
IntelliImage::ImageType getTypeOfImageRealLayer()
- -
~PaintingArea() override
This deconstructor is used to clear up the memory and remove the currently active window.
-
void mouseMoveEvent(QMouseEvent *event) override
+
IntelliImage::ImageType getTypeOfImageRealLayer()
+
int width
width - Stores the width of a layer in pixels.
Definition: PaintingArea.h:31
+
~PaintingArea() override
This deconstructor is used to clear up the memory and remove the currently active window.
+
void mouseMoveEvent(QMouseEvent *event) override
-
int getNumberOfActiveLayer()
-
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:14
-
void slotDeleteActiveLayer()
The slotDeleteActiveLayer method handles the deletion of the active layer.
-
bool open(const QString &filePath)
The open method is used for loading a picture into the current layer.
-
void createPolygonTool()
-
void moveActiveLayer(int idx)
The moveActiveLayer moves the active layer to a specific position in the layer stack.
-
IntelliColorPicker colorPicker
Definition: PaintingArea.h:175
-
PaintingArea(int maxWidth=600, int maxHeight=600, QWidget *parent=nullptr)
PaintingArea is the constructor of the PaintingArea class, which initiates the working environment.
- -
void createFloodFillTool()
-
void slotActivateLayer(int a)
The slotActivateLayer method handles the event of selecting one layer as active.
-
The IntelliColorPicker manages the selected colors for one whole project.
-
void paintEvent(QPaintEvent *event) override
- -
IntelliImage * image
Definition: PaintingArea.h:26
-
std::vector< QPoint > getPolygonDataOfRealLayer()
-
IntelliToolsettings Toolsettings
Definition: PaintingArea.h:174
-
void resizeEvent(QResizeEvent *event) override
-
void colorPickerSwapColors()
The colorPickerSwitchColor swaps the primary color with the secondary drawing color.
-
void movePositionActive(int x, int y)
The movePositionActive method moves the active layer to certain position.
-
An abstract class which manages the basic IntelliImage operations.
Definition: IntelliImage.h:19
- -
int addLayer(int width, int height, int widthOffset=0, int heightOffset=0, IntelliImage::ImageType type=IntelliImage::ImageType::RASTERIMAGE)
The addLayer adds a layer to the current project/ painting area.
-
ImageType
The Types, which an Image can be.
Definition: IntelliImage.h:26
+
int getNumberOfActiveLayer()
+
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:17
+
void slotDeleteActiveLayer()
The slotDeleteActiveLayer method handles the deletion of the active layer.
+
bool open(const QString &filePath)
The open method is used for loading a picture into the current layer.
+
void createPolygonTool()
+
void moveActiveLayer(int idx)
The moveActiveLayer moves the active layer to a specific position in the layer stack.
+
IntelliColorPicker colorPicker
Definition: PaintingArea.h:202
+
PaintingArea(int maxWidth=600, int maxHeight=600, QWidget *parent=nullptr)
PaintingArea is the constructor of the PaintingArea class, which initiates the working environment.
+
int height
height - Stores the height of a layer in pixels.
Definition: PaintingArea.h:35
+
QImage getImageDataOfActiveLayer()
getImageDataOfActiveLayer used to get the currents active imageData (if there isn't any active layer ...
+
void createFloodFillTool()
+
void slotActivateLayer(int a)
The slotActivateLayer method handles the event of selecting one layer as active.
+
The IntelliColorPicker manages the selected colors for one whole project.
+
void paintEvent(QPaintEvent *event) override
+ + +
IntelliImage * image
image - Stores the imageData of the current LayerObject.
Definition: PaintingArea.h:27
+
std::vector< QPoint > getPolygonDataOfRealLayer()
+
IntelliToolsettings Toolsettings
Definition: PaintingArea.h:201
+
void setPolygon(int idx)
setPolygon is used for setting polygondata, it only works on RASTER images
+
void colorPickerSwapColors()
The colorPickerSwitchColor swaps the primary color with the secondary drawing color.
+
void movePositionActive(int x, int y)
The movePositionActive method moves the active layer to certain position.
+
An abstract class which manages the basic IntelliImage operations.
Definition: IntelliImage.h:22
+ +
int addLayer(int width, int height, int widthOffset=0, int heightOffset=0, IntelliImage::ImageType type=IntelliImage::ImageType::RASTERIMAGE)
The addLayer adds a layer to the current project/ painting area.
+
ImageType
The Types, which an Image can be.
Definition: IntelliImage.h:30
diff --git a/docs/html/_tool_2_intelli_color_picker_8cpp.html b/docs/html/_tool_2_intelli_color_picker_8cpp.html index 632c920..85db597 100644 --- a/docs/html/_tool_2_intelli_color_picker_8cpp.html +++ b/docs/html/_tool_2_intelli_color_picker_8cpp.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Tool/IntelliColorPicker.cpp File Reference +IntelliPhoto: src/Tool/IntelliColorPicker.cpp File Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -99,10 +95,10 @@ $(document).ready(function(){initNavTree('_tool_2_intelli_color_picker_8cpp.html diff --git a/docs/html/_tool_2_intelli_color_picker_8cpp_source.html b/docs/html/_tool_2_intelli_color_picker_8cpp_source.html index 59eeb44..3f2f951 100644 --- a/docs/html/_tool_2_intelli_color_picker_8cpp_source.html +++ b/docs/html/_tool_2_intelli_color_picker_8cpp_source.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/Tool/IntelliColorPicker.cpp Source File +IntelliPhoto: src/Tool/IntelliColorPicker.cpp Source File @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@
- +
@@ -138,10 +134,10 @@ $(document).ready(function(){initNavTree('_tool_2_intelli_color_picker_8cpp_sour diff --git a/docs/html/annotated.html b/docs/html/annotated.html index ab6e5e8..a269454 100644 --- a/docs/html/annotated.html +++ b/docs/html/annotated.html @@ -3,7 +3,7 @@ - + IntelliPhoto: Class List @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@
- +
@@ -94,22 +90,24 @@ $(document).ready(function(){initNavTree('annotated.html','');}); - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + +
 CIntelliColorPickerThe IntelliColorPicker manages the selected colors for one whole project
 CIntelliImageAn abstract class which manages the basic IntelliImage operations
 CIntelliPhotoGuiHandles the graphical user interface for the intelliPhoto program
 CIntelliRasterImageThe IntelliRasterImage manages a RASTERIMAGE
 CIntelliRenderSettings
 CIntelliShapedImageThe IntelliShapedImage manages a Shapedimage
 CIntelliToolAn abstract class that manages the basic events, like mouse clicks or scrolls events
 CIntelliToolCircleTool to draw a circle
 CIntelliToolFloodFillTool to flood FIll a certian area
 CIntelliToolLineThe IntelliToolFloodFill class represents a tool to draw a line
 CIntelliToolPenTool to draw a line
 CIntelliToolPlainToolTool to fill the whole canvas with one color
 CIntelliToolPolygonThe IntelliToolPolygon managed the Drawing of Polygonforms
 CIntelliToolRectangleTool to draw a rectangle
 CIntelliToolsettings
 CLayerObjectThe LayerObject struct holds all the information needed to construct a layer
 CPaintingAreaManages the methods and stores information about the current painting area, which is the currently opened project
 CTriangleThe Triangle struct holds the 3 vertices of a triangle
 CIntelliInputDialog
 CIntelliPhotoGuiThe IntelliPhotoGui base class handles the graphical user interface and events for the intelliPhoto program
 CIntelliRasterImageThe IntelliRasterImage manages a RASTERIMAGE
 CIntelliRenderSettings
 CIntelliShapedImageThe IntelliShapedImage manages a Shapedimage
 CIntelliToolAn abstract class that manages the basic events, like mouse clicks or scrolls events
 CIntelliToolCircleTool to draw a circle
 CIntelliToolFloodFillTool to flood FIll a certian area
 CIntelliToolLineThe IntelliToolFloodFill class represents a tool to draw a line
 CIntelliToolPenTool to draw a line
 CIntelliToolPlainToolTool to fill the whole canvas with one color
 CIntelliToolPolygonThe IntelliToolPolygon managed the Drawing of Polygonforms
 CIntelliToolRectangleTool to draw a rectangle
 CIntelliToolsettings
 CLayerObjectThe LayerObject struct holds all the information needed to construct a layer
 CPaintingAreaManages the methods and stores information about the current painting area, which is the currently opened project
 CTriangleThe Triangle struct holds the 3 vertices of a triangle
 CUnitTest
@@ -119,7 +117,7 @@ $(document).ready(function(){initNavTree('annotated.html','');});
    + doxygen 1.8.17
diff --git a/docs/html/annotated_dup.js b/docs/html/annotated_dup.js index 091e80a..e7e6e6e 100644 --- a/docs/html/annotated_dup.js +++ b/docs/html/annotated_dup.js @@ -2,6 +2,7 @@ var annotated_dup = [ [ "IntelliColorPicker", "class_intelli_color_picker.html", "class_intelli_color_picker" ], [ "IntelliImage", "class_intelli_image.html", "class_intelli_image" ], + [ "IntelliInputDialog", "class_intelli_input_dialog.html", "class_intelli_input_dialog" ], [ "IntelliPhotoGui", "class_intelli_photo_gui.html", "class_intelli_photo_gui" ], [ "IntelliRasterImage", "class_intelli_raster_image.html", "class_intelli_raster_image" ], [ "IntelliRenderSettings", "class_intelli_render_settings.html", "class_intelli_render_settings" ], @@ -17,5 +18,6 @@ var annotated_dup = [ "IntelliToolsettings", "class_intelli_toolsettings.html", "class_intelli_toolsettings" ], [ "LayerObject", "struct_layer_object.html", "struct_layer_object" ], [ "PaintingArea", "class_painting_area.html", "class_painting_area" ], - [ "Triangle", "struct_triangle.html", "struct_triangle" ] + [ "Triangle", "struct_triangle.html", "struct_triangle" ], + [ "UnitTest", "class_unit_test.html", "class_unit_test" ] ]; \ No newline at end of file diff --git a/docs/html/bc_s.png b/docs/html/bc_s.png index c8f3a92..6054c8c 100644 Binary files a/docs/html/bc_s.png and b/docs/html/bc_s.png differ diff --git a/docs/html/bdwn.png b/docs/html/bdwn.png index 2f5233e..fd803bc 100644 Binary files a/docs/html/bdwn.png and b/docs/html/bdwn.png differ diff --git a/docs/html/class_intelli_color_picker-members.html b/docs/html/class_intelli_color_picker-members.html index 8b26608..b709abb 100644 --- a/docs/html/class_intelli_color_picker-members.html +++ b/docs/html/class_intelli_color_picker-members.html @@ -3,7 +3,7 @@ - + IntelliPhoto: Member List @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -107,7 +103,7 @@ $(document).ready(function(){initNavTree('class_intelli_color_picker.html','');}
    + doxygen 1.8.17
diff --git a/docs/html/class_intelli_color_picker.html b/docs/html/class_intelli_color_picker.html index 6d692e6..9eac72c 100644 --- a/docs/html/class_intelli_color_picker.html +++ b/docs/html/class_intelli_color_picker.html @@ -3,7 +3,7 @@ - + IntelliPhoto: IntelliColorPicker Class Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -126,7 +122,7 @@ Public Member Functions

Detailed Description

The IntelliColorPicker manages the selected colors for one whole project.

-

Definition at line 11 of file IntelliColorPicker.h.

+

Definition at line 14 of file IntelliColorPicker.h.

Constructor & Destructor Documentation

◆ IntelliColorPicker()

@@ -145,7 +141,7 @@ Public Member Functions

IntelliColorPicker constructor, setting 2 preset colors, be careful, theese color may change in production.

-

Definition at line 3 of file IntelliColorPicker.cpp.

+

Definition at line 3 of file IntelliColorPicker.cpp.

@@ -174,7 +170,7 @@ Public Member Functions

IntelliColorPicker destructor clears up his used memory, if there is some.

-

Definition at line 8 of file IntelliColorPicker.cpp.

+

Definition at line 8 of file IntelliColorPicker.cpp.

@@ -197,7 +193,7 @@ Public Member Functions

A function to read the primary selected color.

Returns
Returns the primary color.
-

Definition at line 16 of file IntelliColorPicker.cpp.

+

Definition at line 16 of file IntelliColorPicker.cpp.

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

A function to read the secondary selected color.

Returns
Returns the secondary color.
-

Definition at line 20 of file IntelliColorPicker.cpp.

+

Definition at line 20 of file IntelliColorPicker.cpp.

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

Definition at line 24 of file IntelliColorPicker.cpp.

+

Definition at line 24 of file IntelliColorPicker.cpp.

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

Definition at line 28 of file IntelliColorPicker.cpp.

+

Definition at line 28 of file IntelliColorPicker.cpp.

@@ -296,13 +292,13 @@ Public Member Functions

A function switching primary and secondary color.

-

Definition at line 12 of file IntelliColorPicker.cpp.

+

Definition at line 12 of file IntelliColorPicker.cpp.


The documentation for this class was generated from the following files: @@ -312,7 +308,7 @@ Public Member Functions + doxygen 1.8.17 diff --git a/docs/html/class_intelli_image-members.html b/docs/html/class_intelli_image-members.html index 0b2d551..ffc6d09 100644 --- a/docs/html/class_intelli_image-members.html +++ b/docs/html/class_intelli_image-members.html @@ -3,7 +3,7 @@ - + IntelliPhoto: Member List @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -98,7 +94,7 @@ $(document).ready(function(){initNavTree('class_intelli_image.html','');}); drawPixel(const QPoint &p1, const QColor &color)IntelliImagevirtual drawPlain(const QColor &color)IntelliImagevirtual drawPoint(const QPoint &p1, const QColor &color, const int &penWidth)IntelliImagevirtual - fastRendererIntelliImageprotected + fastRendereringIntelliImageprotected getDeepCopy()=0IntelliImagepure virtual getDisplayable(const QSize &displaySize, int alpha)=0IntelliImagepure virtual getDisplayable(int alpha=255)=0IntelliImagepure virtual @@ -111,10 +107,11 @@ $(document).ready(function(){initNavTree('class_intelli_image.html','');}); IntelliImage(int width, int height, bool fastRendererOn)IntelliImage loadImage(const QString &filePath)IntelliImagevirtual resizeImage(QImage *image, const QSize &newSize)IntelliImageprotected - setPolygon(const std::vector< QPoint > &polygonData)=0IntelliImagepure virtual - TypeOfImageIntelliImageprotected - updateRendererSetting(bool fastRendererOn)IntelliImagevirtual - ~IntelliImage()=0IntelliImagepure virtual + setImageData(const QImage &newData)IntelliImagevirtual + setPolygon(const std::vector< QPoint > &polygonData)=0IntelliImagepure virtual + TypeOfImageIntelliImageprotected + updateRendererSetting(bool fastRendererOn)IntelliImagevirtual + ~IntelliImage()=0IntelliImagepure virtual
@@ -122,7 +119,7 @@ $(document).ready(function(){initNavTree('class_intelli_image.html','');});
    + doxygen 1.8.17
diff --git a/docs/html/class_intelli_image.html b/docs/html/class_intelli_image.html index 2a1ec63..66a4383 100644 --- a/docs/html/class_intelli_image.html +++ b/docs/html/class_intelli_image.html @@ -3,7 +3,7 @@ - + IntelliPhoto: IntelliImage Class Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -132,10 +128,10 @@ Public Member Functions  A funtcion used to draw a pixel on the Image with the given Color. More...
  virtual void drawLine (const QPoint &p1, const QPoint &p2, const QColor &color, const int &penWidth) - A function that draws A Line between two given Points in a given color. More...
+ A function that draws a line between two given points in a given color. More...
  virtual void drawPoint (const QPoint &p1, const QColor &color, const int &penWidth) - A. More...
+ A function that draws a point between on a given point in a given color. More...
  virtual void drawPlain (const QColor &color)  A function that clears the whole image in a given Color. More...
@@ -170,8 +166,11 @@ Public Member Functions  updateRendererSetting updates the existing image format to the new format. More...
  virtual QImage getImageData () - getImageData returns the data of the current image. More...
+ getImageData returns the data of the current image (Note: It will allways return a ARGB32bit QImage!). More...
  +virtual void setImageData (const QImage &newData) + setImageData overwrites the old imageData the new imageData. More...
+  @@ -186,14 +185,14 @@ Protected Attributes - - - + + +

Protected Member Functions

ImageType TypeOfImage
 The Type, an Image is. More...
 
bool fastRenderer
 fastRenderer is the flag that represents the usage of 8bit pictures. More...
 
bool fastRenderering
 fastRendering is the flag that represents the usage of 8bit pictures. More...
 

Detailed Description

An abstract class which manages the basic IntelliImage operations.

-

Definition at line 19 of file IntelliImage.h.

+

Definition at line 22 of file IntelliImage.h.

Member Enumeration Documentation

◆ ImageType

@@ -221,7 +220,7 @@ Protected Attributes SHAPEDIMAGE  -

Definition at line 26 of file IntelliImage.h.

+

Definition at line 30 of file IntelliImage.h.

@@ -377,7 +376,7 @@ Protected Attributes
-

A function that draws A Line between two given Points in a given color.

+

A function that draws a line between two given points in a given color.

Parameters
@@ -388,7 +387,7 @@ Protected Attributes -

Definition at line 88 of file IntelliImage.cpp.

+

Definition at line 96 of file IntelliImage.cpp.

@@ -435,7 +434,7 @@ Protected Attributes -

Definition at line 55 of file IntelliImage.cpp.

+

Definition at line 57 of file IntelliImage.cpp.

@@ -471,7 +470,7 @@ Protected Attributes -

Definition at line 105 of file IntelliImage.cpp.

+

Definition at line 116 of file IntelliImage.cpp.

@@ -515,17 +514,17 @@ Protected Attributes
p1- The coordinates of the first Point.
-

A.

+

A function that draws a point between on a given point in a given color.

Parameters
- - - + + +
p1
color
penWidth
p1- The coordinates of the first Point.
color- The color of the point.
penWidth- The size of the point.
-

Definition at line 72 of file IntelliImage.cpp.

+

Definition at line 77 of file IntelliImage.cpp.

@@ -667,9 +666,9 @@ Protected Attributes
-

getImageData returns the data of the current image.

+

getImageData returns the data of the current image (Note: It will allways return a ARGB32bit QImage!).

-

Definition at line 123 of file IntelliImage.cpp.

+

Definition at line 134 of file IntelliImage.cpp.

@@ -706,7 +705,7 @@ Protected Attributes
Returns
The color of the Pixel as QColor.
-

Definition at line 115 of file IntelliImage.cpp.

+

Definition at line 126 of file IntelliImage.cpp.

@@ -738,7 +737,7 @@ Protected Attributes

Reimplemented in IntelliShapedImage.

-

Definition at line 130 of file IntelliImage.h.

+

Definition at line 134 of file IntelliImage.h.

@@ -765,7 +764,7 @@ Protected Attributes
-

Definition at line 134 of file IntelliImage.h.

+

Definition at line 138 of file IntelliImage.h.

@@ -842,6 +841,42 @@ Protected Attributes

Definition at line 37 of file IntelliImage.cpp.

+ + + +

◆ setImageData()

+ +
+
+ + + + + +
+ + + + + + + + +
void IntelliImage::setImageData (const QImage & newData)
+
+virtual
+
+ +

setImageData overwrites the old imageData the new imageData.

+
Parameters
+ + +
newData- represents the new imageData
+
+
+ +

Definition at line 142 of file IntelliImage.cpp.

+
@@ -912,13 +947,13 @@ Protected Attributes -

Definition at line 127 of file IntelliImage.cpp.

+

Definition at line 152 of file IntelliImage.cpp.

Member Data Documentation

- -

◆ fastRenderer

+ +

◆ fastRenderering

@@ -927,7 +962,7 @@ Protected Attributes - +
bool IntelliImage::fastRendererbool IntelliImage::fastRenderering
@@ -937,9 +972,9 @@ Protected Attributes
-

fastRenderer is the flag that represents the usage of 8bit pictures.

+

fastRendering is the flag that represents the usage of 8bit pictures.

-

Definition at line 47 of file IntelliImage.h.

+

Definition at line 51 of file IntelliImage.h.

@@ -965,7 +1000,7 @@ Protected Attributes

The underlying image data.

-

Definition at line 37 of file IntelliImage.h.

+

Definition at line 41 of file IntelliImage.h.

@@ -991,13 +1026,13 @@ Protected Attributes

The Type, an Image is.

-

Definition at line 42 of file IntelliImage.h.

+

Definition at line 46 of file IntelliImage.h.


The documentation for this class was generated from the following files: @@ -1007,7 +1042,7 @@ Protected Attributes + doxygen 1.8.17 diff --git a/docs/html/class_intelli_image.js b/docs/html/class_intelli_image.js index 05ac417..1e131ee 100644 --- a/docs/html/class_intelli_image.js +++ b/docs/html/class_intelli_image.js @@ -20,9 +20,10 @@ var class_intelli_image = [ "getTypeOfImage", "class_intelli_image.html#af6b09c8d1d6b54a7e8a4e7286f3e503f", null ], [ "loadImage", "class_intelli_image.html#ae231800aba38c96074bbe9bb6e341d4e", null ], [ "resizeImage", "class_intelli_image.html#a177403ab9585d4ba31984a644c54d310", null ], + [ "setImageData", "class_intelli_image.html#ab09c64e7559f3db32ca3b20ba6339268", null ], [ "setPolygon", "class_intelli_image.html#aa4b3f4631bd972456917275afb9fd309", null ], [ "updateRendererSetting", "class_intelli_image.html#ae4dbaefabce4ec5bec37f5b95e2f62e2", null ], - [ "fastRenderer", "class_intelli_image.html#adade0f6990152f09d953067a51511b9c", null ], + [ "fastRenderering", "class_intelli_image.html#aa63d34c7932113d021653980ee018671", null ], [ "imageData", "class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2", null ], [ "TypeOfImage", "class_intelli_image.html#ac460f75e1fa7e44b00a65e7fddac5b80", null ] ]; \ No newline at end of file diff --git a/docs/html/class_intelli_image.png b/docs/html/class_intelli_image.png index 757436d..139e6e8 100644 Binary files a/docs/html/class_intelli_image.png and b/docs/html/class_intelli_image.png differ diff --git a/docs/html/class_intelli_input_dialog-members.html b/docs/html/class_intelli_input_dialog-members.html new file mode 100644 index 0000000..2db1c93 --- /dev/null +++ b/docs/html/class_intelli_input_dialog-members.html @@ -0,0 +1,107 @@ + + + + + + + +IntelliPhoto: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliInputDialog Member List
+
+
+ +

This is the complete list of members for IntelliInputDialog, including all inherited members.

+ + + + + +
getInt(QString Title=nullptr, QString Label=nullptr, int value=5, int minValue=-2147483647, int maxValue=2147483647, int step=1, bool *ok=nullptr)IntelliInputDialogstatic
IntelliInputDialog(QString Title=nullptr, QString Label=nullptr, int value=5, int minValue=-2147483647, int maxValue=2147483647, int step=1, bool *ok=nullptr)IntelliInputDialog
slotCloseEvent()IntelliInputDialogslot
slotEingabe()IntelliInputDialogslot
+
+ + + + diff --git a/docs/html/class_intelli_input_dialog.html b/docs/html/class_intelli_input_dialog.html new file mode 100644 index 0000000..3ee511a --- /dev/null +++ b/docs/html/class_intelli_input_dialog.html @@ -0,0 +1,323 @@ + + + + + + + +IntelliPhoto: IntelliInputDialog Class Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
IntelliInputDialog Class Reference
+
+
+ +

#include <IntelliInputDialog.h>

+
+Inheritance diagram for IntelliInputDialog:
+
+
+ +
+ + + + + + +

+Public Slots

void slotCloseEvent ()
 
void slotEingabe ()
 
+ + + +

+Public Member Functions

 IntelliInputDialog (QString Title=nullptr, QString Label=nullptr, int value=5, int minValue=-2147483647, int maxValue=2147483647, int step=1, bool *ok=nullptr)
 
+ + + +

+Static Public Member Functions

static int getInt (QString Title=nullptr, QString Label=nullptr, int value=5, int minValue=-2147483647, int maxValue=2147483647, int step=1, bool *ok=nullptr)
 
+

Detailed Description

+
+

Definition at line 12 of file IntelliInputDialog.h.

+

Constructor & Destructor Documentation

+ +

◆ IntelliInputDialog()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IntelliInputDialog::IntelliInputDialog (QString Title = nullptr,
QString Label = nullptr,
int value = 5,
int minValue = -2147483647,
int maxValue = 2147483647,
int step = 1,
bool * ok = nullptr 
)
+
+ +

Definition at line 3 of file IntelliInputDialog.cpp.

+ +
+
+

Member Function Documentation

+ +

◆ getInt()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int IntelliInputDialog::getInt (QString Title = nullptr,
QString Label = nullptr,
int value = 5,
int minValue = -2147483647,
int maxValue = 2147483647,
int step = 1,
bool * ok = nullptr 
)
+
+static
+
+ +

Definition at line 16 of file IntelliInputDialog.cpp.

+ +
+
+ +

◆ slotCloseEvent

+ +
+
+ + + + + +
+ + + + + + + +
void IntelliInputDialog::slotCloseEvent ()
+
+slot
+
+ +

Definition at line 74 of file IntelliInputDialog.cpp.

+ +
+
+ +

◆ slotEingabe

+ +
+
+ + + + + +
+ + + + + + + +
void IntelliInputDialog::slotEingabe ()
+
+slot
+
+ +

Definition at line 78 of file IntelliInputDialog.cpp.

+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + diff --git a/docs/html/class_intelli_input_dialog.js b/docs/html/class_intelli_input_dialog.js new file mode 100644 index 0000000..206e7e6 --- /dev/null +++ b/docs/html/class_intelli_input_dialog.js @@ -0,0 +1,6 @@ +var class_intelli_input_dialog = +[ + [ "IntelliInputDialog", "class_intelli_input_dialog.html#aa276ec605b08b19d70c54654cc606cc5", null ], + [ "slotCloseEvent", "class_intelli_input_dialog.html#ae59e68446caab323945ea725f69e89b0", null ], + [ "slotEingabe", "class_intelli_input_dialog.html#a23f837147e6aab3d8e0aff9d0f7012bd", null ] +]; \ No newline at end of file diff --git a/docs/html/class_intelli_input_dialog.png b/docs/html/class_intelli_input_dialog.png new file mode 100644 index 0000000..496ba5e Binary files /dev/null and b/docs/html/class_intelli_input_dialog.png differ diff --git a/docs/html/class_intelli_photo_gui-members.html b/docs/html/class_intelli_photo_gui-members.html index a0aab34..898913b 100644 --- a/docs/html/class_intelli_photo_gui-members.html +++ b/docs/html/class_intelli_photo_gui-members.html @@ -3,7 +3,7 @@ - + IntelliPhoto: Member List @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -95,7 +91,8 @@ $(document).ready(function(){initNavTree('class_intelli_photo_gui.html','');}); - + +
closeEvent(QCloseEvent *event) overrideIntelliPhotoGuiprotected
IntelliPhotoGui()IntelliPhotoGui
UpdateGui()IntelliPhotoGui
setToolWidth(int value)IntelliPhotoGui
UpdateGui()IntelliPhotoGui
@@ -103,7 +100,7 @@ $(document).ready(function(){initNavTree('class_intelli_photo_gui.html','');});
    + doxygen 1.8.17
diff --git a/docs/html/class_intelli_photo_gui.html b/docs/html/class_intelli_photo_gui.html index 5fdc6aa..3a16fe9 100644 --- a/docs/html/class_intelli_photo_gui.html +++ b/docs/html/class_intelli_photo_gui.html @@ -3,7 +3,7 @@ - + IntelliPhoto: IntelliPhotoGui Class Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -95,7 +91,7 @@ $(document).ready(function(){initNavTree('class_intelli_photo_gui.html','');});
-

The IntelliPhotoGui class handles the graphical user interface for the intelliPhoto program. +

The IntelliPhotoGui base class handles the graphical user interface and events for the intelliPhoto program. More...

#include <IntelliPhotoGui.h>

@@ -109,20 +105,23 @@ Inheritance diagram for IntelliPhotoGui:

Public Member Functions

 IntelliPhotoGui () - The IntelliPhotoGui method is the constructor and is used to create a new instance of the main program window. More...
+ The IntelliPhotoGui method is the constructor and is used to create a new instance of the main program window. More...
  void UpdateGui ()   +void setToolWidth (int value) +  +

Protected Member Functions

void closeEvent (QCloseEvent *event) override
 The closeEvent function handles closing events. More...
 

Detailed Description

-

The IntelliPhotoGui class handles the graphical user interface for the intelliPhoto program.

+

The IntelliPhotoGui base class handles the graphical user interface and events for the intelliPhoto program.

-

Definition at line 24 of file IntelliPhotoGui.h.

+

Definition at line 32 of file IntelliPhotoGui.h.

Constructor & Destructor Documentation

◆ IntelliPhotoGui()

@@ -139,7 +138,7 @@ Protected Member Functions
-

The IntelliPhotoGui method is the constructor and is used to create a new instance of the main program window.

+

The IntelliPhotoGui method is the constructor and is used to create a new instance of the main program window.

Definition at line 7 of file IntelliPhotoGui.cpp.

@@ -170,8 +169,30 @@ Protected Member Functions
+

The closeEvent function handles closing events.

+

Definition at line 23 of file IntelliPhotoGui.cpp.

+
+ + +

◆ setToolWidth()

+ +
+
+ + + + + + + + +
void IntelliPhotoGui::setToolWidth (int value)
+
+ +

Definition at line 790 of file IntelliPhotoGui.cpp.

+
@@ -189,13 +210,13 @@ Protected Member Functions
-

Definition at line 694 of file IntelliPhotoGui.cpp.

+

Definition at line 799 of file IntelliPhotoGui.cpp.


The documentation for this class was generated from the following files: @@ -205,7 +226,7 @@ Protected Member Functions + doxygen 1.8.17 diff --git a/docs/html/class_intelli_photo_gui.js b/docs/html/class_intelli_photo_gui.js index da7c4b8..3e40da6 100644 --- a/docs/html/class_intelli_photo_gui.js +++ b/docs/html/class_intelli_photo_gui.js @@ -2,5 +2,6 @@ var class_intelli_photo_gui = [ [ "IntelliPhotoGui", "class_intelli_photo_gui.html#ad2aaec3c1517a9aaa461b54e341b97e0", null ], [ "closeEvent", "class_intelli_photo_gui.html#a2cf48070236ae8b35245e7f30482ef13", null ], + [ "setToolWidth", "class_intelli_photo_gui.html#a343f8ebf5d27b7242208747de6c92497", null ], [ "UpdateGui", "class_intelli_photo_gui.html#a1dbef8d4688227aa9455aea52db00bf4", null ] ]; \ No newline at end of file diff --git a/docs/html/class_intelli_photo_gui.png b/docs/html/class_intelli_photo_gui.png index 762c340..1947c4e 100644 Binary files a/docs/html/class_intelli_photo_gui.png and b/docs/html/class_intelli_photo_gui.png differ diff --git a/docs/html/class_intelli_raster_image-members.html b/docs/html/class_intelli_raster_image-members.html index b492ded..71e7be7 100644 --- a/docs/html/class_intelli_raster_image-members.html +++ b/docs/html/class_intelli_raster_image-members.html @@ -3,7 +3,7 @@ - + IntelliPhoto: Member List @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -98,7 +94,7 @@ $(document).ready(function(){initNavTree('class_intelli_raster_image.html','');} drawPixel(const QPoint &p1, const QColor &color)IntelliImagevirtual drawPlain(const QColor &color)IntelliImagevirtual drawPoint(const QPoint &p1, const QColor &color, const int &penWidth)IntelliImagevirtual - fastRendererIntelliImageprotected + fastRendereringIntelliImageprotected getDeepCopy() overrideIntelliRasterImagevirtual getDisplayable(const QSize &displaySize, int alpha) overrideIntelliRasterImagevirtual getDisplayable(int alpha=255) overrideIntelliRasterImagevirtual @@ -112,11 +108,12 @@ $(document).ready(function(){initNavTree('class_intelli_raster_image.html','');} IntelliRasterImage(int width, int height, bool fastRendererOn)IntelliRasterImage loadImage(const QString &filePath)IntelliImagevirtual resizeImage(QImage *image, const QSize &newSize)IntelliImageprotected - setPolygon(const std::vector< QPoint > &polygonData) overrideIntelliRasterImagevirtual - TypeOfImageIntelliImageprotected - updateRendererSetting(bool fastRendererOn)IntelliImagevirtual - ~IntelliImage()=0IntelliImagepure virtual - ~IntelliRasterImage() overrideIntelliRasterImagevirtual + setImageData(const QImage &newData)IntelliImagevirtual + setPolygon(const std::vector< QPoint > &polygonData) overrideIntelliRasterImagevirtual + TypeOfImageIntelliImageprotected + updateRendererSetting(bool fastRendererOn)IntelliImagevirtual + ~IntelliImage()=0IntelliImagepure virtual + ~IntelliRasterImage() overrideIntelliRasterImagevirtual
@@ -124,7 +121,7 @@ $(document).ready(function(){initNavTree('class_intelli_raster_image.html','');}
    + doxygen 1.8.17
diff --git a/docs/html/class_intelli_raster_image.html b/docs/html/class_intelli_raster_image.html index cacb3a5..c33fd64 100644 --- a/docs/html/class_intelli_raster_image.html +++ b/docs/html/class_intelli_raster_image.html @@ -3,7 +3,7 @@ - + IntelliPhoto: IntelliRasterImage Class Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -141,10 +137,10 @@ Public Member Functions  A funtcion used to draw a pixel on the Image with the given Color. More...
  virtual void drawLine (const QPoint &p1, const QPoint &p2, const QColor &color, const int &penWidth) - A function that draws A Line between two given Points in a given color. More...
+ A function that draws a line between two given points in a given color. More...
  virtual void drawPoint (const QPoint &p1, const QColor &color, const int &penWidth) - A. More...
+ A function that draws a point between on a given point in a given color. More...
  virtual void drawPlain (const QColor &color)  A function that clears the whole image in a given Color. More...
@@ -164,8 +160,11 @@ Public Member Functions  updateRendererSetting updates the existing image format to the new format. More...
  virtual QImage getImageData () - getImageData returns the data of the current image. More...
+ getImageData returns the data of the current image (Note: It will allways return a ARGB32bit QImage!). More...
  +virtual void setImageData (const QImage &newData) + setImageData overwrites the old imageData the new imageData. More...
+  @@ -191,14 +190,14 @@ Additional Inherited Members - - - + + +

Protected Member Functions

ImageType TypeOfImage
 The Type, an Image is. More...
 
bool fastRenderer
 fastRenderer is the flag that represents the usage of 8bit pictures. More...
 
bool fastRenderering
 fastRendering is the flag that represents the usage of 8bit pictures. More...
 

Detailed Description

The IntelliRasterImage manages a RASTERIMAGE.

-

Definition at line 9 of file IntelliRasterImage.h.

+

Definition at line 12 of file IntelliRasterImage.h.

Constructor & Destructor Documentation

◆ IntelliRasterImage()

@@ -475,8 +474,8 @@ Additional Inherited Members

The documentation for this class was generated from the following files: @@ -486,7 +485,7 @@ Additional Inherited Members + doxygen 1.8.17 diff --git a/docs/html/class_intelli_raster_image.png b/docs/html/class_intelli_raster_image.png index c56da4b..768500f 100644 Binary files a/docs/html/class_intelli_raster_image.png and b/docs/html/class_intelli_raster_image.png differ diff --git a/docs/html/class_intelli_render_settings-members.html b/docs/html/class_intelli_render_settings-members.html index 5702f49..a94ad39 100644 --- a/docs/html/class_intelli_render_settings-members.html +++ b/docs/html/class_intelli_render_settings-members.html @@ -3,7 +3,7 @@ - + IntelliPhoto: Member List @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -93,8 +89,9 @@ $(document).ready(function(){initNavTree('class_intelli_render_settings.html',''

This is the complete list of members for IntelliRenderSettings, including all inherited members.

- - + + +
getFastRenderer()IntelliRenderSettings
IntelliRenderSettings()IntelliRenderSettings
IntelliRenderSettings()IntelliRenderSettings
isFastRenderering()IntelliRenderSettings
setFastRendering(bool Updatedsetting)IntelliRenderSettings
@@ -102,7 +99,7 @@ $(document).ready(function(){initNavTree('class_intelli_render_settings.html',''
    + doxygen 1.8.17
diff --git a/docs/html/class_intelli_render_settings.html b/docs/html/class_intelli_render_settings.html index 06a03e7..d0d1d39 100644 --- a/docs/html/class_intelli_render_settings.html +++ b/docs/html/class_intelli_render_settings.html @@ -3,7 +3,7 @@ - + IntelliPhoto: IntelliRenderSettings Class Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -100,13 +96,16 @@ $(document).ready(function(){initNavTree('class_intelli_render_settings.html','' Public Member Functions  IntelliRenderSettings ()   -bool getFastRenderer () - The getfastRenderer gets the value of the flag for the fastRenderer setting. More...
-  +void setFastRendering (bool Updatedsetting) + setFastRendering sets fastRendering to Updatedsetting. More...
+  +bool isFastRenderering () + The getfastRenderer gets the value of the flag for the fastRenderer setting. More...

Detailed Description

-

Definition at line 5 of file IntelliRenderSettings.h.

+

Definition at line 8 of file IntelliRenderSettings.h.

Constructor & Destructor Documentation

◆ IntelliRenderSettings()

@@ -128,14 +127,14 @@ Public Member Functions

Member Function Documentation

- -

◆ getFastRenderer()

+ +

◆ isFastRenderering()

- + @@ -146,13 +145,41 @@ Public Member Functions

The getfastRenderer gets the value of the flag for the fastRenderer setting.

Returns
Returns true if fastRenderer is active else false
+

Definition at line 12 of file IntelliRenderSettings.cpp.

+ + + + +

◆ setFastRendering()

+ +
+
+
bool IntelliRenderSettings::getFastRenderer bool IntelliRenderSettings::isFastRenderering ( )
+ + + + + + + +
void IntelliRenderSettings::setFastRendering (bool Updatedsetting)
+
+ +

setFastRendering sets fastRendering to Updatedsetting.

+
Parameters
+ + +
Updatedsetting- Represents the new value for the Fast Rendering Flag.
+
+
+

Definition at line 8 of file IntelliRenderSettings.cpp.


The documentation for this class was generated from the following files: @@ -162,7 +189,7 @@ Public Member Functions + doxygen 1.8.17 diff --git a/docs/html/class_intelli_render_settings.js b/docs/html/class_intelli_render_settings.js index 0a6c973..e0dfe86 100644 --- a/docs/html/class_intelli_render_settings.js +++ b/docs/html/class_intelli_render_settings.js @@ -1,5 +1,6 @@ var class_intelli_render_settings = [ [ "IntelliRenderSettings", "class_intelli_render_settings.html#a4a01de6e5e8e516a7eae51d6f1f66529", null ], - [ "getFastRenderer", "class_intelli_render_settings.html#a5a74e7d7ed3a2e944883dddbe8bbf5e8", null ] + [ "isFastRenderering", "class_intelli_render_settings.html#a5d0eb9a5a3bf788dd87509386dea8dcd", null ], + [ "setFastRendering", "class_intelli_render_settings.html#a5ffb878b77e5d448ffe4eb03a8397ac2", null ] ]; \ No newline at end of file diff --git a/docs/html/class_intelli_shaped_image-members.html b/docs/html/class_intelli_shaped_image-members.html index 05f9fec..23b0658 100644 --- a/docs/html/class_intelli_shaped_image-members.html +++ b/docs/html/class_intelli_shaped_image-members.html @@ -3,7 +3,7 @@ - + IntelliPhoto: Member List @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -97,7 +93,7 @@ $(document).ready(function(){initNavTree('class_intelli_shaped_image.html','');} drawPixel(const QPoint &p1, const QColor &color)IntelliImagevirtual drawPlain(const QColor &color)IntelliImagevirtual drawPoint(const QPoint &p1, const QColor &color, const int &penWidth)IntelliImagevirtual - fastRendererIntelliImageprotected + fastRendereringIntelliImageprotected getDeepCopy() overrideIntelliShapedImagevirtual getDisplayable(const QSize &displaySize, int alpha=255) overrideIntelliShapedImagevirtual getDisplayable(int alpha=255) overrideIntelliShapedImagevirtual @@ -113,12 +109,13 @@ $(document).ready(function(){initNavTree('class_intelli_shaped_image.html','');} loadImage(const QString &filePath)IntelliImagevirtual polygonDataIntelliShapedImageprotected resizeImage(QImage *image, const QSize &newSize)IntelliImageprotected - setPolygon(const std::vector< QPoint > &polygonData) overrideIntelliShapedImagevirtual - TypeOfImageIntelliImageprotected - updateRendererSetting(bool fastRendererOn)IntelliImagevirtual - ~IntelliImage()=0IntelliImagepure virtual - ~IntelliRasterImage() overrideIntelliRasterImagevirtual - ~IntelliShapedImage() overrideIntelliShapedImagevirtual + setImageData(const QImage &newData)IntelliImagevirtual + setPolygon(const std::vector< QPoint > &polygonData) overrideIntelliShapedImagevirtual + TypeOfImageIntelliImageprotected + updateRendererSetting(bool fastRendererOn)IntelliImagevirtual + ~IntelliImage()=0IntelliImagepure virtual + ~IntelliRasterImage() overrideIntelliRasterImagevirtual + ~IntelliShapedImage() overrideIntelliShapedImagevirtual
@@ -126,7 +123,7 @@ $(document).ready(function(){initNavTree('class_intelli_shaped_image.html','');}
    + doxygen 1.8.17
diff --git a/docs/html/class_intelli_shaped_image.html b/docs/html/class_intelli_shaped_image.html index ce5eda4..c2857a4 100644 --- a/docs/html/class_intelli_shaped_image.html +++ b/docs/html/class_intelli_shaped_image.html @@ -3,7 +3,7 @@ - + IntelliPhoto: IntelliShapedImage Class Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -151,10 +147,10 @@ Public Member Functions  A funtcion used to draw a pixel on the Image with the given Color. More...
  virtual void drawLine (const QPoint &p1, const QPoint &p2, const QColor &color, const int &penWidth) - A function that draws A Line between two given Points in a given color. More...
+ A function that draws a line between two given points in a given color. More...
  virtual void drawPoint (const QPoint &p1, const QColor &color, const int &penWidth) - A. More...
+ A function that draws a point between on a given point in a given color. More...
  virtual void drawPlain (const QColor &color)  A function that clears the whole image in a given Color. More...
@@ -171,8 +167,11 @@ Public Member Functions  updateRendererSetting updates the existing image format to the new format. More...
  virtual QImage getImageData () - getImageData returns the data of the current image. More...
+ getImageData returns the data of the current image (Note: It will allways return a ARGB32bit QImage!). More...
  +virtual void setImageData (const QImage &newData) + setImageData overwrites the old imageData the new imageData. More...
+  @@ -186,9 +185,9 @@ Protected Attributes - - - + + +

Protected Attributes

ImageType TypeOfImage
 The Type, an Image is. More...
 
bool fastRenderer
 fastRenderer is the flag that represents the usage of 8bit pictures. More...
 
bool fastRenderering
 fastRendering is the flag that represents the usage of 8bit pictures. More...
 
@@ -205,7 +204,7 @@ Additional Inherited Members

Detailed Description

The IntelliShapedImage manages a Shapedimage.

-

Definition at line 10 of file IntelliShapedImage.h.

+

Definition at line 13 of file IntelliShapedImage.h.

Constructor & Destructor Documentation

◆ IntelliShapedImage()

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

Reimplemented from IntelliRasterImage.

-

Definition at line 67 of file IntelliShapedImage.cpp.

+

Definition at line 70 of file IntelliShapedImage.cpp.

@@ -432,7 +431,7 @@ Additional Inherited Members

Reimplemented from IntelliImage.

-

Definition at line 67 of file IntelliShapedImage.h.

+

Definition at line 71 of file IntelliShapedImage.h.

@@ -470,7 +469,7 @@ Additional Inherited Members

Reimplemented from IntelliRasterImage.

-

Definition at line 85 of file IntelliShapedImage.cpp.

+

Definition at line 88 of file IntelliShapedImage.cpp.

@@ -497,13 +496,13 @@ Additional Inherited Members

The Vertices of The Polygon. Needs to be a planar Polygon.

-

Definition at line 27 of file IntelliShapedImage.h.

+

Definition at line 31 of file IntelliShapedImage.h.


The documentation for this class was generated from the following files: @@ -513,7 +512,7 @@ Additional Inherited Members + doxygen 1.8.17 diff --git a/docs/html/class_intelli_shaped_image.png b/docs/html/class_intelli_shaped_image.png index d255aa9..5bdf651 100644 Binary files a/docs/html/class_intelli_shaped_image.png and b/docs/html/class_intelli_shaped_image.png differ diff --git a/docs/html/class_intelli_tool-members.html b/docs/html/class_intelli_tool-members.html index c8b42e9..2d03123 100644 --- a/docs/html/class_intelli_tool-members.html +++ b/docs/html/class_intelli_tool-members.html @@ -3,7 +3,7 @@ - +IntelliPhoto: Member List @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@

Additional Inherited Members

- +
@@ -118,7 +114,7 @@ $(document).ready(function(){initNavTree('class_intelli_tool.html','');});
    + doxygen 1.8.17
diff --git a/docs/html/class_intelli_tool.html b/docs/html/class_intelli_tool.html index 58e4dd1..3620d05 100644 --- a/docs/html/class_intelli_tool.html +++ b/docs/html/class_intelli_tool.html @@ -3,7 +3,7 @@ - + IntelliPhoto: IntelliTool Class Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -126,7 +122,8 @@ Public Types
  Tooltype::PLAIN, Tooltype::POLYGON, -Tooltype::RECTANGLE +Tooltype::RECTANGLE, +Tooltype::NONE
}   @@ -187,7 +184,7 @@ Protected Attributes

Detailed Description

An abstract class that manages the basic events, like mouse clicks or scrolls events.

-

Definition at line 14 of file IntelliTool.h.

+

Definition at line 17 of file IntelliTool.h.

Member Enumeration Documentation

◆ Tooltype

@@ -216,9 +213,10 @@ Protected Attributes PLAIN  POLYGON  RECTANGLE  +NONE  -

Definition at line 16 of file IntelliTool.h.

+

Definition at line 20 of file IntelliTool.h.

@@ -293,7 +291,7 @@ Protected Attributes

An abstract Destructor.

-

Definition at line 11 of file IntelliTool.cpp.

+

Definition at line 14 of file IntelliTool.cpp.

@@ -313,7 +311,7 @@ Protected Attributes
-

Definition at line 89 of file IntelliTool.cpp.

+

Definition at line 103 of file IntelliTool.cpp.

@@ -332,7 +330,7 @@ Protected Attributes
-

Definition at line 85 of file IntelliTool.cpp.

+

Definition at line 99 of file IntelliTool.cpp.

@@ -381,7 +379,7 @@ Protected Attributes

Reimplemented in IntelliToolPolygon, IntelliToolCircle, IntelliToolRectangle, IntelliToolLine, IntelliToolPen, IntelliToolFloodFill, and IntelliToolPlainTool.

-

Definition at line 26 of file IntelliTool.cpp.

+

Definition at line 29 of file IntelliTool.cpp.

@@ -430,7 +428,7 @@ Protected Attributes

Reimplemented in IntelliToolPolygon, IntelliToolCircle, IntelliToolRectangle, IntelliToolLine, IntelliToolPen, IntelliToolFloodFill, and IntelliToolPlainTool.

-

Definition at line 33 of file IntelliTool.cpp.

+

Definition at line 36 of file IntelliTool.cpp.

@@ -479,7 +477,7 @@ Protected Attributes

Reimplemented in IntelliToolPolygon, IntelliToolCircle, IntelliToolRectangle, IntelliToolLine, IntelliToolPen, IntelliToolFloodFill, and IntelliToolPlainTool.

-

Definition at line 42 of file IntelliTool.cpp.

+

Definition at line 46 of file IntelliTool.cpp.

@@ -528,7 +526,7 @@ Protected Attributes

Reimplemented in IntelliToolPolygon, IntelliToolCircle, IntelliToolRectangle, IntelliToolLine, IntelliToolPen, IntelliToolFloodFill, and IntelliToolPlainTool.

-

Definition at line 15 of file IntelliTool.cpp.

+

Definition at line 18 of file IntelliTool.cpp.

@@ -577,7 +575,7 @@ Protected Attributes

Reimplemented in IntelliToolPolygon, IntelliToolCircle, IntelliToolRectangle, IntelliToolLine, IntelliToolPen, IntelliToolFloodFill, and IntelliToolPlainTool.

-

Definition at line 22 of file IntelliTool.cpp.

+

Definition at line 25 of file IntelliTool.cpp.

@@ -615,7 +613,7 @@ Protected Attributes

Reimplemented in IntelliToolPolygon, IntelliToolCircle, IntelliToolRectangle, IntelliToolLine, IntelliToolPen, IntelliToolFloodFill, and IntelliToolPlainTool.

-

Definition at line 47 of file IntelliTool.cpp.

+

Definition at line 51 of file IntelliTool.cpp.

@@ -642,7 +640,7 @@ Protected Attributes

A pointer to the underlying active Layer, do not work on this. This is used for data grabbing or previews.

-

Definition at line 58 of file IntelliTool.h.

+

Definition at line 64 of file IntelliTool.h.

@@ -666,7 +664,7 @@ Protected Attributes
-

Definition at line 46 of file IntelliTool.h.

+

Definition at line 52 of file IntelliTool.h.

@@ -692,7 +690,7 @@ Protected Attributes

A pointer to the general PaintingArea to interact with.

-

Definition at line 44 of file IntelliTool.h.

+

Definition at line 50 of file IntelliTool.h.

@@ -718,7 +716,7 @@ Protected Attributes

A pointer to the drawing canvas of the tool, work on this.

-

Definition at line 63 of file IntelliTool.h.

+

Definition at line 69 of file IntelliTool.h.

@@ -744,7 +742,7 @@ Protected Attributes

A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.

-

Definition at line 51 of file IntelliTool.h.

+

Definition at line 57 of file IntelliTool.h.

@@ -770,7 +768,7 @@ Protected Attributes

A flag checking if the user is currently drawing or not.

-

Definition at line 68 of file IntelliTool.h.

+

Definition at line 74 of file IntelliTool.h.

@@ -794,13 +792,13 @@ Protected Attributes
-

Definition at line 53 of file IntelliTool.h.

+

Definition at line 59 of file IntelliTool.h.


The documentation for this class was generated from the following files: @@ -810,7 +808,7 @@ Protected Attributes + doxygen 1.8.17 diff --git a/docs/html/class_intelli_tool.js b/docs/html/class_intelli_tool.js index bbfbb28..34404b0 100644 --- a/docs/html/class_intelli_tool.js +++ b/docs/html/class_intelli_tool.js @@ -7,7 +7,8 @@ var class_intelli_tool = [ "PEN", "class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fad3fa1aa45b9fe56e1fc1b558d8ed6678", null ], [ "PLAIN", "class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8faf62eb0bf5e5c72e80983fbbac1cb70e5", null ], [ "POLYGON", "class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8faecdc92bf56d960b73b02ee40125758bc", null ], - [ "RECTANGLE", "class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fa8e8e58fe94ab307a826e087028a7c01a", null ] + [ "RECTANGLE", "class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fa8e8e58fe94ab307a826e087028a7c01a", null ], + [ "NONE", "class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fab50339a10e1de285ac99d4c3990b8693", null ] ] ], [ "IntelliTool", "class_intelli_tool.html#a08ef094271ce6248b42f888472463526", null ], [ "~IntelliTool", "class_intelli_tool.html#a57fb1b27d364c9e3696eb928b75fa9f2", null ], diff --git a/docs/html/class_intelli_tool.png b/docs/html/class_intelli_tool.png index c7ba7c6..9a2a1db 100644 Binary files a/docs/html/class_intelli_tool.png and b/docs/html/class_intelli_tool.png differ diff --git a/docs/html/class_intelli_tool_circle-members.html b/docs/html/class_intelli_tool_circle-members.html index 5e0d837..aa31c7f 100644 --- a/docs/html/class_intelli_tool_circle-members.html +++ b/docs/html/class_intelli_tool_circle-members.html @@ -3,7 +3,7 @@ - + IntelliPhoto: Member List @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -120,7 +116,7 @@ $(document).ready(function(){initNavTree('class_intelli_tool_circle.html','');})
    + doxygen 1.8.17
diff --git a/docs/html/class_intelli_tool_circle.html b/docs/html/class_intelli_tool_circle.html index e6ce048..85c59e4 100644 --- a/docs/html/class_intelli_tool_circle.html +++ b/docs/html/class_intelli_tool_circle.html @@ -3,7 +3,7 @@ - + IntelliPhoto: IntelliToolCircle Class Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -157,7 +153,8 @@ Additional Inherited Members
  Tooltype::PLAIN, Tooltype::POLYGON, -Tooltype::RECTANGLE +Tooltype::RECTANGLE, +Tooltype::NONE
}   @@ -185,7 +182,7 @@ Additional Inherited Members

Detailed Description

The IntelliToolCircle class represents a tool to draw a circle.

-

Definition at line 10 of file IntelliToolCircle.h.

+

Definition at line 14 of file IntelliToolCircle.h.

Constructor & Destructor Documentation

◆ IntelliToolCircle()

@@ -307,7 +304,7 @@ Additional Inherited Members

Reimplemented from IntelliTool.

-

Definition at line 58 of file IntelliToolCircle.cpp.

+

Definition at line 57 of file IntelliToolCircle.cpp.

@@ -356,7 +353,7 @@ Additional Inherited Members

Reimplemented from IntelliTool.

-

Definition at line 66 of file IntelliToolCircle.cpp.

+

Definition at line 67 of file IntelliToolCircle.cpp.

@@ -405,7 +402,7 @@ Additional Inherited Members

Reimplemented from IntelliTool.

-

Definition at line 75 of file IntelliToolCircle.cpp.

+

Definition at line 76 of file IntelliToolCircle.cpp.

@@ -454,7 +451,7 @@ Additional Inherited Members

Reimplemented from IntelliTool.

-

Definition at line 50 of file IntelliToolCircle.cpp.

+

Definition at line 49 of file IntelliToolCircle.cpp.

@@ -503,7 +500,7 @@ Additional Inherited Members

Reimplemented from IntelliTool.

-

Definition at line 54 of file IntelliToolCircle.cpp.

+

Definition at line 53 of file IntelliToolCircle.cpp.

@@ -541,13 +538,13 @@ Additional Inherited Members

Reimplemented from IntelliTool.

-

Definition at line 70 of file IntelliToolCircle.cpp.

+

Definition at line 71 of file IntelliToolCircle.cpp.


The documentation for this class was generated from the following files: @@ -557,7 +554,7 @@ Additional Inherited Members + doxygen 1.8.17 diff --git a/docs/html/class_intelli_tool_circle.png b/docs/html/class_intelli_tool_circle.png index f828daa..d85887d 100644 Binary files a/docs/html/class_intelli_tool_circle.png and b/docs/html/class_intelli_tool_circle.png differ diff --git a/docs/html/class_intelli_tool_flood_fill-members.html b/docs/html/class_intelli_tool_flood_fill-members.html index 468a95e..4c892dd 100644 --- a/docs/html/class_intelli_tool_flood_fill-members.html +++ b/docs/html/class_intelli_tool_flood_fill-members.html @@ -3,7 +3,7 @@ - + IntelliPhoto: Member List @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -120,7 +116,7 @@ $(document).ready(function(){initNavTree('class_intelli_tool_flood_fill.html',''
    + doxygen 1.8.17
diff --git a/docs/html/class_intelli_tool_flood_fill.html b/docs/html/class_intelli_tool_flood_fill.html index ad0beb0..813458f 100644 --- a/docs/html/class_intelli_tool_flood_fill.html +++ b/docs/html/class_intelli_tool_flood_fill.html @@ -3,7 +3,7 @@ - + IntelliPhoto: IntelliToolFloodFill Class Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -157,7 +153,8 @@ Additional Inherited Members
  Tooltype::PLAIN, Tooltype::POLYGON, -Tooltype::RECTANGLE +Tooltype::RECTANGLE, +Tooltype::NONE
}   @@ -185,7 +182,7 @@ Additional Inherited Members

Detailed Description

The IntelliToolFloodFill class represents a tool to flood FIll a certian area.

-

Definition at line 10 of file IntelliToolFloodFill.h.

+

Definition at line 14 of file IntelliToolFloodFill.h.

Constructor & Destructor Documentation

◆ IntelliToolFloodFill()

@@ -356,7 +353,7 @@ Additional Inherited Members

Reimplemented from IntelliTool.

-

Definition at line 69 of file IntelliToolFloodFill.cpp.

+

Definition at line 72 of file IntelliToolFloodFill.cpp.

@@ -405,7 +402,7 @@ Additional Inherited Members

Reimplemented from IntelliTool.

-

Definition at line 78 of file IntelliToolFloodFill.cpp.

+

Definition at line 81 of file IntelliToolFloodFill.cpp.

@@ -541,13 +538,13 @@ Additional Inherited Members

Reimplemented from IntelliTool.

-

Definition at line 73 of file IntelliToolFloodFill.cpp.

+

Definition at line 76 of file IntelliToolFloodFill.cpp.


The documentation for this class was generated from the following files: @@ -557,7 +554,7 @@ Additional Inherited Members + doxygen 1.8.17 diff --git a/docs/html/class_intelli_tool_flood_fill.png b/docs/html/class_intelli_tool_flood_fill.png index 8b73510..578ca9c 100644 Binary files a/docs/html/class_intelli_tool_flood_fill.png and b/docs/html/class_intelli_tool_flood_fill.png differ diff --git a/docs/html/class_intelli_tool_line-members.html b/docs/html/class_intelli_tool_line-members.html index 096960c..b9461de 100644 --- a/docs/html/class_intelli_tool_line-members.html +++ b/docs/html/class_intelli_tool_line-members.html @@ -3,7 +3,7 @@ - + IntelliPhoto: Member List @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -120,7 +116,7 @@ $(document).ready(function(){initNavTree('class_intelli_tool_line.html','');});
    + doxygen 1.8.17
diff --git a/docs/html/class_intelli_tool_line.html b/docs/html/class_intelli_tool_line.html index 1b7d28a..c782844 100644 --- a/docs/html/class_intelli_tool_line.html +++ b/docs/html/class_intelli_tool_line.html @@ -3,7 +3,7 @@ - + IntelliPhoto: IntelliToolLine Class Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -111,7 +107,7 @@ Inheritance diagram for IntelliToolLine:

Public Member Functions

 IntelliToolLine (PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings) - A constructor setting the general paintingArea and colorPicker. And reading in the lineWidth and lineStyle. More...
+ A constructor setting the general paintingArea and colorPicker. More...
  virtual ~IntelliToolLine () override  An abstract Destructor. More...
@@ -157,7 +153,8 @@ Additional Inherited Members
  Tooltype::PLAIN, Tooltype::POLYGON, -Tooltype::RECTANGLE +Tooltype::RECTANGLE, +Tooltype::NONE
}   @@ -185,7 +182,7 @@ Additional Inherited Members

Detailed Description

The IntelliToolFloodFill class represents a tool to draw a line.

-

Definition at line 10 of file IntelliToolLine.h.

+

Definition at line 13 of file IntelliToolLine.h.

Constructor & Destructor Documentation

◆ IntelliToolLine()

@@ -219,7 +216,7 @@ Additional Inherited Members
-

A constructor setting the general paintingArea and colorPicker. And reading in the lineWidth and lineStyle.

+

A constructor setting the general paintingArea and colorPicker.

Parameters
@@ -546,8 +543,8 @@ Additional Inherited Members
The documentation for this class was generated from the following files: @@ -557,7 +554,7 @@ Additional Inherited Members + doxygen 1.8.17 diff --git a/docs/html/class_intelli_tool_line.png b/docs/html/class_intelli_tool_line.png index 94372de..5349288 100644 Binary files a/docs/html/class_intelli_tool_line.png and b/docs/html/class_intelli_tool_line.png differ diff --git a/docs/html/class_intelli_tool_pen-members.html b/docs/html/class_intelli_tool_pen-members.html index f97cedc..b76db58 100644 --- a/docs/html/class_intelli_tool_pen-members.html +++ b/docs/html/class_intelli_tool_pen-members.html @@ -3,7 +3,7 @@ - +IntelliPhoto: Member List @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@
Area- The general paintingArea used by the project.
- +
@@ -120,7 +116,7 @@ $(document).ready(function(){initNavTree('class_intelli_tool_pen.html','');});
    + doxygen 1.8.17
diff --git a/docs/html/class_intelli_tool_pen.html b/docs/html/class_intelli_tool_pen.html index 910bfe0..5340bba 100644 --- a/docs/html/class_intelli_tool_pen.html +++ b/docs/html/class_intelli_tool_pen.html @@ -3,7 +3,7 @@ - + IntelliPhoto: IntelliToolPen Class Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -157,7 +153,8 @@ Additional Inherited Members
  Tooltype::PLAIN, Tooltype::POLYGON, -Tooltype::RECTANGLE +Tooltype::RECTANGLE, +Tooltype::NONE
}   @@ -185,7 +182,7 @@ Additional Inherited Members

Detailed Description

The IntelliToolPen class represents a tool to draw a line.

-

Definition at line 11 of file IntelliToolPen.h.

+

Definition at line 14 of file IntelliToolPen.h.

Constructor & Destructor Documentation

◆ IntelliToolPen()

@@ -546,8 +543,8 @@ Additional Inherited Members

The documentation for this class was generated from the following files: @@ -557,7 +554,7 @@ Additional Inherited Members + doxygen 1.8.17 diff --git a/docs/html/class_intelli_tool_pen.png b/docs/html/class_intelli_tool_pen.png index 6de0027..f8afc00 100644 Binary files a/docs/html/class_intelli_tool_pen.png and b/docs/html/class_intelli_tool_pen.png differ diff --git a/docs/html/class_intelli_tool_plain_tool-members.html b/docs/html/class_intelli_tool_plain_tool-members.html index cc21cb3..894e44f 100644 --- a/docs/html/class_intelli_tool_plain_tool-members.html +++ b/docs/html/class_intelli_tool_plain_tool-members.html @@ -3,7 +3,7 @@ - + IntelliPhoto: Member List @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -120,7 +116,7 @@ $(document).ready(function(){initNavTree('class_intelli_tool_plain_tool.html',''
    + doxygen 1.8.17
diff --git a/docs/html/class_intelli_tool_plain_tool.html b/docs/html/class_intelli_tool_plain_tool.html index 7cda6a5..264868f 100644 --- a/docs/html/class_intelli_tool_plain_tool.html +++ b/docs/html/class_intelli_tool_plain_tool.html @@ -3,7 +3,7 @@ - + IntelliPhoto: IntelliToolPlainTool Class Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -157,7 +153,8 @@ Additional Inherited Members
  Tooltype::PLAIN, Tooltype::POLYGON, -Tooltype::RECTANGLE +Tooltype::RECTANGLE, +Tooltype::NONE
}   @@ -185,7 +182,7 @@ Additional Inherited Members

Detailed Description

The IntelliToolPlainTool class represents a tool to fill the whole canvas with one color.

-

Definition at line 9 of file IntelliToolPlain.h.

+

Definition at line 13 of file IntelliToolPlain.h.

Constructor & Destructor Documentation

◆ IntelliToolPlainTool()

@@ -546,8 +543,8 @@ Additional Inherited Members

The documentation for this class was generated from the following files: @@ -557,7 +554,7 @@ Additional Inherited Members + doxygen 1.8.17 diff --git a/docs/html/class_intelli_tool_plain_tool.png b/docs/html/class_intelli_tool_plain_tool.png index 0981014..709271d 100644 Binary files a/docs/html/class_intelli_tool_plain_tool.png and b/docs/html/class_intelli_tool_plain_tool.png differ diff --git a/docs/html/class_intelli_tool_polygon-members.html b/docs/html/class_intelli_tool_polygon-members.html index 4d69fcd..9741c30 100644 --- a/docs/html/class_intelli_tool_polygon-members.html +++ b/docs/html/class_intelli_tool_polygon-members.html @@ -3,7 +3,7 @@ - + IntelliPhoto: Member List @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -101,17 +97,18 @@ $(document).ready(function(){initNavTree('class_intelli_tool_polygon.html','');} getIsDrawing()IntelliTool getTooltype()IntelliTool IntelliTool(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings)IntelliTool - IntelliToolPolygon(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings)IntelliToolPolygon - onMouseLeftPressed(int x, int y) overrideIntelliToolPolygonvirtual - onMouseLeftReleased(int x, int y) overrideIntelliToolPolygonvirtual - onMouseMoved(int x, int y) overrideIntelliToolPolygonvirtual - onMouseRightPressed(int x, int y) overrideIntelliToolPolygonvirtual - onMouseRightReleased(int x, int y) overrideIntelliToolPolygonvirtual - onWheelScrolled(int value) overrideIntelliToolPolygonvirtual - ToolsettingsIntelliToolprotected - Tooltype enum nameIntelliTool - ~IntelliTool()=0IntelliToolpure virtual - ~IntelliToolPolygon() overrideIntelliToolPolygon + IntelliToolPolygon(PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings, bool isSettingPolygon=false)IntelliToolPolygon + isDrawingIntelliToolprotected + onMouseLeftPressed(int x, int y) overrideIntelliToolPolygonvirtual + onMouseLeftReleased(int x, int y) overrideIntelliToolPolygonvirtual + onMouseMoved(int x, int y) overrideIntelliToolPolygonvirtual + onMouseRightPressed(int x, int y) overrideIntelliToolPolygonvirtual + onMouseRightReleased(int x, int y) overrideIntelliToolPolygonvirtual + onWheelScrolled(int value) overrideIntelliToolPolygonvirtual + ToolsettingsIntelliToolprotected + Tooltype enum nameIntelliTool + ~IntelliTool()=0IntelliToolpure virtual + ~IntelliToolPolygon() overrideIntelliToolPolygon
@@ -119,7 +116,7 @@ $(document).ready(function(){initNavTree('class_intelli_tool_polygon.html','');}
    + doxygen 1.8.17
diff --git a/docs/html/class_intelli_tool_polygon.html b/docs/html/class_intelli_tool_polygon.html index fcc8109..db07444 100644 --- a/docs/html/class_intelli_tool_polygon.html +++ b/docs/html/class_intelli_tool_polygon.html @@ -3,7 +3,7 @@ - + IntelliPhoto: IntelliToolPolygon Class Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -110,9 +106,9 @@ Inheritance diagram for IntelliToolPolygon:
- - - + + + @@ -157,7 +153,8 @@ Additional Inherited Members
  Tooltype::PLAIN, Tooltype::POLYGON, -Tooltype::RECTANGLE +Tooltype::RECTANGLE, +Tooltype::NONE
} @@ -185,10 +182,10 @@ Additional Inherited Members

Detailed Description

The IntelliToolPolygon managed the Drawing of Polygonforms.

-

Definition at line 11 of file IntelliToolPolygon.h.

+

Definition at line 15 of file IntelliToolPolygon.h.

Constructor & Destructor Documentation

- -

◆ IntelliToolPolygon()

+ +

◆ IntelliToolPolygon()

@@ -209,7 +206,13 @@ Additional Inherited Members
- + + + + + + + @@ -224,6 +227,7 @@ Additional Inherited Members

Public Member Functions

 IntelliToolPolygon (PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings)
 A constructor setting the general paintingArea and colorPicker. More...
 
 IntelliToolPolygon (PaintingArea *Area, IntelliColorPicker *colorPicker, IntelliToolsettings *Toolsettings, bool isSettingPolygon=false)
 A constructor setting the general paintingArea and colorPicker. More...
 
 ~IntelliToolPolygon () override
 A Destructor. More...
 
 
IntelliToolsettingsToolsettings Toolsettings,
bool isSettingPolygon = false 
+
Area- The general paintingArea used by the project.
colorPicker- The general colorPicker used by the project.
isSettingPolygon- The flag for the set polygon method, standart is false
@@ -257,7 +261,7 @@ Additional Inherited Members

A Destructor.

-

Definition at line 15 of file IntelliToolPolygon.cpp.

+

Definition at line 19 of file IntelliToolPolygon.cpp.

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

Reimplemented from IntelliTool.

-

Definition at line 21 of file IntelliToolPolygon.cpp.

+

Definition at line 25 of file IntelliToolPolygon.cpp.

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

Reimplemented from IntelliTool.

-

Definition at line 71 of file IntelliToolPolygon.cpp.

+

Definition at line 90 of file IntelliToolPolygon.cpp.

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

Reimplemented from IntelliTool.

-

Definition at line 108 of file IntelliToolPolygon.cpp.

+

Definition at line 136 of file IntelliToolPolygon.cpp.

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

Reimplemented from IntelliTool.

-

Definition at line 63 of file IntelliToolPolygon.cpp.

+

Definition at line 82 of file IntelliToolPolygon.cpp.

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

Reimplemented from IntelliTool.

-

Definition at line 97 of file IntelliToolPolygon.cpp.

+

Definition at line 123 of file IntelliToolPolygon.cpp.

@@ -541,13 +545,13 @@ Additional Inherited Members

Reimplemented from IntelliTool.

-

Definition at line 101 of file IntelliToolPolygon.cpp.

+

Definition at line 127 of file IntelliToolPolygon.cpp.


The documentation for this class was generated from the following files: @@ -557,7 +561,7 @@ Additional Inherited Members + doxygen 1.8.17 diff --git a/docs/html/class_intelli_tool_polygon.js b/docs/html/class_intelli_tool_polygon.js index fc4c508..871a8f0 100644 --- a/docs/html/class_intelli_tool_polygon.js +++ b/docs/html/class_intelli_tool_polygon.js @@ -1,6 +1,6 @@ var class_intelli_tool_polygon = [ - [ "IntelliToolPolygon", "class_intelli_tool_polygon.html#a3c39299dfffa5b8a45e72a4c0b48b32c", null ], + [ "IntelliToolPolygon", "class_intelli_tool_polygon.html#a63b8c7514a87d4608533fbb557ee0db5", null ], [ "~IntelliToolPolygon", "class_intelli_tool_polygon.html#a087cbf2254010989df6106a357471499", null ], [ "onMouseLeftPressed", "class_intelli_tool_polygon.html#ad5d3b741be6d0647a9cdc9da2cb8bc3d", null ], [ "onMouseLeftReleased", "class_intelli_tool_polygon.html#a4e1473ff408ae2e11cf6a43f6f575f21", null ], diff --git a/docs/html/class_intelli_tool_polygon.png b/docs/html/class_intelli_tool_polygon.png index 15b5f93..0a69102 100644 Binary files a/docs/html/class_intelli_tool_polygon.png and b/docs/html/class_intelli_tool_polygon.png differ diff --git a/docs/html/class_intelli_tool_rectangle-members.html b/docs/html/class_intelli_tool_rectangle-members.html index 0a06328..6e55605 100644 --- a/docs/html/class_intelli_tool_rectangle-members.html +++ b/docs/html/class_intelli_tool_rectangle-members.html @@ -3,7 +3,7 @@ - + IntelliPhoto: Member List @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -120,7 +116,7 @@ $(document).ready(function(){initNavTree('class_intelli_tool_rectangle.html','')
    + doxygen 1.8.17
diff --git a/docs/html/class_intelli_tool_rectangle.html b/docs/html/class_intelli_tool_rectangle.html index 17ad363..6053b31 100644 --- a/docs/html/class_intelli_tool_rectangle.html +++ b/docs/html/class_intelli_tool_rectangle.html @@ -3,7 +3,7 @@ - + IntelliPhoto: IntelliToolRectangle Class Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -157,7 +153,8 @@ Additional Inherited Members
  Tooltype::PLAIN, Tooltype::POLYGON, -Tooltype::RECTANGLE +Tooltype::RECTANGLE, +Tooltype::NONE
}   @@ -185,7 +182,7 @@ Additional Inherited Members

Detailed Description

The IntelliToolRectangle class represents a tool to draw a rectangle.

-

Definition at line 11 of file IntelliToolRectangle.h.

+

Definition at line 15 of file IntelliToolRectangle.h.

Constructor & Destructor Documentation

◆ IntelliToolRectangle()

@@ -546,8 +543,8 @@ Additional Inherited Members

The documentation for this class was generated from the following files: @@ -557,7 +554,7 @@ Additional Inherited Members + doxygen 1.8.17 diff --git a/docs/html/class_intelli_tool_rectangle.png b/docs/html/class_intelli_tool_rectangle.png index 898198e..3c00191 100644 Binary files a/docs/html/class_intelli_tool_rectangle.png and b/docs/html/class_intelli_tool_rectangle.png differ diff --git a/docs/html/class_intelli_toolsettings-members.html b/docs/html/class_intelli_toolsettings-members.html index 9a5cc60..4cf73fc 100644 --- a/docs/html/class_intelli_toolsettings-members.html +++ b/docs/html/class_intelli_toolsettings-members.html @@ -3,7 +3,7 @@ - + IntelliPhoto: Member List @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - + @@ -110,7 +102,7 @@ $(document).ready(function(){initNavTree('class_intelli_toolsettings.html','');}
    + doxygen 1.8.17
diff --git a/docs/html/class_intelli_toolsettings.html b/docs/html/class_intelli_toolsettings.html index 20551b6..2dd77e8 100644 --- a/docs/html/class_intelli_toolsettings.html +++ b/docs/html/class_intelli_toolsettings.html @@ -3,7 +3,7 @@ - + IntelliPhoto: IntelliToolsettings Class Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -87,7 +83,6 @@ $(document).ready(function(){initNavTree('class_intelli_toolsettings.html','');}
@@ -97,14 +92,6 @@ $(document).ready(function(){initNavTree('class_intelli_toolsettings.html','');}

#include <IntelliToolsettings.h>

- - - - -

-Public Types

enum  LineStyle { LineStyle::SOLID_LINE, -LineStyle::DOTTED_LINE - }
 The LineStyle enum classifing all ways of drawing a line. More...
 
@@ -113,54 +100,17 @@ Public Member Functions - - - - - -

Public Member Functions

 IntelliToolsettings ()
 
int getLineWidth ()
 
void setLineWidth ()
 
void setLineWidth (int LineWidth)
 
int getInnerAlpha ()
 
void setInnerAlpha ()
 
void setInnerAlpha (int innerAlpha)
 
LineStyle getLinestyle ()
 

Detailed Description

-

Definition at line 4 of file IntelliToolsettings.h.

-

Member Enumeration Documentation

- -

◆ LineStyle

- -
-
- - - - - -
- - - - -
enum IntelliToolsettings::LineStyle
-
-strong
-
- -

The LineStyle enum classifing all ways of drawing a line.

- - - -
Enumerator
SOLID_LINE 
DOTTED_LINE 
- -

Definition at line 9 of file IntelliToolsettings.h.

- -
-
-

Constructor & Destructor Documentation

+

Definition at line 7 of file IntelliToolsettings.h.

+

Constructor & Destructor Documentation

◆ IntelliToolsettings()

@@ -203,7 +153,7 @@ Public Member Functions
-

Definition at line 11 of file IntelliToolsettings.cpp.

+

Definition at line 10 of file IntelliToolsettings.cpp.

@@ -223,26 +173,7 @@ Public Member Functions
-

Definition at line 33 of file IntelliToolsettings.cpp.

- -
- - -

◆ getLinestyle()

- -
-
- - - - - - - -
IntelliToolsettings::LineStyle IntelliToolsettings::getLinestyle ()
-
- -

Definition at line 51 of file IntelliToolsettings.cpp.

+

Definition at line 28 of file IntelliToolsettings.cpp.

@@ -261,31 +192,12 @@ Public Member Functions
-

Definition at line 15 of file IntelliToolsettings.cpp.

- -
- - -

◆ setInnerAlpha() [1/2]

- -
-
- - - - - - - -
void IntelliToolsettings::setInnerAlpha ()
-
- -

Definition at line 37 of file IntelliToolsettings.cpp.

+

Definition at line 14 of file IntelliToolsettings.cpp.

-

◆ setInnerAlpha() [2/2]

+

◆ setInnerAlpha()

@@ -300,31 +212,12 @@ Public Member Functions
-

Definition at line 41 of file IntelliToolsettings.cpp.

- -
-
- -

◆ setLineWidth() [1/2]

- -
-
- - - - - - - -
void IntelliToolsettings::setLineWidth ()
-
- -

Definition at line 19 of file IntelliToolsettings.cpp.

+

Definition at line 32 of file IntelliToolsettings.cpp.

-

◆ setLineWidth() [2/2]

+

◆ setLineWidth()

@@ -339,13 +232,13 @@ Public Member Functions
-

Definition at line 23 of file IntelliToolsettings.cpp.

+

Definition at line 18 of file IntelliToolsettings.cpp.


The documentation for this class was generated from the following files: @@ -355,7 +248,7 @@ Public Member Functions + doxygen 1.8.17 diff --git a/docs/html/class_intelli_toolsettings.js b/docs/html/class_intelli_toolsettings.js index e80469a..4cb8f44 100644 --- a/docs/html/class_intelli_toolsettings.js +++ b/docs/html/class_intelli_toolsettings.js @@ -1,16 +1,9 @@ var class_intelli_toolsettings = [ - [ "LineStyle", "class_intelli_toolsettings.html#a687dacd0e15b92dda5626b1b44b86089", [ - [ "SOLID_LINE", "class_intelli_toolsettings.html#a687dacd0e15b92dda5626b1b44b86089ae45e1e6b2e6dde14829d057a4ef44199", null ], - [ "DOTTED_LINE", "class_intelli_toolsettings.html#a687dacd0e15b92dda5626b1b44b86089a7660f396543c877e45d443f99d02bd0e", null ] - ] ], [ "IntelliToolsettings", "class_intelli_toolsettings.html#a5560602964ab95380967d63ab7ec6e69", null ], [ "~IntelliToolsettings", "class_intelli_toolsettings.html#a927e50594a459c952d06acd34c0eff56", null ], [ "getInnerAlpha", "class_intelli_toolsettings.html#a7d6ce2054ec4bcba7629dc2b514b6b5c", null ], - [ "getLinestyle", "class_intelli_toolsettings.html#a5beb193b25e0665516244c61c5e65aa6", null ], [ "getLineWidth", "class_intelli_toolsettings.html#a68528dd3bad8f39ba19fa6b12a4e415a", null ], - [ "setInnerAlpha", "class_intelli_toolsettings.html#a32f165c89190e40caf96abb916e6c876", null ], [ "setInnerAlpha", "class_intelli_toolsettings.html#a9a61f3de61efeba2287f8b32941f4271", null ], - [ "setLineWidth", "class_intelli_toolsettings.html#a906d37de6ee94b433d53fe3e598cc9fa", null ], [ "setLineWidth", "class_intelli_toolsettings.html#a73fa94c85c6c2fdc1a33975a33304a6f", null ] ]; \ No newline at end of file diff --git a/docs/html/class_painting_area-members.html b/docs/html/class_painting_area-members.html index 8f97d2d..5e7e1ce 100644 --- a/docs/html/class_painting_area-members.html +++ b/docs/html/class_painting_area-members.html @@ -3,7 +3,7 @@ - + IntelliPhoto: Member List @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -106,10 +102,12 @@ $(document).ready(function(){initNavTree('class_painting_area.html','');}); createPlainTool()PaintingArea createPolygonTool()PaintingArea createRectangleTool()PaintingArea - deleteLayer(int idx)PaintingArea - floodFill(int r, int g, int b, int a)PaintingArea - getHeightOfActive()PaintingArea + deleteLayer(int idx, bool isTool=false)PaintingArea + getHeightOfActive()PaintingArea + getImageDataOfActiveLayer()PaintingArea getImageOfActiveLayer()PaintingArea + getMaxHeight()PaintingArea + getMaxWidth()PaintingArea getNumberOfActiveLayer()PaintingArea getPolygonDataOfRealLayer()PaintingArea getTypeOfImageRealLayer()PaintingArea @@ -122,15 +120,16 @@ $(document).ready(function(){initNavTree('class_painting_area.html','');}); open(const QString &filePath)PaintingArea paintEvent(QPaintEvent *event) overridePaintingAreaprotected PaintingArea(int maxWidth=600, int maxHeight=600, QWidget *parent=nullptr)PaintingArea - resizeEvent(QResizeEvent *event) overridePaintingAreaprotected - save(const QString &filePath, const char *fileFormat)PaintingArea - setLayerActive(int idx)PaintingArea - setLayerAlpha(int idx, int alpha)PaintingArea - slotActivateLayer(int a)PaintingAreaslot - slotDeleteActiveLayer()PaintingAreaslot - ToolsettingsPaintingArea - wheelEvent(QWheelEvent *event) overridePaintingAreaprotected - ~PaintingArea() overridePaintingArea + save(const QString &filePath, const char *fileFormat)PaintingArea + setLayerActive(int idx)PaintingArea + setLayerAlpha(int idx, int alpha)PaintingArea + setPolygon(int idx)PaintingArea + setRenderSettings(bool isFastRenderingOn)PaintingArea + slotActivateLayer(int a)PaintingAreaslot + slotDeleteActiveLayer()PaintingAreaslot + ToolsettingsPaintingArea + wheelEvent(QWheelEvent *event) overridePaintingAreaprotected + ~PaintingArea() overridePaintingArea
@@ -138,7 +137,7 @@ $(document).ready(function(){initNavTree('class_painting_area.html','');});
    + doxygen 1.8.17
diff --git a/docs/html/class_painting_area.html b/docs/html/class_painting_area.html index 05e80b3..edea4b5 100644 --- a/docs/html/class_painting_area.html +++ b/docs/html/class_painting_area.html @@ -3,7 +3,7 @@ - + IntelliPhoto: PaintingArea Class Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -125,6 +121,9 @@ Public Member Functions  ~PaintingArea () override  This deconstructor is used to clear up the memory and remove the currently active window. More...
  +void setRenderSettings (bool isFastRenderingOn) + setRenderSettings updates all Images to the new Rendersetting. More...
+  bool open (const QString &filePath)  The open method is used for loading a picture into the current layer. More...
  @@ -137,18 +136,18 @@ Public Member Functions int addLayerAt (int idx, int width, int height, int widthOffset=0, int heightOffset=0, IntelliImage::ImageType type=IntelliImage::ImageType::RASTERIMAGE)  The addLayerAt adds a layer to the current project/ painting area at a specific position in the layer stack. More...
  -void deleteLayer (int idx) - The deleteLayer method removes a layer at a given idx. More...
-  +void deleteLayer (int idx, bool isTool=false) + The deleteLayer method removes a layer at a given idx. More...
+  void setLayerActive (int idx)  The setLayerToActive method marks a specific layer as active. More...
  void setLayerAlpha (int idx, int alpha)  The setAlphaOfLayer method sets the alpha value of a specific layer. More...
  -void floodFill (int r, int g, int b, int a) - The floodFill method fills a the active layer with a given color. More...
-  +void setPolygon (int idx) + setPolygon is used for setting polygondata, it only works on RASTER images More...
+  void movePositionActive (int x, int y)  The movePositionActive method moves the active layer to certain position. More...
  @@ -184,6 +183,10 @@ Public Member Functions int getHeightOfActive ()  The getHeightOfActive gets the vertical dimensions of the active layer. More...
  +int getMaxWidth () +  +int getMaxHeight () +  IntelliImage::ImageType getTypeOfImageRealLayer ()   std::vector< QPoint > getPolygonDataOfRealLayer () @@ -192,6 +195,9 @@ Public Member Functions   IntelliImagegetImageOfActiveLayer ()   +QImage getImageDataOfActiveLayer () + getImageDataOfActiveLayer used to get the currents active imageData (if there isn't any active layer it return a 10*10 white picture) More...
+  @@ -212,13 +218,11 @@ Protected Member Functions - -

Public Attributes

 
void paintEvent (QPaintEvent *event) override
 
void resizeEvent (QResizeEvent *event) override
 

Detailed Description

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

-

Definition at line 37 of file PaintingArea.h.

+

Definition at line 53 of file PaintingArea.h.

Constructor & Destructor Documentation

◆ PaintingArea()

@@ -262,7 +266,7 @@ Protected Member Functions -

Definition at line 21 of file PaintingArea.cpp.

+

Definition at line 22 of file PaintingArea.cpp.

@@ -291,7 +295,7 @@ Protected Member Functions

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

-

Definition at line 41 of file PaintingArea.cpp.

+

Definition at line 30 of file PaintingArea.cpp.

@@ -353,7 +357,7 @@ Protected Member Functions
Returns
Returns the number of layers in the project
-

Definition at line 56 of file PaintingArea.cpp.

+

Definition at line 62 of file PaintingArea.cpp.

@@ -440,7 +444,7 @@ Protected Member Functions

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

-

Definition at line 188 of file PaintingArea.cpp.

+

Definition at line 187 of file PaintingArea.cpp.

@@ -461,7 +465,7 @@ Protected Member Functions

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

-

Definition at line 193 of file PaintingArea.cpp.

+

Definition at line 192 of file PaintingArea.cpp.

@@ -482,7 +486,7 @@ Protected Member Functions

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

-

Definition at line 198 of file PaintingArea.cpp.

+

Definition at line 197 of file PaintingArea.cpp.

@@ -501,7 +505,7 @@ Protected Member Functions
-

Definition at line 222 of file PaintingArea.cpp.

+

Definition at line 221 of file PaintingArea.cpp.

@@ -520,7 +524,7 @@ Protected Member Functions
-

Definition at line 231 of file PaintingArea.cpp.

+

Definition at line 230 of file PaintingArea.cpp.

@@ -539,7 +543,7 @@ Protected Member Functions
-

Definition at line 212 of file PaintingArea.cpp.

+

Definition at line 211 of file PaintingArea.cpp.

@@ -558,7 +562,7 @@ Protected Member Functions
-

Definition at line 202 of file PaintingArea.cpp.

+

Definition at line 201 of file PaintingArea.cpp.

@@ -577,7 +581,7 @@ Protected Member Functions
-

Definition at line 207 of file PaintingArea.cpp.

+

Definition at line 206 of file PaintingArea.cpp.

@@ -596,7 +600,7 @@ Protected Member Functions
-

Definition at line 226 of file PaintingArea.cpp.

+

Definition at line 225 of file PaintingArea.cpp.

@@ -615,12 +619,12 @@ Protected Member Functions
-

Definition at line 217 of file PaintingArea.cpp.

+

Definition at line 216 of file PaintingArea.cpp.

- -

◆ deleteLayer()

+ +

◆ deleteLayer()

@@ -629,53 +633,13 @@ Protected Member Functions void PaintingArea::deleteLayer ( int  - idx) - - - -
- -

The deleteLayer method removes a layer at a given idx.

-
Parameters
- - -
idx- The index of the layer to be removed
-
-
- -

Definition at line 74 of file PaintingArea.cpp.

- -
-
- -

◆ floodFill()

- -
-
- - - - - - + - - - - - - - - - - - - - - + + @@ -685,18 +649,16 @@ Protected Member Functions
void PaintingArea::floodFill (int r, idx,
int g,
int b,
int a bool isTool = false 
-

The floodFill method fills a the active layer with a given color.

+

The deleteLayer method removes a layer at a given idx.

Parameters
- - - - + +
r- Red value of the color the layer should be filled with
g- Green value of the color the layer should be filled with
b- Blue value of the color the layer should be filled with
a- Alpha value of the color the layer should be filled with
idx- The index of the layer to be removed
isTool- Is the flag for when a tool uses this function.
-

Definition at line 139 of file PaintingArea.cpp.

+

Definition at line 81 of file PaintingArea.cpp.

@@ -718,7 +680,29 @@ Protected Member Functions

The getHeightOfActive gets the vertical dimensions of the active layer.

Returns
Returns the vertical pixle count of the active layer
-

Definition at line 240 of file PaintingArea.cpp.

+

Definition at line 239 of file PaintingArea.cpp.

+ + + + +

◆ getImageDataOfActiveLayer()

+ +
+
+ + + + + + + +
QImage PaintingArea::getImageDataOfActiveLayer ()
+
+ +

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

+
Returns
return the image as an rgba32bit qImage
+ +

Definition at line 423 of file PaintingArea.cpp.

@@ -737,7 +721,45 @@ Protected Member Functions
-

Definition at line 406 of file PaintingArea.cpp.

+

Definition at line 416 of file PaintingArea.cpp.

+ +
+ + +

◆ getMaxHeight()

+ +
+
+ + + + + + + +
int PaintingArea::getMaxHeight ()
+
+ +

Definition at line 247 of file PaintingArea.cpp.

+ +
+
+ +

◆ getMaxWidth()

+ +
+
+ + + + + + + +
int PaintingArea::getMaxWidth ()
+
+ +

Definition at line 243 of file PaintingArea.cpp.

@@ -756,7 +778,7 @@ Protected Member Functions
-

Definition at line 402 of file PaintingArea.cpp.

+

Definition at line 412 of file PaintingArea.cpp.

@@ -775,7 +797,7 @@ Protected Member Functions
-

Definition at line 248 of file PaintingArea.cpp.

+

Definition at line 255 of file PaintingArea.cpp.

@@ -794,7 +816,7 @@ Protected Member Functions
-

Definition at line 244 of file PaintingArea.cpp.

+

Definition at line 251 of file PaintingArea.cpp.

@@ -816,7 +838,7 @@ Protected Member Functions

The getWidthOfActive gets the horizontal dimensions of the active layer.

Returns
Returns the horizontal pixle count of the active layer
-

Definition at line 236 of file PaintingArea.cpp.

+

Definition at line 235 of file PaintingArea.cpp.

@@ -844,7 +866,7 @@ Protected Member Functions
-

Definition at line 271 of file PaintingArea.cpp.

+

Definition at line 281 of file PaintingArea.cpp.

@@ -872,7 +894,7 @@ Protected Member Functions
-

Definition at line 255 of file PaintingArea.cpp.

+

Definition at line 262 of file PaintingArea.cpp.

@@ -900,7 +922,7 @@ Protected Member Functions
-

Definition at line 281 of file PaintingArea.cpp.

+

Definition at line 294 of file PaintingArea.cpp.

@@ -928,7 +950,7 @@ Protected Member Functions -

Definition at line 160 of file PaintingArea.cpp.

+

Definition at line 170 of file PaintingArea.cpp.

@@ -967,7 +989,7 @@ Protected Member Functions -

Definition at line 148 of file PaintingArea.cpp.

+

Definition at line 164 of file PaintingArea.cpp.

@@ -990,13 +1012,13 @@ Protected Member Functions

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

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

Definition at line 103 of file PaintingArea.cpp.

+

Definition at line 129 of file PaintingArea.cpp.

@@ -1024,35 +1046,7 @@ Protected Member Functions
-

Definition at line 307 of file PaintingArea.cpp.

- -
- - -

◆ resizeEvent()

- -
-
- - - - - -
- - - - - - - - -
void PaintingArea::resizeEvent (QResizeEvent * event)
-
-overrideprotected
-
- -

Definition at line 318 of file PaintingArea.cpp.

+

Definition at line 324 of file PaintingArea.cpp.

@@ -1085,14 +1079,14 @@ Protected Member Functions

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

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

Definition at line 115 of file PaintingArea.cpp.

+

Definition at line 141 of file PaintingArea.cpp.

@@ -1120,7 +1114,7 @@ Protected Member Functions -

Definition at line 90 of file PaintingArea.cpp.

+

Definition at line 103 of file PaintingArea.cpp.

@@ -1159,7 +1153,63 @@ Protected Member Functions -

Definition at line 96 of file PaintingArea.cpp.

+

Definition at line 110 of file PaintingArea.cpp.

+ + + + +

◆ setPolygon()

+ +
+
+ + + + + + + + +
void PaintingArea::setPolygon (int idx)
+
+ +

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

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

Definition at line 117 of file PaintingArea.cpp.

+ +
+
+ +

◆ setRenderSettings()

+ +
+
+ + + + + + + + +
void PaintingArea::setRenderSettings (bool isFastRenderingOn)
+
+ +

setRenderSettings updates all Images to the new Rendersetting.

+
Parameters
+ + +
isFastRenderingOnis the new given flag for the FastRenderer.
+
+
+ +

Definition at line 34 of file PaintingArea.cpp.

@@ -1195,7 +1245,7 @@ Protected Member Functions -

Definition at line 175 of file PaintingArea.cpp.

+

Definition at line 180 of file PaintingArea.cpp.

@@ -1224,7 +1274,7 @@ Protected Member Functions

The slotDeleteActiveLayer method handles the deletion of the active layer.

-

Definition at line 83 of file PaintingArea.cpp.

+

Definition at line 96 of file PaintingArea.cpp.

@@ -1252,7 +1302,7 @@ Protected Member Functions
-

Definition at line 294 of file PaintingArea.cpp.

+

Definition at line 309 of file PaintingArea.cpp.

@@ -1269,7 +1319,7 @@ Protected Member Functions
-

Definition at line 175 of file PaintingArea.h.

+

Definition at line 202 of file PaintingArea.h.

@@ -1285,13 +1335,13 @@ Protected Member Functions
-

Definition at line 174 of file PaintingArea.h.

+

Definition at line 201 of file PaintingArea.h.


The documentation for this class was generated from the following files: @@ -1301,7 +1351,7 @@ Protected Member Functions + doxygen 1.8.17 diff --git a/docs/html/class_painting_area.js b/docs/html/class_painting_area.js index a9d5037..24a7f17 100644 --- a/docs/html/class_painting_area.js +++ b/docs/html/class_painting_area.js @@ -14,10 +14,12 @@ var class_painting_area = [ "createPlainTool", "class_painting_area.html#a3de83443d2d5cf460ff48d0602070938", null ], [ "createPolygonTool", "class_painting_area.html#a13c2f94644bea9c2d3123d0b7898f34b", null ], [ "createRectangleTool", "class_painting_area.html#a5b04ce62ce024e307f54e0281f7ae4bd", null ], - [ "deleteLayer", "class_painting_area.html#a2382ebf8c31dee36cb714f34a18b71e4", null ], - [ "floodFill", "class_painting_area.html#aeb5eb394b979ea90f2be9849fdda1774", null ], + [ "deleteLayer", "class_painting_area.html#a9b7dc8b8dc0b301ce58206aa76fb1630", null ], [ "getHeightOfActive", "class_painting_area.html#ac576f58aad03b4dcd47611b6a4b9abb4", null ], + [ "getImageDataOfActiveLayer", "class_painting_area.html#a4f484ff3ca7ae202ab57a00f52551423", null ], [ "getImageOfActiveLayer", "class_painting_area.html#acab11ad35d07e9081203d8217d2c0855", null ], + [ "getMaxHeight", "class_painting_area.html#aa811d142df9239ae248679bd70ad6da7", null ], + [ "getMaxWidth", "class_painting_area.html#aeb082c1cda3edb6b68d8ee45cf4822f8", null ], [ "getNumberOfActiveLayer", "class_painting_area.html#a24280454ebb80db7feba2fd621513353", null ], [ "getPolygonDataOfRealLayer", "class_painting_area.html#a7ae21fd031ee1c04f92e042e86be0a90", null ], [ "getTypeOfImageRealLayer", "class_painting_area.html#ae92b27dfd09573c224d2ae1958d3bead", null ], @@ -29,10 +31,11 @@ var class_painting_area = [ "movePositionActive", "class_painting_area.html#ac6d089f4357b22d9a9906fd4771de3e7", null ], [ "open", "class_painting_area.html#a88c7e759aa8375a56129791645f46ea5", null ], [ "paintEvent", "class_painting_area.html#a4a8138b9508ee4ec87a7fca9160368a7", null ], - [ "resizeEvent", "class_painting_area.html#ab57e8ccda60fff7187463a90e65c5335", null ], [ "save", "class_painting_area.html#aa2463d4f403224086acab02903ae407e", null ], [ "setLayerActive", "class_painting_area.html#a79eb059829f27e8cdb3a54c5cd3d12c9", null ], [ "setLayerAlpha", "class_painting_area.html#a6c7e0865e684ae1089ee283b4399d055", null ], + [ "setPolygon", "class_painting_area.html#aa409492ac26483d618bb33616f2e3f81", null ], + [ "setRenderSettings", "class_painting_area.html#a63be0831e5b6ceb8cc622d83aa28f0bd", null ], [ "slotActivateLayer", "class_painting_area.html#a71ac281e0de263208d4a3b9de74258ec", null ], [ "slotDeleteActiveLayer", "class_painting_area.html#a1ff0b9c1227531943c9cec2c546fae5e", null ], [ "wheelEvent", "class_painting_area.html#a632848d99f44d33d7da2618fbc6775a4", null ], diff --git a/docs/html/class_painting_area.png b/docs/html/class_painting_area.png index 1958325..4166202 100644 Binary files a/docs/html/class_painting_area.png and b/docs/html/class_painting_area.png differ diff --git a/docs/html/class_unit_test-members.html b/docs/html/class_unit_test-members.html new file mode 100644 index 0000000..4a3dd58 --- /dev/null +++ b/docs/html/class_unit_test-members.html @@ -0,0 +1,107 @@ + + + + + + + +IntelliPhoto: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
UnitTest Member List
+
+
+ +

This is the complete list of members for UnitTest, including all inherited members.

+ + + + + +
UnitTest()UnitTest
UnitTest()UnitTest
~UnitTest()UnitTest
~UnitTest()UnitTest
+
+ + + + diff --git a/docs/html/class_unit_test.html b/docs/html/class_unit_test.html new file mode 100644 index 0000000..838fb6f --- /dev/null +++ b/docs/html/class_unit_test.html @@ -0,0 +1,202 @@ + + + + + + + +IntelliPhoto: UnitTest Class Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
UnitTest Class Reference
+
+
+
+Inheritance diagram for UnitTest:
+
+
+ +
+ + + + + + + + + + +

+Public Member Functions

 UnitTest ()
 
 ~UnitTest ()
 
 UnitTest ()
 
 ~UnitTest ()
 
+

Detailed Description

+
+

Definition at line 8 of file mainUnitTest.cpp.

+

Constructor & Destructor Documentation

+ +

◆ UnitTest() [1/2]

+ +
+
+ + + + + + + +
UnitTest::UnitTest ()
+
+ +

Definition at line 95 of file mainUnitTest.cpp.

+ +
+
+ +

◆ ~UnitTest() [1/2]

+ +
+
+ + + + + + + +
UnitTest::~UnitTest ()
+
+ +

Definition at line 108 of file mainUnitTest.cpp.

+ +
+
+ +

◆ UnitTest() [2/2]

+ +
+
+ + + + + + + +
UnitTest::UnitTest ()
+
+ +
+
+ +

◆ ~UnitTest() [2/2]

+ +
+
+ + + + + + + +
UnitTest::~UnitTest ()
+
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + diff --git a/docs/html/class_unit_test.js b/docs/html/class_unit_test.js new file mode 100644 index 0000000..0a29f02 --- /dev/null +++ b/docs/html/class_unit_test.js @@ -0,0 +1,7 @@ +var class_unit_test = +[ + [ "UnitTest", "class_unit_test.html#a67ddaff817b55a624741d32550052f4b", null ], + [ "~UnitTest", "class_unit_test.html#afa0bdd3e2ac33cd52e697406339a2edf", null ], + [ "UnitTest", "class_unit_test.html#a67ddaff817b55a624741d32550052f4b", null ], + [ "~UnitTest", "class_unit_test.html#afa0bdd3e2ac33cd52e697406339a2edf", null ] +]; \ No newline at end of file diff --git a/docs/html/class_unit_test.png b/docs/html/class_unit_test.png new file mode 100644 index 0000000..452282e Binary files /dev/null and b/docs/html/class_unit_test.png differ diff --git a/docs/html/classes.html b/docs/html/classes.html index df8459d..ffab68d 100644 --- a/docs/html/classes.html +++ b/docs/html/classes.html @@ -3,7 +3,7 @@ - + IntelliPhoto: Class Index @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -90,45 +86,47 @@ $(document).ready(function(){initNavTree('classes.html','');});
Class Index
-
i | l | p | t
+
i | l | p | t | u
- - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + +
  i  
IntelliRenderSettings   IntelliToolPen   
  p  
-
IntelliShapedImage   IntelliToolPlainTool   
IntelliColorPicker   IntelliTool   IntelliToolPolygon   PaintingArea   
IntelliImage   IntelliToolCircle   IntelliToolRectangle   
  t  
-
IntelliPhotoGui   IntelliToolFloodFill   IntelliToolsettings   
IntelliRasterImage   IntelliRasterImage    IntelliToolLine   
  l  
  t  
+
IntelliRenderSettings   IntelliToolPen   
IntelliColorPicker   IntelliShapedImage   IntelliToolPlainTool   LayerObject    Triangle   
LayerObject   
IntelliImage   IntelliTool   IntelliToolPolygon   
  p  
+
  u  
+
IntelliInputDialog   IntelliToolCircle   IntelliToolRectangle   
IntelliPhotoGui   IntelliToolFloodFill   IntelliToolsettings   PaintingArea   UnitTest   
-
i | l | p | t
+
i | l | p | t | u
@@ -136,7 +134,7 @@ $(document).ready(function(){initNavTree('classes.html','');});
    + doxygen 1.8.17
diff --git a/docs/html/closed.png b/docs/html/closed.png index fdc04ac..b3364d8 100644 Binary files a/docs/html/closed.png and b/docs/html/closed.png differ diff --git a/docs/html/dir_13830bfc3dd6736fe878600c9081919f.html b/docs/html/dir_13830bfc3dd6736fe878600c9081919f.html index 58957e7..56a6fe7 100644 --- a/docs/html/dir_13830bfc3dd6736fe878600c9081919f.html +++ b/docs/html/dir_13830bfc3dd6736fe878600c9081919f.html @@ -3,7 +3,7 @@ - + IntelliPhoto: src/Layer Directory Reference @@ -13,10 +13,6 @@ - @@ -30,7 +26,7 @@
IntelliPhoto -  0.4 +  0.5
@@ -38,7 +34,7 @@ - +
@@ -90,11 +86,6 @@ $(document).ready(function(){initNavTree('dir_13830bfc3dd6736fe878600c9081919f.h
Layer Directory Reference
-
-Directory dependency graph for Layer:
-
-
src/Layer
-
@@ -111,7 +102,7 @@ Files + doxygen 1.8.17 diff --git a/docs/html/dir_4e4e2e75df7fa6971448b424c011c8b5.html b/docs/html/dir_4e4e2e75df7fa6971448b424c011c8b5.html index 95fda27..280ef8d 100644 --- a/docs/html/dir_4e4e2e75df7fa6971448b424c011c8b5.html +++ b/docs/html/dir_4e4e2e75df7fa6971448b424c011c8b5.html @@ -3,7 +3,7 @@ - +IntelliPhoto: src/GUI Directory Reference @@ -13,10 +13,6 @@ - @@ -30,7 +26,7 @@ @@ -38,7 +34,7 @@

Files

IntelliPhoto -  0.4 +  0.5
- +
@@ -90,14 +86,13 @@ $(document).ready(function(){initNavTree('dir_4e4e2e75df7fa6971448b424c011c8b5.h
GUI Directory Reference
-
-Directory dependency graph for GUI:
-
-
src/GUI
-
+ + + + @@ -111,7 +106,7 @@ Files + doxygen 1.8.17 diff --git a/docs/html/dir_4e4e2e75df7fa6971448b424c011c8b5.js b/docs/html/dir_4e4e2e75df7fa6971448b424c011c8b5.js index 004f844..f2f26b7 100644 --- a/docs/html/dir_4e4e2e75df7fa6971448b424c011c8b5.js +++ b/docs/html/dir_4e4e2e75df7fa6971448b424c011c8b5.js @@ -1,6 +1,10 @@ var dir_4e4e2e75df7fa6971448b424c011c8b5 = [ - [ "IntelliPhotoGui.cpp", "_intelli_photo_gui_8cpp.html", "_intelli_photo_gui_8cpp" ], + [ "IntelliInputDialog.cpp", "_intelli_input_dialog_8cpp.html", null ], + [ "IntelliInputDialog.h", "_intelli_input_dialog_8h.html", [ + [ "IntelliInputDialog", "class_intelli_input_dialog.html", "class_intelli_input_dialog" ] + ] ], + [ "IntelliPhotoGui.cpp", "_intelli_photo_gui_8cpp.html", null ], [ "IntelliPhotoGui.h", "_intelli_photo_gui_8h.html", [ [ "IntelliPhotoGui", "class_intelli_photo_gui.html", "class_intelli_photo_gui" ] ] ] diff --git a/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html index da78dd7..86f4e3b 100644 --- a/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html +++ b/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -3,7 +3,7 @@ - +IntelliPhoto: src Directory Reference @@ -13,10 +13,6 @@ - @@ -30,7 +26,7 @@ @@ -38,7 +34,7 @@

Files

file  IntelliInputDialog.cpp [code]
 
file  IntelliInputDialog.h [code]
 
file  IntelliPhotoGui.cpp [code]
 
file  IntelliPhotoGui.h [code]
IntelliPhoto -  0.4 +  0.5
- +
@@ -90,11 +86,6 @@ $(document).ready(function(){initNavTree('dir_68267d1309a1af8e8297ef4c3efbcdba.h
src Directory Reference
-
-Directory dependency graph for src:
-
-
src
-
@@ -113,6 +104,10 @@ Directories Files + + + +

Directories

file  main.cpp [code]
 
file  mainUnitTest.cpp [code]
 
file  tst_unittest.cpp [code]
 
@@ -122,7 +117,7 @@ Files + doxygen 1.8.17 diff --git a/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.js b/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.js index eee6b10..64c14e9 100644 --- a/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.js +++ b/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.js @@ -5,5 +5,11 @@ var dir_68267d1309a1af8e8297ef4c3efbcdba = [ "IntelliHelper", "dir_8de6078cba2a961961818cf80b28fd4f.html", "dir_8de6078cba2a961961818cf80b28fd4f" ], [ "Layer", "dir_13830bfc3dd6736fe878600c9081919f.html", "dir_13830bfc3dd6736fe878600c9081919f" ], [ "Tool", "dir_858355f3357c73763e566ff49d1e6a7a.html", "dir_858355f3357c73763e566ff49d1e6a7a" ], - [ "main.cpp", "main_8cpp.html", "main_8cpp" ] + [ "main.cpp", "main_8cpp.html", "main_8cpp" ], + [ "mainUnitTest.cpp", "main_unit_test_8cpp.html", [ + [ "UnitTest", "class_unit_test.html", "class_unit_test" ] + ] ], + [ "tst_unittest.cpp", "tst__unittest_8cpp.html", [ + [ "UnitTest", "class_unit_test.html", "class_unit_test" ] + ] ] ]; \ No newline at end of file diff --git a/docs/html/dir_858355f3357c73763e566ff49d1e6a7a.html b/docs/html/dir_858355f3357c73763e566ff49d1e6a7a.html index 736c158..b8f1c91 100644 --- a/docs/html/dir_858355f3357c73763e566ff49d1e6a7a.html +++ b/docs/html/dir_858355f3357c73763e566ff49d1e6a7a.html @@ -3,7 +3,7 @@ - + IntelliPhoto: src/Tool Directory Reference @@ -13,10 +13,6 @@ - @@ -30,7 +26,7 @@
IntelliPhoto -  0.4 +  0.5
@@ -38,7 +34,7 @@ - +
@@ -90,20 +86,21 @@ $(document).ready(function(){initNavTree('dir_858355f3357c73763e566ff49d1e6a7a.h
Tool Directory Reference
-
-Directory dependency graph for Tool:
-
-
src/Tool
-
- - + + + + + + + + @@ -116,6 +113,14 @@ Files + + + + + + + +

Files

file  IntelliColorPicker.cpp [code]
 
file  IntelliTool.cpp [code]
 
file  IntelliTool.h [code]
 
file  IntelliToolCircle.cpp [code]
 
file  IntelliToolCircle.h [code]
 
file  IntelliToolFloodFill.cpp [code]
 
file  IntelliToolFloodFill.h [code]
 
file  IntelliToolLine.cpp [code]
 
file  IntelliToolLine.h [code]
 
file  IntelliToolPlain.h [code]
 
file  IntelliToolPolygon.cpp [code]
 
file  IntelliToolPolygon.h [code]
 
file  IntelliToolRectangle.cpp [code]
 
file  IntelliToolRectangle.h [code]
 
@@ -125,7 +130,7 @@ Files + doxygen 1.8.17 diff --git a/docs/html/dir_858355f3357c73763e566ff49d1e6a7a.js b/docs/html/dir_858355f3357c73763e566ff49d1e6a7a.js index 0d86815..c69fb83 100644 --- a/docs/html/dir_858355f3357c73763e566ff49d1e6a7a.js +++ b/docs/html/dir_858355f3357c73763e566ff49d1e6a7a.js @@ -1,12 +1,21 @@ var dir_858355f3357c73763e566ff49d1e6a7a = [ - [ "IntelliColorPicker.cpp", "_tool_2_intelli_color_picker_8cpp.html", null ], [ "IntelliTool.cpp", "_intelli_tool_8cpp.html", null ], [ "IntelliTool.h", "_intelli_tool_8h.html", [ [ "IntelliTool", "class_intelli_tool.html", "class_intelli_tool" ] ] ], + [ "IntelliToolCircle.cpp", "_intelli_tool_circle_8cpp.html", null ], + [ "IntelliToolCircle.h", "_intelli_tool_circle_8h.html", [ + [ "IntelliToolCircle", "class_intelli_tool_circle.html", "class_intelli_tool_circle" ] + ] ], + [ "IntelliToolFloodFill.cpp", "_intelli_tool_flood_fill_8cpp.html", null ], + [ "IntelliToolFloodFill.h", "_intelli_tool_flood_fill_8h.html", [ + [ "IntelliToolFloodFill", "class_intelli_tool_flood_fill.html", "class_intelli_tool_flood_fill" ] + ] ], [ "IntelliToolLine.cpp", "_intelli_tool_line_8cpp.html", null ], - [ "IntelliToolLine.h", "_intelli_tool_line_8h.html", "_intelli_tool_line_8h" ], + [ "IntelliToolLine.h", "_intelli_tool_line_8h.html", [ + [ "IntelliToolLine", "class_intelli_tool_line.html", "class_intelli_tool_line" ] + ] ], [ "IntelliToolPen.cpp", "_intelli_tool_pen_8cpp.html", null ], [ "IntelliToolPen.h", "_intelli_tool_pen_8h.html", [ [ "IntelliToolPen", "class_intelli_tool_pen.html", "class_intelli_tool_pen" ] @@ -14,5 +23,13 @@ var dir_858355f3357c73763e566ff49d1e6a7a = [ "IntelliToolPlain.cpp", "_intelli_tool_plain_8cpp.html", null ], [ "IntelliToolPlain.h", "_intelli_tool_plain_8h.html", [ [ "IntelliToolPlainTool", "class_intelli_tool_plain_tool.html", "class_intelli_tool_plain_tool" ] + ] ], + [ "IntelliToolPolygon.cpp", "_intelli_tool_polygon_8cpp.html", null ], + [ "IntelliToolPolygon.h", "_intelli_tool_polygon_8h.html", [ + [ "IntelliToolPolygon", "class_intelli_tool_polygon.html", "class_intelli_tool_polygon" ] + ] ], + [ "IntelliToolRectangle.cpp", "_intelli_tool_rectangle_8cpp.html", null ], + [ "IntelliToolRectangle.h", "_intelli_tool_rectangle_8h.html", [ + [ "IntelliToolRectangle", "class_intelli_tool_rectangle.html", "class_intelli_tool_rectangle" ] ] ] ]; \ No newline at end of file diff --git a/docs/html/dir_8de6078cba2a961961818cf80b28fd4f.html b/docs/html/dir_8de6078cba2a961961818cf80b28fd4f.html index b7d0117..03bd1ac 100644 --- a/docs/html/dir_8de6078cba2a961961818cf80b28fd4f.html +++ b/docs/html/dir_8de6078cba2a961961818cf80b28fd4f.html @@ -3,7 +3,7 @@ - + IntelliPhoto: src/IntelliHelper Directory Reference @@ -13,10 +13,6 @@ - @@ -30,7 +26,7 @@
IntelliPhoto -  0.4 +  0.5
@@ -38,7 +34,7 @@ - +
@@ -93,13 +89,21 @@ $(document).ready(function(){initNavTree('dir_8de6078cba2a961961818cf80b28fd4f.h - + - + - + + + + + + + + +

Files

file  IntelliColorPicker.cpp [code]
file  IntelliColorPicker.cpp [code]
 
file  IntelliColorPicker.h [code]
 
file  IntelliHelper.cpp [code]
file  IntelliRenderSettings.cpp [code]
 
file  IntelliHelper.h [code]
file  IntelliRenderSettings.h [code]
 
file  IntelliToolsettings.cpp [code]
 
file  IntelliToolsettings.h [code]
 
file  IntelliTriangulation.cpp [code]
 
file  IntelliTriangulation.h [code]
 
@@ -110,7 +114,7 @@ Files + doxygen 1.8.17 diff --git a/docs/html/dir_8de6078cba2a961961818cf80b28fd4f.js b/docs/html/dir_8de6078cba2a961961818cf80b28fd4f.js index 6cabcb9..88cefe4 100644 --- a/docs/html/dir_8de6078cba2a961961818cf80b28fd4f.js +++ b/docs/html/dir_8de6078cba2a961961818cf80b28fd4f.js @@ -1,11 +1,17 @@ var dir_8de6078cba2a961961818cf80b28fd4f = [ - [ "IntelliColorPicker.cpp", "_intelli_helper_2_intelli_color_picker_8cpp.html", null ], + [ "IntelliColorPicker.cpp", "_intelli_color_picker_8cpp.html", null ], [ "IntelliColorPicker.h", "_intelli_color_picker_8h.html", [ [ "IntelliColorPicker", "class_intelli_color_picker.html", "class_intelli_color_picker" ] ] ], - [ "IntelliHelper.cpp", "_intelli_helper_8cpp.html", null ], - [ "IntelliHelper.h", "_intelli_helper_8h.html", [ - [ "IntelliHelper", "class_intelli_helper.html", null ] - ] ] + [ "IntelliRenderSettings.cpp", "_intelli_render_settings_8cpp.html", null ], + [ "IntelliRenderSettings.h", "_intelli_render_settings_8h.html", [ + [ "IntelliRenderSettings", "class_intelli_render_settings.html", "class_intelli_render_settings" ] + ] ], + [ "IntelliToolsettings.cpp", "_intelli_toolsettings_8cpp.html", null ], + [ "IntelliToolsettings.h", "_intelli_toolsettings_8h.html", [ + [ "IntelliToolsettings", "class_intelli_toolsettings.html", "class_intelli_toolsettings" ] + ] ], + [ "IntelliTriangulation.cpp", "_intelli_triangulation_8cpp.html", "_intelli_triangulation_8cpp" ], + [ "IntelliTriangulation.h", "_intelli_triangulation_8h.html", "_intelli_triangulation_8h" ] ]; \ No newline at end of file diff --git a/docs/html/dir_fdbdd9841f9a730f284bb666ff3d8cfe.html b/docs/html/dir_fdbdd9841f9a730f284bb666ff3d8cfe.html index 538b969..fe90c19 100644 --- a/docs/html/dir_fdbdd9841f9a730f284bb666ff3d8cfe.html +++ b/docs/html/dir_fdbdd9841f9a730f284bb666ff3d8cfe.html @@ -3,7 +3,7 @@ - + IntelliPhoto: src/Image Directory Reference @@ -13,10 +13,6 @@ - @@ -30,7 +26,7 @@
IntelliPhoto -  0.4 +  0.5
@@ -38,7 +34,7 @@ - +
@@ -90,11 +86,6 @@ $(document).ready(function(){initNavTree('dir_fdbdd9841f9a730f284bb666ff3d8cfe.h
Image Directory Reference
-
-Directory dependency graph for Image:
-
-
src/Image
-
@@ -119,7 +110,7 @@ Files + doxygen 1.8.17 diff --git a/docs/html/dir_fdbdd9841f9a730f284bb666ff3d8cfe.js b/docs/html/dir_fdbdd9841f9a730f284bb666ff3d8cfe.js index fe8f755..1245903 100644 --- a/docs/html/dir_fdbdd9841f9a730f284bb666ff3d8cfe.js +++ b/docs/html/dir_fdbdd9841f9a730f284bb666ff3d8cfe.js @@ -1,7 +1,9 @@ var dir_fdbdd9841f9a730f284bb666ff3d8cfe = [ [ "IntelliImage.cpp", "_intelli_image_8cpp.html", null ], - [ "IntelliImage.h", "_intelli_image_8h.html", "_intelli_image_8h" ], + [ "IntelliImage.h", "_intelli_image_8h.html", [ + [ "IntelliImage", "class_intelli_image.html", "class_intelli_image" ] + ] ], [ "IntelliRasterImage.cpp", "_intelli_raster_image_8cpp.html", null ], [ "IntelliRasterImage.h", "_intelli_raster_image_8h.html", [ [ "IntelliRasterImage", "class_intelli_raster_image.html", "class_intelli_raster_image" ] diff --git a/docs/html/doc.png b/docs/html/doc.png index e84122d..8c3c029 100644 Binary files a/docs/html/doc.png and b/docs/html/doc.png differ diff --git a/docs/html/doxygen.css b/docs/html/doxygen.css index 8d4bca1..0c19cbf 100644 --- a/docs/html/doxygen.css +++ b/docs/html/doxygen.css @@ -1,4 +1,4 @@ -/* The standard CSS for doxygen 1.8.16 */ +/* The standard CSS for doxygen 1.8.17 */ body, table, div, p, dl { font: 400 14px/22px Roboto,sans-serif; @@ -22,8 +22,8 @@ h1.groupheader { } h2.groupheader { - border-bottom: 1px solid #A9A9A9; - color: #585858; + border-bottom: 1px solid #747878; + color: #222323; font-size: 150%; font-weight: normal; margin-top: 1.75em; @@ -66,6 +66,11 @@ p.startli, p.startdd { margin-top: 2px; } +th p.starttd, p.intertd, p.endtd { + font-size: 100%; + font-weight: 700; +} + p.starttd { margin-top: 0px; } @@ -108,8 +113,8 @@ h3.version { } div.qindex, div.navtab{ - background-color: #F1F1F1; - border: 1px solid #BDBDBD; + background-color: #E5E6E6; + border: 1px solid #909394; text-align: center; } @@ -125,13 +130,13 @@ div.navtab { /* @group Link Styling */ a { - color: #646465; + color: #2B2D2D; font-weight: normal; text-decoration: none; } .contents a:visited { - color: #747475; + color: #393B3C; } a:hover { @@ -144,13 +149,13 @@ a.qindex { a.qindexHL { font-weight: bold; - background-color: #B8B8B8; - color: #FFFFFF; - border: 1px double #A8A8A8; + background-color: #888C8D; + color: #FFFEFE; + border: 1px double #737777; } .contents a.qindexHL:visited { - color: #FFFFFF; + color: #FFFEFE; } a.el { @@ -161,11 +166,11 @@ a.elRef { } a.code, a.code:visited, a.line, a.line:visited { - color: #747475; + color: #393B3C; } a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { - color: #747475; + color: #393B3C; } /* @end */ @@ -194,8 +199,8 @@ ul { } pre.fragment { - border: 1px solid #D5D5D5; - background-color: #FCFCFC; + border: 1px solid #B5B7B7; + background-color: #FAFAFA; padding: 4px 6px; margin: 4px 8px 4px 2px; overflow: auto; @@ -209,8 +214,8 @@ pre.fragment { div.fragment { padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/ margin: 4px 8px 4px 2px; - background-color: #FCFCFC; - border: 1px solid #D5D5D5; + background-color: #FAFAFA; + border: 1px solid #B5B7B7; } div.line { @@ -278,7 +283,7 @@ span.lineno a:hover { div.ah, span.ah { background-color: black; font-weight: bold; - color: #FFFFFF; + color: #FFFEFE; margin-bottom: 3px; margin-top: 3px; padding: 0.2em; @@ -326,9 +331,9 @@ div.contents { } td.indexkey { - background-color: #F1F1F1; + background-color: #E5E6E6; font-weight: bold; - border: 1px solid #D5D5D5; + border: 1px solid #B5B7B7; margin: 2px 0px 2px 0; padding: 2px 10px; white-space: nowrap; @@ -336,14 +341,14 @@ td.indexkey { } td.indexvalue { - background-color: #F1F1F1; - border: 1px solid #D5D5D5; + background-color: #E5E6E6; + border: 1px solid #B5B7B7; padding: 2px 10px; margin: 2px 0px; } tr.memlist { - background-color: #F2F2F2; + background-color: #E8E9E9; } p.formulaDsp { @@ -426,15 +431,15 @@ span.vhdllogic { } blockquote { - background-color: #F9F9F9; - border-left: 2px solid #B8B8B8; + background-color: #F4F4F4; + border-left: 2px solid #888C8D; margin: 0 24px 0 4px; padding: 0 12px 0 16px; } blockquote.DocNodeRTL { border-left: 0; - border-right: 2px solid #B8B8B8; + border-right: 2px solid #888C8D; margin: 0 4px 0 24px; padding: 0 16px 0 12px; } @@ -467,18 +472,18 @@ td.tiny { .dirtab { padding: 4px; border-collapse: collapse; - border: 1px solid #BDBDBD; + border: 1px solid #909394; } th.dirtab { - background: #F1F1F1; + background: #E5E6E6; font-weight: bold; } hr { height: 0px; border: none; - border-top: 1px solid #7A7A7A; + border-top: 1px solid #3F4141; } hr.footer { @@ -513,7 +518,7 @@ table.memberdecls { .mdescLeft, .mdescRight, .memItemLeft, .memItemRight, .memTemplItemLeft, .memTemplItemRight, .memTemplParams { - background-color: #FAFAFB; + background-color: #F7F7F7; border: none; margin: 4px; padding: 1px 0 0 8px; @@ -525,7 +530,7 @@ table.memberdecls { } .memSeparator { - border-bottom: 1px solid #E7E7E7; + border-bottom: 1px solid #D3D5D5; line-height: 1px; margin: 0px; padding: 0px; @@ -535,12 +540,12 @@ table.memberdecls { white-space: nowrap; } -.memItemRight { +.memItemRight, .memTemplItemRight { width: 100%; } .memTemplParams { - color: #747475; + color: #393B3C; white-space: nowrap; font-size: 80%; } @@ -553,15 +558,15 @@ table.memberdecls { .memtitle { padding: 8px; - border-top: 1px solid #C0C0C1; - border-left: 1px solid #C0C0C1; - border-right: 1px solid #C0C0C1; + border-top: 1px solid #959899; + border-left: 1px solid #959899; + border-right: 1px solid #959899; border-top-right-radius: 4px; border-top-left-radius: 4px; margin-bottom: -1px; background-image: url('nav_f.png'); background-repeat: repeat-x; - background-color: #EAEAEA; + background-color: #D9DADB; line-height: 1.25; font-weight: 300; float:left; @@ -576,14 +581,14 @@ table.memberdecls { .memtemplate { font-size: 80%; - color: #747475; + color: #393B3C; font-weight: normal; margin-left: 9px; } .memnav { - background-color: #F1F1F1; - border: 1px solid #BDBDBD; + background-color: #E5E6E6; + border: 1px solid #909394; text-align: center; margin: 2px; margin-right: 15px; @@ -621,14 +626,14 @@ table.memberdecls { } .memproto, dl.reflist dt { - border-top: 1px solid #C0C0C1; - border-left: 1px solid #C0C0C1; - border-right: 1px solid #C0C0C1; + border-top: 1px solid #959899; + border-left: 1px solid #959899; + border-right: 1px solid #959899; padding: 6px 0px 6px 0px; - color: #3D3D3D; + color: #111112; font-weight: bold; text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - background-color: #E8E8E8; + background-color: #D5D6D6; /* opera specific markup */ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); border-top-right-radius: 4px; @@ -647,15 +652,15 @@ table.memberdecls { } .memdoc, dl.reflist dd { - border-bottom: 1px solid #C0C0C1; - border-left: 1px solid #C0C0C1; - border-right: 1px solid #C0C0C1; + border-bottom: 1px solid #959899; + border-left: 1px solid #959899; + border-right: 1px solid #959899; padding: 6px 10px 2px 10px; - background-color: #FCFCFC; + background-color: #FAFAFA; border-top-width: 0; background-image:url('nav_g.png'); background-repeat:repeat-x; - background-color: #FFFFFF; + background-color: #FFFEFE; /* opera specific markup */ border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; @@ -738,11 +743,11 @@ span.mlabels { } span.mlabel { - background-color: #999A9A; - border-top:1px solid #838384; - border-left:1px solid #838384; - border-right:1px solid #D5D5D5; - border-bottom:1px solid #D5D5D5; + background-color: #616465; + border-top:1px solid #484B4B; + border-left:1px solid #484B4B; + border-right:1px solid #B5B7B7; + border-bottom:1px solid #B5B7B7; text-shadow: none; color: white; margin-right: 4px; @@ -761,8 +766,8 @@ span.mlabel { div.directory { margin: 10px 0px; - border-top: 1px solid #B8B8B8; - border-bottom: 1px solid #B8B8B8; + border-top: 1px solid #888C8D; + border-bottom: 1px solid #888C8D; width: 100%; } @@ -800,7 +805,7 @@ div.directory { .directory tr.even { padding-left: 6px; - background-color: #F9F9F9; + background-color: #F4F4F4; } .directory img { @@ -818,11 +823,11 @@ div.directory { cursor: pointer; padding-left: 2px; padding-right: 2px; - color: #646465; + color: #2B2D2D; } .arrow { - color: #B8B8B8; + color: #888C8D; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; @@ -842,7 +847,7 @@ div.directory { height: 14px; width: 16px; display: inline-block; - background-color: #999A9A; + background-color: #616465; color: white; text-align: center; border-radius: 4px; @@ -907,7 +912,7 @@ div.dynheader { address { font-style: normal; - color: #464646; + color: #161717; } table.doxtable caption { @@ -921,13 +926,13 @@ table.doxtable { } table.doxtable td, table.doxtable th { - border: 1px solid #4A4A4B; + border: 1px solid #19191A; padding: 3px 7px 2px; } table.doxtable th { - background-color: #5B5B5C; - color: #FFFFFF; + background-color: #242626; + color: #FFFEFE; font-size: 110%; padding-bottom: 4px; padding-top: 5px; @@ -936,7 +941,7 @@ table.doxtable th { table.fieldtable { /*width: 100%;*/ margin-bottom: 10px; - border: 1px solid #C0C0C1; + border: 1px solid #959899; border-spacing: 0px; -moz-border-radius: 4px; -webkit-border-radius: 4px; @@ -952,8 +957,8 @@ table.fieldtable { .fieldtable td.fieldtype, .fieldtable td.fieldname { white-space: nowrap; - border-right: 1px solid #C0C0C1; - border-bottom: 1px solid #C0C0C1; + border-right: 1px solid #959899; + border-bottom: 1px solid #959899; vertical-align: top; } @@ -962,7 +967,7 @@ table.fieldtable { } .fieldtable td.fielddoc { - border-bottom: 1px solid #C0C0C1; + border-bottom: 1px solid #959899; /*width: 100%;*/ } @@ -981,9 +986,9 @@ table.fieldtable { .fieldtable th { background-image:url('nav_f.png'); background-repeat:repeat-x; - background-color: #EAEAEA; + background-color: #D9DADB; font-size: 90%; - color: #3D3D3D; + color: #111112; padding-bottom: 4px; padding-top: 5px; text-align:left; @@ -994,7 +999,7 @@ table.fieldtable { -webkit-border-top-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; - border-bottom: 1px solid #C0C0C1; + border-bottom: 1px solid #959899; } @@ -1016,8 +1021,8 @@ table.fieldtable { background-position: 0 -5px; height:30px; line-height:30px; - color:#AAABAB; - border:solid 1px #D3D3D3; + color:#767A7B; + border:solid 1px #B2B4B5; overflow:hidden; margin:0px; padding:0px; @@ -1032,7 +1037,7 @@ table.fieldtable { background-image:url('bc_s.png'); background-repeat:no-repeat; background-position:right; - color:#595959; + color:#232424; } .navpath li.navelem a @@ -1041,7 +1046,7 @@ table.fieldtable { display:block; text-decoration: none; outline: none; - color: #424243; + color: #141515; font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); text-decoration: none; @@ -1049,7 +1054,7 @@ table.fieldtable { .navpath li.navelem a:hover { - color:#929293; + color:#585C5C; } .navpath li.footer @@ -1061,7 +1066,7 @@ table.fieldtable { background-image:none; background-repeat:no-repeat; background-position:right; - color:#595959; + color:#232424; font-size: 8pt; } @@ -1108,9 +1113,9 @@ div.header { background-image:url('nav_h.png'); background-repeat:repeat-x; - background-color: #FAFAFB; + background-color: #F7F7F7; margin: 0px; - border-bottom: 1px solid #D5D5D5; + border-bottom: 1px solid #B5B7B7; } div.headertitle @@ -1305,7 +1310,7 @@ dl.section dd { padding: 0px; margin: 0px; width: 100%; - border-bottom: 1px solid #838384; + border-bottom: 1px solid #484B4B; } .image @@ -1340,7 +1345,7 @@ dl.section dd { div.zoom { - border: 1px solid #AFAFAF; + border: 1px solid #7C8081; } dl.citelist { @@ -1348,7 +1353,7 @@ dl.citelist { } dl.citelist dt { - color:#545454; + color:#1F2020; float:left; font-weight:bold; margin-right:10px; @@ -1362,8 +1367,8 @@ dl.citelist dd { div.toc { padding: 14px 25px; - background-color: #F7F7F7; - border: 1px solid #E3E3E3; + background-color: #F1F1F1; + border: 1px solid #CCCECE; border-radius: 7px 7px 7px 7px; float: right; height: auto; @@ -1392,7 +1397,7 @@ div.toc li { div.toc h3 { font: bold 12px/1.2 Arial,FreeSans,sans-serif; - color: #747475; + color: #393B3C; border-bottom: 0 none; margin: 0; } @@ -1552,7 +1557,7 @@ tr.heading h2 { } #powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { - border-top-color: #FFFFFF; + border-top-color: #FFFEFE; border-width: 10px; margin: 0px -10px; } @@ -1580,7 +1585,7 @@ tr.heading h2 { } #powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { - border-bottom-color: #FFFFFF; + border-bottom-color: #FFFEFE; border-width: 10px; margin: 0px -10px; } @@ -1607,7 +1612,7 @@ tr.heading h2 { left: 100%; } #powerTip.e:after { - border-left-color: #FFFFFF; + border-left-color: #FFFEFE; border-width: 10px; top: 50%; margin-top: -10px; @@ -1623,7 +1628,7 @@ tr.heading h2 { right: 100%; } #powerTip.w:after { - border-right-color: #FFFFFF; + border-right-color: #FFFEFE; border-width: 10px; top: 50%; margin-top: -10px; @@ -1664,7 +1669,7 @@ table.markdownTable { } table.markdownTable td, table.markdownTable th { - border: 1px solid #4A4A4B; + border: 1px solid #19191A; padding: 3px 7px 2px; } @@ -1672,13 +1677,13 @@ table.markdownTableHead tr { } table.markdownTableBodyLeft td, table.markdownTable th { - border: 1px solid #4A4A4B; + border: 1px solid #19191A; padding: 3px 7px 2px; } th.markdownTableHeadLeft th.markdownTableHeadRight th.markdownTableHeadCenter th.markdownTableHeadNone { - background-color: #5B5B5C; - color: #FFFFFF; + background-color: #242626; + color: #FFFEFE; font-size: 110%; padding-bottom: 4px; padding-top: 5px; @@ -1704,7 +1709,7 @@ table.markdownTable { } table.markdownTable td, table.markdownTable th { - border: 1px solid #4A4A4B; + border: 1px solid #19191A; padding: 3px 7px 2px; } @@ -1712,8 +1717,8 @@ table.markdownTable tr { } th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { - background-color: #5B5B5C; - color: #FFFFFF; + background-color: #242626; + color: #FFFEFE; font-size: 110%; padding-bottom: 4px; padding-top: 5px; diff --git a/docs/html/doxygen.png b/docs/html/doxygen.png index 0fbd8cc..a83d026 100644 Binary files a/docs/html/doxygen.png and b/docs/html/doxygen.png differ diff --git a/docs/html/files.html b/docs/html/files.html index db7d3ea..987452b 100644 --- a/docs/html/files.html +++ b/docs/html/files.html @@ -3,7 +3,7 @@ - +IntelliPhoto: File List @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@

Files

- +
@@ -91,50 +87,52 @@ $(document).ready(function(){initNavTree('files.html','');});
Here is a list of all files with brief descriptions:
-
[detail level 1234]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
[detail level 123]
  intelliphoto
  src
  GUI
 IntelliPhotoGui.cpp
 IntelliPhotoGui.h
  Image
 IntelliImage.cpp
 IntelliImage.h
 IntelliRasterImage.cpp
 IntelliRasterImage.h
 IntelliShapedImage.cpp
 IntelliShapedImage.h
  IntelliHelper
 IntelliColorPicker.cpp
 IntelliColorPicker.h
 IntelliRenderSettings.cpp
 IntelliRenderSettings.h
 IntelliToolsettings.cpp
 IntelliToolsettings.h
 IntelliTriangulation.cpp
 IntelliTriangulation.h
  Layer
 PaintingArea.cpp
 PaintingArea.h
  Tool
 IntelliColorPicker.cpp
 IntelliTool.cpp
 IntelliTool.h
 IntelliToolCircle.cpp
 IntelliToolCircle.h
 IntelliToolFloodFill.cpp
 IntelliToolFloodFill.h
 IntelliToolLine.cpp
 IntelliToolLine.h
 IntelliToolPen.cpp
 IntelliToolPen.h
 IntelliToolPlain.cpp
 IntelliToolPlain.h
 IntelliToolPolygon.cpp
 IntelliToolPolygon.h
 IntelliToolRectangle.cpp
 IntelliToolRectangle.h
 main.cpp
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  src
  GUI
 IntelliInputDialog.cpp
 IntelliInputDialog.h
 IntelliPhotoGui.cpp
 IntelliPhotoGui.h
  Image
 IntelliImage.cpp
 IntelliImage.h
 IntelliRasterImage.cpp
 IntelliRasterImage.h
 IntelliShapedImage.cpp
 IntelliShapedImage.h
  IntelliHelper
 IntelliColorPicker.cpp
 IntelliColorPicker.h
 IntelliRenderSettings.cpp
 IntelliRenderSettings.h
 IntelliToolsettings.cpp
 IntelliToolsettings.h
 IntelliTriangulation.cpp
 IntelliTriangulation.h
  Layer
 PaintingArea.cpp
 PaintingArea.h
  Tool
 IntelliTool.cpp
 IntelliTool.h
 IntelliToolCircle.cpp
 IntelliToolCircle.h
 IntelliToolFloodFill.cpp
 IntelliToolFloodFill.h
 IntelliToolLine.cpp
 IntelliToolLine.h
 IntelliToolPen.cpp
 IntelliToolPen.h
 IntelliToolPlain.cpp
 IntelliToolPlain.h
 IntelliToolPolygon.cpp
 IntelliToolPolygon.h
 IntelliToolRectangle.cpp
 IntelliToolRectangle.h
 main.cpp
 mainUnitTest.cpp
 tst_unittest.cpp
@@ -144,7 +142,7 @@ $(document).ready(function(){initNavTree('files.html','');});
    + doxygen 1.8.17
diff --git a/docs/html/files_dup.js b/docs/html/files_dup.js index 60f71b9..c3b39c4 100644 --- a/docs/html/files_dup.js +++ b/docs/html/files_dup.js @@ -1,4 +1,4 @@ var files_dup = [ - [ "intelliphoto", "dir_8db5f55022e7670536cbc9a6a1d6f01c.html", "dir_8db5f55022e7670536cbc9a6a1d6f01c" ] + [ "src", "dir_68267d1309a1af8e8297ef4c3efbcdba.html", "dir_68267d1309a1af8e8297ef4c3efbcdba" ] ]; \ No newline at end of file diff --git a/docs/html/folderclosed.png b/docs/html/folderclosed.png index 5a4dbc6..c1a50d3 100644 Binary files a/docs/html/folderclosed.png and b/docs/html/folderclosed.png differ diff --git a/docs/html/folderopen.png b/docs/html/folderopen.png index 4e3bff8..aba59c0 100644 Binary files a/docs/html/folderopen.png and b/docs/html/folderopen.png differ diff --git a/docs/html/functions.html b/docs/html/functions.html index 8e9a72d..9b6d083 100644 --- a/docs/html/functions.html +++ b/docs/html/functions.html @@ -3,7 +3,7 @@ - + IntelliPhoto: Class Members @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -173,7 +169,7 @@ $(document).ready(function(){initNavTree('functions.html','');});

- d -

- l -

@@ -586,7 +610,7 @@ $(document).ready(function(){initNavTree('functions.html','');});
    + doxygen 1.8.17
diff --git a/docs/html/functions_enum.html b/docs/html/functions_enum.html index d123832..af5c2dd 100644 --- a/docs/html/functions_enum.html +++ b/docs/html/functions_enum.html @@ -3,7 +3,7 @@ - + IntelliPhoto: Class Members - Enumerations @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
@@ -90,9 +86,6 @@ $(document).ready(function(){initNavTree('functions_enum.html','');});
  • ImageType : IntelliImage
  • -
  • LineStyle -: IntelliToolsettings -
  • Tooltype : IntelliTool
  • @@ -104,7 +97,7 @@ $(document).ready(function(){initNavTree('functions_enum.html','');});
      + doxygen 1.8.17
    diff --git a/docs/html/functions_func.html b/docs/html/functions_func.html index c039c3d..9ed0c7c 100644 --- a/docs/html/functions_func.html +++ b/docs/html/functions_func.html @@ -3,7 +3,7 @@ - + IntelliPhoto: Class Members - Functions @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
    @@ -141,7 +137,7 @@ $(document).ready(function(){initNavTree('functions_func.html','');});

    - d -

    -

    - f -

    - -

    - g -

    @@ -387,9 +388,6 @@ $(document).ready(function(){initNavTree('functions_func.html','');});

    - r -

    @@ -503,7 +526,7 @@ $(document).ready(function(){initNavTree('functions_func.html','');});
      + doxygen 1.8.17
    diff --git a/docs/html/functions_vars.html b/docs/html/functions_vars.html index af7dcfb..0a0c9bc 100644 --- a/docs/html/functions_vars.html +++ b/docs/html/functions_vars.html @@ -3,7 +3,7 @@ - + IntelliPhoto: Class Members - Variables @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
    @@ -115,8 +111,8 @@ $(document).ready(function(){initNavTree('functions_vars.html','');}); : IntelliTool , PaintingArea -
  • fastRenderer -: IntelliImage +
  • fastRenderering +: IntelliImage
  • height : LayerObject @@ -157,7 +153,7 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
      + doxygen 1.8.17
  • diff --git a/docs/html/globals.html b/docs/html/globals.html index e94d00d..24a6eb2 100644 --- a/docs/html/globals.html +++ b/docs/html/globals.html @@ -3,7 +3,7 @@ - + IntelliPhoto: File Members @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
    @@ -101,7 +97,7 @@ $(document).ready(function(){initNavTree('globals.html','');});
      + doxygen 1.8.17
    diff --git a/docs/html/globals_defs.html b/docs/html/globals_defs.html index 46fcdba..8ffa9cd 100644 --- a/docs/html/globals_defs.html +++ b/docs/html/globals_defs.html @@ -3,7 +3,7 @@ - + IntelliPhoto: File Members @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
    @@ -98,7 +94,7 @@ $(document).ready(function(){initNavTree('globals_defs.html','');});
      + doxygen 1.8.17
    diff --git a/docs/html/globals_func.html b/docs/html/globals_func.html index fbf9e27..29412df 100644 --- a/docs/html/globals_func.html +++ b/docs/html/globals_func.html @@ -3,7 +3,7 @@ - + IntelliPhoto: File Members @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
    @@ -98,7 +94,7 @@ $(document).ready(function(){initNavTree('globals_func.html','');});
      + doxygen 1.8.17
    diff --git a/docs/html/hierarchy.html b/docs/html/hierarchy.html index 3e7ceb0..75d499c 100644 --- a/docs/html/hierarchy.html +++ b/docs/html/hierarchy.html @@ -3,7 +3,7 @@ - + IntelliPhoto: Class Hierarchy @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
    @@ -107,11 +103,15 @@ $(document).ready(function(){initNavTree('hierarchy.html','');});  CIntelliToolRectangleTool to draw a rectangle  CIntelliToolsettings  CLayerObjectThe LayerObject struct holds all the information needed to construct a layer - CQMainWindow - CIntelliPhotoGuiHandles the graphical user interface for the intelliPhoto program - CQWidget - CPaintingAreaManages the methods and stores information about the current painting area, which is the currently opened project - CTriangleThe Triangle struct holds the 3 vertices of a triangle + CQDialog + CIntelliInputDialog + CQMainWindow + CIntelliPhotoGuiThe IntelliPhotoGui base class handles the graphical user interface and events for the intelliPhoto program + CQObject + CUnitTest + CQWidget + CPaintingAreaManages the methods and stores information about the current painting area, which is the currently opened project + CTriangleThe Triangle struct holds the 3 vertices of a triangle
    @@ -121,7 +121,7 @@ $(document).ready(function(){initNavTree('hierarchy.html','');});
      + doxygen 1.8.17
    diff --git a/docs/html/hierarchy.js b/docs/html/hierarchy.js index 5b4a232..8e6f13d 100644 --- a/docs/html/hierarchy.js +++ b/docs/html/hierarchy.js @@ -18,9 +18,15 @@ var hierarchy = ] ], [ "IntelliToolsettings", "class_intelli_toolsettings.html", null ], [ "LayerObject", "struct_layer_object.html", null ], + [ "QDialog", null, [ + [ "IntelliInputDialog", "class_intelli_input_dialog.html", null ] + ] ], [ "QMainWindow", null, [ [ "IntelliPhotoGui", "class_intelli_photo_gui.html", null ] ] ], + [ "QObject", null, [ + [ "UnitTest", "class_unit_test.html", null ] + ] ], [ "QWidget", null, [ [ "PaintingArea", "class_painting_area.html", null ] ] ], diff --git a/docs/html/index.html b/docs/html/index.html index a5c415e..023ac14 100644 --- a/docs/html/index.html +++ b/docs/html/index.html @@ -3,7 +3,7 @@ - + IntelliPhoto: Main Page @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
    @@ -97,7 +93,7 @@ $(document).ready(function(){initNavTree('index.html','');});
      + doxygen 1.8.17
    diff --git a/docs/html/main_8cpp.html b/docs/html/main_8cpp.html index 6ef81a6..cbb692d 100644 --- a/docs/html/main_8cpp.html +++ b/docs/html/main_8cpp.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/main.cpp File Reference +IntelliPhoto: src/main.cpp File Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
    @@ -140,10 +136,10 @@ Functions diff --git a/docs/html/main_8cpp_source.html b/docs/html/main_8cpp_source.html index 3a4e0a2..10670e9 100644 --- a/docs/html/main_8cpp_source.html +++ b/docs/html/main_8cpp_source.html @@ -3,9 +3,9 @@ - + -IntelliPhoto: intelliphoto/src/main.cpp Source File +IntelliPhoto: src/main.cpp Source File @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@
    - +
    @@ -107,16 +103,16 @@ $(document).ready(function(){initNavTree('main_8cpp_source.html','');});
    15 }
    -
    The IntelliPhotoGui class handles the graphical user interface for the intelliPhoto program.
    +
    The IntelliPhotoGui base class handles the graphical user interface and events for the intelliPhoto p...
    int main(int argc, char *argv[])
    Definition: main.cpp:6
    diff --git a/docs/html/main_unit_test_8cpp.html b/docs/html/main_unit_test_8cpp.html new file mode 100644 index 0000000..b6b374d --- /dev/null +++ b/docs/html/main_unit_test_8cpp.html @@ -0,0 +1,115 @@ + + + + + + + +IntelliPhoto: src/mainUnitTest.cpp File Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    IntelliPhoto +  0.5 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    mainUnitTest.cpp File Reference
    +
    +
    +
    #include <QtTest>
    +#include <string>
    +#include "GUI/IntelliPhotoGui.h"
    +#include "tst_unittest.moc"
    +
    +

    Go to the source code of this file.

    + + + + +

    +Classes

    class  UnitTest
     
    +
    +
    + + + + diff --git a/docs/html/main_unit_test_8cpp_source.html b/docs/html/main_unit_test_8cpp_source.html new file mode 100644 index 0000000..c21eb0f --- /dev/null +++ b/docs/html/main_unit_test_8cpp_source.html @@ -0,0 +1,309 @@ + + + + + + + +IntelliPhoto: src/mainUnitTest.cpp Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    IntelliPhoto +  0.5 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    mainUnitTest.cpp
    +
    +
    +Go to the documentation of this file.
    1 #include <QtTest>
    +
    2 // add necessary includes here
    +
    3 #include<string>
    +
    4 
    +
    5 #include "GUI/IntelliPhotoGui.h"
    +
    6 
    +
    7 
    +
    8 class UnitTest : public QObject
    +
    9 {
    +
    10  Q_OBJECT
    +
    11 private:
    +
    12  IntelliPhotoGui* gui;
    +
    13  PaintingArea* area;
    +
    14  QApplication* app;
    +
    15 
    +
    16 public:
    +
    17  UnitTest();
    +
    18  ~UnitTest();
    +
    19 
    +
    20 private slots:
    +
    21  void initTestCase();
    +
    22  void cleanupTestCase();
    +
    23  //void test_case1();
    +
    24 
    +
    25  //test painting area
    +
    26  void test_addLayer();
    +
    27  void test_deleteLayer();
    +
    28  void test_setActive();
    +
    29  void test_setAlpha();
    +
    30  void test_floodFill();
    +
    31  void test_moveActive();
    +
    32  void test_setPolygon();
    +
    33  void test_setLayerUp();
    +
    34  void test_setLayerDown();
    +
    35 
    +
    36  void test_createTools();
    +
    37 
    +
    38  //test Raster-Image operations
    +
    39  void test_RasterImage_drawPixel();
    +
    40  void test_RasterImage_drawLine();
    +
    41  void test_RasterImage_drawPoint();
    +
    42  void test_RasterImage_getDisplayable();
    +
    43  void test_RasterImage_setPolygon();
    +
    44  void test_RasterImage_loadImage();
    +
    45  void test_RasterImage_getPixelColor();
    +
    46  void test_RasterImage_getImageData();
    +
    47  void test_RasterImage_setImageData();
    +
    48 
    +
    49  //test Shaped-Image operations
    +
    50  void test_ShapedImage_drawPixel();
    +
    51  void test_ShapedImage_drawLine();
    +
    52  void test_ShapedImage_drawPoint();
    +
    53  void test_ShapedImage_getDisplayable();
    +
    54  void test_ShapedImage_setPolygon();
    +
    55  void test_ShapedImage_loadImage();
    +
    56  void test_ShapedImage_getPixelColor();
    +
    57  void test_ShapedImage_getImageData();
    +
    58  void test_ShapedImage_setImageData();
    +
    59 
    +
    60  //test painting-area tools
    +
    61  void test_createTool_Circle();
    +
    62  void test_createTool_FloodFill();
    +
    63  void test_createTool_Line();
    +
    64  void test_createTool_Pen();
    +
    65  void test_createTool_Plain();
    +
    66  void test_createTool_Polygon();
    +
    67  void test_createTool_Rectangle();
    +
    68 
    +
    69  //test tools
    +
    70  void test_Circle_fullDraw();
    +
    71  void test_Circle_interruptedDraw();
    +
    72 
    +
    73  void test_FloodFill_fullDraw();
    +
    74  void test_FloodFill_interruptedDraw();
    +
    75 
    +
    76  void test_Line_fullDraw();
    +
    77  void test_Line_interruptedDraw();
    +
    78 
    +
    79  void test_Pen_fullDraw();
    +
    80  void test_Pen_interruptedDraw();
    +
    81 
    +
    82  void test_Plain_fullDraw();
    +
    83  void test_Plain_interruptedDraw();
    +
    84 
    +
    85  void test_Polygon_fullDraw();
    +
    86  void test_Polygon_interruptedDraw();
    +
    87 
    +
    88  void test_Rectangle_fullDraw();
    +
    89  void test_Rectangle_interruptedDraw();
    +
    90 
    +
    91  //test Triangulation
    +
    92  void test_Triangulation_Coverage();
    +
    93 };
    +
    94 
    + +
    96 {
    +
    97  char arg0[] = "programName";
    +
    98  char arg1[] = "arg1";
    +
    99  char arg2[] = "arg2";
    +
    100  char *argv[] = {arg0, arg1, arg2, nullptr};
    +
    101  int argc = sizeof(argv) / sizeof(char*) - 1;
    +
    102 
    +
    103  app = new QApplication(argc,argv);
    +
    104  gui = new IntelliPhotoGui();
    +
    105  area = gui->paintingArea;
    +
    106 }
    +
    107 
    + +
    109 {
    +
    110 
    +
    111 }
    +
    112 
    +
    113 void UnitTest::initTestCase()
    +
    114 {
    +
    115 
    +
    116 }
    +
    117 
    +
    118 void UnitTest::cleanupTestCase()
    +
    119 {
    +
    120  delete gui;
    +
    121  delete app;
    +
    122 }
    +
    123 
    +
    124 //void UnitTest::test_case1()
    +
    125 //{
    +
    126 // QBENCHMARK {
    +
    127 // QVERIFY(1 == 1);
    +
    128 // }
    +
    129 //}
    +
    130 
    +
    131 //test painting area
    +
    132 void UnitTest::test_addLayer(){}
    +
    133 void UnitTest::test_deleteLayer(){}
    +
    134 void UnitTest::test_setActive(){}
    +
    135 void UnitTest::test_setAlpha(){}
    +
    136 void UnitTest::test_floodFill(){}
    +
    137 void UnitTest::test_moveActive(){}
    +
    138 void UnitTest::test_setPolygon(){}
    +
    139 void UnitTest::test_setLayerUp(){}
    +
    140 void UnitTest::test_setLayerDown(){}
    +
    141 
    +
    142 void UnitTest::test_createTools(){}
    +
    143 
    +
    144 //test Raster-Image operations
    +
    145 void UnitTest::test_RasterImage_drawPixel(){}
    +
    146 void UnitTest::test_RasterImage_drawLine(){}
    +
    147 void UnitTest::test_RasterImage_drawPoint(){}
    +
    148 void UnitTest::test_RasterImage_getDisplayable(){}
    +
    149 void UnitTest::test_RasterImage_setPolygon(){}
    +
    150 void UnitTest::test_RasterImage_loadImage(){}
    +
    151 void UnitTest::test_RasterImage_getPixelColor(){}
    +
    152 void UnitTest::test_RasterImage_getImageData(){}
    +
    153 void UnitTest::test_RasterImage_setImageData(){}
    +
    154 
    +
    155 //test Shaped-Image operations
    +
    156 void UnitTest::test_ShapedImage_drawPixel(){}
    +
    157 void UnitTest::test_ShapedImage_drawLine(){}
    +
    158 void UnitTest::test_ShapedImage_drawPoint(){}
    +
    159 void UnitTest::test_ShapedImage_getDisplayable(){}
    +
    160 void UnitTest::test_ShapedImage_setPolygon(){}
    +
    161 void UnitTest::test_ShapedImage_loadImage(){}
    +
    162 void UnitTest::test_ShapedImage_getPixelColor(){}
    +
    163 void UnitTest::test_ShapedImage_getImageData(){}
    +
    164 void UnitTest::test_ShapedImage_setImageData(){}
    +
    165 
    +
    166 //test painting-area tools
    +
    167 void UnitTest::test_createTool_Circle(){}
    +
    168 void UnitTest::test_createTool_FloodFill(){}
    +
    169 void UnitTest::test_createTool_Line(){}
    +
    170 void UnitTest::test_createTool_Pen(){}
    +
    171 void UnitTest::test_createTool_Plain(){}
    +
    172 void UnitTest::test_createTool_Polygon(){}
    +
    173 void UnitTest::test_createTool_Rectangle(){}
    +
    174 
    +
    175 //test tools
    +
    176 void UnitTest::test_Circle_fullDraw(){}
    +
    177 void UnitTest::test_Circle_interruptedDraw(){}
    +
    178 
    +
    179 void UnitTest::test_FloodFill_fullDraw(){}
    +
    180 void UnitTest::test_FloodFill_interruptedDraw(){}
    +
    181 
    +
    182 void UnitTest::test_Line_fullDraw(){}
    +
    183 void UnitTest::test_Line_interruptedDraw(){}
    +
    184 
    +
    185 void UnitTest::test_Pen_fullDraw(){}
    +
    186 void UnitTest::test_Pen_interruptedDraw(){}
    +
    187 
    +
    188 void UnitTest::test_Plain_fullDraw(){}
    +
    189 void UnitTest::test_Plain_interruptedDraw(){}
    +
    190 
    +
    191 void UnitTest::test_Polygon_fullDraw(){}
    +
    192 void UnitTest::test_Polygon_interruptedDraw(){}
    +
    193 
    +
    194 void UnitTest::test_Rectangle_fullDraw(){}
    +
    195 void UnitTest::test_Rectangle_interruptedDraw(){}
    +
    196 
    +
    197 //test Triangulation
    +
    198 void UnitTest::test_Triangulation_Coverage(){}
    +
    199 
    +
    200 QTEST_APPLESS_MAIN(UnitTest)
    +
    201 
    +
    202 #include "tst_unittest.moc"
    +
    +
    + +
    The IntelliPhotoGui base class handles the graphical user interface and events for the intelliPhoto p...
    + +
    The PaintingArea class manages the methods and stores information about the current painting area,...
    Definition: PaintingArea.h:53
    + + + + + + diff --git a/docs/html/menudata.js b/docs/html/menudata.js index 1435286..4e9d117 100644 --- a/docs/html/menudata.js +++ b/docs/html/menudata.js @@ -55,7 +55,6 @@ var menudata={children:[ {text:"a",url:"functions_func.html#index_a"}, {text:"c",url:"functions_func.html#index_c"}, {text:"d",url:"functions_func.html#index_d"}, -{text:"f",url:"functions_func.html#index_f"}, {text:"g",url:"functions_func.html#index_g"}, {text:"i",url:"functions_func.html#index_i"}, {text:"l",url:"functions_func.html#index_l"}, diff --git a/docs/html/namespace_intelli_triangulation.html b/docs/html/namespace_intelli_triangulation.html index c26edf4..38b5a0b 100644 --- a/docs/html/namespace_intelli_triangulation.html +++ b/docs/html/namespace_intelli_triangulation.html @@ -3,7 +3,7 @@ - + IntelliPhoto: IntelliTriangulation Namespace Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
    @@ -104,9 +100,9 @@ Functions std::vector< TrianglecalculateTriangles (std::vector< QPoint > polyPoints)  A function to split a polygon in its spanning traingles by using Meisters Theorem of graph theory by clipping ears of a planar graph. More...
      -bool isInPolygon (std::vector< Triangle > &triangles, QPoint &point) - A function to check if a point lies in a polygon by checking its spanning triangles. More...
    -  +bool isInPolygon (const std::vector< Triangle > &triangles, QPoint &point) + A function to check if a point lies in a polygon by checking its spanning triangles. More...

    Function Documentation

    @@ -138,8 +134,8 @@ Functions
    - -

    ◆ isInPolygon()

    + +

    ◆ isInPolygon()

    @@ -147,7 +143,7 @@ Functions bool IntelliTriangulation::isInPolygon ( - std::vector< Triangle > &  + const std::vector< Triangle > &  triangles, @@ -222,7 +218,7 @@ Functions
    Returns
    Returns true if the point is in the triangle, false otheriwse
    -

    Definition at line 33 of file IntelliTriangulation.h.

    +

    Definition at line 36 of file IntelliTriangulation.h.

    @@ -277,7 +273,7 @@ Functions
    Returns
    Returns the area of the traingle*2
    -

    Definition at line 23 of file IntelliTriangulation.h.

    +

    Definition at line 26 of file IntelliTriangulation.h.

    @@ -289,7 +285,7 @@ Functions + doxygen 1.8.17 diff --git a/docs/html/namespacemembers.html b/docs/html/namespacemembers.html index bf1bc8b..7b6da0c 100644 --- a/docs/html/namespacemembers.html +++ b/docs/html/namespacemembers.html @@ -3,7 +3,7 @@ - + IntelliPhoto: Namespace Members @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
    @@ -91,7 +87,7 @@ $(document).ready(function(){initNavTree('namespacemembers.html','');}); : IntelliTriangulation
  • isInPolygon() -: IntelliTriangulation +: IntelliTriangulation
  • isInTriangle() : IntelliTriangulation @@ -107,7 +103,7 @@ $(document).ready(function(){initNavTree('namespacemembers.html','');});
      + doxygen 1.8.17
  • diff --git a/docs/html/namespacemembers_func.html b/docs/html/namespacemembers_func.html index cfb4d28..29b57bf 100644 --- a/docs/html/namespacemembers_func.html +++ b/docs/html/namespacemembers_func.html @@ -3,7 +3,7 @@ - + IntelliPhoto: Namespace Members @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
    @@ -91,7 +87,7 @@ $(document).ready(function(){initNavTree('namespacemembers_func.html','');}); : IntelliTriangulation
  • isInPolygon() -: IntelliTriangulation +: IntelliTriangulation
  • isInTriangle() : IntelliTriangulation @@ -107,7 +103,7 @@ $(document).ready(function(){initNavTree('namespacemembers_func.html','');});
      + doxygen 1.8.17
  • diff --git a/docs/html/namespaces.html b/docs/html/namespaces.html index 770b3ef..4a5c8e3 100644 --- a/docs/html/namespaces.html +++ b/docs/html/namespaces.html @@ -3,7 +3,7 @@ - + IntelliPhoto: Namespace List @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
    @@ -102,7 +98,7 @@ $(document).ready(function(){initNavTree('namespaces.html','');});
      + doxygen 1.8.17
    diff --git a/docs/html/nav_f.png b/docs/html/nav_f.png index 3a8f6ca..f470f98 100644 Binary files a/docs/html/nav_f.png and b/docs/html/nav_f.png differ diff --git a/docs/html/nav_h.png b/docs/html/nav_h.png index bdf5bc9..ad61711 100644 Binary files a/docs/html/nav_h.png and b/docs/html/nav_h.png differ diff --git a/docs/html/navtree.css b/docs/html/navtree.css index 46329ea..afef5e2 100644 --- a/docs/html/navtree.css +++ b/docs/html/navtree.css @@ -119,7 +119,7 @@ #nav-tree { background-image:url('nav_h.png'); background-repeat:repeat-x; - background-color: #FAFAFB; + background-color: #F7F7F7; -webkit-overflow-scrolling : touch; /* iOS 5+ */ } diff --git a/docs/html/navtreedata.js b/docs/html/navtreedata.js index ab8cde8..c317f86 100644 --- a/docs/html/navtreedata.js +++ b/docs/html/navtreedata.js @@ -54,8 +54,8 @@ var NAVTREE = var NAVTREEINDEX = [ -"_intelli_color_picker_8h.html", -"class_painting_area.html#a632848d99f44d33d7da2618fbc6775a4" +"_intelli_color_picker_8cpp.html", +"class_painting_area.html#a4a8138b9508ee4ec87a7fca9160368a7" ]; var SYNCONMSG = 'click to disable panel synchronisation'; diff --git a/docs/html/navtreeindex0.js b/docs/html/navtreeindex0.js index 1bf486a..133c659 100644 --- a/docs/html/navtreeindex0.js +++ b/docs/html/navtreeindex0.js @@ -1,80 +1,82 @@ var NAVTREEINDEX0 = { -"_intelli_color_picker_8h.html":[2,0,0,0,2,1], -"_intelli_color_picker_8h_source.html":[2,0,0,0,2,1], -"_intelli_helper_2_intelli_color_picker_8cpp.html":[2,0,0,0,2,0], -"_intelli_helper_2_intelli_color_picker_8cpp_source.html":[2,0,0,0,2,0], -"_intelli_image_8cpp.html":[2,0,0,0,1,0], -"_intelli_image_8cpp_source.html":[2,0,0,0,1,0], -"_intelli_image_8h.html":[2,0,0,0,1,1], -"_intelli_image_8h_source.html":[2,0,0,0,1,1], -"_intelli_photo_gui_8cpp.html":[2,0,0,0,0,0], -"_intelli_photo_gui_8cpp_source.html":[2,0,0,0,0,0], -"_intelli_photo_gui_8h.html":[2,0,0,0,0,1], -"_intelli_photo_gui_8h_source.html":[2,0,0,0,0,1], -"_intelli_raster_image_8cpp.html":[2,0,0,0,1,2], -"_intelli_raster_image_8cpp_source.html":[2,0,0,0,1,2], -"_intelli_raster_image_8h.html":[2,0,0,0,1,3], -"_intelli_raster_image_8h_source.html":[2,0,0,0,1,3], -"_intelli_render_settings_8cpp.html":[2,0,0,0,2,2], -"_intelli_render_settings_8cpp_source.html":[2,0,0,0,2,2], -"_intelli_render_settings_8h.html":[2,0,0,0,2,3], -"_intelli_render_settings_8h_source.html":[2,0,0,0,2,3], -"_intelli_shaped_image_8cpp.html":[2,0,0,0,1,4], -"_intelli_shaped_image_8cpp_source.html":[2,0,0,0,1,4], -"_intelli_shaped_image_8h.html":[2,0,0,0,1,5], -"_intelli_shaped_image_8h_source.html":[2,0,0,0,1,5], -"_intelli_tool_8cpp.html":[2,0,0,0,4,1], -"_intelli_tool_8cpp_source.html":[2,0,0,0,4,1], -"_intelli_tool_8h.html":[2,0,0,0,4,2], -"_intelli_tool_8h_source.html":[2,0,0,0,4,2], -"_intelli_tool_circle_8cpp.html":[2,0,0,0,4,3], -"_intelli_tool_circle_8cpp_source.html":[2,0,0,0,4,3], -"_intelli_tool_circle_8h.html":[2,0,0,0,4,4], -"_intelli_tool_circle_8h_source.html":[2,0,0,0,4,4], -"_intelli_tool_flood_fill_8cpp.html":[2,0,0,0,4,5], -"_intelli_tool_flood_fill_8cpp_source.html":[2,0,0,0,4,5], -"_intelli_tool_flood_fill_8h.html":[2,0,0,0,4,6], -"_intelli_tool_flood_fill_8h_source.html":[2,0,0,0,4,6], -"_intelli_tool_line_8cpp.html":[2,0,0,0,4,7], -"_intelli_tool_line_8cpp_source.html":[2,0,0,0,4,7], -"_intelli_tool_line_8h.html":[2,0,0,0,4,8], -"_intelli_tool_line_8h_source.html":[2,0,0,0,4,8], -"_intelli_tool_pen_8cpp.html":[2,0,0,0,4,9], -"_intelli_tool_pen_8cpp_source.html":[2,0,0,0,4,9], -"_intelli_tool_pen_8h.html":[2,0,0,0,4,10], -"_intelli_tool_pen_8h_source.html":[2,0,0,0,4,10], -"_intelli_tool_plain_8cpp.html":[2,0,0,0,4,11], -"_intelli_tool_plain_8cpp_source.html":[2,0,0,0,4,11], -"_intelli_tool_plain_8h.html":[2,0,0,0,4,12], -"_intelli_tool_plain_8h_source.html":[2,0,0,0,4,12], -"_intelli_tool_polygon_8cpp.html":[2,0,0,0,4,13], -"_intelli_tool_polygon_8cpp_source.html":[2,0,0,0,4,13], -"_intelli_tool_polygon_8h.html":[2,0,0,0,4,14], -"_intelli_tool_polygon_8h_source.html":[2,0,0,0,4,14], -"_intelli_tool_rectangle_8cpp.html":[2,0,0,0,4,15], -"_intelli_tool_rectangle_8cpp_source.html":[2,0,0,0,4,15], -"_intelli_tool_rectangle_8h.html":[2,0,0,0,4,16], -"_intelli_tool_rectangle_8h_source.html":[2,0,0,0,4,16], -"_intelli_toolsettings_8cpp.html":[2,0,0,0,2,4], -"_intelli_toolsettings_8cpp_source.html":[2,0,0,0,2,4], -"_intelli_toolsettings_8h.html":[2,0,0,0,2,5], -"_intelli_toolsettings_8h_source.html":[2,0,0,0,2,5], -"_intelli_triangulation_8cpp.html":[2,0,0,0,2,6], -"_intelli_triangulation_8cpp.html#a1daf785e3f68d293c7caa1c756d5cb74":[2,0,0,0,2,6,0], -"_intelli_triangulation_8cpp_source.html":[2,0,0,0,2,6], -"_intelli_triangulation_8h.html":[2,0,0,0,2,7], -"_intelli_triangulation_8h.html#a00621e2d8708fe2e8966d7d79b64e186":[2,0,0,0,2,7,2], -"_intelli_triangulation_8h.html#ac150fee67fd41a451bd2592f10e00197":[2,0,0,0,2,7,3], -"_intelli_triangulation_8h.html#acdaf1ed598e868b25e9e06d580da32e5":[2,0,0,0,2,7,1], -"_intelli_triangulation_8h.html#af9af549a7faff35a74c1265b290ea0ca":[2,0,0,0,2,7,4], -"_intelli_triangulation_8h_source.html":[2,0,0,0,2,7], -"_painting_area_8cpp.html":[2,0,0,0,3,0], -"_painting_area_8cpp_source.html":[2,0,0,0,3,0], -"_painting_area_8h.html":[2,0,0,0,3,1], -"_painting_area_8h_source.html":[2,0,0,0,3,1], -"_tool_2_intelli_color_picker_8cpp.html":[2,0,0,0,4,0], -"_tool_2_intelli_color_picker_8cpp_source.html":[2,0,0,0,4,0], +"_intelli_color_picker_8cpp.html":[2,0,0,2,0], +"_intelli_color_picker_8cpp_source.html":[2,0,0,2,0], +"_intelli_color_picker_8h.html":[2,0,0,2,1], +"_intelli_color_picker_8h_source.html":[2,0,0,2,1], +"_intelli_image_8cpp.html":[2,0,0,1,0], +"_intelli_image_8cpp_source.html":[2,0,0,1,0], +"_intelli_image_8h.html":[2,0,0,1,1], +"_intelli_image_8h_source.html":[2,0,0,1,1], +"_intelli_input_dialog_8cpp.html":[2,0,0,0,0], +"_intelli_input_dialog_8cpp_source.html":[2,0,0,0,0], +"_intelli_input_dialog_8h.html":[2,0,0,0,1], +"_intelli_input_dialog_8h_source.html":[2,0,0,0,1], +"_intelli_photo_gui_8cpp.html":[2,0,0,0,2], +"_intelli_photo_gui_8cpp_source.html":[2,0,0,0,2], +"_intelli_photo_gui_8h.html":[2,0,0,0,3], +"_intelli_photo_gui_8h_source.html":[2,0,0,0,3], +"_intelli_raster_image_8cpp.html":[2,0,0,1,2], +"_intelli_raster_image_8cpp_source.html":[2,0,0,1,2], +"_intelli_raster_image_8h.html":[2,0,0,1,3], +"_intelli_raster_image_8h_source.html":[2,0,0,1,3], +"_intelli_render_settings_8cpp.html":[2,0,0,2,2], +"_intelli_render_settings_8cpp_source.html":[2,0,0,2,2], +"_intelli_render_settings_8h.html":[2,0,0,2,3], +"_intelli_render_settings_8h_source.html":[2,0,0,2,3], +"_intelli_shaped_image_8cpp.html":[2,0,0,1,4], +"_intelli_shaped_image_8cpp_source.html":[2,0,0,1,4], +"_intelli_shaped_image_8h.html":[2,0,0,1,5], +"_intelli_shaped_image_8h_source.html":[2,0,0,1,5], +"_intelli_tool_8cpp.html":[2,0,0,4,0], +"_intelli_tool_8cpp_source.html":[2,0,0,4,0], +"_intelli_tool_8h.html":[2,0,0,4,1], +"_intelli_tool_8h_source.html":[2,0,0,4,1], +"_intelli_tool_circle_8cpp.html":[2,0,0,4,2], +"_intelli_tool_circle_8cpp_source.html":[2,0,0,4,2], +"_intelli_tool_circle_8h.html":[2,0,0,4,3], +"_intelli_tool_circle_8h_source.html":[2,0,0,4,3], +"_intelli_tool_flood_fill_8cpp.html":[2,0,0,4,4], +"_intelli_tool_flood_fill_8cpp_source.html":[2,0,0,4,4], +"_intelli_tool_flood_fill_8h.html":[2,0,0,4,5], +"_intelli_tool_flood_fill_8h_source.html":[2,0,0,4,5], +"_intelli_tool_line_8cpp.html":[2,0,0,4,6], +"_intelli_tool_line_8cpp_source.html":[2,0,0,4,6], +"_intelli_tool_line_8h.html":[2,0,0,4,7], +"_intelli_tool_line_8h_source.html":[2,0,0,4,7], +"_intelli_tool_pen_8cpp.html":[2,0,0,4,8], +"_intelli_tool_pen_8cpp_source.html":[2,0,0,4,8], +"_intelli_tool_pen_8h.html":[2,0,0,4,9], +"_intelli_tool_pen_8h_source.html":[2,0,0,4,9], +"_intelli_tool_plain_8cpp.html":[2,0,0,4,10], +"_intelli_tool_plain_8cpp_source.html":[2,0,0,4,10], +"_intelli_tool_plain_8h.html":[2,0,0,4,11], +"_intelli_tool_plain_8h_source.html":[2,0,0,4,11], +"_intelli_tool_polygon_8cpp.html":[2,0,0,4,12], +"_intelli_tool_polygon_8cpp_source.html":[2,0,0,4,12], +"_intelli_tool_polygon_8h.html":[2,0,0,4,13], +"_intelli_tool_polygon_8h_source.html":[2,0,0,4,13], +"_intelli_tool_rectangle_8cpp.html":[2,0,0,4,14], +"_intelli_tool_rectangle_8cpp_source.html":[2,0,0,4,14], +"_intelli_tool_rectangle_8h.html":[2,0,0,4,15], +"_intelli_tool_rectangle_8h_source.html":[2,0,0,4,15], +"_intelli_toolsettings_8cpp.html":[2,0,0,2,4], +"_intelli_toolsettings_8cpp_source.html":[2,0,0,2,4], +"_intelli_toolsettings_8h.html":[2,0,0,2,5], +"_intelli_toolsettings_8h_source.html":[2,0,0,2,5], +"_intelli_triangulation_8cpp.html":[2,0,0,2,6], +"_intelli_triangulation_8cpp.html#a1daf785e3f68d293c7caa1c756d5cb74":[2,0,0,2,6,0], +"_intelli_triangulation_8cpp_source.html":[2,0,0,2,6], +"_intelli_triangulation_8h.html":[2,0,0,2,7], +"_intelli_triangulation_8h.html#ac150fee67fd41a451bd2592f10e00197":[2,0,0,2,7,3], +"_intelli_triangulation_8h.html#ac276696f29d141ed34614c1c3b1c040f":[2,0,0,2,7,2], +"_intelli_triangulation_8h.html#acdaf1ed598e868b25e9e06d580da32e5":[2,0,0,2,7,1], +"_intelli_triangulation_8h.html#af9af549a7faff35a74c1265b290ea0ca":[2,0,0,2,7,4], +"_intelli_triangulation_8h_source.html":[2,0,0,2,7], +"_painting_area_8cpp.html":[2,0,0,3,0], +"_painting_area_8cpp_source.html":[2,0,0,3,0], +"_painting_area_8h.html":[2,0,0,3,1], +"_painting_area_8h_source.html":[2,0,0,3,1], "annotated.html":[1,0], "class_intelli_color_picker.html":[1,0,0], "class_intelli_color_picker.html#a0d1247bdd87add1396ea5d9acaad79ae":[1,0,0,0], @@ -87,7 +89,7 @@ var NAVTREEINDEX0 = "class_intelli_image.html":[1,0,1], "class_intelli_image.html#a177403ab9585d4ba31984a644c54d310":[1,0,1,16], "class_intelli_image.html#a21c7e65b59a26db45aac3880133ef21d":[1,0,1,9], -"class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2":[1,0,1,20], +"class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2":[1,0,1,21], "class_intelli_image.html#a2c6632ff35ee0a7094a8a289eb3a8652":[1,0,1,1], "class_intelli_image.html#a2e787f1b333b59401643936ebb3dcfe1":[1,0,1,7], "class_intelli_image.html#a4576ebb6d863321c816293d7b7f9fd3f":[1,0,1,12], @@ -96,158 +98,156 @@ var NAVTREEINDEX0 = "class_intelli_image.html#a5274ce9fcdcb2659c148e7ff916b680eadd5823fd73c42c0154fa2abbd70283b9":[1,0,1,0,0], "class_intelli_image.html#a6be622810dc2bc756054bb5769becb06":[1,0,1,6], "class_intelli_image.html#a9d4daf3c48c64695105689f61c21bae0":[1,0,1,10], -"class_intelli_image.html#aa4b3f4631bd972456917275afb9fd309":[1,0,1,17], +"class_intelli_image.html#aa4b3f4631bd972456917275afb9fd309":[1,0,1,18], +"class_intelli_image.html#aa63d34c7932113d021653980ee018671":[1,0,1,20], "class_intelli_image.html#aaf9f3e8db8666850024bee9aad9966ba":[1,0,1,13], +"class_intelli_image.html#ab09c64e7559f3db32ca3b20ba6339268":[1,0,1,17], "class_intelli_image.html#ac398bfa9ddd3185508a1e36ee15d80cc":[1,0,1,2], -"class_intelli_image.html#ac460f75e1fa7e44b00a65e7fddac5b80":[1,0,1,21], +"class_intelli_image.html#ac460f75e1fa7e44b00a65e7fddac5b80":[1,0,1,22], "class_intelli_image.html#ad66fbe380ffe0e073a8cd760f8285fe3":[1,0,1,11], -"class_intelli_image.html#adade0f6990152f09d953067a51511b9c":[1,0,1,19], "class_intelli_image.html#ae231800aba38c96074bbe9bb6e341d4e":[1,0,1,15], -"class_intelli_image.html#ae4dbaefabce4ec5bec37f5b95e2f62e2":[1,0,1,18], +"class_intelli_image.html#ae4dbaefabce4ec5bec37f5b95e2f62e2":[1,0,1,19], "class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2":[1,0,1,3], "class_intelli_image.html#af3c859f5c409e37051edfd9e9fbca056":[1,0,1,5], "class_intelli_image.html#af6381067bdf565669f856bb589008ae9":[1,0,1,8], "class_intelli_image.html#af6b09c8d1d6b54a7e8a4e7286f3e503f":[1,0,1,14], "class_intelli_image.html#af8eddbd9aa54c8d37590d1d4bf8dce31":[1,0,1,4], -"class_intelli_photo_gui.html":[1,0,2], -"class_intelli_photo_gui.html#a1dbef8d4688227aa9455aea52db00bf4":[1,0,2,2], -"class_intelli_photo_gui.html#a2cf48070236ae8b35245e7f30482ef13":[1,0,2,1], -"class_intelli_photo_gui.html#ad2aaec3c1517a9aaa461b54e341b97e0":[1,0,2,0], -"class_intelli_raster_image.html":[1,0,3], -"class_intelli_raster_image.html#a612d79124f0e2c158a4f0abbe4b5f97f":[1,0,3,5], -"class_intelli_raster_image.html#a6462fa5f94c5e64e9e1f0c4658e0507b":[1,0,3,6], -"class_intelli_raster_image.html#a844a2b58c43f7e01f2ca116286371bc8":[1,0,3,1], -"class_intelli_raster_image.html#a87cf2d360c129d64a5db0db85818eb60":[1,0,3,2], -"class_intelli_raster_image.html#a8f901301b106504de3c27308ade897dc":[1,0,3,3], -"class_intelli_raster_image.html#ae43393397b0141a8033fe34d3a1b1884":[1,0,3,4], -"class_intelli_raster_image.html#ae779b571372296f1922af818ba003413":[1,0,3,0], -"class_intelli_render_settings.html":[1,0,4], -"class_intelli_render_settings.html#a4a01de6e5e8e516a7eae51d6f1f66529":[1,0,4,0], -"class_intelli_render_settings.html#a5a74e7d7ed3a2e944883dddbe8bbf5e8":[1,0,4,1], -"class_intelli_shaped_image.html":[1,0,5], -"class_intelli_shaped_image.html#a43d63d8a814852d377ee2030658fbab9":[1,0,5,1], -"class_intelli_shaped_image.html#a4b69d75de7a3b85032482982f249458e":[1,0,5,6], -"class_intelli_shaped_image.html#a68cf374247c16f07fd84d50e4cd05630":[1,0,5,3], -"class_intelli_shaped_image.html#a727d19ce314c0874be6b0633a3a603c8":[1,0,5,7], -"class_intelli_shaped_image.html#ac6a99e1a96134073bceea252b37636cc":[1,0,5,4], -"class_intelli_shaped_image.html#ae2e612a1fa52d7f878b34a7a7022d8e9":[1,0,5,0], -"class_intelli_shaped_image.html#ae4518c7f5a105cc4f33fabb60c794a93":[1,0,5,5], -"class_intelli_shaped_image.html#aed0b31e0fa771104399d1f5ff39a0337":[1,0,5,2], -"class_intelli_tool.html":[1,0,6], -"class_intelli_tool.html#a0020fad2e26315d5c4d96dbc95d1dceb":[1,0,6,3], -"class_intelli_tool.html#a08ef094271ce6248b42f888472463526":[1,0,6,1], -"class_intelli_tool.html#a144d469cc03584f501194529a1b53c77":[1,0,6,14], -"class_intelli_tool.html#a16189b00307c6d7e89f28198f54404b0":[1,0,6,9], -"class_intelli_tool.html#a1e6aa68ac5f3c2ca02319e5ef3f0c966":[1,0,6,8], -"class_intelli_tool.html#a34b7ef1dde96b94a0ce450a25ae1778c":[1,0,6,5], -"class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8f":[1,0,6,0], -"class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fa0af50777920c1401ab975cab64c4d491":[1,0,6,0,0], -"class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fa17b8ef2c330f1430e00c9de5469fc7e7":[1,0,6,0,2], -"class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fa526904ea67131c56718f9882518b5d93":[1,0,6,0,1], -"class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fa8e8e58fe94ab307a826e087028a7c01a":[1,0,6,0,6], -"class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fad3fa1aa45b9fe56e1fc1b558d8ed6678":[1,0,6,0,3], -"class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8faecdc92bf56d960b73b02ee40125758bc":[1,0,6,0,5], -"class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8faf62eb0bf5e5c72e80983fbbac1cb70e5":[1,0,6,0,4], -"class_intelli_tool.html#a4dccfd4460255ccb866f336406a33574":[1,0,6,10], -"class_intelli_tool.html#a555aa8a74992327f740dd69b3bb0ccca":[1,0,6,16], -"class_intelli_tool.html#a55f6b45b416b7d790fa8bc09603bf67f":[1,0,6,17], -"class_intelli_tool.html#a57fb1b27d364c9e3696eb928b75fa9f2":[1,0,6,2], -"class_intelli_tool.html#a631388999f36013628e13b9de87a6f7b":[1,0,6,12], -"class_intelli_tool.html#a906a2575c16c8a33cb2a5197f8d8cc5b":[1,0,6,6], -"class_intelli_tool.html#aae2a11c5bae4973ed827c60e0c1352b1":[1,0,6,4], -"class_intelli_tool.html#ab4c2698a0f9f25fb6639ec760d2d0289":[1,0,6,13], -"class_intelli_tool.html#ac10e20414cd8855a2f9b103fb6408639":[1,0,6,7], -"class_intelli_tool.html#ae2e0ac394611a361ab4ef2fe55c03fef":[1,0,6,15], -"class_intelli_tool.html#aedccdad01b2bc6ec84fad3582251ff5d":[1,0,6,11], -"class_intelli_tool_circle.html":[1,0,7], -"class_intelli_tool_circle.html#a29d7b9ed4960e6fe1f31ff620363e429":[1,0,7,5], -"class_intelli_tool_circle.html#a7a03b65b95d7b5d72e6a92c95f068954":[1,0,7,1], -"class_intelli_tool_circle.html#a835327842fb71cb6a505e260ac5b69c8":[1,0,7,0], -"class_intelli_tool_circle.html#a90ee58c5390a86afc75c14ca79b91d7b":[1,0,7,4], -"class_intelli_tool_circle.html#aca07540f2f7ccb3d2c0b84890c1afc4c":[1,0,7,6], -"class_intelli_tool_circle.html#ad8e438ec997c57262b5efc2db4cee1a3":[1,0,7,3], -"class_intelli_tool_circle.html#ae2d9b0fb6695c184c4cb507a5fb75506":[1,0,7,7], -"class_intelli_tool_circle.html#ae883b8ae833c78a8867e626c600f9639":[1,0,7,2], -"class_intelli_tool_flood_fill.html":[1,0,8], -"class_intelli_tool_flood_fill.html#a0b283b1b0135ff909a7199be9da9c076":[1,0,8,0], -"class_intelli_tool_flood_fill.html#a39cf49c0ce46f96be3510f0b70c9d892":[1,0,8,6], -"class_intelli_tool_flood_fill.html#a3cd42cea99bc7583875abcc0c274c668":[1,0,8,4], -"class_intelli_tool_flood_fill.html#a7438ef96c6c36068bce76e2364e8594c":[1,0,8,3], -"class_intelli_tool_flood_fill.html#a83b1bd8be0cbb32cdf61a9597ec849ba":[1,0,8,1], -"class_intelli_tool_flood_fill.html#ac85e3cb6233508ff9612833a8d9e3961":[1,0,8,2], -"class_intelli_tool_flood_fill.html#ad58cc7c065123beb6b0270f99e99b991":[1,0,8,7], -"class_intelli_tool_flood_fill.html#ada0f7154d119102410a55038763a17e4":[1,0,8,5], -"class_intelli_tool_line.html":[1,0,9], -"class_intelli_tool_line.html#a111e83e0f0fec7d4ff773ba9f235e4dc":[1,0,9,0], -"class_intelli_tool_line.html#a155d676a5f98311217eb095be4759846":[1,0,9,2], -"class_intelli_tool_line.html#a6214918cba5753f89d97de4559a2b9b2":[1,0,9,6], -"class_intelli_tool_line.html#a6cce59f3017936214b10b47252a898a3":[1,0,9,5], -"class_intelli_tool_line.html#aaf1d686e1ec43f41b5186ccfd806b125":[1,0,9,7], -"class_intelli_tool_line.html#abc6324ef0778823fe7e35aef8ae37f9b":[1,0,9,4], -"class_intelli_tool_line.html#ac93f76ff20a1c111a403b298bab02482":[1,0,9,3], -"class_intelli_tool_line.html#acb600b0f4e9225ebce2937c2b7abb4c2":[1,0,9,1], -"class_intelli_tool_pen.html":[1,0,10], -"class_intelli_tool_pen.html#a1751e3864a0d36ef42ca55021cae73ce":[1,0,10,5], -"class_intelli_tool_pen.html#a58d1d636497b630647ce0c4d652737c2":[1,0,10,4], -"class_intelli_tool_pen.html#a8ff40aef6d38eb55af31a19322429205":[1,0,10,2], -"class_intelli_tool_pen.html#a9f885143d6bb7adda3dcd3707d59e14d":[1,0,10,0], -"class_intelli_tool_pen.html#abda7a22b9766fa4ad254324a53cab94d":[1,0,10,3], -"class_intelli_tool_pen.html#abf8562e8cd2da586afdf4d47b3a4ff13":[1,0,10,6], -"class_intelli_tool_pen.html#ac77a025515d0fed6954556fe2b444818":[1,0,10,1], -"class_intelli_tool_pen.html#afe3626ddff440ab125f4a2465c45427a":[1,0,10,7], -"class_intelli_tool_plain_tool.html":[1,0,11], -"class_intelli_tool_plain_tool.html#a2ae458f1b04eb77a47f6dca5e91e33b8":[1,0,11,6], -"class_intelli_tool_plain_tool.html#a816bcd6aea046994420969bed8b139d2":[1,0,11,0], -"class_intelli_tool_plain_tool.html#a91fe568be05c075814d67440472bb658":[1,0,11,1], -"class_intelli_tool_plain_tool.html#ab786dd5fa80af863246013d43c4b7ac9":[1,0,11,2], -"class_intelli_tool_plain_tool.html#ac23f5d0f07e42fd7c2ea3fc1347da400":[1,0,11,3], -"class_intelli_tool_plain_tool.html#acb0c46e16d2c09370a2244a936de38b1":[1,0,11,5], -"class_intelli_tool_plain_tool.html#ad7546a6335bb3bb4cbf0e1883788d41c":[1,0,11,4], -"class_intelli_tool_plain_tool.html#adc004ea421e2cc0ac39cc7a6b6d43d0d":[1,0,11,7], -"class_intelli_tool_polygon.html":[1,0,12], -"class_intelli_tool_polygon.html#a087cbf2254010989df6106a357471499":[1,0,12,1], -"class_intelli_tool_polygon.html#a0e3a1135f04c73c159137ae219a38922":[1,0,12,4], -"class_intelli_tool_polygon.html#a3c39299dfffa5b8a45e72a4c0b48b32c":[1,0,12,0], -"class_intelli_tool_polygon.html#a47cad87cd02b128b02dc929713bd1d1b":[1,0,12,6], -"class_intelli_tool_polygon.html#a4e1473ff408ae2e11cf6a43f6f575f21":[1,0,12,3], -"class_intelli_tool_polygon.html#a713103300c9f023d64d9eec5ac05dd17":[1,0,12,7], -"class_intelli_tool_polygon.html#aa36b012b48311c36e7cd6771a5081427":[1,0,12,5], -"class_intelli_tool_polygon.html#ad5d3b741be6d0647a9cdc9da2cb8bc3d":[1,0,12,2], -"class_intelli_tool_rectangle.html":[1,0,13], -"class_intelli_tool_rectangle.html#a445c53a56e859f970e59f5036e221e0c":[1,0,13,7], -"class_intelli_tool_rectangle.html#a480c6804a4963c5a1c3f7ef84b63c1a8":[1,0,13,5], -"class_intelli_tool_rectangle.html#a4b5931071e21eb6949ffe357315e408b":[1,0,13,4], -"class_intelli_tool_rectangle.html#a7dc1463e726a21255e6297241dc71fb1":[1,0,13,1], -"class_intelli_tool_rectangle.html#a94460e3ff1c19e80bde922c55f53cc43":[1,0,13,3], -"class_intelli_tool_rectangle.html#ad43f653256a6516b9398f82054be0d7f":[1,0,13,6], -"class_intelli_tool_rectangle.html#ada06457247d5b173888a9a520b31ec5c":[1,0,13,0], -"class_intelli_tool_rectangle.html#ae03c307ccf66cbe3fd59e3657712368d":[1,0,13,2], -"class_intelli_toolsettings.html":[1,0,14], -"class_intelli_toolsettings.html#a32f165c89190e40caf96abb916e6c876":[1,0,14,6], -"class_intelli_toolsettings.html#a5560602964ab95380967d63ab7ec6e69":[1,0,14,1], -"class_intelli_toolsettings.html#a5beb193b25e0665516244c61c5e65aa6":[1,0,14,4], -"class_intelli_toolsettings.html#a68528dd3bad8f39ba19fa6b12a4e415a":[1,0,14,5], -"class_intelli_toolsettings.html#a687dacd0e15b92dda5626b1b44b86089":[1,0,14,0], -"class_intelli_toolsettings.html#a687dacd0e15b92dda5626b1b44b86089a7660f396543c877e45d443f99d02bd0e":[1,0,14,0,1], -"class_intelli_toolsettings.html#a687dacd0e15b92dda5626b1b44b86089ae45e1e6b2e6dde14829d057a4ef44199":[1,0,14,0,0], -"class_intelli_toolsettings.html#a73fa94c85c6c2fdc1a33975a33304a6f":[1,0,14,9], -"class_intelli_toolsettings.html#a7d6ce2054ec4bcba7629dc2b514b6b5c":[1,0,14,3], -"class_intelli_toolsettings.html#a906d37de6ee94b433d53fe3e598cc9fa":[1,0,14,8], -"class_intelli_toolsettings.html#a927e50594a459c952d06acd34c0eff56":[1,0,14,2], -"class_intelli_toolsettings.html#a9a61f3de61efeba2287f8b32941f4271":[1,0,14,7], -"class_painting_area.html":[1,0,16], -"class_painting_area.html#a0b22e18069b524f3e75857d203baf256":[1,0,16,8], -"class_painting_area.html#a132535c4e16052c1472cf1b9f3e096ed":[1,0,16,36], -"class_painting_area.html#a13c2f94644bea9c2d3123d0b7898f34b":[1,0,16,12], -"class_painting_area.html#a1ff0b9c1227531943c9cec2c546fae5e":[1,0,16,34], -"class_painting_area.html#a2382ebf8c31dee36cb714f34a18b71e4":[1,0,16,14], -"class_painting_area.html#a240c33a7875addac86080cdfb0db036a":[1,0,16,9], -"class_painting_area.html#a24280454ebb80db7feba2fd621513353":[1,0,16,18], -"class_painting_area.html#a2d9f4b3585f7dd1acb11f432ca503466":[1,0,16,7], -"class_painting_area.html#a35b5df914acb608cc29717659793359c":[1,0,16,24], -"class_painting_area.html#a3de83443d2d5cf460ff48d0602070938":[1,0,16,11], -"class_painting_area.html#a4735d4cf1dc58a9096d904e74c39c4df":[1,0,16,4], -"class_painting_area.html#a4a8138b9508ee4ec87a7fca9160368a7":[1,0,16,28], -"class_painting_area.html#a4fa0ec23e78cc59f28c823584c721460":[1,0,16,0], -"class_painting_area.html#a5b04ce62ce024e307f54e0281f7ae4bd":[1,0,16,13] +"class_intelli_input_dialog.html":[1,0,2], +"class_intelli_input_dialog.html#a23f837147e6aab3d8e0aff9d0f7012bd":[1,0,2,2], +"class_intelli_input_dialog.html#aa276ec605b08b19d70c54654cc606cc5":[1,0,2,0], +"class_intelli_input_dialog.html#ae59e68446caab323945ea725f69e89b0":[1,0,2,1], +"class_intelli_photo_gui.html":[1,0,3], +"class_intelli_photo_gui.html#a1dbef8d4688227aa9455aea52db00bf4":[1,0,3,3], +"class_intelli_photo_gui.html#a2cf48070236ae8b35245e7f30482ef13":[1,0,3,1], +"class_intelli_photo_gui.html#a343f8ebf5d27b7242208747de6c92497":[1,0,3,2], +"class_intelli_photo_gui.html#ad2aaec3c1517a9aaa461b54e341b97e0":[1,0,3,0], +"class_intelli_raster_image.html":[1,0,4], +"class_intelli_raster_image.html#a612d79124f0e2c158a4f0abbe4b5f97f":[1,0,4,5], +"class_intelli_raster_image.html#a6462fa5f94c5e64e9e1f0c4658e0507b":[1,0,4,6], +"class_intelli_raster_image.html#a844a2b58c43f7e01f2ca116286371bc8":[1,0,4,1], +"class_intelli_raster_image.html#a87cf2d360c129d64a5db0db85818eb60":[1,0,4,2], +"class_intelli_raster_image.html#a8f901301b106504de3c27308ade897dc":[1,0,4,3], +"class_intelli_raster_image.html#ae43393397b0141a8033fe34d3a1b1884":[1,0,4,4], +"class_intelli_raster_image.html#ae779b571372296f1922af818ba003413":[1,0,4,0], +"class_intelli_render_settings.html":[1,0,5], +"class_intelli_render_settings.html#a4a01de6e5e8e516a7eae51d6f1f66529":[1,0,5,0], +"class_intelli_render_settings.html#a5d0eb9a5a3bf788dd87509386dea8dcd":[1,0,5,1], +"class_intelli_render_settings.html#a5ffb878b77e5d448ffe4eb03a8397ac2":[1,0,5,2], +"class_intelli_shaped_image.html":[1,0,6], +"class_intelli_shaped_image.html#a43d63d8a814852d377ee2030658fbab9":[1,0,6,1], +"class_intelli_shaped_image.html#a4b69d75de7a3b85032482982f249458e":[1,0,6,6], +"class_intelli_shaped_image.html#a68cf374247c16f07fd84d50e4cd05630":[1,0,6,3], +"class_intelli_shaped_image.html#a727d19ce314c0874be6b0633a3a603c8":[1,0,6,7], +"class_intelli_shaped_image.html#ac6a99e1a96134073bceea252b37636cc":[1,0,6,4], +"class_intelli_shaped_image.html#ae2e612a1fa52d7f878b34a7a7022d8e9":[1,0,6,0], +"class_intelli_shaped_image.html#ae4518c7f5a105cc4f33fabb60c794a93":[1,0,6,5], +"class_intelli_shaped_image.html#aed0b31e0fa771104399d1f5ff39a0337":[1,0,6,2], +"class_intelli_tool.html":[1,0,7], +"class_intelli_tool.html#a0020fad2e26315d5c4d96dbc95d1dceb":[1,0,7,3], +"class_intelli_tool.html#a08ef094271ce6248b42f888472463526":[1,0,7,1], +"class_intelli_tool.html#a144d469cc03584f501194529a1b53c77":[1,0,7,14], +"class_intelli_tool.html#a16189b00307c6d7e89f28198f54404b0":[1,0,7,9], +"class_intelli_tool.html#a1e6aa68ac5f3c2ca02319e5ef3f0c966":[1,0,7,8], +"class_intelli_tool.html#a34b7ef1dde96b94a0ce450a25ae1778c":[1,0,7,5], +"class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8f":[1,0,7,0], +"class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fa0af50777920c1401ab975cab64c4d491":[1,0,7,0,0], +"class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fa17b8ef2c330f1430e00c9de5469fc7e7":[1,0,7,0,2], +"class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fa526904ea67131c56718f9882518b5d93":[1,0,7,0,1], +"class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fa8e8e58fe94ab307a826e087028a7c01a":[1,0,7,0,6], +"class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fab50339a10e1de285ac99d4c3990b8693":[1,0,7,0,7], +"class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fad3fa1aa45b9fe56e1fc1b558d8ed6678":[1,0,7,0,3], +"class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8faecdc92bf56d960b73b02ee40125758bc":[1,0,7,0,5], +"class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8faf62eb0bf5e5c72e80983fbbac1cb70e5":[1,0,7,0,4], +"class_intelli_tool.html#a4dccfd4460255ccb866f336406a33574":[1,0,7,10], +"class_intelli_tool.html#a555aa8a74992327f740dd69b3bb0ccca":[1,0,7,16], +"class_intelli_tool.html#a55f6b45b416b7d790fa8bc09603bf67f":[1,0,7,17], +"class_intelli_tool.html#a57fb1b27d364c9e3696eb928b75fa9f2":[1,0,7,2], +"class_intelli_tool.html#a631388999f36013628e13b9de87a6f7b":[1,0,7,12], +"class_intelli_tool.html#a906a2575c16c8a33cb2a5197f8d8cc5b":[1,0,7,6], +"class_intelli_tool.html#aae2a11c5bae4973ed827c60e0c1352b1":[1,0,7,4], +"class_intelli_tool.html#ab4c2698a0f9f25fb6639ec760d2d0289":[1,0,7,13], +"class_intelli_tool.html#ac10e20414cd8855a2f9b103fb6408639":[1,0,7,7], +"class_intelli_tool.html#ae2e0ac394611a361ab4ef2fe55c03fef":[1,0,7,15], +"class_intelli_tool.html#aedccdad01b2bc6ec84fad3582251ff5d":[1,0,7,11], +"class_intelli_tool_circle.html":[1,0,8], +"class_intelli_tool_circle.html#a29d7b9ed4960e6fe1f31ff620363e429":[1,0,8,5], +"class_intelli_tool_circle.html#a7a03b65b95d7b5d72e6a92c95f068954":[1,0,8,1], +"class_intelli_tool_circle.html#a835327842fb71cb6a505e260ac5b69c8":[1,0,8,0], +"class_intelli_tool_circle.html#a90ee58c5390a86afc75c14ca79b91d7b":[1,0,8,4], +"class_intelli_tool_circle.html#aca07540f2f7ccb3d2c0b84890c1afc4c":[1,0,8,6], +"class_intelli_tool_circle.html#ad8e438ec997c57262b5efc2db4cee1a3":[1,0,8,3], +"class_intelli_tool_circle.html#ae2d9b0fb6695c184c4cb507a5fb75506":[1,0,8,7], +"class_intelli_tool_circle.html#ae883b8ae833c78a8867e626c600f9639":[1,0,8,2], +"class_intelli_tool_flood_fill.html":[1,0,9], +"class_intelli_tool_flood_fill.html#a0b283b1b0135ff909a7199be9da9c076":[1,0,9,0], +"class_intelli_tool_flood_fill.html#a39cf49c0ce46f96be3510f0b70c9d892":[1,0,9,6], +"class_intelli_tool_flood_fill.html#a3cd42cea99bc7583875abcc0c274c668":[1,0,9,4], +"class_intelli_tool_flood_fill.html#a7438ef96c6c36068bce76e2364e8594c":[1,0,9,3], +"class_intelli_tool_flood_fill.html#a83b1bd8be0cbb32cdf61a9597ec849ba":[1,0,9,1], +"class_intelli_tool_flood_fill.html#ac85e3cb6233508ff9612833a8d9e3961":[1,0,9,2], +"class_intelli_tool_flood_fill.html#ad58cc7c065123beb6b0270f99e99b991":[1,0,9,7], +"class_intelli_tool_flood_fill.html#ada0f7154d119102410a55038763a17e4":[1,0,9,5], +"class_intelli_tool_line.html":[1,0,10], +"class_intelli_tool_line.html#a111e83e0f0fec7d4ff773ba9f235e4dc":[1,0,10,0], +"class_intelli_tool_line.html#a155d676a5f98311217eb095be4759846":[1,0,10,2], +"class_intelli_tool_line.html#a6214918cba5753f89d97de4559a2b9b2":[1,0,10,6], +"class_intelli_tool_line.html#a6cce59f3017936214b10b47252a898a3":[1,0,10,5], +"class_intelli_tool_line.html#aaf1d686e1ec43f41b5186ccfd806b125":[1,0,10,7], +"class_intelli_tool_line.html#abc6324ef0778823fe7e35aef8ae37f9b":[1,0,10,4], +"class_intelli_tool_line.html#ac93f76ff20a1c111a403b298bab02482":[1,0,10,3], +"class_intelli_tool_line.html#acb600b0f4e9225ebce2937c2b7abb4c2":[1,0,10,1], +"class_intelli_tool_pen.html":[1,0,11], +"class_intelli_tool_pen.html#a1751e3864a0d36ef42ca55021cae73ce":[1,0,11,5], +"class_intelli_tool_pen.html#a58d1d636497b630647ce0c4d652737c2":[1,0,11,4], +"class_intelli_tool_pen.html#a8ff40aef6d38eb55af31a19322429205":[1,0,11,2], +"class_intelli_tool_pen.html#a9f885143d6bb7adda3dcd3707d59e14d":[1,0,11,0], +"class_intelli_tool_pen.html#abda7a22b9766fa4ad254324a53cab94d":[1,0,11,3], +"class_intelli_tool_pen.html#abf8562e8cd2da586afdf4d47b3a4ff13":[1,0,11,6], +"class_intelli_tool_pen.html#ac77a025515d0fed6954556fe2b444818":[1,0,11,1], +"class_intelli_tool_pen.html#afe3626ddff440ab125f4a2465c45427a":[1,0,11,7], +"class_intelli_tool_plain_tool.html":[1,0,12], +"class_intelli_tool_plain_tool.html#a2ae458f1b04eb77a47f6dca5e91e33b8":[1,0,12,6], +"class_intelli_tool_plain_tool.html#a816bcd6aea046994420969bed8b139d2":[1,0,12,0], +"class_intelli_tool_plain_tool.html#a91fe568be05c075814d67440472bb658":[1,0,12,1], +"class_intelli_tool_plain_tool.html#ab786dd5fa80af863246013d43c4b7ac9":[1,0,12,2], +"class_intelli_tool_plain_tool.html#ac23f5d0f07e42fd7c2ea3fc1347da400":[1,0,12,3], +"class_intelli_tool_plain_tool.html#acb0c46e16d2c09370a2244a936de38b1":[1,0,12,5], +"class_intelli_tool_plain_tool.html#ad7546a6335bb3bb4cbf0e1883788d41c":[1,0,12,4], +"class_intelli_tool_plain_tool.html#adc004ea421e2cc0ac39cc7a6b6d43d0d":[1,0,12,7], +"class_intelli_tool_polygon.html":[1,0,13], +"class_intelli_tool_polygon.html#a087cbf2254010989df6106a357471499":[1,0,13,1], +"class_intelli_tool_polygon.html#a0e3a1135f04c73c159137ae219a38922":[1,0,13,4], +"class_intelli_tool_polygon.html#a47cad87cd02b128b02dc929713bd1d1b":[1,0,13,6], +"class_intelli_tool_polygon.html#a4e1473ff408ae2e11cf6a43f6f575f21":[1,0,13,3], +"class_intelli_tool_polygon.html#a63b8c7514a87d4608533fbb557ee0db5":[1,0,13,0], +"class_intelli_tool_polygon.html#a713103300c9f023d64d9eec5ac05dd17":[1,0,13,7], +"class_intelli_tool_polygon.html#aa36b012b48311c36e7cd6771a5081427":[1,0,13,5], +"class_intelli_tool_polygon.html#ad5d3b741be6d0647a9cdc9da2cb8bc3d":[1,0,13,2], +"class_intelli_tool_rectangle.html":[1,0,14], +"class_intelli_tool_rectangle.html#a445c53a56e859f970e59f5036e221e0c":[1,0,14,7], +"class_intelli_tool_rectangle.html#a480c6804a4963c5a1c3f7ef84b63c1a8":[1,0,14,5], +"class_intelli_tool_rectangle.html#a4b5931071e21eb6949ffe357315e408b":[1,0,14,4], +"class_intelli_tool_rectangle.html#a7dc1463e726a21255e6297241dc71fb1":[1,0,14,1], +"class_intelli_tool_rectangle.html#a94460e3ff1c19e80bde922c55f53cc43":[1,0,14,3], +"class_intelli_tool_rectangle.html#ad43f653256a6516b9398f82054be0d7f":[1,0,14,6], +"class_intelli_tool_rectangle.html#ada06457247d5b173888a9a520b31ec5c":[1,0,14,0], +"class_intelli_tool_rectangle.html#ae03c307ccf66cbe3fd59e3657712368d":[1,0,14,2], +"class_intelli_toolsettings.html":[1,0,15], +"class_intelli_toolsettings.html#a5560602964ab95380967d63ab7ec6e69":[1,0,15,0], +"class_intelli_toolsettings.html#a68528dd3bad8f39ba19fa6b12a4e415a":[1,0,15,3], +"class_intelli_toolsettings.html#a73fa94c85c6c2fdc1a33975a33304a6f":[1,0,15,5], +"class_intelli_toolsettings.html#a7d6ce2054ec4bcba7629dc2b514b6b5c":[1,0,15,2], +"class_intelli_toolsettings.html#a927e50594a459c952d06acd34c0eff56":[1,0,15,1], +"class_intelli_toolsettings.html#a9a61f3de61efeba2287f8b32941f4271":[1,0,15,4], +"class_painting_area.html":[1,0,17], +"class_painting_area.html#a0b22e18069b524f3e75857d203baf256":[1,0,17,8], +"class_painting_area.html#a132535c4e16052c1472cf1b9f3e096ed":[1,0,17,39], +"class_painting_area.html#a13c2f94644bea9c2d3123d0b7898f34b":[1,0,17,12], +"class_painting_area.html#a1ff0b9c1227531943c9cec2c546fae5e":[1,0,17,37], +"class_painting_area.html#a240c33a7875addac86080cdfb0db036a":[1,0,17,9], +"class_painting_area.html#a24280454ebb80db7feba2fd621513353":[1,0,17,20], +"class_painting_area.html#a2d9f4b3585f7dd1acb11f432ca503466":[1,0,17,7], +"class_painting_area.html#a35b5df914acb608cc29717659793359c":[1,0,17,26], +"class_painting_area.html#a3de83443d2d5cf460ff48d0602070938":[1,0,17,11], +"class_painting_area.html#a4735d4cf1dc58a9096d904e74c39c4df":[1,0,17,4] }; diff --git a/docs/html/navtreeindex1.js b/docs/html/navtreeindex1.js index 5b768aa..c433266 100644 --- a/docs/html/navtreeindex1.js +++ b/docs/html/navtreeindex1.js @@ -1,37 +1,48 @@ var NAVTREEINDEX1 = { -"class_painting_area.html#a632848d99f44d33d7da2618fbc6775a4":[1,0,16,35], -"class_painting_area.html#a675ee91b26b1c58be6d833f279d81597":[1,0,16,21], -"class_painting_area.html#a6c7e0865e684ae1089ee283b4399d055":[1,0,16,32], -"class_painting_area.html#a6e9207612cef104d39013564696fe989":[1,0,16,2], -"class_painting_area.html#a71ac281e0de263208d4a3b9de74258ec":[1,0,16,33], -"class_painting_area.html#a79eb059829f27e8cdb3a54c5cd3d12c9":[1,0,16,31], -"class_painting_area.html#a7ae21fd031ee1c04f92e042e86be0a90":[1,0,16,19], -"class_painting_area.html#a88c7e759aa8375a56129791645f46ea5":[1,0,16,27], -"class_painting_area.html#a96c6248e343e44b61cf2625cb6d21353":[1,0,16,10], -"class_painting_area.html#aa22e274b6094a9619f196cd7b49526b5":[1,0,16,22], -"class_painting_area.html#aa2463d4f403224086acab02903ae407e":[1,0,16,30], -"class_painting_area.html#aa32adc113f77031945f73e33051931e8":[1,0,16,1], -"class_painting_area.html#ab4a0b3a497ea8821a045ad12c34bd980":[1,0,16,3], -"class_painting_area.html#ab57e8ccda60fff7187463a90e65c5335":[1,0,16,29], -"class_painting_area.html#abc2f798744f1dc805a651731eb1692ea":[1,0,16,37], -"class_painting_area.html#abfe445f8d9b70ae42bfeda874127dd15":[1,0,16,23], -"class_painting_area.html#ac576f58aad03b4dcd47611b6a4b9abb4":[1,0,16,16], -"class_painting_area.html#ac6d089f4357b22d9a9906fd4771de3e7":[1,0,16,26], -"class_painting_area.html#acab11ad35d07e9081203d8217d2c0855":[1,0,16,17], -"class_painting_area.html#acff4563d006fda491469bd41778d07eb":[1,0,16,6], -"class_painting_area.html#ae05f6893fb44bfcb34018573a609cd1a":[1,0,16,25], -"class_painting_area.html#ae261acaaa346610dfed489dbac17e789":[1,0,16,5], -"class_painting_area.html#ae92b27dfd09573c224d2ae1958d3bead":[1,0,16,20], -"class_painting_area.html#aeb5eb394b979ea90f2be9849fdda1774":[1,0,16,15], +"class_painting_area.html#a4a8138b9508ee4ec87a7fca9160368a7":[1,0,17,30], +"class_painting_area.html#a4f484ff3ca7ae202ab57a00f52551423":[1,0,17,16], +"class_painting_area.html#a4fa0ec23e78cc59f28c823584c721460":[1,0,17,0], +"class_painting_area.html#a5b04ce62ce024e307f54e0281f7ae4bd":[1,0,17,13], +"class_painting_area.html#a632848d99f44d33d7da2618fbc6775a4":[1,0,17,38], +"class_painting_area.html#a63be0831e5b6ceb8cc622d83aa28f0bd":[1,0,17,35], +"class_painting_area.html#a675ee91b26b1c58be6d833f279d81597":[1,0,17,23], +"class_painting_area.html#a6c7e0865e684ae1089ee283b4399d055":[1,0,17,33], +"class_painting_area.html#a6e9207612cef104d39013564696fe989":[1,0,17,2], +"class_painting_area.html#a71ac281e0de263208d4a3b9de74258ec":[1,0,17,36], +"class_painting_area.html#a79eb059829f27e8cdb3a54c5cd3d12c9":[1,0,17,32], +"class_painting_area.html#a7ae21fd031ee1c04f92e042e86be0a90":[1,0,17,21], +"class_painting_area.html#a88c7e759aa8375a56129791645f46ea5":[1,0,17,29], +"class_painting_area.html#a96c6248e343e44b61cf2625cb6d21353":[1,0,17,10], +"class_painting_area.html#a9b7dc8b8dc0b301ce58206aa76fb1630":[1,0,17,14], +"class_painting_area.html#aa22e274b6094a9619f196cd7b49526b5":[1,0,17,24], +"class_painting_area.html#aa2463d4f403224086acab02903ae407e":[1,0,17,31], +"class_painting_area.html#aa32adc113f77031945f73e33051931e8":[1,0,17,1], +"class_painting_area.html#aa409492ac26483d618bb33616f2e3f81":[1,0,17,34], +"class_painting_area.html#aa811d142df9239ae248679bd70ad6da7":[1,0,17,18], +"class_painting_area.html#ab4a0b3a497ea8821a045ad12c34bd980":[1,0,17,3], +"class_painting_area.html#abc2f798744f1dc805a651731eb1692ea":[1,0,17,40], +"class_painting_area.html#abfe445f8d9b70ae42bfeda874127dd15":[1,0,17,25], +"class_painting_area.html#ac576f58aad03b4dcd47611b6a4b9abb4":[1,0,17,15], +"class_painting_area.html#ac6d089f4357b22d9a9906fd4771de3e7":[1,0,17,28], +"class_painting_area.html#acab11ad35d07e9081203d8217d2c0855":[1,0,17,17], +"class_painting_area.html#acff4563d006fda491469bd41778d07eb":[1,0,17,6], +"class_painting_area.html#ae05f6893fb44bfcb34018573a609cd1a":[1,0,17,27], +"class_painting_area.html#ae261acaaa346610dfed489dbac17e789":[1,0,17,5], +"class_painting_area.html#ae92b27dfd09573c224d2ae1958d3bead":[1,0,17,22], +"class_painting_area.html#aeb082c1cda3edb6b68d8ee45cf4822f8":[1,0,17,19], +"class_unit_test.html":[1,0,19], +"class_unit_test.html#a67ddaff817b55a624741d32550052f4b":[1,0,19,2], +"class_unit_test.html#a67ddaff817b55a624741d32550052f4b":[1,0,19,0], +"class_unit_test.html#afa0bdd3e2ac33cd52e697406339a2edf":[1,0,19,3], +"class_unit_test.html#afa0bdd3e2ac33cd52e697406339a2edf":[1,0,19,1], "classes.html":[1,1], -"dir_544f9dcb748f922e4bb3be2540380bf2.html":[2,0,0,0,1], -"dir_5dabb14988a75c922e285f444641a133.html":[2,0,0,0,0], -"dir_83a4347d11f2ba6343d546ab133722d2.html":[2,0,0,0], -"dir_8db5f55022e7670536cbc9a6a1d6f01c.html":[2,0,0], -"dir_941490de56ac122cf77df9922cbcc750.html":[2,0,0,0,4], -"dir_e6d96184223881d115efa44ca0dfa844.html":[2,0,0,0,3], -"dir_f50aa5156fe016a259583c412dbf440c.html":[2,0,0,0,2], +"dir_13830bfc3dd6736fe878600c9081919f.html":[2,0,0,3], +"dir_4e4e2e75df7fa6971448b424c011c8b5.html":[2,0,0,0], +"dir_68267d1309a1af8e8297ef4c3efbcdba.html":[2,0,0], +"dir_858355f3357c73763e566ff49d1e6a7a.html":[2,0,0,4], +"dir_8de6078cba2a961961818cf80b28fd4f.html":[2,0,0,2], +"dir_fdbdd9841f9a730f284bb666ff3d8cfe.html":[2,0,0,1], "files.html":[2,0], "functions.html":[1,3,0], "functions_enum.html":[1,3,3], @@ -42,23 +53,27 @@ var NAVTREEINDEX1 = "globals_func.html":[2,1,1], "hierarchy.html":[1,2], "index.html":[], -"main_8cpp.html":[2,0,0,0,5], -"main_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97":[2,0,0,0,5,0], -"main_8cpp_source.html":[2,0,0,0,5], +"main_8cpp.html":[2,0,0,5], +"main_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97":[2,0,0,5,0], +"main_8cpp_source.html":[2,0,0,5], +"main_unit_test_8cpp.html":[2,0,0,6], +"main_unit_test_8cpp_source.html":[2,0,0,6], "namespace_intelli_triangulation.html":[0,0,0], "namespacemembers.html":[0,1,0], "namespacemembers_func.html":[0,1,1], "namespaces.html":[0,0], "pages.html":[], -"struct_layer_object.html":[1,0,15], -"struct_layer_object.html#a08bacdcd64a0ae0eb5376f55329954bc":[1,0,15,2], -"struct_layer_object.html#a402cb1d9f20436032fe080681b80eb56":[1,0,15,0], -"struct_layer_object.html#a72b44d27c7bbb60dde14f04ec240ab96":[1,0,15,5], -"struct_layer_object.html#ae0003fb815e50ed587a9897988befc90":[1,0,15,1], -"struct_layer_object.html#af01a139bc8edfdbb338393874e89bd83":[1,0,15,3], -"struct_layer_object.html#af261813df52ff0b0c82bfa57efeb9897":[1,0,15,4], -"struct_triangle.html":[1,0,17], -"struct_triangle.html#a4fe8b39e0144ebff908b7718c2f2751b":[1,0,17,0], -"struct_triangle.html#a64fa6a90a6131f12a1a3054bf86647d7":[1,0,17,1], -"struct_triangle.html#addb8aaab314d79f3617acca01e12872a":[1,0,17,2] +"struct_layer_object.html":[1,0,16], +"struct_layer_object.html#a08bacdcd64a0ae0eb5376f55329954bc":[1,0,16,2], +"struct_layer_object.html#a402cb1d9f20436032fe080681b80eb56":[1,0,16,0], +"struct_layer_object.html#a72b44d27c7bbb60dde14f04ec240ab96":[1,0,16,5], +"struct_layer_object.html#ae0003fb815e50ed587a9897988befc90":[1,0,16,1], +"struct_layer_object.html#af01a139bc8edfdbb338393874e89bd83":[1,0,16,3], +"struct_layer_object.html#af261813df52ff0b0c82bfa57efeb9897":[1,0,16,4], +"struct_triangle.html":[1,0,18], +"struct_triangle.html#a4fe8b39e0144ebff908b7718c2f2751b":[1,0,18,0], +"struct_triangle.html#a64fa6a90a6131f12a1a3054bf86647d7":[1,0,18,1], +"struct_triangle.html#addb8aaab314d79f3617acca01e12872a":[1,0,18,2], +"tst__unittest_8cpp.html":[2,0,0,7], +"tst__unittest_8cpp_source.html":[2,0,0,7] }; diff --git a/docs/html/open.png b/docs/html/open.png index 545c51b..de209e3 100644 Binary files a/docs/html/open.png and b/docs/html/open.png differ diff --git a/docs/html/resize.js b/docs/html/resize.js index f5291d9..a0bb5f4 100644 --- a/docs/html/resize.js +++ b/docs/html/resize.js @@ -91,6 +91,7 @@ function initResizable() } collapsedWidth=width; } + (document.getElementById(location.hash.slice(1))||document.body).scrollIntoView(); } function collapseExpand() diff --git a/docs/html/search/all_0.html b/docs/html/search/all_0.html index a52d5f0..26dd244 100644 --- a/docs/html/search/all_0.html +++ b/docs/html/search/all_0.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/all_1.html b/docs/html/search/all_1.html index 0fcb704..8eb215b 100644 --- a/docs/html/search/all_1.html +++ b/docs/html/search/all_1.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/all_10.html b/docs/html/search/all_10.html index c234738..6fd3a4a 100644 --- a/docs/html/search/all_10.html +++ b/docs/html/search/all_10.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/all_10.js b/docs/html/search/all_10.js index 22c3a38..c04840d 100644 --- a/docs/html/search/all_10.js +++ b/docs/html/search/all_10.js @@ -1,6 +1,6 @@ var searchData= [ - ['wheelevent_160',['wheelEvent',['../class_painting_area.html#a632848d99f44d33d7da2618fbc6775a4',1,'PaintingArea']]], - ['width_161',['width',['../struct_layer_object.html#af261813df52ff0b0c82bfa57efeb9897',1,'LayerObject']]], - ['widthoffset_162',['widthOffset',['../struct_layer_object.html#a72b44d27c7bbb60dde14f04ec240ab96',1,'LayerObject']]] + ['unittest_169',['UnitTest',['../class_unit_test.html',1,'UnitTest'],['../class_unit_test.html#a67ddaff817b55a624741d32550052f4b',1,'UnitTest::UnitTest()'],['../class_unit_test.html#a67ddaff817b55a624741d32550052f4b',1,'UnitTest::UnitTest()']]], + ['updategui_170',['UpdateGui',['../class_intelli_photo_gui.html#a1dbef8d4688227aa9455aea52db00bf4',1,'IntelliPhotoGui']]], + ['updaterenderersetting_171',['updateRendererSetting',['../class_intelli_image.html#ae4dbaefabce4ec5bec37f5b95e2f62e2',1,'IntelliImage']]] ]; diff --git a/docs/html/search/all_11.html b/docs/html/search/all_11.html index 2f927fe..f78343b 100644 --- a/docs/html/search/all_11.html +++ b/docs/html/search/all_11.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/all_11.js b/docs/html/search/all_11.js index 738992b..c478149 100644 --- a/docs/html/search/all_11.js +++ b/docs/html/search/all_11.js @@ -1,17 +1,6 @@ var searchData= [ - ['_7eintellicolorpicker_163',['~IntelliColorPicker',['../class_intelli_color_picker.html#a40b975268a1f05249e8a49dde9a862ff',1,'IntelliColorPicker']]], - ['_7eintelliimage_164',['~IntelliImage',['../class_intelli_image.html#ac398bfa9ddd3185508a1e36ee15d80cc',1,'IntelliImage']]], - ['_7eintellirasterimage_165',['~IntelliRasterImage',['../class_intelli_raster_image.html#a844a2b58c43f7e01f2ca116286371bc8',1,'IntelliRasterImage']]], - ['_7eintellishapedimage_166',['~IntelliShapedImage',['../class_intelli_shaped_image.html#a43d63d8a814852d377ee2030658fbab9',1,'IntelliShapedImage']]], - ['_7eintellitool_167',['~IntelliTool',['../class_intelli_tool.html#a57fb1b27d364c9e3696eb928b75fa9f2',1,'IntelliTool']]], - ['_7eintellitoolcircle_168',['~IntelliToolCircle',['../class_intelli_tool_circle.html#a7a03b65b95d7b5d72e6a92c95f068954',1,'IntelliToolCircle']]], - ['_7eintellitoolfloodfill_169',['~IntelliToolFloodFill',['../class_intelli_tool_flood_fill.html#a83b1bd8be0cbb32cdf61a9597ec849ba',1,'IntelliToolFloodFill']]], - ['_7eintellitoolline_170',['~IntelliToolLine',['../class_intelli_tool_line.html#acb600b0f4e9225ebce2937c2b7abb4c2',1,'IntelliToolLine']]], - ['_7eintellitoolpen_171',['~IntelliToolPen',['../class_intelli_tool_pen.html#ac77a025515d0fed6954556fe2b444818',1,'IntelliToolPen']]], - ['_7eintellitoolplaintool_172',['~IntelliToolPlainTool',['../class_intelli_tool_plain_tool.html#a91fe568be05c075814d67440472bb658',1,'IntelliToolPlainTool']]], - ['_7eintellitoolpolygon_173',['~IntelliToolPolygon',['../class_intelli_tool_polygon.html#a087cbf2254010989df6106a357471499',1,'IntelliToolPolygon']]], - ['_7eintellitoolrectangle_174',['~IntelliToolRectangle',['../class_intelli_tool_rectangle.html#a7dc1463e726a21255e6297241dc71fb1',1,'IntelliToolRectangle']]], - ['_7eintellitoolsettings_175',['~IntelliToolsettings',['../class_intelli_toolsettings.html#a927e50594a459c952d06acd34c0eff56',1,'IntelliToolsettings']]], - ['_7epaintingarea_176',['~PaintingArea',['../class_painting_area.html#aa32adc113f77031945f73e33051931e8',1,'PaintingArea']]] + ['wheelevent_172',['wheelEvent',['../class_painting_area.html#a632848d99f44d33d7da2618fbc6775a4',1,'PaintingArea']]], + ['width_173',['width',['../struct_layer_object.html#af261813df52ff0b0c82bfa57efeb9897',1,'LayerObject']]], + ['widthoffset_174',['widthOffset',['../struct_layer_object.html#a72b44d27c7bbb60dde14f04ec240ab96',1,'LayerObject']]] ]; diff --git a/docs/html/search/all_12.html b/docs/html/search/all_12.html new file mode 100644 index 0000000..dd9ff1d --- /dev/null +++ b/docs/html/search/all_12.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_12.js b/docs/html/search/all_12.js new file mode 100644 index 0000000..e5b1ebc --- /dev/null +++ b/docs/html/search/all_12.js @@ -0,0 +1,18 @@ +var searchData= +[ + ['_7eintellicolorpicker_175',['~IntelliColorPicker',['../class_intelli_color_picker.html#a40b975268a1f05249e8a49dde9a862ff',1,'IntelliColorPicker']]], + ['_7eintelliimage_176',['~IntelliImage',['../class_intelli_image.html#ac398bfa9ddd3185508a1e36ee15d80cc',1,'IntelliImage']]], + ['_7eintellirasterimage_177',['~IntelliRasterImage',['../class_intelli_raster_image.html#a844a2b58c43f7e01f2ca116286371bc8',1,'IntelliRasterImage']]], + ['_7eintellishapedimage_178',['~IntelliShapedImage',['../class_intelli_shaped_image.html#a43d63d8a814852d377ee2030658fbab9',1,'IntelliShapedImage']]], + ['_7eintellitool_179',['~IntelliTool',['../class_intelli_tool.html#a57fb1b27d364c9e3696eb928b75fa9f2',1,'IntelliTool']]], + ['_7eintellitoolcircle_180',['~IntelliToolCircle',['../class_intelli_tool_circle.html#a7a03b65b95d7b5d72e6a92c95f068954',1,'IntelliToolCircle']]], + ['_7eintellitoolfloodfill_181',['~IntelliToolFloodFill',['../class_intelli_tool_flood_fill.html#a83b1bd8be0cbb32cdf61a9597ec849ba',1,'IntelliToolFloodFill']]], + ['_7eintellitoolline_182',['~IntelliToolLine',['../class_intelli_tool_line.html#acb600b0f4e9225ebce2937c2b7abb4c2',1,'IntelliToolLine']]], + ['_7eintellitoolpen_183',['~IntelliToolPen',['../class_intelli_tool_pen.html#ac77a025515d0fed6954556fe2b444818',1,'IntelliToolPen']]], + ['_7eintellitoolplaintool_184',['~IntelliToolPlainTool',['../class_intelli_tool_plain_tool.html#a91fe568be05c075814d67440472bb658',1,'IntelliToolPlainTool']]], + ['_7eintellitoolpolygon_185',['~IntelliToolPolygon',['../class_intelli_tool_polygon.html#a087cbf2254010989df6106a357471499',1,'IntelliToolPolygon']]], + ['_7eintellitoolrectangle_186',['~IntelliToolRectangle',['../class_intelli_tool_rectangle.html#a7dc1463e726a21255e6297241dc71fb1',1,'IntelliToolRectangle']]], + ['_7eintellitoolsettings_187',['~IntelliToolsettings',['../class_intelli_toolsettings.html#a927e50594a459c952d06acd34c0eff56',1,'IntelliToolsettings']]], + ['_7epaintingarea_188',['~PaintingArea',['../class_painting_area.html#aa32adc113f77031945f73e33051931e8',1,'PaintingArea']]], + ['_7eunittest_189',['~UnitTest',['../class_unit_test.html#afa0bdd3e2ac33cd52e697406339a2edf',1,'UnitTest::~UnitTest()'],['../class_unit_test.html#afa0bdd3e2ac33cd52e697406339a2edf',1,'UnitTest::~UnitTest()']]] +]; diff --git a/docs/html/search/all_2.html b/docs/html/search/all_2.html index 19c530f..b26d916 100644 --- a/docs/html/search/all_2.html +++ b/docs/html/search/all_2.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/all_3.html b/docs/html/search/all_3.html index 1ae887f..b61b96f 100644 --- a/docs/html/search/all_3.html +++ b/docs/html/search/all_3.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/all_3.js b/docs/html/search/all_3.js index 9608801..83e1cf9 100644 --- a/docs/html/search/all_3.js +++ b/docs/html/search/all_3.js @@ -1,9 +1,8 @@ var searchData= [ - ['deletelayer_25',['deleteLayer',['../class_painting_area.html#a2382ebf8c31dee36cb714f34a18b71e4',1,'PaintingArea']]], - ['dotted_5fline_26',['DOTTED_LINE',['../class_intelli_toolsettings.html#a687dacd0e15b92dda5626b1b44b86089a7660f396543c877e45d443f99d02bd0e',1,'IntelliToolsettings']]], - ['drawline_27',['drawLine',['../class_intelli_image.html#af8eddbd9aa54c8d37590d1d4bf8dce31',1,'IntelliImage']]], - ['drawpixel_28',['drawPixel',['../class_intelli_image.html#af3c859f5c409e37051edfd9e9fbca056',1,'IntelliImage']]], - ['drawplain_29',['drawPlain',['../class_intelli_image.html#a6be622810dc2bc756054bb5769becb06',1,'IntelliImage']]], - ['drawpoint_30',['drawPoint',['../class_intelli_image.html#a2e787f1b333b59401643936ebb3dcfe1',1,'IntelliImage']]] + ['deletelayer_25',['deleteLayer',['../class_painting_area.html#a9b7dc8b8dc0b301ce58206aa76fb1630',1,'PaintingArea']]], + ['drawline_26',['drawLine',['../class_intelli_image.html#af8eddbd9aa54c8d37590d1d4bf8dce31',1,'IntelliImage']]], + ['drawpixel_27',['drawPixel',['../class_intelli_image.html#af3c859f5c409e37051edfd9e9fbca056',1,'IntelliImage']]], + ['drawplain_28',['drawPlain',['../class_intelli_image.html#a6be622810dc2bc756054bb5769becb06',1,'IntelliImage']]], + ['drawpoint_29',['drawPoint',['../class_intelli_image.html#a2e787f1b333b59401643936ebb3dcfe1',1,'IntelliImage']]] ]; diff --git a/docs/html/search/all_4.html b/docs/html/search/all_4.html index 14c90ef..06de155 100644 --- a/docs/html/search/all_4.html +++ b/docs/html/search/all_4.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/all_4.js b/docs/html/search/all_4.js index d87126f..3582f85 100644 --- a/docs/html/search/all_4.js +++ b/docs/html/search/all_4.js @@ -1,5 +1,5 @@ var searchData= [ - ['fastrenderer_31',['fastRenderer',['../class_intelli_image.html#adade0f6990152f09d953067a51511b9c',1,'IntelliImage']]], - ['floodfill_32',['floodFill',['../class_painting_area.html#aeb5eb394b979ea90f2be9849fdda1774',1,'PaintingArea::floodFill()'],['../class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fa526904ea67131c56718f9882518b5d93',1,'IntelliTool::FLOODFILL()']]] + ['fastrenderering_30',['fastRenderering',['../class_intelli_image.html#aa63d34c7932113d021653980ee018671',1,'IntelliImage']]], + ['floodfill_31',['FLOODFILL',['../class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fa526904ea67131c56718f9882518b5d93',1,'IntelliTool']]] ]; diff --git a/docs/html/search/all_5.html b/docs/html/search/all_5.html index 60fa53e..2544c4e 100644 --- a/docs/html/search/all_5.html +++ b/docs/html/search/all_5.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/all_5.js b/docs/html/search/all_5.js index 85f0485..1ba5d99 100644 --- a/docs/html/search/all_5.js +++ b/docs/html/search/all_5.js @@ -1,23 +1,25 @@ var searchData= [ - ['getdeepcopy_33',['getDeepCopy',['../class_intelli_image.html#af6381067bdf565669f856bb589008ae9',1,'IntelliImage::getDeepCopy()'],['../class_intelli_raster_image.html#a8f901301b106504de3c27308ade897dc',1,'IntelliRasterImage::getDeepCopy()'],['../class_intelli_shaped_image.html#aed0b31e0fa771104399d1f5ff39a0337',1,'IntelliShapedImage::getDeepCopy()']]], - ['getdisplayable_34',['getDisplayable',['../class_intelli_image.html#a21c7e65b59a26db45aac3880133ef21d',1,'IntelliImage::getDisplayable(const QSize &displaySize, int alpha)=0'],['../class_intelli_image.html#a9d4daf3c48c64695105689f61c21bae0',1,'IntelliImage::getDisplayable(int alpha=255)=0'],['../class_intelli_raster_image.html#ae43393397b0141a8033fe34d3a1b1884',1,'IntelliRasterImage::getDisplayable(const QSize &displaySize, int alpha) override'],['../class_intelli_raster_image.html#a612d79124f0e2c158a4f0abbe4b5f97f',1,'IntelliRasterImage::getDisplayable(int alpha=255) override'],['../class_intelli_shaped_image.html#a68cf374247c16f07fd84d50e4cd05630',1,'IntelliShapedImage::getDisplayable(const QSize &displaySize, int alpha=255) override'],['../class_intelli_shaped_image.html#ac6a99e1a96134073bceea252b37636cc',1,'IntelliShapedImage::getDisplayable(int alpha=255) override']]], - ['getfastrenderer_35',['getFastRenderer',['../class_intelli_render_settings.html#a5a74e7d7ed3a2e944883dddbe8bbf5e8',1,'IntelliRenderSettings']]], - ['getfirstcolor_36',['getFirstColor',['../class_intelli_color_picker.html#aae2eb27b928fe9388b9398b0556303b7',1,'IntelliColorPicker']]], - ['getheightofactive_37',['getHeightOfActive',['../class_painting_area.html#ac576f58aad03b4dcd47611b6a4b9abb4',1,'PaintingArea']]], - ['getimagedata_38',['getImageData',['../class_intelli_image.html#ad66fbe380ffe0e073a8cd760f8285fe3',1,'IntelliImage']]], - ['getimageofactivelayer_39',['getImageOfActiveLayer',['../class_painting_area.html#acab11ad35d07e9081203d8217d2c0855',1,'PaintingArea']]], - ['getinneralpha_40',['getInnerAlpha',['../class_intelli_toolsettings.html#a7d6ce2054ec4bcba7629dc2b514b6b5c',1,'IntelliToolsettings']]], + ['getdeepcopy_32',['getDeepCopy',['../class_intelli_image.html#af6381067bdf565669f856bb589008ae9',1,'IntelliImage::getDeepCopy()'],['../class_intelli_raster_image.html#a8f901301b106504de3c27308ade897dc',1,'IntelliRasterImage::getDeepCopy()'],['../class_intelli_shaped_image.html#aed0b31e0fa771104399d1f5ff39a0337',1,'IntelliShapedImage::getDeepCopy()']]], + ['getdisplayable_33',['getDisplayable',['../class_intelli_image.html#a21c7e65b59a26db45aac3880133ef21d',1,'IntelliImage::getDisplayable(const QSize &displaySize, int alpha)=0'],['../class_intelli_image.html#a9d4daf3c48c64695105689f61c21bae0',1,'IntelliImage::getDisplayable(int alpha=255)=0'],['../class_intelli_raster_image.html#ae43393397b0141a8033fe34d3a1b1884',1,'IntelliRasterImage::getDisplayable(const QSize &displaySize, int alpha) override'],['../class_intelli_raster_image.html#a612d79124f0e2c158a4f0abbe4b5f97f',1,'IntelliRasterImage::getDisplayable(int alpha=255) override'],['../class_intelli_shaped_image.html#a68cf374247c16f07fd84d50e4cd05630',1,'IntelliShapedImage::getDisplayable(const QSize &displaySize, int alpha=255) override'],['../class_intelli_shaped_image.html#ac6a99e1a96134073bceea252b37636cc',1,'IntelliShapedImage::getDisplayable(int alpha=255) override']]], + ['getfirstcolor_34',['getFirstColor',['../class_intelli_color_picker.html#aae2eb27b928fe9388b9398b0556303b7',1,'IntelliColorPicker']]], + ['getheightofactive_35',['getHeightOfActive',['../class_painting_area.html#ac576f58aad03b4dcd47611b6a4b9abb4',1,'PaintingArea']]], + ['getimagedata_36',['getImageData',['../class_intelli_image.html#ad66fbe380ffe0e073a8cd760f8285fe3',1,'IntelliImage']]], + ['getimagedataofactivelayer_37',['getImageDataOfActiveLayer',['../class_painting_area.html#a4f484ff3ca7ae202ab57a00f52551423',1,'PaintingArea']]], + ['getimageofactivelayer_38',['getImageOfActiveLayer',['../class_painting_area.html#acab11ad35d07e9081203d8217d2c0855',1,'PaintingArea']]], + ['getinneralpha_39',['getInnerAlpha',['../class_intelli_toolsettings.html#a7d6ce2054ec4bcba7629dc2b514b6b5c',1,'IntelliToolsettings']]], + ['getint_40',['getInt',['../class_intelli_input_dialog.html#a480ac2f5b8f7b9bc1cd7b30df84c2a62',1,'IntelliInputDialog']]], ['getisdrawing_41',['getIsDrawing',['../class_intelli_tool.html#a0020fad2e26315d5c4d96dbc95d1dceb',1,'IntelliTool']]], - ['getlinestyle_42',['getLinestyle',['../class_intelli_toolsettings.html#a5beb193b25e0665516244c61c5e65aa6',1,'IntelliToolsettings']]], - ['getlinewidth_43',['getLineWidth',['../class_intelli_toolsettings.html#a68528dd3bad8f39ba19fa6b12a4e415a',1,'IntelliToolsettings']]], - ['getnumberofactivelayer_44',['getNumberOfActiveLayer',['../class_painting_area.html#a24280454ebb80db7feba2fd621513353',1,'PaintingArea']]], - ['getpixelcolor_45',['getPixelColor',['../class_intelli_image.html#a4576ebb6d863321c816293d7b7f9fd3f',1,'IntelliImage']]], - ['getpolygondata_46',['getPolygonData',['../class_intelli_image.html#aaf9f3e8db8666850024bee9aad9966ba',1,'IntelliImage::getPolygonData()'],['../class_intelli_shaped_image.html#ae4518c7f5a105cc4f33fabb60c794a93',1,'IntelliShapedImage::getPolygonData()']]], - ['getpolygondataofreallayer_47',['getPolygonDataOfRealLayer',['../class_painting_area.html#a7ae21fd031ee1c04f92e042e86be0a90',1,'PaintingArea']]], - ['getsecondcolor_48',['getSecondColor',['../class_intelli_color_picker.html#a55568fbf5dc783f06284b7031ffe9415',1,'IntelliColorPicker']]], - ['gettooltype_49',['getTooltype',['../class_intelli_tool.html#aae2a11c5bae4973ed827c60e0c1352b1',1,'IntelliTool']]], - ['gettypeofimage_50',['getTypeOfImage',['../class_intelli_image.html#af6b09c8d1d6b54a7e8a4e7286f3e503f',1,'IntelliImage']]], - ['gettypeofimagereallayer_51',['getTypeOfImageRealLayer',['../class_painting_area.html#ae92b27dfd09573c224d2ae1958d3bead',1,'PaintingArea']]], - ['getwidthofactive_52',['getWidthOfActive',['../class_painting_area.html#a675ee91b26b1c58be6d833f279d81597',1,'PaintingArea']]] + ['getlinewidth_42',['getLineWidth',['../class_intelli_toolsettings.html#a68528dd3bad8f39ba19fa6b12a4e415a',1,'IntelliToolsettings']]], + ['getmaxheight_43',['getMaxHeight',['../class_painting_area.html#aa811d142df9239ae248679bd70ad6da7',1,'PaintingArea']]], + ['getmaxwidth_44',['getMaxWidth',['../class_painting_area.html#aeb082c1cda3edb6b68d8ee45cf4822f8',1,'PaintingArea']]], + ['getnumberofactivelayer_45',['getNumberOfActiveLayer',['../class_painting_area.html#a24280454ebb80db7feba2fd621513353',1,'PaintingArea']]], + ['getpixelcolor_46',['getPixelColor',['../class_intelli_image.html#a4576ebb6d863321c816293d7b7f9fd3f',1,'IntelliImage']]], + ['getpolygondata_47',['getPolygonData',['../class_intelli_image.html#aaf9f3e8db8666850024bee9aad9966ba',1,'IntelliImage::getPolygonData()'],['../class_intelli_shaped_image.html#ae4518c7f5a105cc4f33fabb60c794a93',1,'IntelliShapedImage::getPolygonData()']]], + ['getpolygondataofreallayer_48',['getPolygonDataOfRealLayer',['../class_painting_area.html#a7ae21fd031ee1c04f92e042e86be0a90',1,'PaintingArea']]], + ['getsecondcolor_49',['getSecondColor',['../class_intelli_color_picker.html#a55568fbf5dc783f06284b7031ffe9415',1,'IntelliColorPicker']]], + ['gettooltype_50',['getTooltype',['../class_intelli_tool.html#aae2a11c5bae4973ed827c60e0c1352b1',1,'IntelliTool']]], + ['gettypeofimage_51',['getTypeOfImage',['../class_intelli_image.html#af6b09c8d1d6b54a7e8a4e7286f3e503f',1,'IntelliImage']]], + ['gettypeofimagereallayer_52',['getTypeOfImageRealLayer',['../class_painting_area.html#ae92b27dfd09573c224d2ae1958d3bead',1,'PaintingArea']]], + ['getwidthofactive_53',['getWidthOfActive',['../class_painting_area.html#a675ee91b26b1c58be6d833f279d81597',1,'PaintingArea']]] ]; diff --git a/docs/html/search/all_6.html b/docs/html/search/all_6.html index 7180363..43f14ea 100644 --- a/docs/html/search/all_6.html +++ b/docs/html/search/all_6.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/all_6.js b/docs/html/search/all_6.js index b6329b8..745560b 100644 --- a/docs/html/search/all_6.js +++ b/docs/html/search/all_6.js @@ -1,5 +1,5 @@ var searchData= [ - ['height_53',['height',['../struct_layer_object.html#ae0003fb815e50ed587a9897988befc90',1,'LayerObject']]], - ['heightoffset_54',['heightOffset',['../struct_layer_object.html#a08bacdcd64a0ae0eb5376f55329954bc',1,'LayerObject']]] + ['height_54',['height',['../struct_layer_object.html#ae0003fb815e50ed587a9897988befc90',1,'LayerObject']]], + ['heightoffset_55',['heightOffset',['../struct_layer_object.html#a08bacdcd64a0ae0eb5376f55329954bc',1,'LayerObject']]] ]; diff --git a/docs/html/search/all_7.html b/docs/html/search/all_7.html index ee6d2e4..af52f82 100644 --- a/docs/html/search/all_7.html +++ b/docs/html/search/all_7.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/all_7.js b/docs/html/search/all_7.js index 6ae7558..29d4e96 100644 --- a/docs/html/search/all_7.js +++ b/docs/html/search/all_7.js @@ -1,57 +1,61 @@ var searchData= [ - ['image_55',['image',['../struct_layer_object.html#af01a139bc8edfdbb338393874e89bd83',1,'LayerObject']]], - ['imagedata_56',['imageData',['../class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2',1,'IntelliImage']]], - ['imagetype_57',['ImageType',['../class_intelli_image.html#a5274ce9fcdcb2659c148e7ff916b680e',1,'IntelliImage']]], - ['intellicolorpicker_58',['IntelliColorPicker',['../class_intelli_color_picker.html',1,'IntelliColorPicker'],['../class_intelli_color_picker.html#a0d1247bdd87add1396ea5d9acaad79ae',1,'IntelliColorPicker::IntelliColorPicker()']]], - ['intellicolorpicker_2ecpp_59',['IntelliColorPicker.cpp',['../_intelli_helper_2_intelli_color_picker_8cpp.html',1,'(Global Namespace)'],['../_tool_2_intelli_color_picker_8cpp.html',1,'(Global Namespace)']]], - ['intellicolorpicker_2eh_60',['IntelliColorPicker.h',['../_intelli_color_picker_8h.html',1,'']]], - ['intelliimage_61',['IntelliImage',['../class_intelli_image.html',1,'IntelliImage'],['../class_intelli_image.html#a2c6632ff35ee0a7094a8a289eb3a8652',1,'IntelliImage::IntelliImage()']]], - ['intelliimage_2ecpp_62',['IntelliImage.cpp',['../_intelli_image_8cpp.html',1,'']]], - ['intelliimage_2eh_63',['IntelliImage.h',['../_intelli_image_8h.html',1,'']]], - ['intelliphotogui_64',['IntelliPhotoGui',['../class_intelli_photo_gui.html',1,'IntelliPhotoGui'],['../class_intelli_photo_gui.html#ad2aaec3c1517a9aaa461b54e341b97e0',1,'IntelliPhotoGui::IntelliPhotoGui()']]], - ['intelliphotogui_2ecpp_65',['IntelliPhotoGui.cpp',['../_intelli_photo_gui_8cpp.html',1,'']]], - ['intelliphotogui_2eh_66',['IntelliPhotoGui.h',['../_intelli_photo_gui_8h.html',1,'']]], - ['intellirasterimage_67',['IntelliRasterImage',['../class_intelli_raster_image.html',1,'IntelliRasterImage'],['../class_intelli_raster_image.html#ae779b571372296f1922af818ba003413',1,'IntelliRasterImage::IntelliRasterImage()']]], - ['intellirasterimage_2ecpp_68',['IntelliRasterImage.cpp',['../_intelli_raster_image_8cpp.html',1,'']]], - ['intellirasterimage_2eh_69',['IntelliRasterImage.h',['../_intelli_raster_image_8h.html',1,'']]], - ['intellirendersettings_70',['IntelliRenderSettings',['../class_intelli_render_settings.html',1,'IntelliRenderSettings'],['../class_intelli_render_settings.html#a4a01de6e5e8e516a7eae51d6f1f66529',1,'IntelliRenderSettings::IntelliRenderSettings()']]], - ['intellirendersettings_2ecpp_71',['IntelliRenderSettings.cpp',['../_intelli_render_settings_8cpp.html',1,'']]], - ['intellirendersettings_2eh_72',['IntelliRenderSettings.h',['../_intelli_render_settings_8h.html',1,'']]], - ['intellishapedimage_73',['IntelliShapedImage',['../class_intelli_shaped_image.html',1,'IntelliShapedImage'],['../class_intelli_shaped_image.html#ae2e612a1fa52d7f878b34a7a7022d8e9',1,'IntelliShapedImage::IntelliShapedImage()']]], - ['intellishapedimage_2ecpp_74',['IntelliShapedImage.cpp',['../_intelli_shaped_image_8cpp.html',1,'']]], - ['intellishapedimage_2eh_75',['IntelliShapedImage.h',['../_intelli_shaped_image_8h.html',1,'']]], - ['intellitool_76',['IntelliTool',['../class_intelli_tool.html',1,'IntelliTool'],['../class_intelli_tool.html#a08ef094271ce6248b42f888472463526',1,'IntelliTool::IntelliTool()']]], - ['intellitool_2ecpp_77',['IntelliTool.cpp',['../_intelli_tool_8cpp.html',1,'']]], - ['intellitool_2eh_78',['IntelliTool.h',['../_intelli_tool_8h.html',1,'']]], - ['intellitoolcircle_79',['IntelliToolCircle',['../class_intelli_tool_circle.html',1,'IntelliToolCircle'],['../class_intelli_tool_circle.html#a835327842fb71cb6a505e260ac5b69c8',1,'IntelliToolCircle::IntelliToolCircle()']]], - ['intellitoolcircle_2ecpp_80',['IntelliToolCircle.cpp',['../_intelli_tool_circle_8cpp.html',1,'']]], - ['intellitoolcircle_2eh_81',['IntelliToolCircle.h',['../_intelli_tool_circle_8h.html',1,'']]], - ['intellitoolfloodfill_82',['IntelliToolFloodFill',['../class_intelli_tool_flood_fill.html',1,'IntelliToolFloodFill'],['../class_intelli_tool_flood_fill.html#a0b283b1b0135ff909a7199be9da9c076',1,'IntelliToolFloodFill::IntelliToolFloodFill()']]], - ['intellitoolfloodfill_2ecpp_83',['IntelliToolFloodFill.cpp',['../_intelli_tool_flood_fill_8cpp.html',1,'']]], - ['intellitoolfloodfill_2eh_84',['IntelliToolFloodFill.h',['../_intelli_tool_flood_fill_8h.html',1,'']]], - ['intellitoolline_85',['IntelliToolLine',['../class_intelli_tool_line.html',1,'IntelliToolLine'],['../class_intelli_tool_line.html#a111e83e0f0fec7d4ff773ba9f235e4dc',1,'IntelliToolLine::IntelliToolLine()']]], - ['intellitoolline_2ecpp_86',['IntelliToolLine.cpp',['../_intelli_tool_line_8cpp.html',1,'']]], - ['intellitoolline_2eh_87',['IntelliToolLine.h',['../_intelli_tool_line_8h.html',1,'']]], - ['intellitoolpen_88',['IntelliToolPen',['../class_intelli_tool_pen.html',1,'IntelliToolPen'],['../class_intelli_tool_pen.html#a9f885143d6bb7adda3dcd3707d59e14d',1,'IntelliToolPen::IntelliToolPen()']]], - ['intellitoolpen_2ecpp_89',['IntelliToolPen.cpp',['../_intelli_tool_pen_8cpp.html',1,'']]], - ['intellitoolpen_2eh_90',['IntelliToolPen.h',['../_intelli_tool_pen_8h.html',1,'']]], - ['intellitoolplain_2ecpp_91',['IntelliToolPlain.cpp',['../_intelli_tool_plain_8cpp.html',1,'']]], - ['intellitoolplain_2eh_92',['IntelliToolPlain.h',['../_intelli_tool_plain_8h.html',1,'']]], - ['intellitoolplaintool_93',['IntelliToolPlainTool',['../class_intelli_tool_plain_tool.html',1,'IntelliToolPlainTool'],['../class_intelli_tool_plain_tool.html#a816bcd6aea046994420969bed8b139d2',1,'IntelliToolPlainTool::IntelliToolPlainTool()']]], - ['intellitoolpolygon_94',['IntelliToolPolygon',['../class_intelli_tool_polygon.html',1,'IntelliToolPolygon'],['../class_intelli_tool_polygon.html#a3c39299dfffa5b8a45e72a4c0b48b32c',1,'IntelliToolPolygon::IntelliToolPolygon()']]], - ['intellitoolpolygon_2ecpp_95',['IntelliToolPolygon.cpp',['../_intelli_tool_polygon_8cpp.html',1,'']]], - ['intellitoolpolygon_2eh_96',['IntelliToolPolygon.h',['../_intelli_tool_polygon_8h.html',1,'']]], - ['intellitoolrectangle_97',['IntelliToolRectangle',['../class_intelli_tool_rectangle.html',1,'IntelliToolRectangle'],['../class_intelli_tool_rectangle.html#ada06457247d5b173888a9a520b31ec5c',1,'IntelliToolRectangle::IntelliToolRectangle()']]], - ['intellitoolrectangle_2ecpp_98',['IntelliToolRectangle.cpp',['../_intelli_tool_rectangle_8cpp.html',1,'']]], - ['intellitoolrectangle_2eh_99',['IntelliToolRectangle.h',['../_intelli_tool_rectangle_8h.html',1,'']]], - ['intellitoolsettings_100',['IntelliToolsettings',['../class_intelli_toolsettings.html',1,'IntelliToolsettings'],['../class_intelli_toolsettings.html#a5560602964ab95380967d63ab7ec6e69',1,'IntelliToolsettings::IntelliToolsettings()']]], - ['intellitoolsettings_2ecpp_101',['IntelliToolsettings.cpp',['../_intelli_toolsettings_8cpp.html',1,'']]], - ['intellitoolsettings_2eh_102',['IntelliToolsettings.h',['../_intelli_toolsettings_8h.html',1,'']]], - ['intellitriangulation_103',['IntelliTriangulation',['../namespace_intelli_triangulation.html',1,'']]], - ['intellitriangulation_2ecpp_104',['IntelliTriangulation.cpp',['../_intelli_triangulation_8cpp.html',1,'']]], - ['intellitriangulation_2eh_105',['IntelliTriangulation.h',['../_intelli_triangulation_8h.html',1,'']]], - ['isdrawing_106',['isDrawing',['../class_intelli_tool.html#a555aa8a74992327f740dd69b3bb0ccca',1,'IntelliTool']]], - ['isinpolygon_107',['isInPolygon',['../namespace_intelli_triangulation.html#a00621e2d8708fe2e8966d7d79b64e186',1,'IntelliTriangulation']]], - ['isintriangle_108',['isInTriangle',['../namespace_intelli_triangulation.html#ac150fee67fd41a451bd2592f10e00197',1,'IntelliTriangulation']]] + ['image_56',['image',['../struct_layer_object.html#af01a139bc8edfdbb338393874e89bd83',1,'LayerObject']]], + ['imagedata_57',['imageData',['../class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2',1,'IntelliImage']]], + ['imagetype_58',['ImageType',['../class_intelli_image.html#a5274ce9fcdcb2659c148e7ff916b680e',1,'IntelliImage']]], + ['intellicolorpicker_59',['IntelliColorPicker',['../class_intelli_color_picker.html',1,'IntelliColorPicker'],['../class_intelli_color_picker.html#a0d1247bdd87add1396ea5d9acaad79ae',1,'IntelliColorPicker::IntelliColorPicker()']]], + ['intellicolorpicker_2ecpp_60',['IntelliColorPicker.cpp',['../_intelli_color_picker_8cpp.html',1,'']]], + ['intellicolorpicker_2eh_61',['IntelliColorPicker.h',['../_intelli_color_picker_8h.html',1,'']]], + ['intelliimage_62',['IntelliImage',['../class_intelli_image.html',1,'IntelliImage'],['../class_intelli_image.html#a2c6632ff35ee0a7094a8a289eb3a8652',1,'IntelliImage::IntelliImage()']]], + ['intelliimage_2ecpp_63',['IntelliImage.cpp',['../_intelli_image_8cpp.html',1,'']]], + ['intelliimage_2eh_64',['IntelliImage.h',['../_intelli_image_8h.html',1,'']]], + ['intelliinputdialog_65',['IntelliInputDialog',['../class_intelli_input_dialog.html',1,'IntelliInputDialog'],['../class_intelli_input_dialog.html#aa276ec605b08b19d70c54654cc606cc5',1,'IntelliInputDialog::IntelliInputDialog()']]], + ['intelliinputdialog_2ecpp_66',['IntelliInputDialog.cpp',['../_intelli_input_dialog_8cpp.html',1,'']]], + ['intelliinputdialog_2eh_67',['IntelliInputDialog.h',['../_intelli_input_dialog_8h.html',1,'']]], + ['intelliphotogui_68',['IntelliPhotoGui',['../class_intelli_photo_gui.html',1,'IntelliPhotoGui'],['../class_intelli_photo_gui.html#ad2aaec3c1517a9aaa461b54e341b97e0',1,'IntelliPhotoGui::IntelliPhotoGui()']]], + ['intelliphotogui_2ecpp_69',['IntelliPhotoGui.cpp',['../_intelli_photo_gui_8cpp.html',1,'']]], + ['intelliphotogui_2eh_70',['IntelliPhotoGui.h',['../_intelli_photo_gui_8h.html',1,'']]], + ['intellirasterimage_71',['IntelliRasterImage',['../class_intelli_raster_image.html',1,'IntelliRasterImage'],['../class_intelli_raster_image.html#ae779b571372296f1922af818ba003413',1,'IntelliRasterImage::IntelliRasterImage()']]], + ['intellirasterimage_2ecpp_72',['IntelliRasterImage.cpp',['../_intelli_raster_image_8cpp.html',1,'']]], + ['intellirasterimage_2eh_73',['IntelliRasterImage.h',['../_intelli_raster_image_8h.html',1,'']]], + ['intellirendersettings_74',['IntelliRenderSettings',['../class_intelli_render_settings.html',1,'IntelliRenderSettings'],['../class_intelli_render_settings.html#a4a01de6e5e8e516a7eae51d6f1f66529',1,'IntelliRenderSettings::IntelliRenderSettings()']]], + ['intellirendersettings_2ecpp_75',['IntelliRenderSettings.cpp',['../_intelli_render_settings_8cpp.html',1,'']]], + ['intellirendersettings_2eh_76',['IntelliRenderSettings.h',['../_intelli_render_settings_8h.html',1,'']]], + ['intellishapedimage_77',['IntelliShapedImage',['../class_intelli_shaped_image.html',1,'IntelliShapedImage'],['../class_intelli_shaped_image.html#ae2e612a1fa52d7f878b34a7a7022d8e9',1,'IntelliShapedImage::IntelliShapedImage()']]], + ['intellishapedimage_2ecpp_78',['IntelliShapedImage.cpp',['../_intelli_shaped_image_8cpp.html',1,'']]], + ['intellishapedimage_2eh_79',['IntelliShapedImage.h',['../_intelli_shaped_image_8h.html',1,'']]], + ['intellitool_80',['IntelliTool',['../class_intelli_tool.html',1,'IntelliTool'],['../class_intelli_tool.html#a08ef094271ce6248b42f888472463526',1,'IntelliTool::IntelliTool()']]], + ['intellitool_2ecpp_81',['IntelliTool.cpp',['../_intelli_tool_8cpp.html',1,'']]], + ['intellitool_2eh_82',['IntelliTool.h',['../_intelli_tool_8h.html',1,'']]], + ['intellitoolcircle_83',['IntelliToolCircle',['../class_intelli_tool_circle.html',1,'IntelliToolCircle'],['../class_intelli_tool_circle.html#a835327842fb71cb6a505e260ac5b69c8',1,'IntelliToolCircle::IntelliToolCircle()']]], + ['intellitoolcircle_2ecpp_84',['IntelliToolCircle.cpp',['../_intelli_tool_circle_8cpp.html',1,'']]], + ['intellitoolcircle_2eh_85',['IntelliToolCircle.h',['../_intelli_tool_circle_8h.html',1,'']]], + ['intellitoolfloodfill_86',['IntelliToolFloodFill',['../class_intelli_tool_flood_fill.html',1,'IntelliToolFloodFill'],['../class_intelli_tool_flood_fill.html#a0b283b1b0135ff909a7199be9da9c076',1,'IntelliToolFloodFill::IntelliToolFloodFill()']]], + ['intellitoolfloodfill_2ecpp_87',['IntelliToolFloodFill.cpp',['../_intelli_tool_flood_fill_8cpp.html',1,'']]], + ['intellitoolfloodfill_2eh_88',['IntelliToolFloodFill.h',['../_intelli_tool_flood_fill_8h.html',1,'']]], + ['intellitoolline_89',['IntelliToolLine',['../class_intelli_tool_line.html',1,'IntelliToolLine'],['../class_intelli_tool_line.html#a111e83e0f0fec7d4ff773ba9f235e4dc',1,'IntelliToolLine::IntelliToolLine()']]], + ['intellitoolline_2ecpp_90',['IntelliToolLine.cpp',['../_intelli_tool_line_8cpp.html',1,'']]], + ['intellitoolline_2eh_91',['IntelliToolLine.h',['../_intelli_tool_line_8h.html',1,'']]], + ['intellitoolpen_92',['IntelliToolPen',['../class_intelli_tool_pen.html',1,'IntelliToolPen'],['../class_intelli_tool_pen.html#a9f885143d6bb7adda3dcd3707d59e14d',1,'IntelliToolPen::IntelliToolPen()']]], + ['intellitoolpen_2ecpp_93',['IntelliToolPen.cpp',['../_intelli_tool_pen_8cpp.html',1,'']]], + ['intellitoolpen_2eh_94',['IntelliToolPen.h',['../_intelli_tool_pen_8h.html',1,'']]], + ['intellitoolplain_2ecpp_95',['IntelliToolPlain.cpp',['../_intelli_tool_plain_8cpp.html',1,'']]], + ['intellitoolplain_2eh_96',['IntelliToolPlain.h',['../_intelli_tool_plain_8h.html',1,'']]], + ['intellitoolplaintool_97',['IntelliToolPlainTool',['../class_intelli_tool_plain_tool.html',1,'IntelliToolPlainTool'],['../class_intelli_tool_plain_tool.html#a816bcd6aea046994420969bed8b139d2',1,'IntelliToolPlainTool::IntelliToolPlainTool()']]], + ['intellitoolpolygon_98',['IntelliToolPolygon',['../class_intelli_tool_polygon.html',1,'IntelliToolPolygon'],['../class_intelli_tool_polygon.html#a63b8c7514a87d4608533fbb557ee0db5',1,'IntelliToolPolygon::IntelliToolPolygon()']]], + ['intellitoolpolygon_2ecpp_99',['IntelliToolPolygon.cpp',['../_intelli_tool_polygon_8cpp.html',1,'']]], + ['intellitoolpolygon_2eh_100',['IntelliToolPolygon.h',['../_intelli_tool_polygon_8h.html',1,'']]], + ['intellitoolrectangle_101',['IntelliToolRectangle',['../class_intelli_tool_rectangle.html',1,'IntelliToolRectangle'],['../class_intelli_tool_rectangle.html#ada06457247d5b173888a9a520b31ec5c',1,'IntelliToolRectangle::IntelliToolRectangle()']]], + ['intellitoolrectangle_2ecpp_102',['IntelliToolRectangle.cpp',['../_intelli_tool_rectangle_8cpp.html',1,'']]], + ['intellitoolrectangle_2eh_103',['IntelliToolRectangle.h',['../_intelli_tool_rectangle_8h.html',1,'']]], + ['intellitoolsettings_104',['IntelliToolsettings',['../class_intelli_toolsettings.html',1,'IntelliToolsettings'],['../class_intelli_toolsettings.html#a5560602964ab95380967d63ab7ec6e69',1,'IntelliToolsettings::IntelliToolsettings()']]], + ['intellitoolsettings_2ecpp_105',['IntelliToolsettings.cpp',['../_intelli_toolsettings_8cpp.html',1,'']]], + ['intellitoolsettings_2eh_106',['IntelliToolsettings.h',['../_intelli_toolsettings_8h.html',1,'']]], + ['intellitriangulation_107',['IntelliTriangulation',['../namespace_intelli_triangulation.html',1,'']]], + ['intellitriangulation_2ecpp_108',['IntelliTriangulation.cpp',['../_intelli_triangulation_8cpp.html',1,'']]], + ['intellitriangulation_2eh_109',['IntelliTriangulation.h',['../_intelli_triangulation_8h.html',1,'']]], + ['isdrawing_110',['isDrawing',['../class_intelli_tool.html#a555aa8a74992327f740dd69b3bb0ccca',1,'IntelliTool']]], + ['isfastrenderering_111',['isFastRenderering',['../class_intelli_render_settings.html#a5d0eb9a5a3bf788dd87509386dea8dcd',1,'IntelliRenderSettings']]], + ['isinpolygon_112',['isInPolygon',['../namespace_intelli_triangulation.html#ac276696f29d141ed34614c1c3b1c040f',1,'IntelliTriangulation']]], + ['isintriangle_113',['isInTriangle',['../namespace_intelli_triangulation.html#ac150fee67fd41a451bd2592f10e00197',1,'IntelliTriangulation']]] ]; diff --git a/docs/html/search/all_8.html b/docs/html/search/all_8.html index 7829aa4..cf2b5df 100644 --- a/docs/html/search/all_8.html +++ b/docs/html/search/all_8.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/all_8.js b/docs/html/search/all_8.js index 83d8072..df80e86 100644 --- a/docs/html/search/all_8.js +++ b/docs/html/search/all_8.js @@ -1,7 +1,6 @@ var searchData= [ - ['layerobject_109',['LayerObject',['../struct_layer_object.html',1,'']]], - ['line_110',['LINE',['../class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fa17b8ef2c330f1430e00c9de5469fc7e7',1,'IntelliTool']]], - ['linestyle_111',['LineStyle',['../class_intelli_toolsettings.html#a687dacd0e15b92dda5626b1b44b86089',1,'IntelliToolsettings']]], - ['loadimage_112',['loadImage',['../class_intelli_image.html#ae231800aba38c96074bbe9bb6e341d4e',1,'IntelliImage']]] + ['layerobject_114',['LayerObject',['../struct_layer_object.html',1,'']]], + ['line_115',['LINE',['../class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fa17b8ef2c330f1430e00c9de5469fc7e7',1,'IntelliTool']]], + ['loadimage_116',['loadImage',['../class_intelli_image.html#ae231800aba38c96074bbe9bb6e341d4e',1,'IntelliImage']]] ]; diff --git a/docs/html/search/all_9.html b/docs/html/search/all_9.html index e4242c7..690785a 100644 --- a/docs/html/search/all_9.html +++ b/docs/html/search/all_9.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/all_9.js b/docs/html/search/all_9.js index febb253..9276f07 100644 --- a/docs/html/search/all_9.js +++ b/docs/html/search/all_9.js @@ -1,10 +1,11 @@ var searchData= [ - ['main_113',['main',['../main_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main.cpp']]], - ['main_2ecpp_114',['main.cpp',['../main_8cpp.html',1,'']]], - ['mousemoveevent_115',['mouseMoveEvent',['../class_painting_area.html#aa22e274b6094a9619f196cd7b49526b5',1,'PaintingArea']]], - ['mousepressevent_116',['mousePressEvent',['../class_painting_area.html#abfe445f8d9b70ae42bfeda874127dd15',1,'PaintingArea']]], - ['mousereleaseevent_117',['mouseReleaseEvent',['../class_painting_area.html#a35b5df914acb608cc29717659793359c',1,'PaintingArea']]], - ['moveactivelayer_118',['moveActiveLayer',['../class_painting_area.html#ae05f6893fb44bfcb34018573a609cd1a',1,'PaintingArea']]], - ['movepositionactive_119',['movePositionActive',['../class_painting_area.html#ac6d089f4357b22d9a9906fd4771de3e7',1,'PaintingArea']]] + ['main_117',['main',['../main_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main.cpp']]], + ['main_2ecpp_118',['main.cpp',['../main_8cpp.html',1,'']]], + ['mainunittest_2ecpp_119',['mainUnitTest.cpp',['../main_unit_test_8cpp.html',1,'']]], + ['mousemoveevent_120',['mouseMoveEvent',['../class_painting_area.html#aa22e274b6094a9619f196cd7b49526b5',1,'PaintingArea']]], + ['mousepressevent_121',['mousePressEvent',['../class_painting_area.html#abfe445f8d9b70ae42bfeda874127dd15',1,'PaintingArea']]], + ['mousereleaseevent_122',['mouseReleaseEvent',['../class_painting_area.html#a35b5df914acb608cc29717659793359c',1,'PaintingArea']]], + ['moveactivelayer_123',['moveActiveLayer',['../class_painting_area.html#ae05f6893fb44bfcb34018573a609cd1a',1,'PaintingArea']]], + ['movepositionactive_124',['movePositionActive',['../class_painting_area.html#ac6d089f4357b22d9a9906fd4771de3e7',1,'PaintingArea']]] ]; diff --git a/docs/html/search/all_a.html b/docs/html/search/all_a.html index 47a4a78..f2f3d3a 100644 --- a/docs/html/search/all_a.html +++ b/docs/html/search/all_a.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/all_a.js b/docs/html/search/all_a.js index 485a5f9..7561d3b 100644 --- a/docs/html/search/all_a.js +++ b/docs/html/search/all_a.js @@ -1,10 +1,4 @@ var searchData= [ - ['onmouseleftpressed_120',['onMouseLeftPressed',['../class_intelli_tool.html#a34b7ef1dde96b94a0ce450a25ae1778c',1,'IntelliTool::onMouseLeftPressed()'],['../class_intelli_tool_circle.html#ae883b8ae833c78a8867e626c600f9639',1,'IntelliToolCircle::onMouseLeftPressed()'],['../class_intelli_tool_flood_fill.html#ac85e3cb6233508ff9612833a8d9e3961',1,'IntelliToolFloodFill::onMouseLeftPressed()'],['../class_intelli_tool_line.html#a155d676a5f98311217eb095be4759846',1,'IntelliToolLine::onMouseLeftPressed()'],['../class_intelli_tool_pen.html#a8ff40aef6d38eb55af31a19322429205',1,'IntelliToolPen::onMouseLeftPressed()'],['../class_intelli_tool_plain_tool.html#ab786dd5fa80af863246013d43c4b7ac9',1,'IntelliToolPlainTool::onMouseLeftPressed()'],['../class_intelli_tool_polygon.html#ad5d3b741be6d0647a9cdc9da2cb8bc3d',1,'IntelliToolPolygon::onMouseLeftPressed()'],['../class_intelli_tool_rectangle.html#ae03c307ccf66cbe3fd59e3657712368d',1,'IntelliToolRectangle::onMouseLeftPressed()']]], - ['onmouseleftreleased_121',['onMouseLeftReleased',['../class_intelli_tool.html#a906a2575c16c8a33cb2a5197f8d8cc5b',1,'IntelliTool::onMouseLeftReleased()'],['../class_intelli_tool_circle.html#ad8e438ec997c57262b5efc2db4cee1a3',1,'IntelliToolCircle::onMouseLeftReleased()'],['../class_intelli_tool_flood_fill.html#a7438ef96c6c36068bce76e2364e8594c',1,'IntelliToolFloodFill::onMouseLeftReleased()'],['../class_intelli_tool_line.html#ac93f76ff20a1c111a403b298bab02482',1,'IntelliToolLine::onMouseLeftReleased()'],['../class_intelli_tool_pen.html#abda7a22b9766fa4ad254324a53cab94d',1,'IntelliToolPen::onMouseLeftReleased()'],['../class_intelli_tool_plain_tool.html#ac23f5d0f07e42fd7c2ea3fc1347da400',1,'IntelliToolPlainTool::onMouseLeftReleased()'],['../class_intelli_tool_polygon.html#a4e1473ff408ae2e11cf6a43f6f575f21',1,'IntelliToolPolygon::onMouseLeftReleased()'],['../class_intelli_tool_rectangle.html#a94460e3ff1c19e80bde922c55f53cc43',1,'IntelliToolRectangle::onMouseLeftReleased()']]], - ['onmousemoved_122',['onMouseMoved',['../class_intelli_tool.html#ac10e20414cd8855a2f9b103fb6408639',1,'IntelliTool::onMouseMoved()'],['../class_intelli_tool_circle.html#a90ee58c5390a86afc75c14ca79b91d7b',1,'IntelliToolCircle::onMouseMoved()'],['../class_intelli_tool_flood_fill.html#a3cd42cea99bc7583875abcc0c274c668',1,'IntelliToolFloodFill::onMouseMoved()'],['../class_intelli_tool_line.html#abc6324ef0778823fe7e35aef8ae37f9b',1,'IntelliToolLine::onMouseMoved()'],['../class_intelli_tool_pen.html#a58d1d636497b630647ce0c4d652737c2',1,'IntelliToolPen::onMouseMoved()'],['../class_intelli_tool_plain_tool.html#ad7546a6335bb3bb4cbf0e1883788d41c',1,'IntelliToolPlainTool::onMouseMoved()'],['../class_intelli_tool_polygon.html#a0e3a1135f04c73c159137ae219a38922',1,'IntelliToolPolygon::onMouseMoved()'],['../class_intelli_tool_rectangle.html#a4b5931071e21eb6949ffe357315e408b',1,'IntelliToolRectangle::onMouseMoved()']]], - ['onmouserightpressed_123',['onMouseRightPressed',['../class_intelli_tool.html#a1e6aa68ac5f3c2ca02319e5ef3f0c966',1,'IntelliTool::onMouseRightPressed()'],['../class_intelli_tool_circle.html#a29d7b9ed4960e6fe1f31ff620363e429',1,'IntelliToolCircle::onMouseRightPressed()'],['../class_intelli_tool_flood_fill.html#ada0f7154d119102410a55038763a17e4',1,'IntelliToolFloodFill::onMouseRightPressed()'],['../class_intelli_tool_line.html#a6cce59f3017936214b10b47252a898a3',1,'IntelliToolLine::onMouseRightPressed()'],['../class_intelli_tool_pen.html#a1751e3864a0d36ef42ca55021cae73ce',1,'IntelliToolPen::onMouseRightPressed()'],['../class_intelli_tool_plain_tool.html#acb0c46e16d2c09370a2244a936de38b1',1,'IntelliToolPlainTool::onMouseRightPressed()'],['../class_intelli_tool_polygon.html#aa36b012b48311c36e7cd6771a5081427',1,'IntelliToolPolygon::onMouseRightPressed()'],['../class_intelli_tool_rectangle.html#a480c6804a4963c5a1c3f7ef84b63c1a8',1,'IntelliToolRectangle::onMouseRightPressed()']]], - ['onmouserightreleased_124',['onMouseRightReleased',['../class_intelli_tool.html#a16189b00307c6d7e89f28198f54404b0',1,'IntelliTool::onMouseRightReleased()'],['../class_intelli_tool_circle.html#aca07540f2f7ccb3d2c0b84890c1afc4c',1,'IntelliToolCircle::onMouseRightReleased()'],['../class_intelli_tool_flood_fill.html#a39cf49c0ce46f96be3510f0b70c9d892',1,'IntelliToolFloodFill::onMouseRightReleased()'],['../class_intelli_tool_line.html#a6214918cba5753f89d97de4559a2b9b2',1,'IntelliToolLine::onMouseRightReleased()'],['../class_intelli_tool_pen.html#abf8562e8cd2da586afdf4d47b3a4ff13',1,'IntelliToolPen::onMouseRightReleased()'],['../class_intelli_tool_plain_tool.html#a2ae458f1b04eb77a47f6dca5e91e33b8',1,'IntelliToolPlainTool::onMouseRightReleased()'],['../class_intelli_tool_polygon.html#a47cad87cd02b128b02dc929713bd1d1b',1,'IntelliToolPolygon::onMouseRightReleased()'],['../class_intelli_tool_rectangle.html#ad43f653256a6516b9398f82054be0d7f',1,'IntelliToolRectangle::onMouseRightReleased()']]], - ['onwheelscrolled_125',['onWheelScrolled',['../class_intelli_tool.html#a4dccfd4460255ccb866f336406a33574',1,'IntelliTool::onWheelScrolled()'],['../class_intelli_tool_circle.html#ae2d9b0fb6695c184c4cb507a5fb75506',1,'IntelliToolCircle::onWheelScrolled()'],['../class_intelli_tool_flood_fill.html#ad58cc7c065123beb6b0270f99e99b991',1,'IntelliToolFloodFill::onWheelScrolled()'],['../class_intelli_tool_line.html#aaf1d686e1ec43f41b5186ccfd806b125',1,'IntelliToolLine::onWheelScrolled()'],['../class_intelli_tool_pen.html#afe3626ddff440ab125f4a2465c45427a',1,'IntelliToolPen::onWheelScrolled()'],['../class_intelli_tool_plain_tool.html#adc004ea421e2cc0ac39cc7a6b6d43d0d',1,'IntelliToolPlainTool::onWheelScrolled()'],['../class_intelli_tool_polygon.html#a713103300c9f023d64d9eec5ac05dd17',1,'IntelliToolPolygon::onWheelScrolled()'],['../class_intelli_tool_rectangle.html#a445c53a56e859f970e59f5036e221e0c',1,'IntelliToolRectangle::onWheelScrolled()']]], - ['open_126',['open',['../class_painting_area.html#a88c7e759aa8375a56129791645f46ea5',1,'PaintingArea']]] + ['none_125',['NONE',['../class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fab50339a10e1de285ac99d4c3990b8693',1,'IntelliTool']]] ]; diff --git a/docs/html/search/all_b.html b/docs/html/search/all_b.html index 1320a43..14f3403 100644 --- a/docs/html/search/all_b.html +++ b/docs/html/search/all_b.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/all_b.js b/docs/html/search/all_b.js index 61eb51e..8b6a8a0 100644 --- a/docs/html/search/all_b.js +++ b/docs/html/search/all_b.js @@ -1,12 +1,10 @@ var searchData= [ - ['paintevent_127',['paintEvent',['../class_painting_area.html#a4a8138b9508ee4ec87a7fca9160368a7',1,'PaintingArea']]], - ['paintingarea_128',['PaintingArea',['../class_painting_area.html',1,'PaintingArea'],['../class_painting_area.html#a4fa0ec23e78cc59f28c823584c721460',1,'PaintingArea::PaintingArea()']]], - ['paintingarea_2ecpp_129',['PaintingArea.cpp',['../_painting_area_8cpp.html',1,'']]], - ['paintingarea_2eh_130',['PaintingArea.h',['../_painting_area_8h.html',1,'']]], - ['pen_131',['PEN',['../class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fad3fa1aa45b9fe56e1fc1b558d8ed6678',1,'IntelliTool']]], - ['pi_132',['pi',['../_intelli_triangulation_8cpp.html#a1daf785e3f68d293c7caa1c756d5cb74',1,'IntelliTriangulation.cpp']]], - ['plain_133',['PLAIN',['../class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8faf62eb0bf5e5c72e80983fbbac1cb70e5',1,'IntelliTool']]], - ['polygon_134',['POLYGON',['../class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8faecdc92bf56d960b73b02ee40125758bc',1,'IntelliTool']]], - ['polygondata_135',['polygonData',['../class_intelli_shaped_image.html#a727d19ce314c0874be6b0633a3a603c8',1,'IntelliShapedImage']]] + ['onmouseleftpressed_126',['onMouseLeftPressed',['../class_intelli_tool.html#a34b7ef1dde96b94a0ce450a25ae1778c',1,'IntelliTool::onMouseLeftPressed()'],['../class_intelli_tool_circle.html#ae883b8ae833c78a8867e626c600f9639',1,'IntelliToolCircle::onMouseLeftPressed()'],['../class_intelli_tool_flood_fill.html#ac85e3cb6233508ff9612833a8d9e3961',1,'IntelliToolFloodFill::onMouseLeftPressed()'],['../class_intelli_tool_line.html#a155d676a5f98311217eb095be4759846',1,'IntelliToolLine::onMouseLeftPressed()'],['../class_intelli_tool_pen.html#a8ff40aef6d38eb55af31a19322429205',1,'IntelliToolPen::onMouseLeftPressed()'],['../class_intelli_tool_plain_tool.html#ab786dd5fa80af863246013d43c4b7ac9',1,'IntelliToolPlainTool::onMouseLeftPressed()'],['../class_intelli_tool_polygon.html#ad5d3b741be6d0647a9cdc9da2cb8bc3d',1,'IntelliToolPolygon::onMouseLeftPressed()'],['../class_intelli_tool_rectangle.html#ae03c307ccf66cbe3fd59e3657712368d',1,'IntelliToolRectangle::onMouseLeftPressed()']]], + ['onmouseleftreleased_127',['onMouseLeftReleased',['../class_intelli_tool.html#a906a2575c16c8a33cb2a5197f8d8cc5b',1,'IntelliTool::onMouseLeftReleased()'],['../class_intelli_tool_circle.html#ad8e438ec997c57262b5efc2db4cee1a3',1,'IntelliToolCircle::onMouseLeftReleased()'],['../class_intelli_tool_flood_fill.html#a7438ef96c6c36068bce76e2364e8594c',1,'IntelliToolFloodFill::onMouseLeftReleased()'],['../class_intelli_tool_line.html#ac93f76ff20a1c111a403b298bab02482',1,'IntelliToolLine::onMouseLeftReleased()'],['../class_intelli_tool_pen.html#abda7a22b9766fa4ad254324a53cab94d',1,'IntelliToolPen::onMouseLeftReleased()'],['../class_intelli_tool_plain_tool.html#ac23f5d0f07e42fd7c2ea3fc1347da400',1,'IntelliToolPlainTool::onMouseLeftReleased()'],['../class_intelli_tool_polygon.html#a4e1473ff408ae2e11cf6a43f6f575f21',1,'IntelliToolPolygon::onMouseLeftReleased()'],['../class_intelli_tool_rectangle.html#a94460e3ff1c19e80bde922c55f53cc43',1,'IntelliToolRectangle::onMouseLeftReleased()']]], + ['onmousemoved_128',['onMouseMoved',['../class_intelli_tool.html#ac10e20414cd8855a2f9b103fb6408639',1,'IntelliTool::onMouseMoved()'],['../class_intelli_tool_circle.html#a90ee58c5390a86afc75c14ca79b91d7b',1,'IntelliToolCircle::onMouseMoved()'],['../class_intelli_tool_flood_fill.html#a3cd42cea99bc7583875abcc0c274c668',1,'IntelliToolFloodFill::onMouseMoved()'],['../class_intelli_tool_line.html#abc6324ef0778823fe7e35aef8ae37f9b',1,'IntelliToolLine::onMouseMoved()'],['../class_intelli_tool_pen.html#a58d1d636497b630647ce0c4d652737c2',1,'IntelliToolPen::onMouseMoved()'],['../class_intelli_tool_plain_tool.html#ad7546a6335bb3bb4cbf0e1883788d41c',1,'IntelliToolPlainTool::onMouseMoved()'],['../class_intelli_tool_polygon.html#a0e3a1135f04c73c159137ae219a38922',1,'IntelliToolPolygon::onMouseMoved()'],['../class_intelli_tool_rectangle.html#a4b5931071e21eb6949ffe357315e408b',1,'IntelliToolRectangle::onMouseMoved()']]], + ['onmouserightpressed_129',['onMouseRightPressed',['../class_intelli_tool.html#a1e6aa68ac5f3c2ca02319e5ef3f0c966',1,'IntelliTool::onMouseRightPressed()'],['../class_intelli_tool_circle.html#a29d7b9ed4960e6fe1f31ff620363e429',1,'IntelliToolCircle::onMouseRightPressed()'],['../class_intelli_tool_flood_fill.html#ada0f7154d119102410a55038763a17e4',1,'IntelliToolFloodFill::onMouseRightPressed()'],['../class_intelli_tool_line.html#a6cce59f3017936214b10b47252a898a3',1,'IntelliToolLine::onMouseRightPressed()'],['../class_intelli_tool_pen.html#a1751e3864a0d36ef42ca55021cae73ce',1,'IntelliToolPen::onMouseRightPressed()'],['../class_intelli_tool_plain_tool.html#acb0c46e16d2c09370a2244a936de38b1',1,'IntelliToolPlainTool::onMouseRightPressed()'],['../class_intelli_tool_polygon.html#aa36b012b48311c36e7cd6771a5081427',1,'IntelliToolPolygon::onMouseRightPressed()'],['../class_intelli_tool_rectangle.html#a480c6804a4963c5a1c3f7ef84b63c1a8',1,'IntelliToolRectangle::onMouseRightPressed()']]], + ['onmouserightreleased_130',['onMouseRightReleased',['../class_intelli_tool.html#a16189b00307c6d7e89f28198f54404b0',1,'IntelliTool::onMouseRightReleased()'],['../class_intelli_tool_circle.html#aca07540f2f7ccb3d2c0b84890c1afc4c',1,'IntelliToolCircle::onMouseRightReleased()'],['../class_intelli_tool_flood_fill.html#a39cf49c0ce46f96be3510f0b70c9d892',1,'IntelliToolFloodFill::onMouseRightReleased()'],['../class_intelli_tool_line.html#a6214918cba5753f89d97de4559a2b9b2',1,'IntelliToolLine::onMouseRightReleased()'],['../class_intelli_tool_pen.html#abf8562e8cd2da586afdf4d47b3a4ff13',1,'IntelliToolPen::onMouseRightReleased()'],['../class_intelli_tool_plain_tool.html#a2ae458f1b04eb77a47f6dca5e91e33b8',1,'IntelliToolPlainTool::onMouseRightReleased()'],['../class_intelli_tool_polygon.html#a47cad87cd02b128b02dc929713bd1d1b',1,'IntelliToolPolygon::onMouseRightReleased()'],['../class_intelli_tool_rectangle.html#ad43f653256a6516b9398f82054be0d7f',1,'IntelliToolRectangle::onMouseRightReleased()']]], + ['onwheelscrolled_131',['onWheelScrolled',['../class_intelli_tool.html#a4dccfd4460255ccb866f336406a33574',1,'IntelliTool::onWheelScrolled()'],['../class_intelli_tool_circle.html#ae2d9b0fb6695c184c4cb507a5fb75506',1,'IntelliToolCircle::onWheelScrolled()'],['../class_intelli_tool_flood_fill.html#ad58cc7c065123beb6b0270f99e99b991',1,'IntelliToolFloodFill::onWheelScrolled()'],['../class_intelli_tool_line.html#aaf1d686e1ec43f41b5186ccfd806b125',1,'IntelliToolLine::onWheelScrolled()'],['../class_intelli_tool_pen.html#afe3626ddff440ab125f4a2465c45427a',1,'IntelliToolPen::onWheelScrolled()'],['../class_intelli_tool_plain_tool.html#adc004ea421e2cc0ac39cc7a6b6d43d0d',1,'IntelliToolPlainTool::onWheelScrolled()'],['../class_intelli_tool_polygon.html#a713103300c9f023d64d9eec5ac05dd17',1,'IntelliToolPolygon::onWheelScrolled()'],['../class_intelli_tool_rectangle.html#a445c53a56e859f970e59f5036e221e0c',1,'IntelliToolRectangle::onWheelScrolled()']]], + ['open_132',['open',['../class_painting_area.html#a88c7e759aa8375a56129791645f46ea5',1,'PaintingArea']]] ]; diff --git a/docs/html/search/all_c.html b/docs/html/search/all_c.html index 32a3a1b..da60ab8 100644 --- a/docs/html/search/all_c.html +++ b/docs/html/search/all_c.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/all_c.js b/docs/html/search/all_c.js index 7439c17..39fcfaf 100644 --- a/docs/html/search/all_c.js +++ b/docs/html/search/all_c.js @@ -1,7 +1,12 @@ var searchData= [ - ['rasterimage_136',['RASTERIMAGE',['../class_intelli_image.html#a5274ce9fcdcb2659c148e7ff916b680eadd5823fd73c42c0154fa2abbd70283b9',1,'IntelliImage']]], - ['rectangle_137',['RECTANGLE',['../class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fa8e8e58fe94ab307a826e087028a7c01a',1,'IntelliTool']]], - ['resizeevent_138',['resizeEvent',['../class_painting_area.html#ab57e8ccda60fff7187463a90e65c5335',1,'PaintingArea']]], - ['resizeimage_139',['resizeImage',['../class_intelli_image.html#a177403ab9585d4ba31984a644c54d310',1,'IntelliImage']]] + ['paintevent_133',['paintEvent',['../class_painting_area.html#a4a8138b9508ee4ec87a7fca9160368a7',1,'PaintingArea']]], + ['paintingarea_134',['PaintingArea',['../class_painting_area.html',1,'PaintingArea'],['../class_painting_area.html#a4fa0ec23e78cc59f28c823584c721460',1,'PaintingArea::PaintingArea()']]], + ['paintingarea_2ecpp_135',['PaintingArea.cpp',['../_painting_area_8cpp.html',1,'']]], + ['paintingarea_2eh_136',['PaintingArea.h',['../_painting_area_8h.html',1,'']]], + ['pen_137',['PEN',['../class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fad3fa1aa45b9fe56e1fc1b558d8ed6678',1,'IntelliTool']]], + ['pi_138',['pi',['../_intelli_triangulation_8cpp.html#a1daf785e3f68d293c7caa1c756d5cb74',1,'IntelliTriangulation.cpp']]], + ['plain_139',['PLAIN',['../class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8faf62eb0bf5e5c72e80983fbbac1cb70e5',1,'IntelliTool']]], + ['polygon_140',['POLYGON',['../class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8faecdc92bf56d960b73b02ee40125758bc',1,'IntelliTool']]], + ['polygondata_141',['polygonData',['../class_intelli_shaped_image.html#a727d19ce314c0874be6b0633a3a603c8',1,'IntelliShapedImage']]] ]; diff --git a/docs/html/search/all_d.html b/docs/html/search/all_d.html index a386096..bc376fe 100644 --- a/docs/html/search/all_d.html +++ b/docs/html/search/all_d.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/all_d.js b/docs/html/search/all_d.js index 0b41eeb..42918c9 100644 --- a/docs/html/search/all_d.js +++ b/docs/html/search/all_d.js @@ -1,17 +1,6 @@ var searchData= [ - ['save_140',['save',['../class_painting_area.html#aa2463d4f403224086acab02903ae407e',1,'PaintingArea']]], - ['setfirstcolor_141',['setFirstColor',['../class_intelli_color_picker.html#a7e2ddbbbfbed383f06b24e5bf6b27ae8',1,'IntelliColorPicker']]], - ['setinneralpha_142',['setInnerAlpha',['../class_intelli_toolsettings.html#a32f165c89190e40caf96abb916e6c876',1,'IntelliToolsettings::setInnerAlpha()'],['../class_intelli_toolsettings.html#a9a61f3de61efeba2287f8b32941f4271',1,'IntelliToolsettings::setInnerAlpha(int innerAlpha)']]], - ['setlayeractive_143',['setLayerActive',['../class_painting_area.html#a79eb059829f27e8cdb3a54c5cd3d12c9',1,'PaintingArea']]], - ['setlayeralpha_144',['setLayerAlpha',['../class_painting_area.html#a6c7e0865e684ae1089ee283b4399d055',1,'PaintingArea']]], - ['setlinewidth_145',['setLineWidth',['../class_intelli_toolsettings.html#a906d37de6ee94b433d53fe3e598cc9fa',1,'IntelliToolsettings::setLineWidth()'],['../class_intelli_toolsettings.html#a73fa94c85c6c2fdc1a33975a33304a6f',1,'IntelliToolsettings::setLineWidth(int LineWidth)']]], - ['setpolygon_146',['setPolygon',['../class_intelli_image.html#aa4b3f4631bd972456917275afb9fd309',1,'IntelliImage::setPolygon()'],['../class_intelli_raster_image.html#a6462fa5f94c5e64e9e1f0c4658e0507b',1,'IntelliRasterImage::setPolygon()'],['../class_intelli_shaped_image.html#a4b69d75de7a3b85032482982f249458e',1,'IntelliShapedImage::setPolygon()']]], - ['setsecondcolor_147',['setSecondColor',['../class_intelli_color_picker.html#a86bf4a940e4a0e465e30cbdf28748931',1,'IntelliColorPicker']]], - ['shapedimage_148',['SHAPEDIMAGE',['../class_intelli_image.html#a5274ce9fcdcb2659c148e7ff916b680eac065b60ec4cf443808263527bdc0df37',1,'IntelliImage']]], - ['sign_149',['sign',['../namespace_intelli_triangulation.html#af9af549a7faff35a74c1265b290ea0ca',1,'IntelliTriangulation']]], - ['slotactivatelayer_150',['slotActivateLayer',['../class_painting_area.html#a71ac281e0de263208d4a3b9de74258ec',1,'PaintingArea']]], - ['slotdeleteactivelayer_151',['slotDeleteActiveLayer',['../class_painting_area.html#a1ff0b9c1227531943c9cec2c546fae5e',1,'PaintingArea']]], - ['solid_5fline_152',['SOLID_LINE',['../class_intelli_toolsettings.html#a687dacd0e15b92dda5626b1b44b86089ae45e1e6b2e6dde14829d057a4ef44199',1,'IntelliToolsettings']]], - ['swapcolors_153',['swapColors',['../class_intelli_color_picker.html#aec499265ae28ce1b54be88222e74292e',1,'IntelliColorPicker']]] + ['rasterimage_142',['RASTERIMAGE',['../class_intelli_image.html#a5274ce9fcdcb2659c148e7ff916b680eadd5823fd73c42c0154fa2abbd70283b9',1,'IntelliImage']]], + ['rectangle_143',['RECTANGLE',['../class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fa8e8e58fe94ab307a826e087028a7c01a',1,'IntelliTool']]], + ['resizeimage_144',['resizeImage',['../class_intelli_image.html#a177403ab9585d4ba31984a644c54d310',1,'IntelliImage']]] ]; diff --git a/docs/html/search/all_e.html b/docs/html/search/all_e.html index 2931618..2e3c74d 100644 --- a/docs/html/search/all_e.html +++ b/docs/html/search/all_e.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/all_e.js b/docs/html/search/all_e.js index 0b2d58d..fa7e83c 100644 --- a/docs/html/search/all_e.js +++ b/docs/html/search/all_e.js @@ -1,7 +1,22 @@ var searchData= [ - ['toolsettings_154',['Toolsettings',['../class_painting_area.html#abc2f798744f1dc805a651731eb1692ea',1,'PaintingArea::Toolsettings()'],['../class_intelli_tool.html#a55f6b45b416b7d790fa8bc09603bf67f',1,'IntelliTool::Toolsettings()']]], - ['tooltype_155',['Tooltype',['../class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8f',1,'IntelliTool']]], - ['triangle_156',['Triangle',['../struct_triangle.html',1,'']]], - ['typeofimage_157',['TypeOfImage',['../class_intelli_image.html#ac460f75e1fa7e44b00a65e7fddac5b80',1,'IntelliImage']]] + ['save_145',['save',['../class_painting_area.html#aa2463d4f403224086acab02903ae407e',1,'PaintingArea']]], + ['setfastrendering_146',['setFastRendering',['../class_intelli_render_settings.html#a5ffb878b77e5d448ffe4eb03a8397ac2',1,'IntelliRenderSettings']]], + ['setfirstcolor_147',['setFirstColor',['../class_intelli_color_picker.html#a7e2ddbbbfbed383f06b24e5bf6b27ae8',1,'IntelliColorPicker']]], + ['setimagedata_148',['setImageData',['../class_intelli_image.html#ab09c64e7559f3db32ca3b20ba6339268',1,'IntelliImage']]], + ['setinneralpha_149',['setInnerAlpha',['../class_intelli_toolsettings.html#a9a61f3de61efeba2287f8b32941f4271',1,'IntelliToolsettings']]], + ['setlayeractive_150',['setLayerActive',['../class_painting_area.html#a79eb059829f27e8cdb3a54c5cd3d12c9',1,'PaintingArea']]], + ['setlayeralpha_151',['setLayerAlpha',['../class_painting_area.html#a6c7e0865e684ae1089ee283b4399d055',1,'PaintingArea']]], + ['setlinewidth_152',['setLineWidth',['../class_intelli_toolsettings.html#a73fa94c85c6c2fdc1a33975a33304a6f',1,'IntelliToolsettings']]], + ['setpolygon_153',['setPolygon',['../class_intelli_image.html#aa4b3f4631bd972456917275afb9fd309',1,'IntelliImage::setPolygon()'],['../class_intelli_raster_image.html#a6462fa5f94c5e64e9e1f0c4658e0507b',1,'IntelliRasterImage::setPolygon()'],['../class_intelli_shaped_image.html#a4b69d75de7a3b85032482982f249458e',1,'IntelliShapedImage::setPolygon()'],['../class_painting_area.html#aa409492ac26483d618bb33616f2e3f81',1,'PaintingArea::setPolygon()']]], + ['setrendersettings_154',['setRenderSettings',['../class_painting_area.html#a63be0831e5b6ceb8cc622d83aa28f0bd',1,'PaintingArea']]], + ['setsecondcolor_155',['setSecondColor',['../class_intelli_color_picker.html#a86bf4a940e4a0e465e30cbdf28748931',1,'IntelliColorPicker']]], + ['settoolwidth_156',['setToolWidth',['../class_intelli_photo_gui.html#a343f8ebf5d27b7242208747de6c92497',1,'IntelliPhotoGui']]], + ['shapedimage_157',['SHAPEDIMAGE',['../class_intelli_image.html#a5274ce9fcdcb2659c148e7ff916b680eac065b60ec4cf443808263527bdc0df37',1,'IntelliImage']]], + ['sign_158',['sign',['../namespace_intelli_triangulation.html#af9af549a7faff35a74c1265b290ea0ca',1,'IntelliTriangulation']]], + ['slotactivatelayer_159',['slotActivateLayer',['../class_painting_area.html#a71ac281e0de263208d4a3b9de74258ec',1,'PaintingArea']]], + ['slotcloseevent_160',['slotCloseEvent',['../class_intelli_input_dialog.html#ae59e68446caab323945ea725f69e89b0',1,'IntelliInputDialog']]], + ['slotdeleteactivelayer_161',['slotDeleteActiveLayer',['../class_painting_area.html#a1ff0b9c1227531943c9cec2c546fae5e',1,'PaintingArea']]], + ['sloteingabe_162',['slotEingabe',['../class_intelli_input_dialog.html#a23f837147e6aab3d8e0aff9d0f7012bd',1,'IntelliInputDialog']]], + ['swapcolors_163',['swapColors',['../class_intelli_color_picker.html#aec499265ae28ce1b54be88222e74292e',1,'IntelliColorPicker']]] ]; diff --git a/docs/html/search/all_f.html b/docs/html/search/all_f.html index ca42a52..246f8ab 100644 --- a/docs/html/search/all_f.html +++ b/docs/html/search/all_f.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/all_f.js b/docs/html/search/all_f.js index d267b6f..9dc44e7 100644 --- a/docs/html/search/all_f.js +++ b/docs/html/search/all_f.js @@ -1,5 +1,8 @@ var searchData= [ - ['updategui_158',['UpdateGui',['../class_intelli_photo_gui.html#a1dbef8d4688227aa9455aea52db00bf4',1,'IntelliPhotoGui']]], - ['updaterenderersetting_159',['updateRendererSetting',['../class_intelli_image.html#ae4dbaefabce4ec5bec37f5b95e2f62e2',1,'IntelliImage']]] + ['toolsettings_164',['Toolsettings',['../class_painting_area.html#abc2f798744f1dc805a651731eb1692ea',1,'PaintingArea::Toolsettings()'],['../class_intelli_tool.html#a55f6b45b416b7d790fa8bc09603bf67f',1,'IntelliTool::Toolsettings()']]], + ['tooltype_165',['Tooltype',['../class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8f',1,'IntelliTool']]], + ['triangle_166',['Triangle',['../struct_triangle.html',1,'']]], + ['tst_5funittest_2ecpp_167',['tst_unittest.cpp',['../tst__unittest_8cpp.html',1,'']]], + ['typeofimage_168',['TypeOfImage',['../class_intelli_image.html#ac460f75e1fa7e44b00a65e7fddac5b80',1,'IntelliImage']]] ]; diff --git a/docs/html/search/classes_0.html b/docs/html/search/classes_0.html index d585e6a..f7e4c14 100644 --- a/docs/html/search/classes_0.html +++ b/docs/html/search/classes_0.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/classes_0.js b/docs/html/search/classes_0.js index 68ca119..fdc09c0 100644 --- a/docs/html/search/classes_0.js +++ b/docs/html/search/classes_0.js @@ -1,18 +1,19 @@ var searchData= [ - ['intellicolorpicker_177',['IntelliColorPicker',['../class_intelli_color_picker.html',1,'']]], - ['intelliimage_178',['IntelliImage',['../class_intelli_image.html',1,'']]], - ['intelliphotogui_179',['IntelliPhotoGui',['../class_intelli_photo_gui.html',1,'']]], - ['intellirasterimage_180',['IntelliRasterImage',['../class_intelli_raster_image.html',1,'']]], - ['intellirendersettings_181',['IntelliRenderSettings',['../class_intelli_render_settings.html',1,'']]], - ['intellishapedimage_182',['IntelliShapedImage',['../class_intelli_shaped_image.html',1,'']]], - ['intellitool_183',['IntelliTool',['../class_intelli_tool.html',1,'']]], - ['intellitoolcircle_184',['IntelliToolCircle',['../class_intelli_tool_circle.html',1,'']]], - ['intellitoolfloodfill_185',['IntelliToolFloodFill',['../class_intelli_tool_flood_fill.html',1,'']]], - ['intellitoolline_186',['IntelliToolLine',['../class_intelli_tool_line.html',1,'']]], - ['intellitoolpen_187',['IntelliToolPen',['../class_intelli_tool_pen.html',1,'']]], - ['intellitoolplaintool_188',['IntelliToolPlainTool',['../class_intelli_tool_plain_tool.html',1,'']]], - ['intellitoolpolygon_189',['IntelliToolPolygon',['../class_intelli_tool_polygon.html',1,'']]], - ['intellitoolrectangle_190',['IntelliToolRectangle',['../class_intelli_tool_rectangle.html',1,'']]], - ['intellitoolsettings_191',['IntelliToolsettings',['../class_intelli_toolsettings.html',1,'']]] + ['intellicolorpicker_190',['IntelliColorPicker',['../class_intelli_color_picker.html',1,'']]], + ['intelliimage_191',['IntelliImage',['../class_intelli_image.html',1,'']]], + ['intelliinputdialog_192',['IntelliInputDialog',['../class_intelli_input_dialog.html',1,'']]], + ['intelliphotogui_193',['IntelliPhotoGui',['../class_intelli_photo_gui.html',1,'']]], + ['intellirasterimage_194',['IntelliRasterImage',['../class_intelli_raster_image.html',1,'']]], + ['intellirendersettings_195',['IntelliRenderSettings',['../class_intelli_render_settings.html',1,'']]], + ['intellishapedimage_196',['IntelliShapedImage',['../class_intelli_shaped_image.html',1,'']]], + ['intellitool_197',['IntelliTool',['../class_intelli_tool.html',1,'']]], + ['intellitoolcircle_198',['IntelliToolCircle',['../class_intelli_tool_circle.html',1,'']]], + ['intellitoolfloodfill_199',['IntelliToolFloodFill',['../class_intelli_tool_flood_fill.html',1,'']]], + ['intellitoolline_200',['IntelliToolLine',['../class_intelli_tool_line.html',1,'']]], + ['intellitoolpen_201',['IntelliToolPen',['../class_intelli_tool_pen.html',1,'']]], + ['intellitoolplaintool_202',['IntelliToolPlainTool',['../class_intelli_tool_plain_tool.html',1,'']]], + ['intellitoolpolygon_203',['IntelliToolPolygon',['../class_intelli_tool_polygon.html',1,'']]], + ['intellitoolrectangle_204',['IntelliToolRectangle',['../class_intelli_tool_rectangle.html',1,'']]], + ['intellitoolsettings_205',['IntelliToolsettings',['../class_intelli_toolsettings.html',1,'']]] ]; diff --git a/docs/html/search/classes_1.html b/docs/html/search/classes_1.html index baeb182..c7ff4b3 100644 --- a/docs/html/search/classes_1.html +++ b/docs/html/search/classes_1.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/classes_1.js b/docs/html/search/classes_1.js index 93045cb..3dc67ba 100644 --- a/docs/html/search/classes_1.js +++ b/docs/html/search/classes_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['layerobject_192',['LayerObject',['../struct_layer_object.html',1,'']]] + ['layerobject_206',['LayerObject',['../struct_layer_object.html',1,'']]] ]; diff --git a/docs/html/search/classes_2.html b/docs/html/search/classes_2.html index d267279..0d1e8a0 100644 --- a/docs/html/search/classes_2.html +++ b/docs/html/search/classes_2.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/classes_2.js b/docs/html/search/classes_2.js index 8820dde..77f270c 100644 --- a/docs/html/search/classes_2.js +++ b/docs/html/search/classes_2.js @@ -1,4 +1,4 @@ var searchData= [ - ['paintingarea_193',['PaintingArea',['../class_painting_area.html',1,'']]] + ['paintingarea_207',['PaintingArea',['../class_painting_area.html',1,'']]] ]; diff --git a/docs/html/search/classes_3.html b/docs/html/search/classes_3.html index 8a5cbe1..2102545 100644 --- a/docs/html/search/classes_3.html +++ b/docs/html/search/classes_3.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/classes_3.js b/docs/html/search/classes_3.js index c457820..8e64488 100644 --- a/docs/html/search/classes_3.js +++ b/docs/html/search/classes_3.js @@ -1,4 +1,4 @@ var searchData= [ - ['triangle_194',['Triangle',['../struct_triangle.html',1,'']]] + ['triangle_208',['Triangle',['../struct_triangle.html',1,'']]] ]; diff --git a/docs/html/search/classes_4.html b/docs/html/search/classes_4.html new file mode 100644 index 0000000..095ab59 --- /dev/null +++ b/docs/html/search/classes_4.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/classes_4.js b/docs/html/search/classes_4.js new file mode 100644 index 0000000..a01181e --- /dev/null +++ b/docs/html/search/classes_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['unittest_209',['UnitTest',['../class_unit_test.html',1,'']]] +]; diff --git a/docs/html/search/defines_0.html b/docs/html/search/defines_0.html index 8fb07b8..2deb369 100644 --- a/docs/html/search/defines_0.html +++ b/docs/html/search/defines_0.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/defines_0.js b/docs/html/search/defines_0.js index c60f4d5..51788b0 100644 --- a/docs/html/search/defines_0.js +++ b/docs/html/search/defines_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['pi_370',['pi',['../_intelli_triangulation_8cpp.html#a1daf785e3f68d293c7caa1c756d5cb74',1,'IntelliTriangulation.cpp']]] + ['pi_397',['pi',['../_intelli_triangulation_8cpp.html#a1daf785e3f68d293c7caa1c756d5cb74',1,'IntelliTriangulation.cpp']]] ]; diff --git a/docs/html/search/enums_0.html b/docs/html/search/enums_0.html index ae7a884..9669700 100644 --- a/docs/html/search/enums_0.html +++ b/docs/html/search/enums_0.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/enums_0.js b/docs/html/search/enums_0.js index 0c801d5..bcf997e 100644 --- a/docs/html/search/enums_0.js +++ b/docs/html/search/enums_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['imagetype_356',['ImageType',['../class_intelli_image.html#a5274ce9fcdcb2659c148e7ff916b680e',1,'IntelliImage']]] + ['imagetype_385',['ImageType',['../class_intelli_image.html#a5274ce9fcdcb2659c148e7ff916b680e',1,'IntelliImage']]] ]; diff --git a/docs/html/search/enums_1.html b/docs/html/search/enums_1.html index dfbb13a..dfec174 100644 --- a/docs/html/search/enums_1.html +++ b/docs/html/search/enums_1.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/enums_1.js b/docs/html/search/enums_1.js index cf61346..d007e63 100644 --- a/docs/html/search/enums_1.js +++ b/docs/html/search/enums_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['linestyle_357',['LineStyle',['../class_intelli_toolsettings.html#a687dacd0e15b92dda5626b1b44b86089',1,'IntelliToolsettings']]] + ['tooltype_386',['Tooltype',['../class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8f',1,'IntelliTool']]] ]; diff --git a/docs/html/search/enumvalues_0.html b/docs/html/search/enumvalues_0.html index 1c0bbf9..9286248 100644 --- a/docs/html/search/enumvalues_0.html +++ b/docs/html/search/enumvalues_0.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/enumvalues_0.js b/docs/html/search/enumvalues_0.js index 270f0e6..978402f 100644 --- a/docs/html/search/enumvalues_0.js +++ b/docs/html/search/enumvalues_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['circle_359',['CIRCLE',['../class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fa0af50777920c1401ab975cab64c4d491',1,'IntelliTool']]] + ['circle_387',['CIRCLE',['../class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fa0af50777920c1401ab975cab64c4d491',1,'IntelliTool']]] ]; diff --git a/docs/html/search/enumvalues_1.html b/docs/html/search/enumvalues_1.html index 070fd0b..e22a79f 100644 --- a/docs/html/search/enumvalues_1.html +++ b/docs/html/search/enumvalues_1.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/enumvalues_1.js b/docs/html/search/enumvalues_1.js index 4ea6630..ddc4de4 100644 --- a/docs/html/search/enumvalues_1.js +++ b/docs/html/search/enumvalues_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['dotted_5fline_360',['DOTTED_LINE',['../class_intelli_toolsettings.html#a687dacd0e15b92dda5626b1b44b86089a7660f396543c877e45d443f99d02bd0e',1,'IntelliToolsettings']]] + ['floodfill_388',['FLOODFILL',['../class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fa526904ea67131c56718f9882518b5d93',1,'IntelliTool']]] ]; diff --git a/docs/html/search/enumvalues_2.html b/docs/html/search/enumvalues_2.html index 25e9a37..01a77bf 100644 --- a/docs/html/search/enumvalues_2.html +++ b/docs/html/search/enumvalues_2.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/enumvalues_2.js b/docs/html/search/enumvalues_2.js index a2c72c0..e4f8994 100644 --- a/docs/html/search/enumvalues_2.js +++ b/docs/html/search/enumvalues_2.js @@ -1,4 +1,4 @@ var searchData= [ - ['floodfill_361',['FLOODFILL',['../class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fa526904ea67131c56718f9882518b5d93',1,'IntelliTool']]] + ['line_389',['LINE',['../class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fa17b8ef2c330f1430e00c9de5469fc7e7',1,'IntelliTool']]] ]; diff --git a/docs/html/search/enumvalues_3.html b/docs/html/search/enumvalues_3.html index 670eb93..4e761d6 100644 --- a/docs/html/search/enumvalues_3.html +++ b/docs/html/search/enumvalues_3.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/enumvalues_3.js b/docs/html/search/enumvalues_3.js index a0d79fa..f0c43d0 100644 --- a/docs/html/search/enumvalues_3.js +++ b/docs/html/search/enumvalues_3.js @@ -1,4 +1,4 @@ var searchData= [ - ['line_362',['LINE',['../class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fa17b8ef2c330f1430e00c9de5469fc7e7',1,'IntelliTool']]] + ['none_390',['NONE',['../class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fab50339a10e1de285ac99d4c3990b8693',1,'IntelliTool']]] ]; diff --git a/docs/html/search/enumvalues_4.html b/docs/html/search/enumvalues_4.html index b96e212..e2977a0 100644 --- a/docs/html/search/enumvalues_4.html +++ b/docs/html/search/enumvalues_4.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/enumvalues_4.js b/docs/html/search/enumvalues_4.js index 9ab3cbf..92b44e4 100644 --- a/docs/html/search/enumvalues_4.js +++ b/docs/html/search/enumvalues_4.js @@ -1,6 +1,6 @@ var searchData= [ - ['pen_363',['PEN',['../class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fad3fa1aa45b9fe56e1fc1b558d8ed6678',1,'IntelliTool']]], - ['plain_364',['PLAIN',['../class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8faf62eb0bf5e5c72e80983fbbac1cb70e5',1,'IntelliTool']]], - ['polygon_365',['POLYGON',['../class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8faecdc92bf56d960b73b02ee40125758bc',1,'IntelliTool']]] + ['pen_391',['PEN',['../class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fad3fa1aa45b9fe56e1fc1b558d8ed6678',1,'IntelliTool']]], + ['plain_392',['PLAIN',['../class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8faf62eb0bf5e5c72e80983fbbac1cb70e5',1,'IntelliTool']]], + ['polygon_393',['POLYGON',['../class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8faecdc92bf56d960b73b02ee40125758bc',1,'IntelliTool']]] ]; diff --git a/docs/html/search/enumvalues_5.html b/docs/html/search/enumvalues_5.html index ebd7746..eabdd4b 100644 --- a/docs/html/search/enumvalues_5.html +++ b/docs/html/search/enumvalues_5.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/enumvalues_5.js b/docs/html/search/enumvalues_5.js index bde786c..31b7d8d 100644 --- a/docs/html/search/enumvalues_5.js +++ b/docs/html/search/enumvalues_5.js @@ -1,5 +1,5 @@ var searchData= [ - ['rasterimage_366',['RASTERIMAGE',['../class_intelli_image.html#a5274ce9fcdcb2659c148e7ff916b680eadd5823fd73c42c0154fa2abbd70283b9',1,'IntelliImage']]], - ['rectangle_367',['RECTANGLE',['../class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fa8e8e58fe94ab307a826e087028a7c01a',1,'IntelliTool']]] + ['rasterimage_394',['RASTERIMAGE',['../class_intelli_image.html#a5274ce9fcdcb2659c148e7ff916b680eadd5823fd73c42c0154fa2abbd70283b9',1,'IntelliImage']]], + ['rectangle_395',['RECTANGLE',['../class_intelli_tool.html#a3fbd2584566b3cefcf3c070ae0b69d8fa8e8e58fe94ab307a826e087028a7c01a',1,'IntelliTool']]] ]; diff --git a/docs/html/search/enumvalues_6.html b/docs/html/search/enumvalues_6.html index 9af68e0..2476491 100644 --- a/docs/html/search/enumvalues_6.html +++ b/docs/html/search/enumvalues_6.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/enumvalues_6.js b/docs/html/search/enumvalues_6.js index 7d686be..b7988e0 100644 --- a/docs/html/search/enumvalues_6.js +++ b/docs/html/search/enumvalues_6.js @@ -1,5 +1,4 @@ var searchData= [ - ['shapedimage_368',['SHAPEDIMAGE',['../class_intelli_image.html#a5274ce9fcdcb2659c148e7ff916b680eac065b60ec4cf443808263527bdc0df37',1,'IntelliImage']]], - ['solid_5fline_369',['SOLID_LINE',['../class_intelli_toolsettings.html#a687dacd0e15b92dda5626b1b44b86089ae45e1e6b2e6dde14829d057a4ef44199',1,'IntelliToolsettings']]] + ['shapedimage_396',['SHAPEDIMAGE',['../class_intelli_image.html#a5274ce9fcdcb2659c148e7ff916b680eac065b60ec4cf443808263527bdc0df37',1,'IntelliImage']]] ]; diff --git a/docs/html/search/files_0.html b/docs/html/search/files_0.html index de151d5..737608e 100644 --- a/docs/html/search/files_0.html +++ b/docs/html/search/files_0.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/files_0.js b/docs/html/search/files_0.js index a76a747..28002b1 100644 --- a/docs/html/search/files_0.js +++ b/docs/html/search/files_0.js @@ -1,35 +1,37 @@ var searchData= [ - ['intellicolorpicker_2ecpp_196',['IntelliColorPicker.cpp',['../_intelli_helper_2_intelli_color_picker_8cpp.html',1,'(Global Namespace)'],['../_tool_2_intelli_color_picker_8cpp.html',1,'(Global Namespace)']]], - ['intellicolorpicker_2eh_197',['IntelliColorPicker.h',['../_intelli_color_picker_8h.html',1,'']]], - ['intelliimage_2ecpp_198',['IntelliImage.cpp',['../_intelli_image_8cpp.html',1,'']]], - ['intelliimage_2eh_199',['IntelliImage.h',['../_intelli_image_8h.html',1,'']]], - ['intelliphotogui_2ecpp_200',['IntelliPhotoGui.cpp',['../_intelli_photo_gui_8cpp.html',1,'']]], - ['intelliphotogui_2eh_201',['IntelliPhotoGui.h',['../_intelli_photo_gui_8h.html',1,'']]], - ['intellirasterimage_2ecpp_202',['IntelliRasterImage.cpp',['../_intelli_raster_image_8cpp.html',1,'']]], - ['intellirasterimage_2eh_203',['IntelliRasterImage.h',['../_intelli_raster_image_8h.html',1,'']]], - ['intellirendersettings_2ecpp_204',['IntelliRenderSettings.cpp',['../_intelli_render_settings_8cpp.html',1,'']]], - ['intellirendersettings_2eh_205',['IntelliRenderSettings.h',['../_intelli_render_settings_8h.html',1,'']]], - ['intellishapedimage_2ecpp_206',['IntelliShapedImage.cpp',['../_intelli_shaped_image_8cpp.html',1,'']]], - ['intellishapedimage_2eh_207',['IntelliShapedImage.h',['../_intelli_shaped_image_8h.html',1,'']]], - ['intellitool_2ecpp_208',['IntelliTool.cpp',['../_intelli_tool_8cpp.html',1,'']]], - ['intellitool_2eh_209',['IntelliTool.h',['../_intelli_tool_8h.html',1,'']]], - ['intellitoolcircle_2ecpp_210',['IntelliToolCircle.cpp',['../_intelli_tool_circle_8cpp.html',1,'']]], - ['intellitoolcircle_2eh_211',['IntelliToolCircle.h',['../_intelli_tool_circle_8h.html',1,'']]], - ['intellitoolfloodfill_2ecpp_212',['IntelliToolFloodFill.cpp',['../_intelli_tool_flood_fill_8cpp.html',1,'']]], - ['intellitoolfloodfill_2eh_213',['IntelliToolFloodFill.h',['../_intelli_tool_flood_fill_8h.html',1,'']]], - ['intellitoolline_2ecpp_214',['IntelliToolLine.cpp',['../_intelli_tool_line_8cpp.html',1,'']]], - ['intellitoolline_2eh_215',['IntelliToolLine.h',['../_intelli_tool_line_8h.html',1,'']]], - ['intellitoolpen_2ecpp_216',['IntelliToolPen.cpp',['../_intelli_tool_pen_8cpp.html',1,'']]], - ['intellitoolpen_2eh_217',['IntelliToolPen.h',['../_intelli_tool_pen_8h.html',1,'']]], - ['intellitoolplain_2ecpp_218',['IntelliToolPlain.cpp',['../_intelli_tool_plain_8cpp.html',1,'']]], - ['intellitoolplain_2eh_219',['IntelliToolPlain.h',['../_intelli_tool_plain_8h.html',1,'']]], - ['intellitoolpolygon_2ecpp_220',['IntelliToolPolygon.cpp',['../_intelli_tool_polygon_8cpp.html',1,'']]], - ['intellitoolpolygon_2eh_221',['IntelliToolPolygon.h',['../_intelli_tool_polygon_8h.html',1,'']]], - ['intellitoolrectangle_2ecpp_222',['IntelliToolRectangle.cpp',['../_intelli_tool_rectangle_8cpp.html',1,'']]], - ['intellitoolrectangle_2eh_223',['IntelliToolRectangle.h',['../_intelli_tool_rectangle_8h.html',1,'']]], - ['intellitoolsettings_2ecpp_224',['IntelliToolsettings.cpp',['../_intelli_toolsettings_8cpp.html',1,'']]], - ['intellitoolsettings_2eh_225',['IntelliToolsettings.h',['../_intelli_toolsettings_8h.html',1,'']]], - ['intellitriangulation_2ecpp_226',['IntelliTriangulation.cpp',['../_intelli_triangulation_8cpp.html',1,'']]], - ['intellitriangulation_2eh_227',['IntelliTriangulation.h',['../_intelli_triangulation_8h.html',1,'']]] + ['intellicolorpicker_2ecpp_211',['IntelliColorPicker.cpp',['../_intelli_color_picker_8cpp.html',1,'']]], + ['intellicolorpicker_2eh_212',['IntelliColorPicker.h',['../_intelli_color_picker_8h.html',1,'']]], + ['intelliimage_2ecpp_213',['IntelliImage.cpp',['../_intelli_image_8cpp.html',1,'']]], + ['intelliimage_2eh_214',['IntelliImage.h',['../_intelli_image_8h.html',1,'']]], + ['intelliinputdialog_2ecpp_215',['IntelliInputDialog.cpp',['../_intelli_input_dialog_8cpp.html',1,'']]], + ['intelliinputdialog_2eh_216',['IntelliInputDialog.h',['../_intelli_input_dialog_8h.html',1,'']]], + ['intelliphotogui_2ecpp_217',['IntelliPhotoGui.cpp',['../_intelli_photo_gui_8cpp.html',1,'']]], + ['intelliphotogui_2eh_218',['IntelliPhotoGui.h',['../_intelli_photo_gui_8h.html',1,'']]], + ['intellirasterimage_2ecpp_219',['IntelliRasterImage.cpp',['../_intelli_raster_image_8cpp.html',1,'']]], + ['intellirasterimage_2eh_220',['IntelliRasterImage.h',['../_intelli_raster_image_8h.html',1,'']]], + ['intellirendersettings_2ecpp_221',['IntelliRenderSettings.cpp',['../_intelli_render_settings_8cpp.html',1,'']]], + ['intellirendersettings_2eh_222',['IntelliRenderSettings.h',['../_intelli_render_settings_8h.html',1,'']]], + ['intellishapedimage_2ecpp_223',['IntelliShapedImage.cpp',['../_intelli_shaped_image_8cpp.html',1,'']]], + ['intellishapedimage_2eh_224',['IntelliShapedImage.h',['../_intelli_shaped_image_8h.html',1,'']]], + ['intellitool_2ecpp_225',['IntelliTool.cpp',['../_intelli_tool_8cpp.html',1,'']]], + ['intellitool_2eh_226',['IntelliTool.h',['../_intelli_tool_8h.html',1,'']]], + ['intellitoolcircle_2ecpp_227',['IntelliToolCircle.cpp',['../_intelli_tool_circle_8cpp.html',1,'']]], + ['intellitoolcircle_2eh_228',['IntelliToolCircle.h',['../_intelli_tool_circle_8h.html',1,'']]], + ['intellitoolfloodfill_2ecpp_229',['IntelliToolFloodFill.cpp',['../_intelli_tool_flood_fill_8cpp.html',1,'']]], + ['intellitoolfloodfill_2eh_230',['IntelliToolFloodFill.h',['../_intelli_tool_flood_fill_8h.html',1,'']]], + ['intellitoolline_2ecpp_231',['IntelliToolLine.cpp',['../_intelli_tool_line_8cpp.html',1,'']]], + ['intellitoolline_2eh_232',['IntelliToolLine.h',['../_intelli_tool_line_8h.html',1,'']]], + ['intellitoolpen_2ecpp_233',['IntelliToolPen.cpp',['../_intelli_tool_pen_8cpp.html',1,'']]], + ['intellitoolpen_2eh_234',['IntelliToolPen.h',['../_intelli_tool_pen_8h.html',1,'']]], + ['intellitoolplain_2ecpp_235',['IntelliToolPlain.cpp',['../_intelli_tool_plain_8cpp.html',1,'']]], + ['intellitoolplain_2eh_236',['IntelliToolPlain.h',['../_intelli_tool_plain_8h.html',1,'']]], + ['intellitoolpolygon_2ecpp_237',['IntelliToolPolygon.cpp',['../_intelli_tool_polygon_8cpp.html',1,'']]], + ['intellitoolpolygon_2eh_238',['IntelliToolPolygon.h',['../_intelli_tool_polygon_8h.html',1,'']]], + ['intellitoolrectangle_2ecpp_239',['IntelliToolRectangle.cpp',['../_intelli_tool_rectangle_8cpp.html',1,'']]], + ['intellitoolrectangle_2eh_240',['IntelliToolRectangle.h',['../_intelli_tool_rectangle_8h.html',1,'']]], + ['intellitoolsettings_2ecpp_241',['IntelliToolsettings.cpp',['../_intelli_toolsettings_8cpp.html',1,'']]], + ['intellitoolsettings_2eh_242',['IntelliToolsettings.h',['../_intelli_toolsettings_8h.html',1,'']]], + ['intellitriangulation_2ecpp_243',['IntelliTriangulation.cpp',['../_intelli_triangulation_8cpp.html',1,'']]], + ['intellitriangulation_2eh_244',['IntelliTriangulation.h',['../_intelli_triangulation_8h.html',1,'']]] ]; diff --git a/docs/html/search/files_1.html b/docs/html/search/files_1.html index 73e2c8b..f27a62d 100644 --- a/docs/html/search/files_1.html +++ b/docs/html/search/files_1.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/files_1.js b/docs/html/search/files_1.js index f1baa6c..c3bff03 100644 --- a/docs/html/search/files_1.js +++ b/docs/html/search/files_1.js @@ -1,4 +1,5 @@ var searchData= [ - ['main_2ecpp_228',['main.cpp',['../main_8cpp.html',1,'']]] + ['main_2ecpp_245',['main.cpp',['../main_8cpp.html',1,'']]], + ['mainunittest_2ecpp_246',['mainUnitTest.cpp',['../main_unit_test_8cpp.html',1,'']]] ]; diff --git a/docs/html/search/files_2.html b/docs/html/search/files_2.html index 24cb541..a45066e 100644 --- a/docs/html/search/files_2.html +++ b/docs/html/search/files_2.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/files_2.js b/docs/html/search/files_2.js index bfa1f3e..0fa739d 100644 --- a/docs/html/search/files_2.js +++ b/docs/html/search/files_2.js @@ -1,5 +1,5 @@ var searchData= [ - ['paintingarea_2ecpp_229',['PaintingArea.cpp',['../_painting_area_8cpp.html',1,'']]], - ['paintingarea_2eh_230',['PaintingArea.h',['../_painting_area_8h.html',1,'']]] + ['paintingarea_2ecpp_247',['PaintingArea.cpp',['../_painting_area_8cpp.html',1,'']]], + ['paintingarea_2eh_248',['PaintingArea.h',['../_painting_area_8h.html',1,'']]] ]; diff --git a/docs/html/search/files_3.html b/docs/html/search/files_3.html new file mode 100644 index 0000000..1076bc5 --- /dev/null +++ b/docs/html/search/files_3.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/files_3.js b/docs/html/search/files_3.js new file mode 100644 index 0000000..18e7b0d --- /dev/null +++ b/docs/html/search/files_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['tst_5funittest_2ecpp_249',['tst_unittest.cpp',['../tst__unittest_8cpp.html',1,'']]] +]; diff --git a/docs/html/search/functions_0.html b/docs/html/search/functions_0.html index 8a729f7..e17c711 100644 --- a/docs/html/search/functions_0.html +++ b/docs/html/search/functions_0.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/functions_0.js b/docs/html/search/functions_0.js index d5f7abc..0aeb97c 100644 --- a/docs/html/search/functions_0.js +++ b/docs/html/search/functions_0.js @@ -1,5 +1,5 @@ var searchData= [ - ['addlayer_231',['addLayer',['../class_painting_area.html#a6e9207612cef104d39013564696fe989',1,'PaintingArea']]], - ['addlayerat_232',['addLayerAt',['../class_painting_area.html#ab4a0b3a497ea8821a045ad12c34bd980',1,'PaintingArea']]] + ['addlayer_250',['addLayer',['../class_painting_area.html#a6e9207612cef104d39013564696fe989',1,'PaintingArea']]], + ['addlayerat_251',['addLayerAt',['../class_painting_area.html#ab4a0b3a497ea8821a045ad12c34bd980',1,'PaintingArea']]] ]; diff --git a/docs/html/search/functions_1.html b/docs/html/search/functions_1.html index d4929aa..0ddac0a 100644 --- a/docs/html/search/functions_1.html +++ b/docs/html/search/functions_1.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/functions_1.js b/docs/html/search/functions_1.js index 92cfc2b..f37c11c 100644 --- a/docs/html/search/functions_1.js +++ b/docs/html/search/functions_1.js @@ -1,16 +1,16 @@ var searchData= [ - ['calculatetriangles_233',['calculateTriangles',['../namespace_intelli_triangulation.html#acdaf1ed598e868b25e9e06d580da32e5',1,'IntelliTriangulation']]], - ['calculatevisiblity_234',['calculateVisiblity',['../class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2',1,'IntelliImage::calculateVisiblity()'],['../class_intelli_raster_image.html#a87cf2d360c129d64a5db0db85818eb60',1,'IntelliRasterImage::calculateVisiblity()']]], - ['closeevent_235',['closeEvent',['../class_intelli_photo_gui.html#a2cf48070236ae8b35245e7f30482ef13',1,'IntelliPhotoGui']]], - ['colorpickersetfirstcolor_236',['colorPickerSetFirstColor',['../class_painting_area.html#a4735d4cf1dc58a9096d904e74c39c4df',1,'PaintingArea']]], - ['colorpickersetsecondcolor_237',['colorPickerSetSecondColor',['../class_painting_area.html#ae261acaaa346610dfed489dbac17e789',1,'PaintingArea']]], - ['colorpickerswapcolors_238',['colorPickerSwapColors',['../class_painting_area.html#acff4563d006fda491469bd41778d07eb',1,'PaintingArea']]], - ['createcircletool_239',['createCircleTool',['../class_painting_area.html#a2d9f4b3585f7dd1acb11f432ca503466',1,'PaintingArea']]], - ['createfloodfilltool_240',['createFloodFillTool',['../class_painting_area.html#a0b22e18069b524f3e75857d203baf256',1,'PaintingArea']]], - ['createlinetool_241',['createLineTool',['../class_painting_area.html#a240c33a7875addac86080cdfb0db036a',1,'PaintingArea']]], - ['createpentool_242',['createPenTool',['../class_painting_area.html#a96c6248e343e44b61cf2625cb6d21353',1,'PaintingArea']]], - ['createplaintool_243',['createPlainTool',['../class_painting_area.html#a3de83443d2d5cf460ff48d0602070938',1,'PaintingArea']]], - ['createpolygontool_244',['createPolygonTool',['../class_painting_area.html#a13c2f94644bea9c2d3123d0b7898f34b',1,'PaintingArea']]], - ['createrectangletool_245',['createRectangleTool',['../class_painting_area.html#a5b04ce62ce024e307f54e0281f7ae4bd',1,'PaintingArea']]] + ['calculatetriangles_252',['calculateTriangles',['../namespace_intelli_triangulation.html#acdaf1ed598e868b25e9e06d580da32e5',1,'IntelliTriangulation']]], + ['calculatevisiblity_253',['calculateVisiblity',['../class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2',1,'IntelliImage::calculateVisiblity()'],['../class_intelli_raster_image.html#a87cf2d360c129d64a5db0db85818eb60',1,'IntelliRasterImage::calculateVisiblity()']]], + ['closeevent_254',['closeEvent',['../class_intelli_photo_gui.html#a2cf48070236ae8b35245e7f30482ef13',1,'IntelliPhotoGui']]], + ['colorpickersetfirstcolor_255',['colorPickerSetFirstColor',['../class_painting_area.html#a4735d4cf1dc58a9096d904e74c39c4df',1,'PaintingArea']]], + ['colorpickersetsecondcolor_256',['colorPickerSetSecondColor',['../class_painting_area.html#ae261acaaa346610dfed489dbac17e789',1,'PaintingArea']]], + ['colorpickerswapcolors_257',['colorPickerSwapColors',['../class_painting_area.html#acff4563d006fda491469bd41778d07eb',1,'PaintingArea']]], + ['createcircletool_258',['createCircleTool',['../class_painting_area.html#a2d9f4b3585f7dd1acb11f432ca503466',1,'PaintingArea']]], + ['createfloodfilltool_259',['createFloodFillTool',['../class_painting_area.html#a0b22e18069b524f3e75857d203baf256',1,'PaintingArea']]], + ['createlinetool_260',['createLineTool',['../class_painting_area.html#a240c33a7875addac86080cdfb0db036a',1,'PaintingArea']]], + ['createpentool_261',['createPenTool',['../class_painting_area.html#a96c6248e343e44b61cf2625cb6d21353',1,'PaintingArea']]], + ['createplaintool_262',['createPlainTool',['../class_painting_area.html#a3de83443d2d5cf460ff48d0602070938',1,'PaintingArea']]], + ['createpolygontool_263',['createPolygonTool',['../class_painting_area.html#a13c2f94644bea9c2d3123d0b7898f34b',1,'PaintingArea']]], + ['createrectangletool_264',['createRectangleTool',['../class_painting_area.html#a5b04ce62ce024e307f54e0281f7ae4bd',1,'PaintingArea']]] ]; diff --git a/docs/html/search/functions_2.html b/docs/html/search/functions_2.html index 07e3fda..2737c5a 100644 --- a/docs/html/search/functions_2.html +++ b/docs/html/search/functions_2.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/functions_2.js b/docs/html/search/functions_2.js index f7150c8..fa94b3d 100644 --- a/docs/html/search/functions_2.js +++ b/docs/html/search/functions_2.js @@ -1,8 +1,8 @@ var searchData= [ - ['deletelayer_246',['deleteLayer',['../class_painting_area.html#a2382ebf8c31dee36cb714f34a18b71e4',1,'PaintingArea']]], - ['drawline_247',['drawLine',['../class_intelli_image.html#af8eddbd9aa54c8d37590d1d4bf8dce31',1,'IntelliImage']]], - ['drawpixel_248',['drawPixel',['../class_intelli_image.html#af3c859f5c409e37051edfd9e9fbca056',1,'IntelliImage']]], - ['drawplain_249',['drawPlain',['../class_intelli_image.html#a6be622810dc2bc756054bb5769becb06',1,'IntelliImage']]], - ['drawpoint_250',['drawPoint',['../class_intelli_image.html#a2e787f1b333b59401643936ebb3dcfe1',1,'IntelliImage']]] + ['deletelayer_265',['deleteLayer',['../class_painting_area.html#a9b7dc8b8dc0b301ce58206aa76fb1630',1,'PaintingArea']]], + ['drawline_266',['drawLine',['../class_intelli_image.html#af8eddbd9aa54c8d37590d1d4bf8dce31',1,'IntelliImage']]], + ['drawpixel_267',['drawPixel',['../class_intelli_image.html#af3c859f5c409e37051edfd9e9fbca056',1,'IntelliImage']]], + ['drawplain_268',['drawPlain',['../class_intelli_image.html#a6be622810dc2bc756054bb5769becb06',1,'IntelliImage']]], + ['drawpoint_269',['drawPoint',['../class_intelli_image.html#a2e787f1b333b59401643936ebb3dcfe1',1,'IntelliImage']]] ]; diff --git a/docs/html/search/functions_3.html b/docs/html/search/functions_3.html index 40bd389..6da86e7 100644 --- a/docs/html/search/functions_3.html +++ b/docs/html/search/functions_3.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/functions_3.js b/docs/html/search/functions_3.js index 929fef5..46edeb3 100644 --- a/docs/html/search/functions_3.js +++ b/docs/html/search/functions_3.js @@ -1,4 +1,25 @@ var searchData= [ - ['floodfill_251',['floodFill',['../class_painting_area.html#aeb5eb394b979ea90f2be9849fdda1774',1,'PaintingArea']]] + ['getdeepcopy_270',['getDeepCopy',['../class_intelli_image.html#af6381067bdf565669f856bb589008ae9',1,'IntelliImage::getDeepCopy()'],['../class_intelli_raster_image.html#a8f901301b106504de3c27308ade897dc',1,'IntelliRasterImage::getDeepCopy()'],['../class_intelli_shaped_image.html#aed0b31e0fa771104399d1f5ff39a0337',1,'IntelliShapedImage::getDeepCopy()']]], + ['getdisplayable_271',['getDisplayable',['../class_intelli_image.html#a21c7e65b59a26db45aac3880133ef21d',1,'IntelliImage::getDisplayable(const QSize &displaySize, int alpha)=0'],['../class_intelli_image.html#a9d4daf3c48c64695105689f61c21bae0',1,'IntelliImage::getDisplayable(int alpha=255)=0'],['../class_intelli_raster_image.html#ae43393397b0141a8033fe34d3a1b1884',1,'IntelliRasterImage::getDisplayable(const QSize &displaySize, int alpha) override'],['../class_intelli_raster_image.html#a612d79124f0e2c158a4f0abbe4b5f97f',1,'IntelliRasterImage::getDisplayable(int alpha=255) override'],['../class_intelli_shaped_image.html#a68cf374247c16f07fd84d50e4cd05630',1,'IntelliShapedImage::getDisplayable(const QSize &displaySize, int alpha=255) override'],['../class_intelli_shaped_image.html#ac6a99e1a96134073bceea252b37636cc',1,'IntelliShapedImage::getDisplayable(int alpha=255) override']]], + ['getfirstcolor_272',['getFirstColor',['../class_intelli_color_picker.html#aae2eb27b928fe9388b9398b0556303b7',1,'IntelliColorPicker']]], + ['getheightofactive_273',['getHeightOfActive',['../class_painting_area.html#ac576f58aad03b4dcd47611b6a4b9abb4',1,'PaintingArea']]], + ['getimagedata_274',['getImageData',['../class_intelli_image.html#ad66fbe380ffe0e073a8cd760f8285fe3',1,'IntelliImage']]], + ['getimagedataofactivelayer_275',['getImageDataOfActiveLayer',['../class_painting_area.html#a4f484ff3ca7ae202ab57a00f52551423',1,'PaintingArea']]], + ['getimageofactivelayer_276',['getImageOfActiveLayer',['../class_painting_area.html#acab11ad35d07e9081203d8217d2c0855',1,'PaintingArea']]], + ['getinneralpha_277',['getInnerAlpha',['../class_intelli_toolsettings.html#a7d6ce2054ec4bcba7629dc2b514b6b5c',1,'IntelliToolsettings']]], + ['getint_278',['getInt',['../class_intelli_input_dialog.html#a480ac2f5b8f7b9bc1cd7b30df84c2a62',1,'IntelliInputDialog']]], + ['getisdrawing_279',['getIsDrawing',['../class_intelli_tool.html#a0020fad2e26315d5c4d96dbc95d1dceb',1,'IntelliTool']]], + ['getlinewidth_280',['getLineWidth',['../class_intelli_toolsettings.html#a68528dd3bad8f39ba19fa6b12a4e415a',1,'IntelliToolsettings']]], + ['getmaxheight_281',['getMaxHeight',['../class_painting_area.html#aa811d142df9239ae248679bd70ad6da7',1,'PaintingArea']]], + ['getmaxwidth_282',['getMaxWidth',['../class_painting_area.html#aeb082c1cda3edb6b68d8ee45cf4822f8',1,'PaintingArea']]], + ['getnumberofactivelayer_283',['getNumberOfActiveLayer',['../class_painting_area.html#a24280454ebb80db7feba2fd621513353',1,'PaintingArea']]], + ['getpixelcolor_284',['getPixelColor',['../class_intelli_image.html#a4576ebb6d863321c816293d7b7f9fd3f',1,'IntelliImage']]], + ['getpolygondata_285',['getPolygonData',['../class_intelli_image.html#aaf9f3e8db8666850024bee9aad9966ba',1,'IntelliImage::getPolygonData()'],['../class_intelli_shaped_image.html#ae4518c7f5a105cc4f33fabb60c794a93',1,'IntelliShapedImage::getPolygonData()']]], + ['getpolygondataofreallayer_286',['getPolygonDataOfRealLayer',['../class_painting_area.html#a7ae21fd031ee1c04f92e042e86be0a90',1,'PaintingArea']]], + ['getsecondcolor_287',['getSecondColor',['../class_intelli_color_picker.html#a55568fbf5dc783f06284b7031ffe9415',1,'IntelliColorPicker']]], + ['gettooltype_288',['getTooltype',['../class_intelli_tool.html#aae2a11c5bae4973ed827c60e0c1352b1',1,'IntelliTool']]], + ['gettypeofimage_289',['getTypeOfImage',['../class_intelli_image.html#af6b09c8d1d6b54a7e8a4e7286f3e503f',1,'IntelliImage']]], + ['gettypeofimagereallayer_290',['getTypeOfImageRealLayer',['../class_painting_area.html#ae92b27dfd09573c224d2ae1958d3bead',1,'PaintingArea']]], + ['getwidthofactive_291',['getWidthOfActive',['../class_painting_area.html#a675ee91b26b1c58be6d833f279d81597',1,'PaintingArea']]] ]; diff --git a/docs/html/search/functions_4.html b/docs/html/search/functions_4.html index 8a4df4c..911304e 100644 --- a/docs/html/search/functions_4.html +++ b/docs/html/search/functions_4.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/functions_4.js b/docs/html/search/functions_4.js index fd1682b..ea9b7cc 100644 --- a/docs/html/search/functions_4.js +++ b/docs/html/search/functions_4.js @@ -1,23 +1,22 @@ var searchData= [ - ['getdeepcopy_252',['getDeepCopy',['../class_intelli_image.html#af6381067bdf565669f856bb589008ae9',1,'IntelliImage::getDeepCopy()'],['../class_intelli_raster_image.html#a8f901301b106504de3c27308ade897dc',1,'IntelliRasterImage::getDeepCopy()'],['../class_intelli_shaped_image.html#aed0b31e0fa771104399d1f5ff39a0337',1,'IntelliShapedImage::getDeepCopy()']]], - ['getdisplayable_253',['getDisplayable',['../class_intelli_image.html#a21c7e65b59a26db45aac3880133ef21d',1,'IntelliImage::getDisplayable(const QSize &displaySize, int alpha)=0'],['../class_intelli_image.html#a9d4daf3c48c64695105689f61c21bae0',1,'IntelliImage::getDisplayable(int alpha=255)=0'],['../class_intelli_raster_image.html#ae43393397b0141a8033fe34d3a1b1884',1,'IntelliRasterImage::getDisplayable(const QSize &displaySize, int alpha) override'],['../class_intelli_raster_image.html#a612d79124f0e2c158a4f0abbe4b5f97f',1,'IntelliRasterImage::getDisplayable(int alpha=255) override'],['../class_intelli_shaped_image.html#a68cf374247c16f07fd84d50e4cd05630',1,'IntelliShapedImage::getDisplayable(const QSize &displaySize, int alpha=255) override'],['../class_intelli_shaped_image.html#ac6a99e1a96134073bceea252b37636cc',1,'IntelliShapedImage::getDisplayable(int alpha=255) override']]], - ['getfastrenderer_254',['getFastRenderer',['../class_intelli_render_settings.html#a5a74e7d7ed3a2e944883dddbe8bbf5e8',1,'IntelliRenderSettings']]], - ['getfirstcolor_255',['getFirstColor',['../class_intelli_color_picker.html#aae2eb27b928fe9388b9398b0556303b7',1,'IntelliColorPicker']]], - ['getheightofactive_256',['getHeightOfActive',['../class_painting_area.html#ac576f58aad03b4dcd47611b6a4b9abb4',1,'PaintingArea']]], - ['getimagedata_257',['getImageData',['../class_intelli_image.html#ad66fbe380ffe0e073a8cd760f8285fe3',1,'IntelliImage']]], - ['getimageofactivelayer_258',['getImageOfActiveLayer',['../class_painting_area.html#acab11ad35d07e9081203d8217d2c0855',1,'PaintingArea']]], - ['getinneralpha_259',['getInnerAlpha',['../class_intelli_toolsettings.html#a7d6ce2054ec4bcba7629dc2b514b6b5c',1,'IntelliToolsettings']]], - ['getisdrawing_260',['getIsDrawing',['../class_intelli_tool.html#a0020fad2e26315d5c4d96dbc95d1dceb',1,'IntelliTool']]], - ['getlinestyle_261',['getLinestyle',['../class_intelli_toolsettings.html#a5beb193b25e0665516244c61c5e65aa6',1,'IntelliToolsettings']]], - ['getlinewidth_262',['getLineWidth',['../class_intelli_toolsettings.html#a68528dd3bad8f39ba19fa6b12a4e415a',1,'IntelliToolsettings']]], - ['getnumberofactivelayer_263',['getNumberOfActiveLayer',['../class_painting_area.html#a24280454ebb80db7feba2fd621513353',1,'PaintingArea']]], - ['getpixelcolor_264',['getPixelColor',['../class_intelli_image.html#a4576ebb6d863321c816293d7b7f9fd3f',1,'IntelliImage']]], - ['getpolygondata_265',['getPolygonData',['../class_intelli_image.html#aaf9f3e8db8666850024bee9aad9966ba',1,'IntelliImage::getPolygonData()'],['../class_intelli_shaped_image.html#ae4518c7f5a105cc4f33fabb60c794a93',1,'IntelliShapedImage::getPolygonData()']]], - ['getpolygondataofreallayer_266',['getPolygonDataOfRealLayer',['../class_painting_area.html#a7ae21fd031ee1c04f92e042e86be0a90',1,'PaintingArea']]], - ['getsecondcolor_267',['getSecondColor',['../class_intelli_color_picker.html#a55568fbf5dc783f06284b7031ffe9415',1,'IntelliColorPicker']]], - ['gettooltype_268',['getTooltype',['../class_intelli_tool.html#aae2a11c5bae4973ed827c60e0c1352b1',1,'IntelliTool']]], - ['gettypeofimage_269',['getTypeOfImage',['../class_intelli_image.html#af6b09c8d1d6b54a7e8a4e7286f3e503f',1,'IntelliImage']]], - ['gettypeofimagereallayer_270',['getTypeOfImageRealLayer',['../class_painting_area.html#ae92b27dfd09573c224d2ae1958d3bead',1,'PaintingArea']]], - ['getwidthofactive_271',['getWidthOfActive',['../class_painting_area.html#a675ee91b26b1c58be6d833f279d81597',1,'PaintingArea']]] + ['intellicolorpicker_292',['IntelliColorPicker',['../class_intelli_color_picker.html#a0d1247bdd87add1396ea5d9acaad79ae',1,'IntelliColorPicker']]], + ['intelliimage_293',['IntelliImage',['../class_intelli_image.html#a2c6632ff35ee0a7094a8a289eb3a8652',1,'IntelliImage']]], + ['intelliinputdialog_294',['IntelliInputDialog',['../class_intelli_input_dialog.html#aa276ec605b08b19d70c54654cc606cc5',1,'IntelliInputDialog']]], + ['intelliphotogui_295',['IntelliPhotoGui',['../class_intelli_photo_gui.html#ad2aaec3c1517a9aaa461b54e341b97e0',1,'IntelliPhotoGui']]], + ['intellirasterimage_296',['IntelliRasterImage',['../class_intelli_raster_image.html#ae779b571372296f1922af818ba003413',1,'IntelliRasterImage']]], + ['intellirendersettings_297',['IntelliRenderSettings',['../class_intelli_render_settings.html#a4a01de6e5e8e516a7eae51d6f1f66529',1,'IntelliRenderSettings']]], + ['intellishapedimage_298',['IntelliShapedImage',['../class_intelli_shaped_image.html#ae2e612a1fa52d7f878b34a7a7022d8e9',1,'IntelliShapedImage']]], + ['intellitool_299',['IntelliTool',['../class_intelli_tool.html#a08ef094271ce6248b42f888472463526',1,'IntelliTool']]], + ['intellitoolcircle_300',['IntelliToolCircle',['../class_intelli_tool_circle.html#a835327842fb71cb6a505e260ac5b69c8',1,'IntelliToolCircle']]], + ['intellitoolfloodfill_301',['IntelliToolFloodFill',['../class_intelli_tool_flood_fill.html#a0b283b1b0135ff909a7199be9da9c076',1,'IntelliToolFloodFill']]], + ['intellitoolline_302',['IntelliToolLine',['../class_intelli_tool_line.html#a111e83e0f0fec7d4ff773ba9f235e4dc',1,'IntelliToolLine']]], + ['intellitoolpen_303',['IntelliToolPen',['../class_intelli_tool_pen.html#a9f885143d6bb7adda3dcd3707d59e14d',1,'IntelliToolPen']]], + ['intellitoolplaintool_304',['IntelliToolPlainTool',['../class_intelli_tool_plain_tool.html#a816bcd6aea046994420969bed8b139d2',1,'IntelliToolPlainTool']]], + ['intellitoolpolygon_305',['IntelliToolPolygon',['../class_intelli_tool_polygon.html#a63b8c7514a87d4608533fbb557ee0db5',1,'IntelliToolPolygon']]], + ['intellitoolrectangle_306',['IntelliToolRectangle',['../class_intelli_tool_rectangle.html#ada06457247d5b173888a9a520b31ec5c',1,'IntelliToolRectangle']]], + ['intellitoolsettings_307',['IntelliToolsettings',['../class_intelli_toolsettings.html#a5560602964ab95380967d63ab7ec6e69',1,'IntelliToolsettings']]], + ['isfastrenderering_308',['isFastRenderering',['../class_intelli_render_settings.html#a5d0eb9a5a3bf788dd87509386dea8dcd',1,'IntelliRenderSettings']]], + ['isinpolygon_309',['isInPolygon',['../namespace_intelli_triangulation.html#ac276696f29d141ed34614c1c3b1c040f',1,'IntelliTriangulation']]], + ['isintriangle_310',['isInTriangle',['../namespace_intelli_triangulation.html#ac150fee67fd41a451bd2592f10e00197',1,'IntelliTriangulation']]] ]; diff --git a/docs/html/search/functions_5.html b/docs/html/search/functions_5.html index 2b983b2..61b920d 100644 --- a/docs/html/search/functions_5.html +++ b/docs/html/search/functions_5.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/functions_5.js b/docs/html/search/functions_5.js index b089b28..7c550e9 100644 --- a/docs/html/search/functions_5.js +++ b/docs/html/search/functions_5.js @@ -1,20 +1,4 @@ var searchData= [ - ['intellicolorpicker_272',['IntelliColorPicker',['../class_intelli_color_picker.html#a0d1247bdd87add1396ea5d9acaad79ae',1,'IntelliColorPicker']]], - ['intelliimage_273',['IntelliImage',['../class_intelli_image.html#a2c6632ff35ee0a7094a8a289eb3a8652',1,'IntelliImage']]], - ['intelliphotogui_274',['IntelliPhotoGui',['../class_intelli_photo_gui.html#ad2aaec3c1517a9aaa461b54e341b97e0',1,'IntelliPhotoGui']]], - ['intellirasterimage_275',['IntelliRasterImage',['../class_intelli_raster_image.html#ae779b571372296f1922af818ba003413',1,'IntelliRasterImage']]], - ['intellirendersettings_276',['IntelliRenderSettings',['../class_intelli_render_settings.html#a4a01de6e5e8e516a7eae51d6f1f66529',1,'IntelliRenderSettings']]], - ['intellishapedimage_277',['IntelliShapedImage',['../class_intelli_shaped_image.html#ae2e612a1fa52d7f878b34a7a7022d8e9',1,'IntelliShapedImage']]], - ['intellitool_278',['IntelliTool',['../class_intelli_tool.html#a08ef094271ce6248b42f888472463526',1,'IntelliTool']]], - ['intellitoolcircle_279',['IntelliToolCircle',['../class_intelli_tool_circle.html#a835327842fb71cb6a505e260ac5b69c8',1,'IntelliToolCircle']]], - ['intellitoolfloodfill_280',['IntelliToolFloodFill',['../class_intelli_tool_flood_fill.html#a0b283b1b0135ff909a7199be9da9c076',1,'IntelliToolFloodFill']]], - ['intellitoolline_281',['IntelliToolLine',['../class_intelli_tool_line.html#a111e83e0f0fec7d4ff773ba9f235e4dc',1,'IntelliToolLine']]], - ['intellitoolpen_282',['IntelliToolPen',['../class_intelli_tool_pen.html#a9f885143d6bb7adda3dcd3707d59e14d',1,'IntelliToolPen']]], - ['intellitoolplaintool_283',['IntelliToolPlainTool',['../class_intelli_tool_plain_tool.html#a816bcd6aea046994420969bed8b139d2',1,'IntelliToolPlainTool']]], - ['intellitoolpolygon_284',['IntelliToolPolygon',['../class_intelli_tool_polygon.html#a3c39299dfffa5b8a45e72a4c0b48b32c',1,'IntelliToolPolygon']]], - ['intellitoolrectangle_285',['IntelliToolRectangle',['../class_intelli_tool_rectangle.html#ada06457247d5b173888a9a520b31ec5c',1,'IntelliToolRectangle']]], - ['intellitoolsettings_286',['IntelliToolsettings',['../class_intelli_toolsettings.html#a5560602964ab95380967d63ab7ec6e69',1,'IntelliToolsettings']]], - ['isinpolygon_287',['isInPolygon',['../namespace_intelli_triangulation.html#a00621e2d8708fe2e8966d7d79b64e186',1,'IntelliTriangulation']]], - ['isintriangle_288',['isInTriangle',['../namespace_intelli_triangulation.html#ac150fee67fd41a451bd2592f10e00197',1,'IntelliTriangulation']]] + ['loadimage_311',['loadImage',['../class_intelli_image.html#ae231800aba38c96074bbe9bb6e341d4e',1,'IntelliImage']]] ]; diff --git a/docs/html/search/functions_6.html b/docs/html/search/functions_6.html index f7d283d..dc70a4a 100644 --- a/docs/html/search/functions_6.html +++ b/docs/html/search/functions_6.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/functions_6.js b/docs/html/search/functions_6.js index ec835e1..05e60ef 100644 --- a/docs/html/search/functions_6.js +++ b/docs/html/search/functions_6.js @@ -1,4 +1,9 @@ var searchData= [ - ['loadimage_289',['loadImage',['../class_intelli_image.html#ae231800aba38c96074bbe9bb6e341d4e',1,'IntelliImage']]] + ['main_312',['main',['../main_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main.cpp']]], + ['mousemoveevent_313',['mouseMoveEvent',['../class_painting_area.html#aa22e274b6094a9619f196cd7b49526b5',1,'PaintingArea']]], + ['mousepressevent_314',['mousePressEvent',['../class_painting_area.html#abfe445f8d9b70ae42bfeda874127dd15',1,'PaintingArea']]], + ['mousereleaseevent_315',['mouseReleaseEvent',['../class_painting_area.html#a35b5df914acb608cc29717659793359c',1,'PaintingArea']]], + ['moveactivelayer_316',['moveActiveLayer',['../class_painting_area.html#ae05f6893fb44bfcb34018573a609cd1a',1,'PaintingArea']]], + ['movepositionactive_317',['movePositionActive',['../class_painting_area.html#ac6d089f4357b22d9a9906fd4771de3e7',1,'PaintingArea']]] ]; diff --git a/docs/html/search/functions_7.html b/docs/html/search/functions_7.html index a74fe44..7de3106 100644 --- a/docs/html/search/functions_7.html +++ b/docs/html/search/functions_7.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/functions_7.js b/docs/html/search/functions_7.js index c10c247..176d04b 100644 --- a/docs/html/search/functions_7.js +++ b/docs/html/search/functions_7.js @@ -1,9 +1,10 @@ var searchData= [ - ['main_290',['main',['../main_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main.cpp']]], - ['mousemoveevent_291',['mouseMoveEvent',['../class_painting_area.html#aa22e274b6094a9619f196cd7b49526b5',1,'PaintingArea']]], - ['mousepressevent_292',['mousePressEvent',['../class_painting_area.html#abfe445f8d9b70ae42bfeda874127dd15',1,'PaintingArea']]], - ['mousereleaseevent_293',['mouseReleaseEvent',['../class_painting_area.html#a35b5df914acb608cc29717659793359c',1,'PaintingArea']]], - ['moveactivelayer_294',['moveActiveLayer',['../class_painting_area.html#ae05f6893fb44bfcb34018573a609cd1a',1,'PaintingArea']]], - ['movepositionactive_295',['movePositionActive',['../class_painting_area.html#ac6d089f4357b22d9a9906fd4771de3e7',1,'PaintingArea']]] + ['onmouseleftpressed_318',['onMouseLeftPressed',['../class_intelli_tool.html#a34b7ef1dde96b94a0ce450a25ae1778c',1,'IntelliTool::onMouseLeftPressed()'],['../class_intelli_tool_circle.html#ae883b8ae833c78a8867e626c600f9639',1,'IntelliToolCircle::onMouseLeftPressed()'],['../class_intelli_tool_flood_fill.html#ac85e3cb6233508ff9612833a8d9e3961',1,'IntelliToolFloodFill::onMouseLeftPressed()'],['../class_intelli_tool_line.html#a155d676a5f98311217eb095be4759846',1,'IntelliToolLine::onMouseLeftPressed()'],['../class_intelli_tool_pen.html#a8ff40aef6d38eb55af31a19322429205',1,'IntelliToolPen::onMouseLeftPressed()'],['../class_intelli_tool_plain_tool.html#ab786dd5fa80af863246013d43c4b7ac9',1,'IntelliToolPlainTool::onMouseLeftPressed()'],['../class_intelli_tool_polygon.html#ad5d3b741be6d0647a9cdc9da2cb8bc3d',1,'IntelliToolPolygon::onMouseLeftPressed()'],['../class_intelli_tool_rectangle.html#ae03c307ccf66cbe3fd59e3657712368d',1,'IntelliToolRectangle::onMouseLeftPressed()']]], + ['onmouseleftreleased_319',['onMouseLeftReleased',['../class_intelli_tool.html#a906a2575c16c8a33cb2a5197f8d8cc5b',1,'IntelliTool::onMouseLeftReleased()'],['../class_intelli_tool_circle.html#ad8e438ec997c57262b5efc2db4cee1a3',1,'IntelliToolCircle::onMouseLeftReleased()'],['../class_intelli_tool_flood_fill.html#a7438ef96c6c36068bce76e2364e8594c',1,'IntelliToolFloodFill::onMouseLeftReleased()'],['../class_intelli_tool_line.html#ac93f76ff20a1c111a403b298bab02482',1,'IntelliToolLine::onMouseLeftReleased()'],['../class_intelli_tool_pen.html#abda7a22b9766fa4ad254324a53cab94d',1,'IntelliToolPen::onMouseLeftReleased()'],['../class_intelli_tool_plain_tool.html#ac23f5d0f07e42fd7c2ea3fc1347da400',1,'IntelliToolPlainTool::onMouseLeftReleased()'],['../class_intelli_tool_polygon.html#a4e1473ff408ae2e11cf6a43f6f575f21',1,'IntelliToolPolygon::onMouseLeftReleased()'],['../class_intelli_tool_rectangle.html#a94460e3ff1c19e80bde922c55f53cc43',1,'IntelliToolRectangle::onMouseLeftReleased()']]], + ['onmousemoved_320',['onMouseMoved',['../class_intelli_tool.html#ac10e20414cd8855a2f9b103fb6408639',1,'IntelliTool::onMouseMoved()'],['../class_intelli_tool_circle.html#a90ee58c5390a86afc75c14ca79b91d7b',1,'IntelliToolCircle::onMouseMoved()'],['../class_intelli_tool_flood_fill.html#a3cd42cea99bc7583875abcc0c274c668',1,'IntelliToolFloodFill::onMouseMoved()'],['../class_intelli_tool_line.html#abc6324ef0778823fe7e35aef8ae37f9b',1,'IntelliToolLine::onMouseMoved()'],['../class_intelli_tool_pen.html#a58d1d636497b630647ce0c4d652737c2',1,'IntelliToolPen::onMouseMoved()'],['../class_intelli_tool_plain_tool.html#ad7546a6335bb3bb4cbf0e1883788d41c',1,'IntelliToolPlainTool::onMouseMoved()'],['../class_intelli_tool_polygon.html#a0e3a1135f04c73c159137ae219a38922',1,'IntelliToolPolygon::onMouseMoved()'],['../class_intelli_tool_rectangle.html#a4b5931071e21eb6949ffe357315e408b',1,'IntelliToolRectangle::onMouseMoved()']]], + ['onmouserightpressed_321',['onMouseRightPressed',['../class_intelli_tool.html#a1e6aa68ac5f3c2ca02319e5ef3f0c966',1,'IntelliTool::onMouseRightPressed()'],['../class_intelli_tool_circle.html#a29d7b9ed4960e6fe1f31ff620363e429',1,'IntelliToolCircle::onMouseRightPressed()'],['../class_intelli_tool_flood_fill.html#ada0f7154d119102410a55038763a17e4',1,'IntelliToolFloodFill::onMouseRightPressed()'],['../class_intelli_tool_line.html#a6cce59f3017936214b10b47252a898a3',1,'IntelliToolLine::onMouseRightPressed()'],['../class_intelli_tool_pen.html#a1751e3864a0d36ef42ca55021cae73ce',1,'IntelliToolPen::onMouseRightPressed()'],['../class_intelli_tool_plain_tool.html#acb0c46e16d2c09370a2244a936de38b1',1,'IntelliToolPlainTool::onMouseRightPressed()'],['../class_intelli_tool_polygon.html#aa36b012b48311c36e7cd6771a5081427',1,'IntelliToolPolygon::onMouseRightPressed()'],['../class_intelli_tool_rectangle.html#a480c6804a4963c5a1c3f7ef84b63c1a8',1,'IntelliToolRectangle::onMouseRightPressed()']]], + ['onmouserightreleased_322',['onMouseRightReleased',['../class_intelli_tool.html#a16189b00307c6d7e89f28198f54404b0',1,'IntelliTool::onMouseRightReleased()'],['../class_intelli_tool_circle.html#aca07540f2f7ccb3d2c0b84890c1afc4c',1,'IntelliToolCircle::onMouseRightReleased()'],['../class_intelli_tool_flood_fill.html#a39cf49c0ce46f96be3510f0b70c9d892',1,'IntelliToolFloodFill::onMouseRightReleased()'],['../class_intelli_tool_line.html#a6214918cba5753f89d97de4559a2b9b2',1,'IntelliToolLine::onMouseRightReleased()'],['../class_intelli_tool_pen.html#abf8562e8cd2da586afdf4d47b3a4ff13',1,'IntelliToolPen::onMouseRightReleased()'],['../class_intelli_tool_plain_tool.html#a2ae458f1b04eb77a47f6dca5e91e33b8',1,'IntelliToolPlainTool::onMouseRightReleased()'],['../class_intelli_tool_polygon.html#a47cad87cd02b128b02dc929713bd1d1b',1,'IntelliToolPolygon::onMouseRightReleased()'],['../class_intelli_tool_rectangle.html#ad43f653256a6516b9398f82054be0d7f',1,'IntelliToolRectangle::onMouseRightReleased()']]], + ['onwheelscrolled_323',['onWheelScrolled',['../class_intelli_tool.html#a4dccfd4460255ccb866f336406a33574',1,'IntelliTool::onWheelScrolled()'],['../class_intelli_tool_circle.html#ae2d9b0fb6695c184c4cb507a5fb75506',1,'IntelliToolCircle::onWheelScrolled()'],['../class_intelli_tool_flood_fill.html#ad58cc7c065123beb6b0270f99e99b991',1,'IntelliToolFloodFill::onWheelScrolled()'],['../class_intelli_tool_line.html#aaf1d686e1ec43f41b5186ccfd806b125',1,'IntelliToolLine::onWheelScrolled()'],['../class_intelli_tool_pen.html#afe3626ddff440ab125f4a2465c45427a',1,'IntelliToolPen::onWheelScrolled()'],['../class_intelli_tool_plain_tool.html#adc004ea421e2cc0ac39cc7a6b6d43d0d',1,'IntelliToolPlainTool::onWheelScrolled()'],['../class_intelli_tool_polygon.html#a713103300c9f023d64d9eec5ac05dd17',1,'IntelliToolPolygon::onWheelScrolled()'],['../class_intelli_tool_rectangle.html#a445c53a56e859f970e59f5036e221e0c',1,'IntelliToolRectangle::onWheelScrolled()']]], + ['open_324',['open',['../class_painting_area.html#a88c7e759aa8375a56129791645f46ea5',1,'PaintingArea']]] ]; diff --git a/docs/html/search/functions_8.html b/docs/html/search/functions_8.html index 75fc0be..7422be2 100644 --- a/docs/html/search/functions_8.html +++ b/docs/html/search/functions_8.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/functions_8.js b/docs/html/search/functions_8.js index ef43e79..990e950 100644 --- a/docs/html/search/functions_8.js +++ b/docs/html/search/functions_8.js @@ -1,10 +1,5 @@ var searchData= [ - ['onmouseleftpressed_296',['onMouseLeftPressed',['../class_intelli_tool.html#a34b7ef1dde96b94a0ce450a25ae1778c',1,'IntelliTool::onMouseLeftPressed()'],['../class_intelli_tool_circle.html#ae883b8ae833c78a8867e626c600f9639',1,'IntelliToolCircle::onMouseLeftPressed()'],['../class_intelli_tool_flood_fill.html#ac85e3cb6233508ff9612833a8d9e3961',1,'IntelliToolFloodFill::onMouseLeftPressed()'],['../class_intelli_tool_line.html#a155d676a5f98311217eb095be4759846',1,'IntelliToolLine::onMouseLeftPressed()'],['../class_intelli_tool_pen.html#a8ff40aef6d38eb55af31a19322429205',1,'IntelliToolPen::onMouseLeftPressed()'],['../class_intelli_tool_plain_tool.html#ab786dd5fa80af863246013d43c4b7ac9',1,'IntelliToolPlainTool::onMouseLeftPressed()'],['../class_intelli_tool_polygon.html#ad5d3b741be6d0647a9cdc9da2cb8bc3d',1,'IntelliToolPolygon::onMouseLeftPressed()'],['../class_intelli_tool_rectangle.html#ae03c307ccf66cbe3fd59e3657712368d',1,'IntelliToolRectangle::onMouseLeftPressed()']]], - ['onmouseleftreleased_297',['onMouseLeftReleased',['../class_intelli_tool.html#a906a2575c16c8a33cb2a5197f8d8cc5b',1,'IntelliTool::onMouseLeftReleased()'],['../class_intelli_tool_circle.html#ad8e438ec997c57262b5efc2db4cee1a3',1,'IntelliToolCircle::onMouseLeftReleased()'],['../class_intelli_tool_flood_fill.html#a7438ef96c6c36068bce76e2364e8594c',1,'IntelliToolFloodFill::onMouseLeftReleased()'],['../class_intelli_tool_line.html#ac93f76ff20a1c111a403b298bab02482',1,'IntelliToolLine::onMouseLeftReleased()'],['../class_intelli_tool_pen.html#abda7a22b9766fa4ad254324a53cab94d',1,'IntelliToolPen::onMouseLeftReleased()'],['../class_intelli_tool_plain_tool.html#ac23f5d0f07e42fd7c2ea3fc1347da400',1,'IntelliToolPlainTool::onMouseLeftReleased()'],['../class_intelli_tool_polygon.html#a4e1473ff408ae2e11cf6a43f6f575f21',1,'IntelliToolPolygon::onMouseLeftReleased()'],['../class_intelli_tool_rectangle.html#a94460e3ff1c19e80bde922c55f53cc43',1,'IntelliToolRectangle::onMouseLeftReleased()']]], - ['onmousemoved_298',['onMouseMoved',['../class_intelli_tool.html#ac10e20414cd8855a2f9b103fb6408639',1,'IntelliTool::onMouseMoved()'],['../class_intelli_tool_circle.html#a90ee58c5390a86afc75c14ca79b91d7b',1,'IntelliToolCircle::onMouseMoved()'],['../class_intelli_tool_flood_fill.html#a3cd42cea99bc7583875abcc0c274c668',1,'IntelliToolFloodFill::onMouseMoved()'],['../class_intelli_tool_line.html#abc6324ef0778823fe7e35aef8ae37f9b',1,'IntelliToolLine::onMouseMoved()'],['../class_intelli_tool_pen.html#a58d1d636497b630647ce0c4d652737c2',1,'IntelliToolPen::onMouseMoved()'],['../class_intelli_tool_plain_tool.html#ad7546a6335bb3bb4cbf0e1883788d41c',1,'IntelliToolPlainTool::onMouseMoved()'],['../class_intelli_tool_polygon.html#a0e3a1135f04c73c159137ae219a38922',1,'IntelliToolPolygon::onMouseMoved()'],['../class_intelli_tool_rectangle.html#a4b5931071e21eb6949ffe357315e408b',1,'IntelliToolRectangle::onMouseMoved()']]], - ['onmouserightpressed_299',['onMouseRightPressed',['../class_intelli_tool.html#a1e6aa68ac5f3c2ca02319e5ef3f0c966',1,'IntelliTool::onMouseRightPressed()'],['../class_intelli_tool_circle.html#a29d7b9ed4960e6fe1f31ff620363e429',1,'IntelliToolCircle::onMouseRightPressed()'],['../class_intelli_tool_flood_fill.html#ada0f7154d119102410a55038763a17e4',1,'IntelliToolFloodFill::onMouseRightPressed()'],['../class_intelli_tool_line.html#a6cce59f3017936214b10b47252a898a3',1,'IntelliToolLine::onMouseRightPressed()'],['../class_intelli_tool_pen.html#a1751e3864a0d36ef42ca55021cae73ce',1,'IntelliToolPen::onMouseRightPressed()'],['../class_intelli_tool_plain_tool.html#acb0c46e16d2c09370a2244a936de38b1',1,'IntelliToolPlainTool::onMouseRightPressed()'],['../class_intelli_tool_polygon.html#aa36b012b48311c36e7cd6771a5081427',1,'IntelliToolPolygon::onMouseRightPressed()'],['../class_intelli_tool_rectangle.html#a480c6804a4963c5a1c3f7ef84b63c1a8',1,'IntelliToolRectangle::onMouseRightPressed()']]], - ['onmouserightreleased_300',['onMouseRightReleased',['../class_intelli_tool.html#a16189b00307c6d7e89f28198f54404b0',1,'IntelliTool::onMouseRightReleased()'],['../class_intelli_tool_circle.html#aca07540f2f7ccb3d2c0b84890c1afc4c',1,'IntelliToolCircle::onMouseRightReleased()'],['../class_intelli_tool_flood_fill.html#a39cf49c0ce46f96be3510f0b70c9d892',1,'IntelliToolFloodFill::onMouseRightReleased()'],['../class_intelli_tool_line.html#a6214918cba5753f89d97de4559a2b9b2',1,'IntelliToolLine::onMouseRightReleased()'],['../class_intelli_tool_pen.html#abf8562e8cd2da586afdf4d47b3a4ff13',1,'IntelliToolPen::onMouseRightReleased()'],['../class_intelli_tool_plain_tool.html#a2ae458f1b04eb77a47f6dca5e91e33b8',1,'IntelliToolPlainTool::onMouseRightReleased()'],['../class_intelli_tool_polygon.html#a47cad87cd02b128b02dc929713bd1d1b',1,'IntelliToolPolygon::onMouseRightReleased()'],['../class_intelli_tool_rectangle.html#ad43f653256a6516b9398f82054be0d7f',1,'IntelliToolRectangle::onMouseRightReleased()']]], - ['onwheelscrolled_301',['onWheelScrolled',['../class_intelli_tool.html#a4dccfd4460255ccb866f336406a33574',1,'IntelliTool::onWheelScrolled()'],['../class_intelli_tool_circle.html#ae2d9b0fb6695c184c4cb507a5fb75506',1,'IntelliToolCircle::onWheelScrolled()'],['../class_intelli_tool_flood_fill.html#ad58cc7c065123beb6b0270f99e99b991',1,'IntelliToolFloodFill::onWheelScrolled()'],['../class_intelli_tool_line.html#aaf1d686e1ec43f41b5186ccfd806b125',1,'IntelliToolLine::onWheelScrolled()'],['../class_intelli_tool_pen.html#afe3626ddff440ab125f4a2465c45427a',1,'IntelliToolPen::onWheelScrolled()'],['../class_intelli_tool_plain_tool.html#adc004ea421e2cc0ac39cc7a6b6d43d0d',1,'IntelliToolPlainTool::onWheelScrolled()'],['../class_intelli_tool_polygon.html#a713103300c9f023d64d9eec5ac05dd17',1,'IntelliToolPolygon::onWheelScrolled()'],['../class_intelli_tool_rectangle.html#a445c53a56e859f970e59f5036e221e0c',1,'IntelliToolRectangle::onWheelScrolled()']]], - ['open_302',['open',['../class_painting_area.html#a88c7e759aa8375a56129791645f46ea5',1,'PaintingArea']]] + ['paintevent_325',['paintEvent',['../class_painting_area.html#a4a8138b9508ee4ec87a7fca9160368a7',1,'PaintingArea']]], + ['paintingarea_326',['PaintingArea',['../class_painting_area.html#a4fa0ec23e78cc59f28c823584c721460',1,'PaintingArea']]] ]; diff --git a/docs/html/search/functions_9.html b/docs/html/search/functions_9.html index 7541c9e..befd4fa 100644 --- a/docs/html/search/functions_9.html +++ b/docs/html/search/functions_9.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/functions_9.js b/docs/html/search/functions_9.js index 9eda906..fc68a1a 100644 --- a/docs/html/search/functions_9.js +++ b/docs/html/search/functions_9.js @@ -1,5 +1,4 @@ var searchData= [ - ['paintevent_303',['paintEvent',['../class_painting_area.html#a4a8138b9508ee4ec87a7fca9160368a7',1,'PaintingArea']]], - ['paintingarea_304',['PaintingArea',['../class_painting_area.html#a4fa0ec23e78cc59f28c823584c721460',1,'PaintingArea']]] + ['resizeimage_327',['resizeImage',['../class_intelli_image.html#a177403ab9585d4ba31984a644c54d310',1,'IntelliImage']]] ]; diff --git a/docs/html/search/functions_a.html b/docs/html/search/functions_a.html index 5a5be63..a81e963 100644 --- a/docs/html/search/functions_a.html +++ b/docs/html/search/functions_a.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/functions_a.js b/docs/html/search/functions_a.js index fbad351..da081c6 100644 --- a/docs/html/search/functions_a.js +++ b/docs/html/search/functions_a.js @@ -1,5 +1,21 @@ var searchData= [ - ['resizeevent_305',['resizeEvent',['../class_painting_area.html#ab57e8ccda60fff7187463a90e65c5335',1,'PaintingArea']]], - ['resizeimage_306',['resizeImage',['../class_intelli_image.html#a177403ab9585d4ba31984a644c54d310',1,'IntelliImage']]] + ['save_328',['save',['../class_painting_area.html#aa2463d4f403224086acab02903ae407e',1,'PaintingArea']]], + ['setfastrendering_329',['setFastRendering',['../class_intelli_render_settings.html#a5ffb878b77e5d448ffe4eb03a8397ac2',1,'IntelliRenderSettings']]], + ['setfirstcolor_330',['setFirstColor',['../class_intelli_color_picker.html#a7e2ddbbbfbed383f06b24e5bf6b27ae8',1,'IntelliColorPicker']]], + ['setimagedata_331',['setImageData',['../class_intelli_image.html#ab09c64e7559f3db32ca3b20ba6339268',1,'IntelliImage']]], + ['setinneralpha_332',['setInnerAlpha',['../class_intelli_toolsettings.html#a9a61f3de61efeba2287f8b32941f4271',1,'IntelliToolsettings']]], + ['setlayeractive_333',['setLayerActive',['../class_painting_area.html#a79eb059829f27e8cdb3a54c5cd3d12c9',1,'PaintingArea']]], + ['setlayeralpha_334',['setLayerAlpha',['../class_painting_area.html#a6c7e0865e684ae1089ee283b4399d055',1,'PaintingArea']]], + ['setlinewidth_335',['setLineWidth',['../class_intelli_toolsettings.html#a73fa94c85c6c2fdc1a33975a33304a6f',1,'IntelliToolsettings']]], + ['setpolygon_336',['setPolygon',['../class_intelli_image.html#aa4b3f4631bd972456917275afb9fd309',1,'IntelliImage::setPolygon()'],['../class_intelli_raster_image.html#a6462fa5f94c5e64e9e1f0c4658e0507b',1,'IntelliRasterImage::setPolygon()'],['../class_intelli_shaped_image.html#a4b69d75de7a3b85032482982f249458e',1,'IntelliShapedImage::setPolygon()'],['../class_painting_area.html#aa409492ac26483d618bb33616f2e3f81',1,'PaintingArea::setPolygon()']]], + ['setrendersettings_337',['setRenderSettings',['../class_painting_area.html#a63be0831e5b6ceb8cc622d83aa28f0bd',1,'PaintingArea']]], + ['setsecondcolor_338',['setSecondColor',['../class_intelli_color_picker.html#a86bf4a940e4a0e465e30cbdf28748931',1,'IntelliColorPicker']]], + ['settoolwidth_339',['setToolWidth',['../class_intelli_photo_gui.html#a343f8ebf5d27b7242208747de6c92497',1,'IntelliPhotoGui']]], + ['sign_340',['sign',['../namespace_intelli_triangulation.html#af9af549a7faff35a74c1265b290ea0ca',1,'IntelliTriangulation']]], + ['slotactivatelayer_341',['slotActivateLayer',['../class_painting_area.html#a71ac281e0de263208d4a3b9de74258ec',1,'PaintingArea']]], + ['slotcloseevent_342',['slotCloseEvent',['../class_intelli_input_dialog.html#ae59e68446caab323945ea725f69e89b0',1,'IntelliInputDialog']]], + ['slotdeleteactivelayer_343',['slotDeleteActiveLayer',['../class_painting_area.html#a1ff0b9c1227531943c9cec2c546fae5e',1,'PaintingArea']]], + ['sloteingabe_344',['slotEingabe',['../class_intelli_input_dialog.html#a23f837147e6aab3d8e0aff9d0f7012bd',1,'IntelliInputDialog']]], + ['swapcolors_345',['swapColors',['../class_intelli_color_picker.html#aec499265ae28ce1b54be88222e74292e',1,'IntelliColorPicker']]] ]; diff --git a/docs/html/search/functions_b.html b/docs/html/search/functions_b.html index fc2d5aa..345265d 100644 --- a/docs/html/search/functions_b.html +++ b/docs/html/search/functions_b.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/functions_b.js b/docs/html/search/functions_b.js index 3fd13f3..5ea2d27 100644 --- a/docs/html/search/functions_b.js +++ b/docs/html/search/functions_b.js @@ -1,15 +1,6 @@ var searchData= [ - ['save_307',['save',['../class_painting_area.html#aa2463d4f403224086acab02903ae407e',1,'PaintingArea']]], - ['setfirstcolor_308',['setFirstColor',['../class_intelli_color_picker.html#a7e2ddbbbfbed383f06b24e5bf6b27ae8',1,'IntelliColorPicker']]], - ['setinneralpha_309',['setInnerAlpha',['../class_intelli_toolsettings.html#a32f165c89190e40caf96abb916e6c876',1,'IntelliToolsettings::setInnerAlpha()'],['../class_intelli_toolsettings.html#a9a61f3de61efeba2287f8b32941f4271',1,'IntelliToolsettings::setInnerAlpha(int innerAlpha)']]], - ['setlayeractive_310',['setLayerActive',['../class_painting_area.html#a79eb059829f27e8cdb3a54c5cd3d12c9',1,'PaintingArea']]], - ['setlayeralpha_311',['setLayerAlpha',['../class_painting_area.html#a6c7e0865e684ae1089ee283b4399d055',1,'PaintingArea']]], - ['setlinewidth_312',['setLineWidth',['../class_intelli_toolsettings.html#a906d37de6ee94b433d53fe3e598cc9fa',1,'IntelliToolsettings::setLineWidth()'],['../class_intelli_toolsettings.html#a73fa94c85c6c2fdc1a33975a33304a6f',1,'IntelliToolsettings::setLineWidth(int LineWidth)']]], - ['setpolygon_313',['setPolygon',['../class_intelli_image.html#aa4b3f4631bd972456917275afb9fd309',1,'IntelliImage::setPolygon()'],['../class_intelli_raster_image.html#a6462fa5f94c5e64e9e1f0c4658e0507b',1,'IntelliRasterImage::setPolygon()'],['../class_intelli_shaped_image.html#a4b69d75de7a3b85032482982f249458e',1,'IntelliShapedImage::setPolygon()']]], - ['setsecondcolor_314',['setSecondColor',['../class_intelli_color_picker.html#a86bf4a940e4a0e465e30cbdf28748931',1,'IntelliColorPicker']]], - ['sign_315',['sign',['../namespace_intelli_triangulation.html#af9af549a7faff35a74c1265b290ea0ca',1,'IntelliTriangulation']]], - ['slotactivatelayer_316',['slotActivateLayer',['../class_painting_area.html#a71ac281e0de263208d4a3b9de74258ec',1,'PaintingArea']]], - ['slotdeleteactivelayer_317',['slotDeleteActiveLayer',['../class_painting_area.html#a1ff0b9c1227531943c9cec2c546fae5e',1,'PaintingArea']]], - ['swapcolors_318',['swapColors',['../class_intelli_color_picker.html#aec499265ae28ce1b54be88222e74292e',1,'IntelliColorPicker']]] + ['unittest_346',['UnitTest',['../class_unit_test.html#a67ddaff817b55a624741d32550052f4b',1,'UnitTest::UnitTest()'],['../class_unit_test.html#a67ddaff817b55a624741d32550052f4b',1,'UnitTest::UnitTest()']]], + ['updategui_347',['UpdateGui',['../class_intelli_photo_gui.html#a1dbef8d4688227aa9455aea52db00bf4',1,'IntelliPhotoGui']]], + ['updaterenderersetting_348',['updateRendererSetting',['../class_intelli_image.html#ae4dbaefabce4ec5bec37f5b95e2f62e2',1,'IntelliImage']]] ]; diff --git a/docs/html/search/functions_c.html b/docs/html/search/functions_c.html index a1a1437..858bfd6 100644 --- a/docs/html/search/functions_c.html +++ b/docs/html/search/functions_c.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/functions_c.js b/docs/html/search/functions_c.js index 5e10ca3..69c7a05 100644 --- a/docs/html/search/functions_c.js +++ b/docs/html/search/functions_c.js @@ -1,5 +1,4 @@ var searchData= [ - ['updategui_319',['UpdateGui',['../class_intelli_photo_gui.html#a1dbef8d4688227aa9455aea52db00bf4',1,'IntelliPhotoGui']]], - ['updaterenderersetting_320',['updateRendererSetting',['../class_intelli_image.html#ae4dbaefabce4ec5bec37f5b95e2f62e2',1,'IntelliImage']]] + ['wheelevent_349',['wheelEvent',['../class_painting_area.html#a632848d99f44d33d7da2618fbc6775a4',1,'PaintingArea']]] ]; diff --git a/docs/html/search/functions_d.html b/docs/html/search/functions_d.html index 4375535..2f09f51 100644 --- a/docs/html/search/functions_d.html +++ b/docs/html/search/functions_d.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/functions_d.js b/docs/html/search/functions_d.js index 6592719..3f94bea 100644 --- a/docs/html/search/functions_d.js +++ b/docs/html/search/functions_d.js @@ -1,4 +1,18 @@ var searchData= [ - ['wheelevent_321',['wheelEvent',['../class_painting_area.html#a632848d99f44d33d7da2618fbc6775a4',1,'PaintingArea']]] + ['_7eintellicolorpicker_350',['~IntelliColorPicker',['../class_intelli_color_picker.html#a40b975268a1f05249e8a49dde9a862ff',1,'IntelliColorPicker']]], + ['_7eintelliimage_351',['~IntelliImage',['../class_intelli_image.html#ac398bfa9ddd3185508a1e36ee15d80cc',1,'IntelliImage']]], + ['_7eintellirasterimage_352',['~IntelliRasterImage',['../class_intelli_raster_image.html#a844a2b58c43f7e01f2ca116286371bc8',1,'IntelliRasterImage']]], + ['_7eintellishapedimage_353',['~IntelliShapedImage',['../class_intelli_shaped_image.html#a43d63d8a814852d377ee2030658fbab9',1,'IntelliShapedImage']]], + ['_7eintellitool_354',['~IntelliTool',['../class_intelli_tool.html#a57fb1b27d364c9e3696eb928b75fa9f2',1,'IntelliTool']]], + ['_7eintellitoolcircle_355',['~IntelliToolCircle',['../class_intelli_tool_circle.html#a7a03b65b95d7b5d72e6a92c95f068954',1,'IntelliToolCircle']]], + ['_7eintellitoolfloodfill_356',['~IntelliToolFloodFill',['../class_intelli_tool_flood_fill.html#a83b1bd8be0cbb32cdf61a9597ec849ba',1,'IntelliToolFloodFill']]], + ['_7eintellitoolline_357',['~IntelliToolLine',['../class_intelli_tool_line.html#acb600b0f4e9225ebce2937c2b7abb4c2',1,'IntelliToolLine']]], + ['_7eintellitoolpen_358',['~IntelliToolPen',['../class_intelli_tool_pen.html#ac77a025515d0fed6954556fe2b444818',1,'IntelliToolPen']]], + ['_7eintellitoolplaintool_359',['~IntelliToolPlainTool',['../class_intelli_tool_plain_tool.html#a91fe568be05c075814d67440472bb658',1,'IntelliToolPlainTool']]], + ['_7eintellitoolpolygon_360',['~IntelliToolPolygon',['../class_intelli_tool_polygon.html#a087cbf2254010989df6106a357471499',1,'IntelliToolPolygon']]], + ['_7eintellitoolrectangle_361',['~IntelliToolRectangle',['../class_intelli_tool_rectangle.html#a7dc1463e726a21255e6297241dc71fb1',1,'IntelliToolRectangle']]], + ['_7eintellitoolsettings_362',['~IntelliToolsettings',['../class_intelli_toolsettings.html#a927e50594a459c952d06acd34c0eff56',1,'IntelliToolsettings']]], + ['_7epaintingarea_363',['~PaintingArea',['../class_painting_area.html#aa32adc113f77031945f73e33051931e8',1,'PaintingArea']]], + ['_7eunittest_364',['~UnitTest',['../class_unit_test.html#afa0bdd3e2ac33cd52e697406339a2edf',1,'UnitTest::~UnitTest()'],['../class_unit_test.html#afa0bdd3e2ac33cd52e697406339a2edf',1,'UnitTest::~UnitTest()']]] ]; diff --git a/docs/html/search/namespaces_0.html b/docs/html/search/namespaces_0.html index 93c99f9..76996d1 100644 --- a/docs/html/search/namespaces_0.html +++ b/docs/html/search/namespaces_0.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/namespaces_0.js b/docs/html/search/namespaces_0.js index 5990e7a..a9bc87f 100644 --- a/docs/html/search/namespaces_0.js +++ b/docs/html/search/namespaces_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['intellitriangulation_195',['IntelliTriangulation',['../namespace_intelli_triangulation.html',1,'']]] + ['intellitriangulation_210',['IntelliTriangulation',['../namespace_intelli_triangulation.html',1,'']]] ]; diff --git a/docs/html/search/search.css b/docs/html/search/search.css index 4114870..83c346f 100644 --- a/docs/html/search/search.css +++ b/docs/html/search/search.css @@ -99,8 +99,8 @@ display: none; position: absolute; left: 0; top: 0; - border: 1px solid #AFAFAF; - background-color: #FAFAFB; + border: 1px solid #7C8081; + background-color: #F7F7F7; z-index: 10001; padding-top: 4px; padding-bottom: 4px; @@ -144,7 +144,7 @@ a.SelectItem:active { a.SelectItem:hover { color: #FFFFFF; - background-color: #646465; + background-color: #2B2D2D; outline-style: none; text-decoration: none; cursor: pointer; @@ -163,7 +163,7 @@ iframe#MSearchResults { position: absolute; left: 0; top: 0; border: 1px solid #000; - background-color: #F2F2F2; + background-color: #E8E9E9; z-index:10000; } @@ -199,7 +199,7 @@ body.SRPage { .SRSymbol { font-weight: bold; - color: #6C6C6D; + color: #323434; font-family: Arial, Verdana, sans-serif; text-decoration: none; outline: none; @@ -207,7 +207,7 @@ body.SRPage { a.SRScope { display: block; - color: #6C6C6D; + color: #323434; font-family: Arial, Verdana, sans-serif; text-decoration: none; outline: none; @@ -240,7 +240,7 @@ DIV.searchresults { /*---------------- External search page results */ .searchresult { - background-color: #F4F4F4; + background-color: #EBECEC; } .pages b { diff --git a/docs/html/search/searchdata.js b/docs/html/search/searchdata.js index 84ee609..05963ce 100644 --- a/docs/html/search/searchdata.js +++ b/docs/html/search/searchdata.js @@ -1,13 +1,13 @@ var indexSectionsWithContent = { - 0: "abcdfghilmoprstuw~", - 1: "ilpt", + 0: "abcdfghilmnoprstuw~", + 1: "ilptu", 2: "i", - 3: "imp", - 4: "acdfgilmoprsuw~", + 3: "impt", + 4: "acdgilmoprsuw~", 5: "abcfhiptw", - 6: "ilt", - 7: "cdflprs", + 6: "it", + 7: "cflnprs", 8: "p" }; diff --git a/docs/html/search/variables_0.html b/docs/html/search/variables_0.html index a2a3ae6..bf3eba5 100644 --- a/docs/html/search/variables_0.html +++ b/docs/html/search/variables_0.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/variables_0.js b/docs/html/search/variables_0.js index fcc329d..a99d4ca 100644 --- a/docs/html/search/variables_0.js +++ b/docs/html/search/variables_0.js @@ -1,8 +1,8 @@ var searchData= [ - ['a_336',['A',['../struct_triangle.html#a4fe8b39e0144ebff908b7718c2f2751b',1,'Triangle']]], - ['activelayer_337',['activeLayer',['../class_intelli_tool.html#aedccdad01b2bc6ec84fad3582251ff5d',1,'IntelliTool']]], - ['activetype_338',['ActiveType',['../class_intelli_tool.html#a631388999f36013628e13b9de87a6f7b',1,'IntelliTool']]], - ['alpha_339',['alpha',['../struct_layer_object.html#a402cb1d9f20436032fe080681b80eb56',1,'LayerObject']]], - ['area_340',['Area',['../class_intelli_tool.html#ab4c2698a0f9f25fb6639ec760d2d0289',1,'IntelliTool']]] + ['a_365',['A',['../struct_triangle.html#a4fe8b39e0144ebff908b7718c2f2751b',1,'Triangle']]], + ['activelayer_366',['activeLayer',['../class_intelli_tool.html#aedccdad01b2bc6ec84fad3582251ff5d',1,'IntelliTool']]], + ['activetype_367',['ActiveType',['../class_intelli_tool.html#a631388999f36013628e13b9de87a6f7b',1,'IntelliTool']]], + ['alpha_368',['alpha',['../struct_layer_object.html#a402cb1d9f20436032fe080681b80eb56',1,'LayerObject']]], + ['area_369',['Area',['../class_intelli_tool.html#ab4c2698a0f9f25fb6639ec760d2d0289',1,'IntelliTool']]] ]; diff --git a/docs/html/search/variables_1.html b/docs/html/search/variables_1.html index b243c42..49fe59a 100644 --- a/docs/html/search/variables_1.html +++ b/docs/html/search/variables_1.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/variables_1.js b/docs/html/search/variables_1.js index 3f7bbf9..9285079 100644 --- a/docs/html/search/variables_1.js +++ b/docs/html/search/variables_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['b_341',['B',['../struct_triangle.html#a64fa6a90a6131f12a1a3054bf86647d7',1,'Triangle']]] + ['b_370',['B',['../struct_triangle.html#a64fa6a90a6131f12a1a3054bf86647d7',1,'Triangle']]] ]; diff --git a/docs/html/search/variables_2.html b/docs/html/search/variables_2.html index 647df20..0c8a18c 100644 --- a/docs/html/search/variables_2.html +++ b/docs/html/search/variables_2.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/variables_2.js b/docs/html/search/variables_2.js index 520775b..7a9fe2a 100644 --- a/docs/html/search/variables_2.js +++ b/docs/html/search/variables_2.js @@ -1,6 +1,6 @@ var searchData= [ - ['c_342',['C',['../struct_triangle.html#addb8aaab314d79f3617acca01e12872a',1,'Triangle']]], - ['canvas_343',['Canvas',['../class_intelli_tool.html#a144d469cc03584f501194529a1b53c77',1,'IntelliTool']]], - ['colorpicker_344',['colorPicker',['../class_painting_area.html#a132535c4e16052c1472cf1b9f3e096ed',1,'PaintingArea::colorPicker()'],['../class_intelli_tool.html#ae2e0ac394611a361ab4ef2fe55c03fef',1,'IntelliTool::colorPicker()']]] + ['c_371',['C',['../struct_triangle.html#addb8aaab314d79f3617acca01e12872a',1,'Triangle']]], + ['canvas_372',['Canvas',['../class_intelli_tool.html#a144d469cc03584f501194529a1b53c77',1,'IntelliTool']]], + ['colorpicker_373',['colorPicker',['../class_painting_area.html#a132535c4e16052c1472cf1b9f3e096ed',1,'PaintingArea::colorPicker()'],['../class_intelli_tool.html#ae2e0ac394611a361ab4ef2fe55c03fef',1,'IntelliTool::colorPicker()']]] ]; diff --git a/docs/html/search/variables_3.html b/docs/html/search/variables_3.html index 9dc9b89..19a31fc 100644 --- a/docs/html/search/variables_3.html +++ b/docs/html/search/variables_3.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/variables_3.js b/docs/html/search/variables_3.js index df82d3c..d205337 100644 --- a/docs/html/search/variables_3.js +++ b/docs/html/search/variables_3.js @@ -1,4 +1,4 @@ var searchData= [ - ['fastrenderer_345',['fastRenderer',['../class_intelli_image.html#adade0f6990152f09d953067a51511b9c',1,'IntelliImage']]] + ['fastrenderering_374',['fastRenderering',['../class_intelli_image.html#aa63d34c7932113d021653980ee018671',1,'IntelliImage']]] ]; diff --git a/docs/html/search/variables_4.html b/docs/html/search/variables_4.html index 78cc2c7..bdc37be 100644 --- a/docs/html/search/variables_4.html +++ b/docs/html/search/variables_4.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/variables_4.js b/docs/html/search/variables_4.js index 410896f..1593930 100644 --- a/docs/html/search/variables_4.js +++ b/docs/html/search/variables_4.js @@ -1,5 +1,5 @@ var searchData= [ - ['height_346',['height',['../struct_layer_object.html#ae0003fb815e50ed587a9897988befc90',1,'LayerObject']]], - ['heightoffset_347',['heightOffset',['../struct_layer_object.html#a08bacdcd64a0ae0eb5376f55329954bc',1,'LayerObject']]] + ['height_375',['height',['../struct_layer_object.html#ae0003fb815e50ed587a9897988befc90',1,'LayerObject']]], + ['heightoffset_376',['heightOffset',['../struct_layer_object.html#a08bacdcd64a0ae0eb5376f55329954bc',1,'LayerObject']]] ]; diff --git a/docs/html/search/variables_5.html b/docs/html/search/variables_5.html index dfa3558..6aa2249 100644 --- a/docs/html/search/variables_5.html +++ b/docs/html/search/variables_5.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/variables_5.js b/docs/html/search/variables_5.js index cb2bd53..92a3332 100644 --- a/docs/html/search/variables_5.js +++ b/docs/html/search/variables_5.js @@ -1,6 +1,6 @@ var searchData= [ - ['image_348',['image',['../struct_layer_object.html#af01a139bc8edfdbb338393874e89bd83',1,'LayerObject']]], - ['imagedata_349',['imageData',['../class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2',1,'IntelliImage']]], - ['isdrawing_350',['isDrawing',['../class_intelli_tool.html#a555aa8a74992327f740dd69b3bb0ccca',1,'IntelliTool']]] + ['image_377',['image',['../struct_layer_object.html#af01a139bc8edfdbb338393874e89bd83',1,'LayerObject']]], + ['imagedata_378',['imageData',['../class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2',1,'IntelliImage']]], + ['isdrawing_379',['isDrawing',['../class_intelli_tool.html#a555aa8a74992327f740dd69b3bb0ccca',1,'IntelliTool']]] ]; diff --git a/docs/html/search/variables_6.html b/docs/html/search/variables_6.html index cd462bd..ce4a906 100644 --- a/docs/html/search/variables_6.html +++ b/docs/html/search/variables_6.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/variables_6.js b/docs/html/search/variables_6.js index 7461d99..33dcbca 100644 --- a/docs/html/search/variables_6.js +++ b/docs/html/search/variables_6.js @@ -1,4 +1,4 @@ var searchData= [ - ['polygondata_351',['polygonData',['../class_intelli_shaped_image.html#a727d19ce314c0874be6b0633a3a603c8',1,'IntelliShapedImage']]] + ['polygondata_380',['polygonData',['../class_intelli_shaped_image.html#a727d19ce314c0874be6b0633a3a603c8',1,'IntelliShapedImage']]] ]; diff --git a/docs/html/search/variables_7.html b/docs/html/search/variables_7.html index 47994b8..39ffd47 100644 --- a/docs/html/search/variables_7.html +++ b/docs/html/search/variables_7.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/variables_7.js b/docs/html/search/variables_7.js index 9f90859..07772eb 100644 --- a/docs/html/search/variables_7.js +++ b/docs/html/search/variables_7.js @@ -1,5 +1,5 @@ var searchData= [ - ['toolsettings_352',['Toolsettings',['../class_painting_area.html#abc2f798744f1dc805a651731eb1692ea',1,'PaintingArea::Toolsettings()'],['../class_intelli_tool.html#a55f6b45b416b7d790fa8bc09603bf67f',1,'IntelliTool::Toolsettings()']]], - ['typeofimage_353',['TypeOfImage',['../class_intelli_image.html#ac460f75e1fa7e44b00a65e7fddac5b80',1,'IntelliImage']]] + ['toolsettings_381',['Toolsettings',['../class_painting_area.html#abc2f798744f1dc805a651731eb1692ea',1,'PaintingArea::Toolsettings()'],['../class_intelli_tool.html#a55f6b45b416b7d790fa8bc09603bf67f',1,'IntelliTool::Toolsettings()']]], + ['typeofimage_382',['TypeOfImage',['../class_intelli_image.html#ac460f75e1fa7e44b00a65e7fddac5b80',1,'IntelliImage']]] ]; diff --git a/docs/html/search/variables_8.html b/docs/html/search/variables_8.html index a50ee8f..37a2edd 100644 --- a/docs/html/search/variables_8.html +++ b/docs/html/search/variables_8.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/variables_8.js b/docs/html/search/variables_8.js index ed40785..1bbcc80 100644 --- a/docs/html/search/variables_8.js +++ b/docs/html/search/variables_8.js @@ -1,5 +1,5 @@ var searchData= [ - ['width_354',['width',['../struct_layer_object.html#af261813df52ff0b0c82bfa57efeb9897',1,'LayerObject']]], - ['widthoffset_355',['widthOffset',['../struct_layer_object.html#a72b44d27c7bbb60dde14f04ec240ab96',1,'LayerObject']]] + ['width_383',['width',['../struct_layer_object.html#af261813df52ff0b0c82bfa57efeb9897',1,'LayerObject']]], + ['widthoffset_384',['widthOffset',['../struct_layer_object.html#a72b44d27c7bbb60dde14f04ec240ab96',1,'LayerObject']]] ]; diff --git a/docs/html/splitbar.png b/docs/html/splitbar.png index 343046b..c7c06a3 100644 Binary files a/docs/html/splitbar.png and b/docs/html/splitbar.png differ diff --git a/docs/html/struct_layer_object-members.html b/docs/html/struct_layer_object-members.html index 702a111..d535100 100644 --- a/docs/html/struct_layer_object-members.html +++ b/docs/html/struct_layer_object-members.html @@ -3,7 +3,7 @@ - + IntelliPhoto: Member List @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
    @@ -106,7 +102,7 @@ $(document).ready(function(){initNavTree('struct_layer_object.html','');});
      + doxygen 1.8.17
    diff --git a/docs/html/struct_layer_object.html b/docs/html/struct_layer_object.html index d424a5a..05f0cb1 100644 --- a/docs/html/struct_layer_object.html +++ b/docs/html/struct_layer_object.html @@ -3,7 +3,7 @@ - + IntelliPhoto: LayerObject Struct Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
    @@ -102,32 +98,28 @@ $(document).ready(function(){initNavTree('struct_layer_object.html','');});

    Public Attributes

    IntelliImageimage + image - Stores the imageData of the current LayerObject. More...
      int width + width - Stores the width of a layer in pixels. More...
      int height + height - Stores the height of a layer in pixels. More...
      int widthOffset + widthOffset - Stores the number of pixles from the left side of the painting area. More...
      int heightOffset + heightOffset - Stores the number of pixles from the top of the painting area. More...
      -int alpha =255 +int alpha = 255 + alpha - Stores the alpha value of the layer (default=255). More...
     

    Detailed Description

    The LayerObject struct holds all the information needed to construct a layer.

    -
    Parameters
    - - - - - - -
    width- Stores the width of a layer in pixels
    height- Stores the height of a layer in pixels
    alpha- Stores the alpha value of the layer (default=255)
    widthOffset- Stores the number of pixles from the left side of the painting area
    heightOffset- Stores the number of pixles from the top of the painting area
    -
    -
    -

    Definition at line 25 of file PaintingArea.h.

    +

    Definition at line 23 of file PaintingArea.h.

    Member Data Documentation

    ◆ alpha

    @@ -136,12 +128,14 @@ Public Attributes
    - +
    int LayerObject::alpha =255int LayerObject::alpha = 255
    -

    Definition at line 31 of file PaintingArea.h.

    +

    alpha - Stores the alpha value of the layer (default=255).

    + +

    Definition at line 47 of file PaintingArea.h.

    @@ -157,7 +151,9 @@ Public Attributes
    -

    Definition at line 28 of file PaintingArea.h.

    +

    height - Stores the height of a layer in pixels.

    + +

    Definition at line 35 of file PaintingArea.h.

    @@ -173,7 +169,9 @@ Public Attributes
    -

    Definition at line 30 of file PaintingArea.h.

    +

    heightOffset - Stores the number of pixles from the top of the painting area.

    + +

    Definition at line 43 of file PaintingArea.h.

    @@ -189,7 +187,9 @@ Public Attributes
    -

    Definition at line 26 of file PaintingArea.h.

    +

    image - Stores the imageData of the current LayerObject.

    + +

    Definition at line 27 of file PaintingArea.h.

    @@ -205,7 +205,9 @@ Public Attributes
    -

    Definition at line 27 of file PaintingArea.h.

    +

    width - Stores the width of a layer in pixels.

    + +

    Definition at line 31 of file PaintingArea.h.

    @@ -221,12 +223,14 @@ Public Attributes
    -

    Definition at line 29 of file PaintingArea.h.

    +

    widthOffset - Stores the number of pixles from the left side of the painting area.

    + +

    Definition at line 39 of file PaintingArea.h.


    The documentation for this struct was generated from the following file: @@ -236,7 +240,7 @@ Public Attributes + doxygen 1.8.17 diff --git a/docs/html/struct_triangle-members.html b/docs/html/struct_triangle-members.html index 883f66a..1e36bc1 100644 --- a/docs/html/struct_triangle-members.html +++ b/docs/html/struct_triangle-members.html @@ -3,7 +3,7 @@ - + IntelliPhoto: Member List @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
    @@ -103,7 +99,7 @@ $(document).ready(function(){initNavTree('struct_triangle.html','');});
      + doxygen 1.8.17
    diff --git a/docs/html/struct_triangle.html b/docs/html/struct_triangle.html index 038a78d..46b4d8e 100644 --- a/docs/html/struct_triangle.html +++ b/docs/html/struct_triangle.html @@ -3,7 +3,7 @@ - + IntelliPhoto: Triangle Struct Reference @@ -13,10 +13,6 @@ - @@ -38,7 +34,7 @@ - +
    @@ -111,7 +107,7 @@ Public Attributes

    Detailed Description

    The Triangle struct holds the 3 vertices of a triangle.

    -

    Definition at line 10 of file IntelliTriangulation.h.

    +

    Definition at line 13 of file IntelliTriangulation.h.

    Member Data Documentation

    ◆ A

    @@ -125,7 +121,7 @@ Public Attributes
    -

    Definition at line 11 of file IntelliTriangulation.h.

    +

    Definition at line 14 of file IntelliTriangulation.h.

    @@ -141,7 +137,7 @@ Public Attributes
    -

    Definition at line 11 of file IntelliTriangulation.h.

    +

    Definition at line 14 of file IntelliTriangulation.h.

    @@ -157,12 +153,12 @@ Public Attributes
    -

    Definition at line 11 of file IntelliTriangulation.h.

    +

    Definition at line 14 of file IntelliTriangulation.h.


    The documentation for this struct was generated from the following file: @@ -172,7 +168,7 @@ Public Attributes + doxygen 1.8.17 diff --git a/docs/html/sync_off.png b/docs/html/sync_off.png index 05a52f3..b6537e9 100644 Binary files a/docs/html/sync_off.png and b/docs/html/sync_off.png differ diff --git a/docs/html/sync_on.png b/docs/html/sync_on.png index 051e1cd..47fc721 100644 Binary files a/docs/html/sync_on.png and b/docs/html/sync_on.png differ diff --git a/docs/html/tab_a.png b/docs/html/tab_a.png index 160ff54..b9143f7 100644 Binary files a/docs/html/tab_a.png and b/docs/html/tab_a.png differ diff --git a/docs/html/tab_b.png b/docs/html/tab_b.png index 9b2c2c5..12977f0 100644 Binary files a/docs/html/tab_b.png and b/docs/html/tab_b.png differ diff --git a/docs/html/tab_h.png b/docs/html/tab_h.png index d72f749..0817946 100644 Binary files a/docs/html/tab_h.png and b/docs/html/tab_h.png differ diff --git a/docs/html/tab_s.png b/docs/html/tab_s.png index 3940744..e248641 100644 Binary files a/docs/html/tab_s.png and b/docs/html/tab_s.png differ diff --git a/docs/html/tst__unittest_8cpp.html b/docs/html/tst__unittest_8cpp.html new file mode 100644 index 0000000..20cd4a2 --- /dev/null +++ b/docs/html/tst__unittest_8cpp.html @@ -0,0 +1,131 @@ + + + + + + + +IntelliPhoto: src/tst_unittest.cpp File Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    IntelliPhoto +  0.5 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    tst_unittest.cpp File Reference
    +
    +
    +
    #include <QtTest>
    +#include <QCoreApplication>
    +#include "GUI/IntelliPhotoGui.h"
    +#include "Image/IntelliImage.h"
    +#include "Image/IntelliRasterImage.h"
    +#include "Image/IntelliShapedImage.h"
    +#include "IntelliHelper/IntelliColorPicker.h"
    +#include "IntelliHelper/IntelliRenderSettings.h"
    +#include "IntelliHelper/IntelliToolsettings.h"
    +#include "IntelliHelper/IntelliTriangulation.h"
    +#include "Layer/PaintingArea.h"
    +#include "Tool/IntelliTool.h"
    +#include "Tool/IntelliToolCircle.h"
    +#include "Tool/IntelliToolFloodFill.h"
    +#include "Tool/IntelliToolLine.h"
    +#include "Tool/IntelliToolPen.h"
    +#include "Tool/IntelliToolPlain.h"
    +#include "Tool/IntelliToolPolygon.h"
    +#include "Tool/IntelliToolRectangle.h"
    +#include "tst_unittest.moc"
    +
    +

    Go to the source code of this file.

    + + + + +

    +Classes

    class  UnitTest
     
    +
    +
    + + + + diff --git a/docs/html/tst__unittest_8cpp_source.html b/docs/html/tst__unittest_8cpp_source.html new file mode 100644 index 0000000..6e615ba --- /dev/null +++ b/docs/html/tst__unittest_8cpp_source.html @@ -0,0 +1,1852 @@ + + + + + + + +IntelliPhoto: src/tst_unittest.cpp Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    IntelliPhoto +  0.5 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    tst_unittest.cpp
    +
    +
    +Go to the documentation of this file.
    1 #include <QtTest>
    +
    2 #include <QCoreApplication>
    +
    3 // add necessary includes here
    +
    4 #include "GUI/IntelliPhotoGui.h"
    +
    5 #include "Image/IntelliImage.h"
    + + + + + + +
    12 #include "Layer/PaintingArea.h"
    +
    13 #include "Tool/IntelliTool.h"
    +
    14 #include "Tool/IntelliToolCircle.h"
    + +
    16 #include "Tool/IntelliToolLine.h"
    +
    17 #include "Tool/IntelliToolPen.h"
    +
    18 #include "Tool/IntelliToolPlain.h"
    + + +
    21 
    +
    22 class UnitTest : public QObject
    +
    23 {
    +
    24 Q_OBJECT
    +
    25 private:
    +
    26 IntelliPhotoGui* gui;
    +
    27 PaintingArea* area;
    +
    28 
    +
    29 public:
    +
    30 UnitTest();
    +
    31 ~UnitTest();
    +
    32 
    +
    33 private slots:
    +
    34 void initTestCase();
    +
    35 void cleanupTestCase();
    +
    36 //void test_case1();
    +
    37 
    +
    39 
    +
    40 
    +
    41 //test painting area
    +
    42 void test_addLayer();
    +
    43 void test_deleteLayer();
    +
    44 void test_setActive();
    +
    45 void test_setAlpha();
    +
    46 void test_floodFill();
    +
    47 void test_moveActive();
    +
    48 void test_setPolygon();
    +
    49 void test_setLayerUp();
    +
    50 void test_setLayerDown();
    +
    51 
    +
    52 void test_createTools();
    +
    53 
    +
    54 //test Raster-Image operations
    +
    55 void test_RasterImage_drawPixel();
    +
    56 void test_RasterImage_drawLine();
    +
    57 void test_RasterImage_drawPoint();
    +
    58 void test_RasterImage_getDisplayable();
    +
    59 void test_RasterImage_getPixelColor();
    +
    60 void test_RasterImage_getImageData();
    +
    61 void test_RasterImage_setImageData();
    +
    62 
    +
    63 //test Shaped-Image operations
    +
    64 void test_ShapedImage_drawPixel();
    +
    65 void test_ShapedImage_drawLine();
    +
    66 void test_ShapedImage_drawPoint();
    +
    67 void test_ShapedImage_getDisplayable();
    +
    68 void test_ShapedImage_getPixelColor();
    +
    69 void test_ShapedImage_getImageData();
    +
    70 void test_ShapedImage_setImageData();
    +
    71 
    +
    72 //test tools
    +
    73 void test_Circle_fullDraw();
    +
    74 void test_Circle_interruptedDraw();
    +
    75 
    +
    76 void test_FloodFill_fullDraw();
    +
    77 void test_FloodFill_interruptedDraw();
    +
    78 
    +
    79 void test_Line_fullDraw();
    +
    80 void test_Line_interruptedDraw();
    +
    81 
    +
    82 void test_Pen_fullDraw();
    +
    83 void test_Pen_interruptedDraw();
    +
    84 
    +
    85 void test_Plain_fullDraw();
    +
    86 void test_Plain_interruptedDraw();
    +
    87 
    +
    88 void test_Polygon_fullDraw();
    +
    89 void test_Polygon_interruptedDraw();
    +
    90 
    +
    91 void test_Rectangle_fullDraw();
    +
    92 void test_Rectangle_interruptedDraw();
    +
    93 
    +
    94 //test Triangulation
    +
    95 void test_Triangulation_Coverage();
    +
    96 
    +
    97 
    +
    99 
    +
    100 //bench painting area
    +
    101 void bench_addLayer();
    +
    102 void bench_deleteLayer();
    +
    103 void bench_setActive();
    +
    104 void bench_setAlpha();
    +
    105 void bench_floodFill();
    +
    106 void bench_moveActive();
    +
    107 void bench_setPolygon();
    +
    108 void bench_setLayerUp();
    +
    109 void bench_setLayerDown();
    +
    110 
    +
    111 void bench_createTools();
    +
    112 
    +
    113 //bench Raster-Image operations
    +
    114 void bench_RasterImage_drawPixel();
    +
    115 void bench_RasterImage_drawLine();
    +
    116 void bench_RasterImage_drawPoint();
    +
    117 void bench_RasterImage_getDisplayable();
    +
    118 void bench_RasterImage_getPixelColor();
    +
    119 void bench_RasterImage_getImageData();
    +
    120 void bench_RasterImage_setImageData();
    +
    121 
    +
    122 //bench Shaped-Image operations
    +
    123 void bench_ShapedImage_drawPixel();
    +
    124 void bench_ShapedImage_drawLine();
    +
    125 void bench_ShapedImage_drawPoint();
    +
    126 void bench_ShapedImage_getDisplayable();
    +
    127 void bench_ShapedImage_getPixelColor();
    +
    128 void bench_ShapedImage_getImageData();
    +
    129 void bench_ShapedImage_setImageData();
    +
    130 
    +
    131 //bench tools
    +
    132 void bench_Circle_fullDraw();
    +
    133 void bench_Circle_interruptedDraw();
    +
    134 
    +
    135 void bench_FloodFill_fullDraw();
    +
    136 void bench_FloodFill_interruptedDraw();
    +
    137 
    +
    138 void bench_Line_fullDraw();
    +
    139 void bench_Line_interruptedDraw();
    +
    140 
    +
    141 void bench_Pen_fullDraw();
    +
    142 void bench_Pen_interruptedDraw();
    +
    143 
    +
    144 void bench_Plain_fullDraw();
    +
    145 void bench_Plain_interruptedDraw();
    +
    146 
    +
    147 void bench_Polygon_fullDraw();
    +
    148 void bench_Polygon_interruptedDraw();
    +
    149 
    +
    150 void bench_Rectangle_fullDraw();
    +
    151 void bench_Rectangle_interruptedDraw();
    +
    152 
    +
    153 //bench Triangulation
    +
    154 void bench_Triangulation_Coverage();
    +
    155 };
    +
    156 
    + +
    158 {
    +
    159  gui = new IntelliPhotoGui();
    +
    160  area = gui->paintingArea;
    +
    161 }
    +
    162 
    + +
    164 {
    +
    165 
    +
    166 }
    +
    167 
    +
    168 void UnitTest::initTestCase()
    +
    169 {
    +
    170 
    +
    171 }
    +
    172 
    +
    173 void UnitTest::cleanupTestCase()
    +
    174 {
    +
    175 
    +
    176 }
    +
    177 
    +
    178 //test painting area
    +
    179 void UnitTest::test_addLayer(){
    +
    180  area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE);
    +
    181 
    +
    182  QCOMPARE(area->layerBundle.size(), 1);
    +
    183  QCOMPARE(area->activeLayer, 0);
    +
    184 
    +
    185  QCOMPARE(area->layerBundle[static_cast<size_t>(area->activeLayer)].width, 200);
    +
    186  QCOMPARE(area->layerBundle[static_cast<size_t>(area->activeLayer)].widthOffset, 10);
    +
    187 
    +
    188  QCOMPARE(area->layerBundle[static_cast<size_t>(area->activeLayer)].height, 200);
    +
    189  QCOMPARE(area->layerBundle[static_cast<size_t>(area->activeLayer)].heightOffset, 20);
    +
    190 
    +
    191  area->deleteLayer(0);
    +
    192 }
    +
    193 
    +
    194 void UnitTest::test_deleteLayer(){
    +
    195  area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE);
    +
    196  area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE);
    +
    197 
    +
    198  area->deleteLayer(3);
    +
    199  QCOMPARE(area->layerBundle.size(), 2);
    +
    200  QCOMPARE(area->activeLayer, 1);
    +
    201 
    +
    202  area->deleteLayer(-1);
    +
    203  QCOMPARE(area->layerBundle.size(), 2);
    +
    204  QCOMPARE(area->activeLayer, 1);
    +
    205 
    +
    206  area->deleteLayer(1);
    +
    207  QCOMPARE(area->layerBundle.size(), 1);
    +
    208  QCOMPARE(area->activeLayer, 0);
    +
    209 
    +
    210  area->deleteLayer(0);
    +
    211  QCOMPARE(area->layerBundle.size(), 0);
    +
    212  QCOMPARE(area->activeLayer, -1);
    +
    213 
    +
    214 }
    +
    215 
    +
    216 void UnitTest::test_setActive(){
    +
    217  area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE);
    +
    218  area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE);
    +
    219 
    +
    220  area->setLayerActive(0);
    +
    221  QCOMPARE(area->activeLayer, 0);
    +
    222  area->setLayerActive(1);
    +
    223  QCOMPARE(area->activeLayer, 1);
    +
    224  area->setLayerActive(-1);
    +
    225  QCOMPARE(area->activeLayer, 1);
    +
    226  area->setLayerActive(3);
    +
    227  QCOMPARE(area->activeLayer, 1);
    +
    228 
    +
    229  area->deleteLayer(0);
    +
    230  area->deleteLayer(0);
    +
    231 }
    +
    232 
    +
    233 void UnitTest::test_setAlpha(){
    +
    234  area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE);
    +
    235  area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE);
    +
    236 
    +
    237  area->setLayerAlpha(0,0);
    +
    238  QCOMPARE(area->layerBundle[0].alpha, 0);
    +
    239 
    +
    240  area->setLayerAlpha(0,255);
    +
    241  QCOMPARE(area->layerBundle[0].alpha, 255);
    +
    242 
    +
    243  area->setLayerAlpha(1,123);
    +
    244  QCOMPARE(area->layerBundle[1].alpha, 123);
    +
    245 
    +
    246  area->setLayerAlpha(1,-12);
    +
    247  QCOMPARE(area->layerBundle[1].alpha, 123);
    +
    248 
    +
    249  area->setLayerAlpha(1,300);
    +
    250  QCOMPARE(area->layerBundle[1].alpha, 123);
    +
    251 
    +
    252  area->deleteLayer(1);
    +
    253  area->deleteLayer(0);
    +
    254 }
    +
    255 
    +
    256 void UnitTest::test_floodFill(){
    +
    257  area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE);
    +
    258 
    +
    259  area->layerBundle[0].image->drawPlain(QColor(255, 255, 255, 255));
    +
    260  QPoint point;
    +
    261  for(size_t i = 0; i<200; i++) {
    +
    262  point.setX(static_cast<int>(i));
    +
    263  for(size_t j = 0; i<200; i++) {
    +
    264  point.setY(static_cast<int>(j));
    +
    265  QVERIFY(area->layerBundle[static_cast<size_t>(area->activeLayer)].image->getPixelColor(point)==QColor(255,255,255,255));
    +
    266  }
    +
    267  }
    +
    268 
    +
    269  area->layerBundle[0].image->drawPlain(QColor(0, 0, 0, 0));
    +
    270  for(size_t i = 0; i<200; i++) {
    +
    271  point.setX(static_cast<int>(i));
    +
    272  for(size_t j = 0; i<200; i++) {
    +
    273  point.setY(static_cast<int>(j));
    +
    274  QVERIFY(area->layerBundle[static_cast<size_t>(area->activeLayer)].image->getPixelColor(point)==QColor(0,0,0,0));
    +
    275  }
    +
    276  }
    +
    277 
    +
    278  area->deleteLayer(0);
    +
    279 }
    +
    280 
    +
    281 void UnitTest::test_moveActive(){
    +
    282  area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE);
    +
    283  area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE);
    +
    284 
    +
    285  area->layerBundle[1].image->drawPlain(QColor(0, 0, 0, 255));
    +
    286  QPoint point(0,0);
    +
    287 
    +
    288  area->moveActiveLayer(-1);
    +
    289  QCOMPARE(area->activeLayer, 0);
    +
    290  QVERIFY(area->layerBundle[static_cast<size_t>(area->activeLayer)].image->getPixelColor(point)==QColor(0,0,0,255));
    +
    291 
    +
    292  area->moveActiveLayer(-1);
    +
    293  QCOMPARE(area->activeLayer, 0);
    +
    294  QVERIFY(area->layerBundle[static_cast<size_t>(area->activeLayer)].image->getPixelColor(point)==QColor(0,0,0,255));
    +
    295 
    +
    296  area->moveActiveLayer(1);
    +
    297  QCOMPARE(area->activeLayer, 1);
    +
    298  QVERIFY(area->layerBundle[static_cast<size_t>(area->activeLayer)].image->getPixelColor(point)==QColor(0,0,0,255));
    +
    299 
    +
    300  area->moveActiveLayer(1);
    +
    301  QCOMPARE(area->activeLayer, 1);
    +
    302  QVERIFY(area->layerBundle[static_cast<size_t>(area->activeLayer)].image->getPixelColor(point)==QColor(0,0,0,255));
    +
    303 
    +
    304  area->deleteLayer(1);
    +
    305  area->deleteLayer(0);
    +
    306 }
    +
    307 
    +
    308 void UnitTest::test_setPolygon(){
    +
    309  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    310  area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE);
    +
    311 
    +
    312  std::vector<QPoint> polygon{
    +
    313  QPoint(10,00),
    +
    314  QPoint(00,10),
    +
    315  QPoint(10,10),
    +
    316  QPoint(00,10)
    +
    317  };
    +
    318 
    +
    319  area->layerBundle[1].image->setPolygon(polygon);
    +
    320  IntelliShapedImage* image = dynamic_cast<IntelliShapedImage*>(area->layerBundle[1].image);
    +
    321  QCOMPARE(image->polygonData[0], polygon[0]);
    +
    322  QCOMPARE(image->polygonData[1], polygon[1]);
    +
    323  QCOMPARE(image->polygonData[2], polygon[2]);
    +
    324  QCOMPARE(image->polygonData[3], polygon[3]);
    +
    325 
    +
    326  area->deleteLayer(1);
    +
    327  area->deleteLayer(0);
    +
    328 }
    +
    329 
    +
    330 void UnitTest::test_setLayerUp(){
    +
    331  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    332  area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE);
    +
    333 
    +
    334  area->selectLayerUp();
    +
    335  QCOMPARE(area->activeLayer, 1);
    +
    336 
    +
    337  area->setLayerActive(0);
    +
    338  QCOMPARE(area->activeLayer, 0);
    +
    339 
    +
    340  area->selectLayerUp();
    +
    341  QCOMPARE(area->activeLayer, 1);
    +
    342 
    +
    343  area->deleteLayer(1);
    +
    344  area->deleteLayer(0);
    +
    345 }
    +
    346 
    +
    347 void UnitTest::test_setLayerDown(){
    +
    348  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    349  area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE);
    +
    350 
    +
    351  area->selectLayerDown();
    +
    352  QCOMPARE(area->activeLayer, 0);
    +
    353 
    +
    354  area->selectLayerDown();
    +
    355  QCOMPARE(area->activeLayer, 0);
    +
    356 
    +
    357  area->deleteLayer(1);
    +
    358  area->deleteLayer(0);
    +
    359 
    +
    360 }
    +
    361 
    +
    362 void UnitTest::test_createTools(){
    +
    363  QVERIFY(area->Tool == nullptr);
    +
    364 
    +
    365  area->createPenTool();
    +
    366  QVERIFY(dynamic_cast<IntelliToolPen*>(area->Tool) != nullptr);
    +
    367 
    +
    368  area->createLineTool();
    +
    369  QVERIFY(dynamic_cast<IntelliToolLine*>(area->Tool) != nullptr);
    +
    370 
    +
    371  area->createPlainTool();
    +
    372  QVERIFY(dynamic_cast<IntelliToolPlainTool*>(area->Tool) != nullptr);
    +
    373 
    +
    374  area->createCircleTool();
    +
    375  QVERIFY(dynamic_cast<IntelliToolCircle*>(area->Tool) != nullptr);
    +
    376 
    +
    377  area->createPolygonTool();
    +
    378  QVERIFY(dynamic_cast<IntelliToolPolygon*>(area->Tool) != nullptr);
    +
    379 
    +
    380  area->createFloodFillTool();
    +
    381  QVERIFY(dynamic_cast<IntelliToolFloodFill*>(area->Tool) != nullptr);
    +
    382 
    +
    383  area->createRectangleTool();
    +
    384  QVERIFY(dynamic_cast<IntelliToolRectangle*>(area->Tool) != nullptr);
    +
    385 }
    +
    386 
    +
    387 //test Raster-Image operations
    +
    388 void UnitTest::test_RasterImage_drawPixel(){
    +
    389  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    390 
    +
    391  QPoint point(0,0);
    +
    392 
    +
    393  area->layerBundle[0].image->drawPlain(QColor(255, 255, 255, 255));
    +
    394  area->layerBundle[0].image->drawPixel(point, QColor(0,0,0,255));
    +
    395 
    +
    396  QVERIFY(area->layerBundle[0].image->getPixelColor(point) == QColor(0,0,0,255));
    +
    397 
    +
    398  area->deleteLayer(0);
    +
    399 }
    +
    400 
    +
    401 void UnitTest::test_RasterImage_drawLine(){
    +
    402  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    403 
    +
    404  QPoint point1(0,0);
    +
    405  QPoint point2(10,10);
    +
    406  QPoint point3(5,5);
    +
    407  QPoint point4(6,5);
    +
    408 
    +
    409  area->layerBundle[0].image->drawPlain(QColor(255, 255, 255, 255));
    +
    410  area->layerBundle[0].image->drawLine(point1, point2, QColor(0,0,0,255),1);
    +
    411  QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==QColor(0,0,0,255));
    +
    412  QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==QColor(0,0,0,255));
    +
    413  QVERIFY(area->layerBundle[0].image->getPixelColor(point3)==QColor(0,0,0,255));
    +
    414  QVERIFY(area->layerBundle[0].image->getPixelColor(point4)==QColor(255,255,255,255));
    +
    415 
    +
    416  area->layerBundle[0].image->drawPlain(QColor(255, 255, 255, 255));
    +
    417  area->layerBundle[0].image->drawLine(point1, point2, QColor(0,0,0,255),3);
    +
    418  QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==QColor(0,0,0,255));
    +
    419  QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==QColor(0,0,0,255));
    +
    420  QVERIFY(area->layerBundle[0].image->getPixelColor(point3)==QColor(0,0,0,255));
    +
    421  QVERIFY(area->layerBundle[0].image->getPixelColor(point4)==QColor(0,0,0,255));
    +
    422 
    +
    423  area->deleteLayer(0);
    +
    424 }
    +
    425 
    +
    426 void UnitTest::test_RasterImage_drawPoint(){
    +
    427  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    428 
    +
    429  QPoint point1(5,5);
    +
    430  QPoint point2(5,6);
    +
    431 
    +
    432  area->layerBundle[0].image->drawPlain(QColor(255, 255, 255, 255));
    +
    433  area->layerBundle[0].image->drawPoint(point1, QColor(0,0,0,255),1);
    +
    434  QVERIFY(area->layerBundle[0].image->getPixelColor(point1) == QColor(0,0,0,255));
    +
    435  QVERIFY(area->layerBundle[0].image->getPixelColor(point2) == QColor(255,255,255,255));
    +
    436 
    +
    437 
    +
    438  area->layerBundle[0].image->drawPlain(QColor(255, 255, 255, 255));
    +
    439  area->layerBundle[0].image->drawPoint(point1, QColor(0,0,0,255),5);
    +
    440  QVERIFY(area->layerBundle[0].image->getPixelColor(point1) == QColor(0,0,0,255));
    +
    441  QVERIFY(area->layerBundle[0].image->getPixelColor(point2) == QColor(0,0,0,255));
    +
    442 
    +
    443  area->deleteLayer(0);
    +
    444 }
    +
    445 
    +
    446 void UnitTest::test_RasterImage_getDisplayable(){
    +
    447  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    448 
    +
    449  area->layerBundle[0].image->drawPlain(QColor(255, 255, 255, 255));
    +
    450  QImage img = area->layerBundle[0].image->getDisplayable(QSize(200,200),255);
    +
    451  QPoint point;
    +
    452  for(size_t i=0; i<200; i++) {
    +
    453  point.setX(static_cast<int>(i));
    +
    454  for(size_t j=0; j<200; j++) {
    +
    455  point.setY(static_cast<int>(j));
    +
    456  QVERIFY(img.pixelColor(point) == QColor(255,255,255,255));
    +
    457  }
    +
    458  }
    +
    459 
    +
    460  area->deleteLayer(0);
    +
    461 }
    +
    462 
    +
    463 void UnitTest::test_RasterImage_getPixelColor(){
    +
    464  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    465 
    +
    466  QPoint point(0,0);
    +
    467  area->layerBundle[0].image->drawPlain(QColor(0, 0, 0, 255));
    +
    468  QVERIFY(area->layerBundle[0].image->getPixelColor(point)==QColor(0,0,0,255));
    +
    469 
    +
    470  area->deleteLayer(0);
    +
    471 }
    +
    472 
    +
    473 void UnitTest::test_RasterImage_getImageData(){
    + +
    475 
    +
    476  QImage img(2,2, QImage::Format_ARGB32);
    +
    477  img.setPixelColor(0,0, Qt::red);
    +
    478  img.setPixelColor(0,1, Qt::yellow);
    +
    479  img.setPixelColor(1,0, Qt::blue);
    +
    480  img.setPixelColor(1,1, Qt::green);
    +
    481 
    +
    482  area->layerBundle[0].image->setImageData(img);
    +
    483  img = img.convertToFormat(QImage::Format_Indexed8);
    +
    484  QImage cpy = area->layerBundle[0].image->getImageData();
    +
    485 
    +
    486  QPoint point1(0,0);
    +
    487  QPoint point2(0,1);
    +
    488  QPoint point3(1,0);
    +
    489  QPoint point4(1,1);
    +
    490  QVERIFY(cpy.pixelColor(point1) == img.pixelColor(point1));
    +
    491  QVERIFY(cpy.pixelColor(point2) == img.pixelColor(point2));
    +
    492  QVERIFY(cpy.pixelColor(point3) == img.pixelColor(point3));
    +
    493  QVERIFY(cpy.pixelColor(point4) == img.pixelColor(point4));
    +
    494 
    +
    495  area->deleteLayer(0);
    +
    496 }
    +
    497 
    +
    498 void UnitTest::test_RasterImage_setImageData(){
    + +
    500 
    +
    501  QImage img(2,2, QImage::Format_ARGB32);
    +
    502  img.setPixelColor(0,0, Qt::red);
    +
    503  img.setPixelColor(0,1, Qt::yellow);
    +
    504  img.setPixelColor(1,0, Qt::blue);
    +
    505  img.setPixelColor(1,1, Qt::green);
    +
    506 
    +
    507  area->layerBundle[0].image->setImageData(img);
    +
    508  img = img.convertToFormat(QImage::Format_Indexed8);
    +
    509 
    +
    510  QPoint point1(0,0);
    +
    511  QPoint point2(0,1);
    +
    512  QPoint point3(1,0);
    +
    513  QPoint point4(1,1);
    +
    514  QVERIFY(area->layerBundle[0].image->getPixelColor(point1) == img.pixelColor(point1));
    +
    515  QVERIFY(area->layerBundle[0].image->getPixelColor(point2) == img.pixelColor(point2));
    +
    516  QVERIFY(area->layerBundle[0].image->getPixelColor(point3) == img.pixelColor(point3));
    +
    517  QVERIFY(area->layerBundle[0].image->getPixelColor(point4) == img.pixelColor(point4));
    +
    518 
    +
    519  area->deleteLayer(0);
    +
    520 }
    +
    521 
    +
    522 //test Shaped-Image operations
    +
    523 void UnitTest::test_ShapedImage_drawPixel(){
    +
    524  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    525 
    +
    526  QPoint point(0,0);
    +
    527 
    +
    528  area->layerBundle[0].image->drawPlain(QColor(255, 255, 255, 255));
    +
    529  area->layerBundle[0].image->drawPixel(point, QColor(0,0,0,255));
    +
    530 
    +
    531  QVERIFY(area->layerBundle[0].image->getPixelColor(point) == QColor(0,0,0,255));
    +
    532 
    +
    533  area->deleteLayer(0);
    +
    534 }
    +
    535 
    +
    536 void UnitTest::test_ShapedImage_drawLine(){
    +
    537  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    538 
    +
    539  QPoint point1(0,0);
    +
    540  QPoint point2(10,10);
    +
    541  QPoint point3(5,5);
    +
    542  QPoint point4(6,5);
    +
    543 
    +
    544  area->layerBundle[0].image->drawPlain(QColor(255, 255, 255, 255));
    +
    545  area->layerBundle[0].image->drawLine(point1, point2, QColor(0,0,0,255),1);
    +
    546  QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==QColor(0,0,0,255));
    +
    547  QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==QColor(0,0,0,255));
    +
    548  QVERIFY(area->layerBundle[0].image->getPixelColor(point3)==QColor(0,0,0,255));
    +
    549  QVERIFY(area->layerBundle[0].image->getPixelColor(point4)==QColor(255,255,255,255));
    +
    550 
    +
    551  area->layerBundle[0].image->drawPlain(QColor(255, 255, 255, 255));
    +
    552  area->layerBundle[0].image->drawLine(point1, point2, QColor(0,0,0,255),3);
    +
    553  QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==QColor(0,0,0,255));
    +
    554  QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==QColor(0,0,0,255));
    +
    555  QVERIFY(area->layerBundle[0].image->getPixelColor(point3)==QColor(0,0,0,255));
    +
    556  QVERIFY(area->layerBundle[0].image->getPixelColor(point4)==QColor(0,0,0,255));
    +
    557 
    +
    558  area->deleteLayer(0);
    +
    559 }
    +
    560 
    +
    561 void UnitTest::test_ShapedImage_drawPoint(){
    +
    562  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    563 
    +
    564  QPoint point1(5,5);
    +
    565  QPoint point2(5,6);
    +
    566 
    +
    567  area->layerBundle[0].image->drawPlain(QColor(255, 255, 255, 255));
    +
    568  area->layerBundle[0].image->drawPoint(point1, QColor(0,0,0,255),1);
    +
    569  QVERIFY(area->layerBundle[0].image->getPixelColor(point1) == QColor(0,0,0,255));
    +
    570  QVERIFY(area->layerBundle[0].image->getPixelColor(point2) == QColor(255,255,255,255));
    +
    571 
    +
    572 
    +
    573  area->layerBundle[0].image->drawPlain(QColor(255, 255, 255, 255));
    +
    574  area->layerBundle[0].image->drawPoint(point1, QColor(0,0,0,255),5);
    +
    575  QVERIFY(area->layerBundle[0].image->getPixelColor(point1) == QColor(0,0,0,255));
    +
    576  QVERIFY(area->layerBundle[0].image->getPixelColor(point2) == QColor(0,0,0,255));
    +
    577 
    +
    578  area->deleteLayer(0);
    +
    579 }
    +
    580 
    +
    581 void UnitTest::test_ShapedImage_getDisplayable(){
    + +
    583  std::vector<QPoint> points{
    +
    584  QPoint(10,00),
    +
    585  QPoint(00,10),
    +
    586  QPoint(10,20),
    +
    587  QPoint(20,10)
    +
    588  };
    +
    589 
    +
    590  std::vector<QPoint> test{
    +
    591  QPoint(00,00),
    +
    592  QPoint(00,20),
    +
    593  QPoint(20,00),
    +
    594  QPoint(20,20),
    +
    595  QPoint(10,10)
    +
    596  };
    +
    597  area->layerBundle[0].image->drawPlain(QColor(255, 255, 255, 255));
    +
    598  area->layerBundle[0].image->setPolygon(points);
    +
    599  QSize size(21,21);
    +
    600  QImage img = area->layerBundle[0].image->getDisplayable(size,255);
    +
    601 
    +
    602  QCOMPARE(img.pixelColor(points[0]).alpha(), 255);
    +
    603  QCOMPARE(img.pixelColor(points[1]).alpha(), 255);
    +
    604  QCOMPARE(img.pixelColor(points[2]).alpha(), 255);
    +
    605  QCOMPARE(img.pixelColor(points[3]).alpha(), 255);
    +
    606 
    +
    607  QCOMPARE(img.pixelColor(test[4]).alpha(), 255);
    +
    608  QCOMPARE(img.pixelColor(test[0]).alpha(), 0);
    +
    609  QCOMPARE(img.pixelColor(test[1]).alpha(), 0);
    +
    610  QCOMPARE(img.pixelColor(test[2]).alpha(), 0);
    +
    611  QCOMPARE(img.pixelColor(test[3]).alpha(), 0);
    +
    612 
    +
    613  area->deleteLayer(0);
    +
    614 }
    +
    615 
    +
    616 void UnitTest::test_ShapedImage_getPixelColor(){
    +
    617  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    618 
    +
    619  QPoint point(0,0);
    +
    620  area->layerBundle[0].image->drawPlain(QColor(0, 0, 0, 255));
    +
    621  QVERIFY(area->layerBundle[0].image->getPixelColor(point)==QColor(0,0,0,255));
    +
    622 
    +
    623  area->deleteLayer(0);
    +
    624 }
    +
    625 
    +
    626 void UnitTest::test_ShapedImage_getImageData(){
    + +
    628 
    +
    629  QImage img(2,2, QImage::Format_ARGB32);
    +
    630  img.setPixelColor(0,0, Qt::red);
    +
    631  img.setPixelColor(0,1, Qt::yellow);
    +
    632  img.setPixelColor(1,0, Qt::blue);
    +
    633  img.setPixelColor(1,1, Qt::green);
    +
    634 
    +
    635  area->layerBundle[0].image->setImageData(img);
    +
    636  img = img.convertToFormat(QImage::Format_Indexed8);
    +
    637  QImage cpy = area->layerBundle[0].image->getImageData();
    +
    638 
    +
    639  QPoint point1(0,0);
    +
    640  QPoint point2(0,1);
    +
    641  QPoint point3(1,0);
    +
    642  QPoint point4(1,1);
    +
    643  QVERIFY(cpy.pixelColor(point1) == img.pixelColor(point1));
    +
    644  QVERIFY(cpy.pixelColor(point2) == img.pixelColor(point2));
    +
    645  QVERIFY(cpy.pixelColor(point3) == img.pixelColor(point3));
    +
    646  QVERIFY(cpy.pixelColor(point4) == img.pixelColor(point4));
    +
    647 
    +
    648  area->deleteLayer(0);
    +
    649 }
    +
    650 
    +
    651 void UnitTest::test_ShapedImage_setImageData(){
    + +
    653 
    +
    654  QImage img(2,2, QImage::Format_ARGB32);
    +
    655  img.setPixelColor(0,0, Qt::red);
    +
    656  img.setPixelColor(0,1, Qt::yellow);
    +
    657  img.setPixelColor(1,0, Qt::blue);
    +
    658  img.setPixelColor(1,1, Qt::green);
    +
    659 
    +
    660  area->layerBundle[0].image->setImageData(img);
    +
    661  img = img.convertToFormat(QImage::Format_Indexed8);
    +
    662 
    +
    663  QPoint point1(0,0);
    +
    664  QPoint point2(0,1);
    +
    665  QPoint point3(1,0);
    +
    666  QPoint point4(1,1);
    +
    667  QVERIFY(area->layerBundle[0].image->getPixelColor(point1) == img.pixelColor(point1));
    +
    668  QVERIFY(area->layerBundle[0].image->getPixelColor(point2) == img.pixelColor(point2));
    +
    669  QVERIFY(area->layerBundle[0].image->getPixelColor(point3) == img.pixelColor(point3));
    +
    670  QVERIFY(area->layerBundle[0].image->getPixelColor(point4) == img.pixelColor(point4));
    +
    671 
    +
    672  area->deleteLayer(0);
    +
    673 }
    +
    674 
    +
    675 //test tools
    +
    676 void UnitTest::test_Circle_fullDraw(){
    +
    677  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    678  area->colorPicker.setFirstColor(QColor(255,255,255,255));
    +
    679  area->colorPicker.setSecondColor(QColor(0,0,0,255));
    +
    680  area->createCircleTool();
    +
    681  area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255));
    +
    682 
    +
    683  QPoint point1(100,100);
    +
    684  QPoint point2(150,100);
    +
    685  area->Tool->onMouseLeftPressed(point1.x(), point1.y());
    +
    686  area->Tool->onMouseMoved(point2.x(), point2.y());
    +
    687  area->Tool->onMouseLeftReleased(point2.x(), point2.y());
    +
    688 
    +
    689 
    +
    690  QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==area->colorPicker.getSecondColor());
    +
    691  QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==area->colorPicker.getFirstColor());
    +
    692 
    +
    693  area->deleteLayer(0);
    +
    694 }
    +
    695 
    +
    696 void UnitTest::test_Circle_interruptedDraw(){
    +
    697  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    698  area->colorPicker.setFirstColor(QColor(255,255,255,255));
    +
    699  area->colorPicker.setSecondColor(QColor(0,0,0,255));
    +
    700  area->createCircleTool();
    +
    701  area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255));
    +
    702 
    +
    703  QPoint point1(100,100);
    +
    704  QPoint point2(150,100);
    +
    705  area->Tool->onMouseLeftPressed(point1.x(), point1.y());
    +
    706  area->Tool->onMouseMoved(point2.x(), point2.y());
    +
    707  area->Tool->onMouseRightPressed(point2.x(), point2.y());
    +
    708  area->Tool->onMouseRightReleased(point2.x(),point2.y());
    +
    709  area->Tool->onMouseLeftReleased(point2.x(), point2.y());
    +
    710 
    +
    711 
    +
    712  QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==QColor(255,0,0,255));
    +
    713  QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==QColor(255,0,0,255));
    +
    714 
    +
    715  area->deleteLayer(0);
    +
    716 
    +
    717 }
    +
    718 
    +
    719 
    +
    720 void UnitTest::test_FloodFill_fullDraw(){
    +
    721  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    722  area->colorPicker.setFirstColor(QColor(255,255,255,255));
    +
    723  area->colorPicker.setSecondColor(QColor(0,0,0,255));
    +
    724  area->createFloodFillTool();
    +
    725  area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255));
    +
    726 
    +
    727  QPoint point1(100,100);
    +
    728  QPoint point2(150,100);
    +
    729  area->Tool->onMouseLeftPressed(point1.x(), point1.y());
    +
    730  area->Tool->onMouseMoved(point2.x(), point2.y());
    +
    731  area->Tool->onMouseLeftReleased(point2.x(), point2.y());
    +
    732 
    +
    733 
    +
    734  QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==area->colorPicker.getFirstColor());
    +
    735  QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==area->colorPicker.getFirstColor());
    +
    736 
    +
    737  area->deleteLayer(0);
    +
    738 }
    +
    739 
    +
    740 void UnitTest::test_FloodFill_interruptedDraw(){
    +
    741  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    742  area->colorPicker.setFirstColor(QColor(255,255,255,255));
    +
    743  area->colorPicker.setSecondColor(QColor(0,0,0,255));
    +
    744  area->createFloodFillTool();
    +
    745  area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255));
    +
    746 
    +
    747  QPoint point1(100,100);
    +
    748  QPoint point2(150,100);
    +
    749  area->Tool->onMouseLeftPressed(point1.x(), point1.y());
    +
    750  area->Tool->onMouseMoved(point2.x(), point2.y());
    +
    751  area->Tool->onMouseRightPressed(point2.x(), point2.y());
    +
    752  area->Tool->onMouseRightReleased(point2.x(),point2.y());
    +
    753  area->Tool->onMouseLeftReleased(point2.x(), point2.y());
    +
    754 
    +
    755 
    +
    756  QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==QColor(255,0,0,255));
    +
    757  QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==QColor(255,0,0,255));
    +
    758 
    +
    759  area->deleteLayer(0);
    +
    760 }
    +
    761 
    +
    762 
    +
    763 void UnitTest::test_Line_fullDraw(){
    +
    764  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    765  area->colorPicker.setFirstColor(QColor(255,255,255,255));
    +
    766  area->colorPicker.setSecondColor(QColor(0,0,0,255));
    +
    767  area->createLineTool();
    +
    768  area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255));
    +
    769 
    +
    770  QPoint point1(100,100);
    +
    771  QPoint point2(150,100);
    +
    772  area->Tool->onMouseLeftPressed(point1.x(), point1.y());
    +
    773  area->Tool->onMouseMoved(point2.x(), point2.y());
    +
    774  area->Tool->onMouseLeftReleased(point2.x(), point2.y());
    +
    775 
    +
    776 
    +
    777  QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==area->colorPicker.getFirstColor());
    +
    778  QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==area->colorPicker.getFirstColor());
    +
    779 
    +
    780  area->deleteLayer(0);
    +
    781 }
    +
    782 
    +
    783 void UnitTest::test_Line_interruptedDraw(){
    +
    784  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    785  area->colorPicker.setFirstColor(QColor(255,255,255,255));
    +
    786  area->colorPicker.setSecondColor(QColor(0,0,0,255));
    +
    787  area->createLineTool();
    +
    788  area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255));
    +
    789 
    +
    790  QPoint point1(100,100);
    +
    791  QPoint point2(150,100);
    +
    792  area->Tool->onMouseLeftPressed(point1.x(), point1.y());
    +
    793  area->Tool->onMouseMoved(point2.x(), point2.y());
    +
    794  area->Tool->onMouseRightPressed(point2.x(), point2.y());
    +
    795  area->Tool->onMouseRightReleased(point2.x(),point2.y());
    +
    796  area->Tool->onMouseLeftReleased(point2.x(), point2.y());
    +
    797 
    +
    798 
    +
    799  QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==QColor(255,0,0,255));
    +
    800  QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==QColor(255,0,0,255));
    +
    801 
    +
    802  area->deleteLayer(0);
    +
    803 }
    +
    804 
    +
    805 void UnitTest::test_Pen_fullDraw(){
    +
    806  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    807  area->colorPicker.setFirstColor(QColor(255,255,255,255));
    +
    808  area->colorPicker.setSecondColor(QColor(0,0,0,255));
    +
    809  area->createPenTool();
    +
    810  area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255));
    +
    811 
    +
    812  QPoint point1(100,100);
    +
    813  QPoint point2(150,100);
    +
    814  area->Tool->onMouseLeftPressed(point1.x(), point1.y());
    +
    815  area->Tool->onMouseMoved(point2.x(), point2.y());
    +
    816  area->Tool->onMouseLeftReleased(point2.x(), point2.y());
    +
    817 
    +
    818 
    +
    819  QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==area->colorPicker.getFirstColor());
    +
    820  QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==area->colorPicker.getFirstColor());
    +
    821 
    +
    822  area->deleteLayer(0);
    +
    823 }
    +
    824 
    +
    825 void UnitTest::test_Pen_interruptedDraw(){
    +
    826  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    827  area->colorPicker.setFirstColor(QColor(255,255,255,255));
    +
    828  area->colorPicker.setSecondColor(QColor(0,0,0,255));
    +
    829  area->createPenTool();
    +
    830  area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255));
    +
    831 
    +
    832  QPoint point1(100,100);
    +
    833  QPoint point2(150,100);
    +
    834  area->Tool->onMouseLeftPressed(point1.x(), point1.y());
    +
    835  area->Tool->onMouseMoved(point2.x(), point2.y());
    +
    836  area->Tool->onMouseRightPressed(point2.x(), point2.y());
    +
    837  area->Tool->onMouseRightReleased(point2.x(),point2.y());
    +
    838  area->Tool->onMouseLeftReleased(point2.x(), point2.y());
    +
    839 
    +
    840 
    +
    841  QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==QColor(255,0,0,255));
    +
    842  QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==QColor(255,0,0,255));
    +
    843 
    +
    844  area->deleteLayer(0);
    +
    845 }
    +
    846 
    +
    847 void UnitTest::test_Plain_fullDraw(){
    +
    848  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    849  area->colorPicker.setFirstColor(QColor(255,255,255,255));
    +
    850  area->colorPicker.setSecondColor(QColor(0,0,0,255));
    +
    851  area->createPlainTool();
    +
    852  area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255));
    +
    853 
    +
    854  QPoint point1(100,100);
    +
    855  QPoint point2(150,100);
    +
    856  area->Tool->onMouseLeftPressed(point1.x(), point1.y());
    +
    857  area->Tool->onMouseMoved(point2.x(), point2.y());
    +
    858  area->Tool->onMouseLeftReleased(point2.x(), point2.y());
    +
    859 
    +
    860 
    +
    861  QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==area->colorPicker.getFirstColor());
    +
    862  QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==area->colorPicker.getFirstColor());
    +
    863 
    +
    864  area->deleteLayer(0);
    +
    865 }
    +
    866 
    +
    867 void UnitTest::test_Plain_interruptedDraw(){
    +
    868  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    869  area->colorPicker.setFirstColor(QColor(255,255,255,255));
    +
    870  area->colorPicker.setSecondColor(QColor(0,0,0,255));
    +
    871  area->createPlainTool();
    +
    872  area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255));
    +
    873 
    +
    874  QPoint point1(100,100);
    +
    875  QPoint point2(150,100);
    +
    876  area->Tool->onMouseLeftPressed(point1.x(), point1.y());
    +
    877  area->Tool->onMouseMoved(point2.x(), point2.y());
    +
    878  area->Tool->onMouseRightPressed(point2.x(), point2.y());
    +
    879  area->Tool->onMouseRightReleased(point2.x(),point2.y());
    +
    880  area->Tool->onMouseLeftReleased(point2.x(), point2.y());
    +
    881 
    +
    882 
    +
    883  QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==QColor(255,0,0,255));
    +
    884  QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==QColor(255,0,0,255));
    +
    885 
    +
    886  area->deleteLayer(0);
    +
    887 }
    +
    888 
    +
    889 void UnitTest::test_Polygon_fullDraw(){
    + +
    891  std::vector<QPoint> points{
    +
    892  QPoint(10,00),
    +
    893  QPoint(00,10),
    +
    894  QPoint(10,20),
    +
    895  QPoint(20,10)
    +
    896  };
    +
    897 
    +
    898  std::vector<QPoint> test{
    +
    899  QPoint(00,00),
    +
    900  QPoint(00,20),
    +
    901  QPoint(20,00),
    +
    902  QPoint(20,20),
    +
    903  QPoint(10,10)
    +
    904  };
    +
    905 
    +
    906  area->colorPicker.setFirstColor(QColor(255,255,255,255));
    +
    907  area->colorPicker.setSecondColor(QColor(0,0,0,255));
    +
    908  area->createPolygonTool();
    +
    909  area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255));
    +
    910 
    +
    911  area->Tool->onMouseLeftPressed(points[0].x(), points[0].y());
    +
    912  area->Tool->onMouseLeftReleased(points[0].x(), points[0].y());
    +
    913  area->Tool->onMouseMoved(points[1].x(), points[1].y());
    +
    914 
    +
    915  area->Tool->onMouseLeftPressed(points[1].x(), points[1].y());
    +
    916  area->Tool->onMouseLeftReleased(points[1].x(), points[1].y());
    +
    917  area->Tool->onMouseMoved(points[2].x(), points[2].y());
    +
    918 
    +
    919  area->Tool->onMouseLeftPressed(points[2].x(), points[2].y());
    +
    920  area->Tool->onMouseLeftReleased(points[2].x(), points[2].y());
    +
    921  area->Tool->onMouseMoved(points[3].x(), points[3].y());
    +
    922 
    +
    923  area->Tool->onMouseLeftPressed(points[3].x(), points[3].y());
    +
    924  area->Tool->onMouseLeftReleased(points[3].x(), points[3].y());
    +
    925  area->Tool->onMouseMoved(points[0].x(), points[0].y());
    +
    926 
    +
    927  area->Tool->onMouseLeftPressed(points[0].x(), points[0].y());
    +
    928  area->Tool->onMouseLeftReleased(points[0].x(), points[0].y());
    +
    929 
    +
    930  QVERIFY(area->layerBundle[0].image->getPixelColor(points[0])==area->colorPicker.getFirstColor());
    +
    931  QVERIFY(area->layerBundle[0].image->getPixelColor(points[1])==area->colorPicker.getFirstColor());
    +
    932  QVERIFY(area->layerBundle[0].image->getPixelColor(points[2])==area->colorPicker.getFirstColor());
    +
    933  QVERIFY(area->layerBundle[0].image->getPixelColor(points[3])==area->colorPicker.getFirstColor());
    +
    934 
    +
    935 
    +
    936  QVERIFY(area->layerBundle[0].image->getPixelColor(test[4])==area->colorPicker.getSecondColor());
    +
    937  QVERIFY(area->layerBundle[0].image->getPixelColor(test[0])==QColor(255,0,0,255));
    +
    938  QVERIFY(area->layerBundle[0].image->getPixelColor(test[1])==QColor(255,0,0,255));
    +
    939  QVERIFY(area->layerBundle[0].image->getPixelColor(test[2])==QColor(255,0,0,255));
    +
    940  QVERIFY(area->layerBundle[0].image->getPixelColor(test[3])==QColor(255,0,0,255));
    +
    941 
    +
    942  area->deleteLayer(0);
    +
    943 }
    +
    944 
    +
    945 
    +
    946 void UnitTest::test_Polygon_interruptedDraw(){
    +
    947  area->addLayer(201,201,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    948  std::vector<QPoint> points{
    +
    949  QPoint(100,000),
    +
    950  QPoint(000,100),
    +
    951  QPoint(100,200),
    +
    952  QPoint(200,100)
    +
    953  };
    +
    954 
    +
    955  std::vector<QPoint> test{
    +
    956  QPoint(000,000),
    +
    957  QPoint(000,200),
    +
    958  QPoint(200,000),
    +
    959  QPoint(200,200),
    +
    960  QPoint(100,100)
    +
    961  };
    +
    962 
    +
    963  area->colorPicker.setFirstColor(QColor(255,255,255,255));
    +
    964  area->colorPicker.setSecondColor(QColor(0,0,0,255));
    +
    965  area->createPolygonTool();
    +
    966  area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255));
    +
    967 
    +
    968  area->Tool->onMouseLeftPressed(points[0].x(), points[0].y());
    +
    969  area->Tool->onMouseLeftReleased(points[0].x(), points[0].y());
    +
    970  area->Tool->onMouseMoved(points[1].x(), points[1].y());
    +
    971 
    +
    972  area->Tool->onMouseLeftPressed(points[1].x(), points[1].y());
    +
    973  area->Tool->onMouseLeftReleased(points[1].x(), points[1].y());
    +
    974  area->Tool->onMouseMoved(points[2].x(), points[2].y());
    +
    975 
    +
    976  area->Tool->onMouseLeftPressed(points[2].x(), points[2].y());
    +
    977  area->Tool->onMouseLeftReleased(points[2].x(), points[2].y());
    +
    978  area->Tool->onMouseMoved(points[3].x(), points[3].y());
    +
    979 
    +
    980  area->Tool->onMouseLeftPressed(points[3].x(), points[3].y());
    +
    981  area->Tool->onMouseLeftReleased(points[3].x(), points[3].y());
    +
    982 
    +
    983  area->Tool->onMouseRightPressed(points[0].x(), points[0].y());
    +
    984  area->Tool->onMouseRightReleased(points[0].x(), points[0].y());
    +
    985 
    +
    986 
    +
    987  QVERIFY(area->layerBundle[0].image->getPixelColor(points[0])==QColor(255,0,0,255));
    +
    988  QVERIFY(area->layerBundle[0].image->getPixelColor(points[1])==QColor(255,0,0,255));
    +
    989  QVERIFY(area->layerBundle[0].image->getPixelColor(points[2])==QColor(255,0,0,255));
    +
    990  QVERIFY(area->layerBundle[0].image->getPixelColor(points[3])==QColor(255,0,0,255));
    +
    991 
    +
    992  QVERIFY(area->layerBundle[0].image->getPixelColor(test[4])==QColor(255,0,0,255));
    +
    993  QVERIFY(area->layerBundle[0].image->getPixelColor(test[0])==QColor(255,0,0,255));
    +
    994  QVERIFY(area->layerBundle[0].image->getPixelColor(test[1])==QColor(255,0,0,255));
    +
    995  QVERIFY(area->layerBundle[0].image->getPixelColor(test[2])==QColor(255,0,0,255));
    +
    996  QVERIFY(area->layerBundle[0].image->getPixelColor(test[3])==QColor(255,0,0,255));
    +
    997 
    +
    998  area->deleteLayer(0);
    +
    999 }
    +
    1000 
    +
    1001 
    +
    1002 void UnitTest::test_Rectangle_fullDraw(){
    +
    1003  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    1004  area->colorPicker.setFirstColor(QColor(255,255,255,255));
    +
    1005  area->colorPicker.setSecondColor(QColor(0,0,0,255));
    +
    1006  area->createRectangleTool();
    +
    1007  area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255));
    +
    1008 
    +
    1009  QPoint point1(100,100);
    +
    1010  QPoint point2(150,150);
    +
    1011  QPoint point3(125,125);
    +
    1012  area->Tool->onMouseLeftPressed(point1.x(), point1.y());
    +
    1013  area->Tool->onMouseMoved(point2.x(), point2.y());
    +
    1014  area->Tool->onMouseLeftReleased(point2.x(), point2.y());
    +
    1015 
    +
    1016 
    +
    1017  QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==area->colorPicker.getFirstColor());
    +
    1018  QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==area->colorPicker.getFirstColor());
    +
    1019  QVERIFY(area->layerBundle[0].image->getPixelColor(point3)==area->colorPicker.getSecondColor());
    +
    1020 
    +
    1021  area->deleteLayer(0);
    +
    1022 }
    +
    1023 
    +
    1024 void UnitTest::test_Rectangle_interruptedDraw(){
    +
    1025  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    1026  area->colorPicker.setFirstColor(QColor(255,255,255,255));
    +
    1027  area->colorPicker.setSecondColor(QColor(0,0,0,255));
    +
    1028  area->createRectangleTool();
    +
    1029  area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255));
    +
    1030 
    +
    1031  QPoint point1(100,100);
    +
    1032  QPoint point2(150,150);
    +
    1033  QPoint point3(125,125);
    +
    1034  area->Tool->onMouseLeftPressed(point1.x(), point1.y());
    +
    1035  area->Tool->onMouseMoved(point2.x(), point2.y());
    +
    1036  area->Tool->onMouseRightPressed(point2.x(), point2.y());
    +
    1037  area->Tool->onMouseRightReleased(point2.x(),point2.y());
    +
    1038  area->Tool->onMouseLeftReleased(point2.x(), point2.y());
    +
    1039 
    +
    1040  QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==QColor(255,0,0,255));
    +
    1041  QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==QColor(255,0,0,255));
    +
    1042  QVERIFY(area->layerBundle[0].image->getPixelColor(point3)==QColor(255,0,0,255));
    +
    1043 
    +
    1044  area->deleteLayer(0);
    +
    1045 }
    +
    1046 
    +
    1047 
    +
    1048 //test Triangulation
    +
    1049 void UnitTest::test_Triangulation_Coverage(){
    +
    1050  std::vector<QPoint> points{
    +
    1051  QPoint(10,00),
    +
    1052  QPoint(00,10),
    +
    1053  QPoint(10,20),
    +
    1054  QPoint(20,10)
    +
    1055  };
    +
    1056  std::vector<QPoint> test{
    +
    1057  QPoint(00,00),
    +
    1058  QPoint(00,20),
    +
    1059  QPoint(20,00),
    +
    1060  QPoint(20,20),
    +
    1061  QPoint(10,10)
    +
    1062  };
    +
    1063  std::vector<Triangle> tria = IntelliTriangulation::calculateTriangles(points);
    +
    1064  QCOMPARE(IntelliTriangulation::isInPolygon(tria, points[0]), true);
    +
    1065  QCOMPARE(IntelliTriangulation::isInPolygon(tria, points[1]), true);
    +
    1066  QCOMPARE(IntelliTriangulation::isInPolygon(tria, points[2]), true);
    +
    1067  QCOMPARE(IntelliTriangulation::isInPolygon(tria, points[3]), true);
    +
    1068 
    +
    1069  QCOMPARE(IntelliTriangulation::isInPolygon(tria, test[4]), true);
    +
    1070  QCOMPARE(IntelliTriangulation::isInPolygon(tria, test[0]), false);
    +
    1071  QCOMPARE(IntelliTriangulation::isInPolygon(tria, test[1]), false);
    +
    1072  QCOMPARE(IntelliTriangulation::isInPolygon(tria, test[2]), false);
    +
    1073  QCOMPARE(IntelliTriangulation::isInPolygon(tria, test[3]), false);
    +
    1074 }
    +
    1075 
    +
    1076 
    +
    1078 
    +
    1079 void UnitTest::bench_addLayer(){
    +
    1080  QBENCHMARK{
    + +
    1082  }
    +
    1083  area->deleteLayer(0);
    +
    1084 }
    +
    1085 
    +
    1086 void UnitTest::bench_deleteLayer(){
    + +
    1088  QBENCHMARK{
    +
    1089  area->deleteLayer(0);
    +
    1090  }
    +
    1091 }
    +
    1092 
    +
    1093 void UnitTest::bench_setActive(){
    + + +
    1096 
    +
    1097  QBENCHMARK{
    +
    1098  area->setLayerActive(0);
    +
    1099  }
    +
    1100 
    +
    1101  area->deleteLayer(1);
    +
    1102  area->deleteLayer(0);
    +
    1103 }
    +
    1104 
    +
    1105 void UnitTest::bench_setAlpha(){
    + +
    1107 
    +
    1108  QBENCHMARK{
    +
    1109  area->setLayerAlpha(0,0);
    +
    1110  }
    +
    1111 
    +
    1112  area->deleteLayer(0);
    +
    1113 }
    +
    1114 
    +
    1115 void UnitTest::bench_floodFill(){
    + +
    1117 
    +
    1118  QBENCHMARK{
    +
    1119  area->layerBundle[0].image->drawPlain(QColor(255, 255, 255, 255));
    +
    1120  }
    +
    1121 
    +
    1122  area->deleteLayer(0);
    +
    1123 }
    +
    1124 
    +
    1125 void UnitTest::bench_moveActive(){
    + + +
    1128 
    +
    1129  area->setLayerActive(0);
    +
    1130  QBENCHMARK{
    +
    1131  area->moveActiveLayer(1);
    +
    1132  }
    +
    1133 
    +
    1134  area->deleteLayer(1);
    +
    1135  area->deleteLayer(0);
    +
    1136 }
    +
    1137 
    +
    1138 void UnitTest::bench_setPolygon(){
    +
    1139  area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE);
    +
    1140 
    +
    1141  std::vector<QPoint> polygon{
    +
    1142  QPoint(10,00),
    +
    1143  QPoint(00,10),
    +
    1144  QPoint(10,10),
    +
    1145  QPoint(00,10)
    +
    1146  };
    +
    1147 
    +
    1148  QBENCHMARK{
    +
    1149  area->layerBundle[0].image->setPolygon(polygon);
    +
    1150  }
    +
    1151 
    +
    1152  area->deleteLayer(0);
    +
    1153 }
    +
    1154 
    +
    1155 void UnitTest::bench_setLayerUp(){
    +
    1156  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    1157  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    1158 
    +
    1159  area->setLayerActive(0);
    +
    1160  QBENCHMARK{
    +
    1161  area->selectLayerUp();
    +
    1162  }
    +
    1163 
    +
    1164  area->deleteLayer(1);
    +
    1165  area->deleteLayer(0);
    +
    1166 }
    +
    1167 
    +
    1168 void UnitTest::bench_setLayerDown(){
    +
    1169  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    1170  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    1171 
    +
    1172  QBENCHMARK{
    +
    1173  area->selectLayerDown();
    +
    1174  }
    +
    1175 
    +
    1176  area->deleteLayer(1);
    +
    1177  area->deleteLayer(0);
    +
    1178 }
    +
    1179 
    +
    1180 void UnitTest::bench_createTools(){
    +
    1181  QBENCHMARK{
    +
    1182  area->createPenTool();
    +
    1183  }
    +
    1184 
    +
    1185  QBENCHMARK{
    +
    1186  area->createLineTool();
    +
    1187  }
    +
    1188 
    +
    1189  QBENCHMARK{
    +
    1190  area->createPlainTool();
    +
    1191  }
    +
    1192 
    +
    1193  QBENCHMARK{
    +
    1194  area->createCircleTool();
    +
    1195  }
    +
    1196 
    +
    1197  QBENCHMARK{
    +
    1198  area->createPolygonTool();
    +
    1199  }
    +
    1200 
    +
    1201  QBENCHMARK{
    +
    1202  area->createFloodFillTool();
    +
    1203  }
    +
    1204 
    +
    1205  QBENCHMARK{
    +
    1206  area->createRectangleTool();
    +
    1207  }
    +
    1208 }
    +
    1209 
    +
    1210 void UnitTest::bench_RasterImage_drawPixel(){
    +
    1211  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    1212 
    +
    1213  QPoint point(0,0);
    +
    1214 
    +
    1215  QBENCHMARK{
    +
    1216  area->layerBundle[0].image->drawPixel(point, QColor(0,0,0,255));
    +
    1217  }
    +
    1218 
    +
    1219  area->deleteLayer(0);
    +
    1220 }
    +
    1221 
    +
    1222 void UnitTest::bench_RasterImage_drawLine(){
    +
    1223  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    1224 
    +
    1225  QPoint point1(000,000);
    +
    1226  QPoint point2(200,200);
    +
    1227 
    +
    1228  QBENCHMARK{
    +
    1229  area->layerBundle[0].image->drawLine(point1, point2, QColor(0,0,0,255), 1);
    +
    1230  }
    +
    1231 
    +
    1232  area->deleteLayer(0);
    +
    1233 }
    +
    1234 
    +
    1235 void UnitTest::bench_RasterImage_drawPoint(){
    +
    1236  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    1237 
    +
    1238  QPoint point(000,000);
    +
    1239 
    +
    1240  QBENCHMARK{
    +
    1241  area->layerBundle[0].image->drawPoint(point, QColor(0,0,0,255), 1);
    +
    1242  }
    +
    1243 
    +
    1244  area->deleteLayer(0);
    +
    1245 }
    +
    1246 
    +
    1247 void UnitTest::bench_RasterImage_getDisplayable(){
    +
    1248  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    1249 
    +
    1250  QBENCHMARK{
    +
    1251  area->layerBundle[0].image->getDisplayable(QSize(200,200),255);
    +
    1252  }
    +
    1253 
    +
    1254  area->deleteLayer(0);
    +
    1255 }
    +
    1256 
    +
    1257 void UnitTest::bench_RasterImage_getPixelColor(){
    +
    1258  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    1259 
    +
    1260  QPoint point(000,000);
    +
    1261 
    +
    1262  QBENCHMARK{
    +
    1263  area->layerBundle[0].image->getPixelColor(point);
    +
    1264  }
    +
    1265 
    +
    1266  area->deleteLayer(0);
    +
    1267 }
    +
    1268 
    +
    1269 void UnitTest::bench_RasterImage_getImageData(){
    +
    1270  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    1271 
    +
    1272  QBENCHMARK{
    +
    1273  area->layerBundle[0].image->getImageData();
    +
    1274  }
    +
    1275 
    +
    1276  area->deleteLayer(0);
    +
    1277 }
    +
    1278 
    +
    1279 void UnitTest::bench_RasterImage_setImageData(){
    +
    1280  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    1281 
    +
    1282  QImage img = area->layerBundle[0].image->getImageData();
    +
    1283  QBENCHMARK{
    +
    1284  area->layerBundle[0].image->setImageData(img);
    +
    1285  }
    +
    1286 
    +
    1287  area->deleteLayer(0);
    +
    1288 }
    +
    1289 
    +
    1290 void UnitTest::bench_ShapedImage_drawPixel(){
    +
    1291  area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE);
    +
    1292 
    +
    1293  QPoint point(0,0);
    +
    1294 
    +
    1295  QBENCHMARK{
    +
    1296  area->layerBundle[0].image->drawPixel(point, QColor(0,0,0,255));
    +
    1297  }
    +
    1298 
    +
    1299  area->deleteLayer(0);
    +
    1300 }
    +
    1301 
    +
    1302 void UnitTest::bench_ShapedImage_drawLine(){
    +
    1303  area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE);
    +
    1304 
    +
    1305  QPoint point1(000,000);
    +
    1306  QPoint point2(200,200);
    +
    1307 
    +
    1308  QBENCHMARK{
    +
    1309  area->layerBundle[0].image->drawLine(point1, point2, QColor(0,0,0,255), 1);
    +
    1310  }
    +
    1311 
    +
    1312  area->deleteLayer(0);
    +
    1313 }
    +
    1314 
    +
    1315 void UnitTest::bench_ShapedImage_drawPoint(){
    +
    1316  area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE);
    +
    1317 
    +
    1318  QPoint point(000,000);
    +
    1319 
    +
    1320  QBENCHMARK{
    +
    1321  area->layerBundle[0].image->drawPoint(point, QColor(0,0,0,255), 1);
    +
    1322  }
    +
    1323 
    +
    1324  area->deleteLayer(0);
    +
    1325 }
    +
    1326 
    +
    1327 void UnitTest::bench_ShapedImage_getDisplayable(){
    +
    1328  area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE);
    +
    1329 
    +
    1330  QBENCHMARK{
    +
    1331  area->layerBundle[0].image->getDisplayable(QSize(200,200),255);
    +
    1332  }
    +
    1333 
    +
    1334  area->deleteLayer(0);
    +
    1335 }
    +
    1336 
    +
    1337 void UnitTest::bench_ShapedImage_getPixelColor(){
    +
    1338  area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE);
    +
    1339 
    +
    1340  QPoint point(000,000);
    +
    1341 
    +
    1342  QBENCHMARK{
    +
    1343  area->layerBundle[0].image->getPixelColor(point);
    +
    1344  }
    +
    1345 
    +
    1346  area->deleteLayer(0);
    +
    1347 }
    +
    1348 
    +
    1349 void UnitTest::bench_ShapedImage_getImageData(){
    +
    1350  area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE);
    +
    1351 
    +
    1352  QBENCHMARK{
    +
    1353  area->layerBundle[0].image->getImageData();
    +
    1354  }
    +
    1355 
    +
    1356  area->deleteLayer(0);
    +
    1357 }
    +
    1358 
    +
    1359 void UnitTest::bench_ShapedImage_setImageData(){
    +
    1360  area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE);
    +
    1361 
    +
    1362  QImage img = area->layerBundle[0].image->getImageData();
    +
    1363  QBENCHMARK{
    +
    1364  area->layerBundle[0].image->setImageData(img);
    +
    1365  }
    +
    1366 
    +
    1367  area->deleteLayer(0);
    +
    1368 }
    +
    1369 
    +
    1370 void UnitTest::bench_Circle_fullDraw(){
    +
    1371  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    1372  area->colorPicker.setFirstColor(QColor(255,255,255,255));
    +
    1373  area->colorPicker.setSecondColor(QColor(0,0,0,255));
    +
    1374  area->createCircleTool();
    +
    1375  area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255));
    +
    1376 
    +
    1377  QPoint point1(100,100);
    +
    1378  QPoint point2(150,100);
    +
    1379  QBENCHMARK{
    +
    1380  area->Tool->onMouseLeftPressed(point1.x(), point1.y());
    +
    1381  area->Tool->onMouseMoved(point2.x(), point2.y());
    +
    1382  area->Tool->onMouseLeftReleased(point2.x(), point2.y());
    +
    1383  }
    +
    1384 
    +
    1385  area->deleteLayer(0);
    +
    1386 }
    +
    1387 
    +
    1388 void UnitTest::bench_Circle_interruptedDraw(){
    +
    1389  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    1390  area->colorPicker.setFirstColor(QColor(255,255,255,255));
    +
    1391  area->colorPicker.setSecondColor(QColor(0,0,0,255));
    +
    1392  area->createCircleTool();
    +
    1393  area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255));
    +
    1394 
    +
    1395  QPoint point1(100,100);
    +
    1396  QPoint point2(150,100);
    +
    1397  QBENCHMARK{
    +
    1398  area->Tool->onMouseLeftPressed(point1.x(), point1.y());
    +
    1399  area->Tool->onMouseMoved(point2.x(), point2.y());
    +
    1400  area->Tool->onMouseRightPressed(point2.x(), point2.y());
    +
    1401  area->Tool->onMouseRightReleased(point2.x(),point2.y());
    +
    1402  area->Tool->onMouseLeftReleased(point2.x(), point2.y());
    +
    1403  }
    +
    1404 
    +
    1405  area->deleteLayer(0);
    +
    1406 }
    +
    1407 
    +
    1408 
    +
    1409 void UnitTest::bench_FloodFill_fullDraw(){
    +
    1410  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    1411  area->colorPicker.setFirstColor(QColor(255,255,255,255));
    +
    1412  area->colorPicker.setSecondColor(QColor(0,0,0,255));
    +
    1413  area->createFloodFillTool();
    +
    1414  area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255));
    +
    1415 
    +
    1416  QPoint point1(100,100);
    +
    1417  QPoint point2(150,100);
    +
    1418  QBENCHMARK{
    +
    1419  area->Tool->onMouseLeftPressed(point1.x(), point1.y());
    +
    1420  area->Tool->onMouseMoved(point2.x(), point2.y());
    +
    1421  area->Tool->onMouseLeftReleased(point2.x(), point2.y());
    +
    1422  }
    +
    1423 
    +
    1424  area->deleteLayer(0);
    +
    1425 }
    +
    1426 
    +
    1427 void UnitTest::bench_FloodFill_interruptedDraw(){
    +
    1428  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    1429  area->colorPicker.setFirstColor(QColor(255,255,255,255));
    +
    1430  area->colorPicker.setSecondColor(QColor(0,0,0,255));
    +
    1431  area->createFloodFillTool();
    +
    1432  area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255));
    +
    1433 
    +
    1434  QPoint point1(100,100);
    +
    1435  QPoint point2(150,100);
    +
    1436  QBENCHMARK{
    +
    1437  area->Tool->onMouseLeftPressed(point1.x(), point1.y());
    +
    1438  area->Tool->onMouseMoved(point2.x(), point2.y());
    +
    1439  area->Tool->onMouseRightPressed(point2.x(), point2.y());
    +
    1440  area->Tool->onMouseRightReleased(point2.x(),point2.y());
    +
    1441  area->Tool->onMouseLeftReleased(point2.x(), point2.y());
    +
    1442  }
    +
    1443 
    +
    1444  area->deleteLayer(0);
    +
    1445 }
    +
    1446 
    +
    1447 
    +
    1448 void UnitTest::bench_Line_fullDraw(){
    +
    1449  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    1450  area->colorPicker.setFirstColor(QColor(255,255,255,255));
    +
    1451  area->colorPicker.setSecondColor(QColor(0,0,0,255));
    +
    1452  area->createLineTool();
    +
    1453  area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255));
    +
    1454 
    +
    1455  QPoint point1(100,100);
    +
    1456  QPoint point2(150,100);
    +
    1457  QBENCHMARK{
    +
    1458  area->Tool->onMouseLeftPressed(point1.x(), point1.y());
    +
    1459  area->Tool->onMouseMoved(point2.x(), point2.y());
    +
    1460  area->Tool->onMouseLeftReleased(point2.x(), point2.y());
    +
    1461  }
    +
    1462 
    +
    1463  area->deleteLayer(0);
    +
    1464 }
    +
    1465 
    +
    1466 void UnitTest::bench_Line_interruptedDraw(){
    +
    1467  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    1468  area->colorPicker.setFirstColor(QColor(255,255,255,255));
    +
    1469  area->colorPicker.setSecondColor(QColor(0,0,0,255));
    +
    1470  area->createLineTool();
    +
    1471  area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255));
    +
    1472 
    +
    1473  QPoint point1(100,100);
    +
    1474  QPoint point2(150,100);
    +
    1475 
    +
    1476  QBENCHMARK{
    +
    1477  area->Tool->onMouseLeftPressed(point1.x(), point1.y());
    +
    1478  area->Tool->onMouseMoved(point2.x(), point2.y());
    +
    1479  area->Tool->onMouseRightPressed(point2.x(), point2.y());
    +
    1480  area->Tool->onMouseRightReleased(point2.x(),point2.y());
    +
    1481  area->Tool->onMouseLeftReleased(point2.x(), point2.y());
    +
    1482  }
    +
    1483 
    +
    1484  area->deleteLayer(0);
    +
    1485 }
    +
    1486 
    +
    1487 void UnitTest::bench_Pen_fullDraw(){
    +
    1488  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    1489  area->colorPicker.setFirstColor(QColor(255,255,255,255));
    +
    1490  area->colorPicker.setSecondColor(QColor(0,0,0,255));
    +
    1491  area->createPenTool();
    +
    1492  area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255));
    +
    1493 
    +
    1494  QPoint point1(100,100);
    +
    1495  QPoint point2(150,100);
    +
    1496  QBENCHMARK{
    +
    1497  area->Tool->onMouseLeftPressed(point1.x(), point1.y());
    +
    1498  area->Tool->onMouseMoved(point2.x(), point2.y());
    +
    1499  area->Tool->onMouseLeftReleased(point2.x(), point2.y());
    +
    1500  }
    +
    1501 
    +
    1502  area->deleteLayer(0);
    +
    1503 }
    +
    1504 
    +
    1505 void UnitTest::bench_Pen_interruptedDraw(){
    +
    1506  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    1507  area->colorPicker.setFirstColor(QColor(255,255,255,255));
    +
    1508  area->colorPicker.setSecondColor(QColor(0,0,0,255));
    +
    1509  area->createPenTool();
    +
    1510  area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255));
    +
    1511 
    +
    1512  QPoint point1(100,100);
    +
    1513  QPoint point2(150,100);
    +
    1514  QBENCHMARK{
    +
    1515  area->Tool->onMouseLeftPressed(point1.x(), point1.y());
    +
    1516  area->Tool->onMouseMoved(point2.x(), point2.y());
    +
    1517  area->Tool->onMouseRightPressed(point2.x(), point2.y());
    +
    1518  area->Tool->onMouseRightReleased(point2.x(),point2.y());
    +
    1519  area->Tool->onMouseLeftReleased(point2.x(), point2.y());
    +
    1520  }
    +
    1521 
    +
    1522  area->deleteLayer(0);
    +
    1523 }
    +
    1524 
    +
    1525 void UnitTest::bench_Plain_fullDraw(){
    +
    1526  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    1527  area->colorPicker.setFirstColor(QColor(255,255,255,255));
    +
    1528  area->colorPicker.setSecondColor(QColor(0,0,0,255));
    +
    1529  area->createPlainTool();
    +
    1530  area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255));
    +
    1531 
    +
    1532  QPoint point1(100,100);
    +
    1533  QPoint point2(150,100);
    +
    1534  QBENCHMARK{
    +
    1535  area->Tool->onMouseLeftPressed(point1.x(), point1.y());
    +
    1536  area->Tool->onMouseMoved(point2.x(), point2.y());
    +
    1537  area->Tool->onMouseLeftReleased(point2.x(), point2.y());
    +
    1538  }
    +
    1539 
    +
    1540  area->deleteLayer(0);
    +
    1541 }
    +
    1542 
    +
    1543 void UnitTest::bench_Plain_interruptedDraw(){
    +
    1544  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    1545  area->colorPicker.setFirstColor(QColor(255,255,255,255));
    +
    1546  area->colorPicker.setSecondColor(QColor(0,0,0,255));
    +
    1547  area->createPlainTool();
    +
    1548  area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255));
    +
    1549 
    +
    1550  QPoint point1(100,100);
    +
    1551  QPoint point2(150,100);
    +
    1552  QBENCHMARK{
    +
    1553  area->Tool->onMouseLeftPressed(point1.x(), point1.y());
    +
    1554  area->Tool->onMouseMoved(point2.x(), point2.y());
    +
    1555  area->Tool->onMouseRightPressed(point2.x(), point2.y());
    +
    1556  area->Tool->onMouseRightReleased(point2.x(),point2.y());
    +
    1557  area->Tool->onMouseLeftReleased(point2.x(), point2.y());
    +
    1558  }
    +
    1559 
    +
    1560  area->deleteLayer(0);
    +
    1561 }
    +
    1562 
    +
    1563 void UnitTest::bench_Polygon_fullDraw(){
    + +
    1565  std::vector<QPoint> points{
    +
    1566  QPoint(10,00),
    +
    1567  QPoint(00,10),
    +
    1568  QPoint(10,20),
    +
    1569  QPoint(20,10)
    +
    1570  };
    +
    1571 
    +
    1572  area->colorPicker.setFirstColor(QColor(255,255,255,255));
    +
    1573  area->colorPicker.setSecondColor(QColor(0,0,0,255));
    +
    1574  area->createPolygonTool();
    +
    1575  area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255));
    +
    1576 
    +
    1577  QBENCHMARK{
    +
    1578  area->Tool->onMouseLeftPressed(points[0].x(), points[0].y());
    +
    1579  area->Tool->onMouseLeftReleased(points[0].x(), points[0].y());
    +
    1580  area->Tool->onMouseMoved(points[1].x(), points[1].y());
    +
    1581 
    +
    1582  area->Tool->onMouseLeftPressed(points[1].x(), points[1].y());
    +
    1583  area->Tool->onMouseLeftReleased(points[1].x(), points[1].y());
    +
    1584  area->Tool->onMouseMoved(points[2].x(), points[2].y());
    +
    1585 
    +
    1586  area->Tool->onMouseLeftPressed(points[2].x(), points[2].y());
    +
    1587  area->Tool->onMouseLeftReleased(points[2].x(), points[2].y());
    +
    1588  area->Tool->onMouseMoved(points[3].x(), points[3].y());
    +
    1589 
    +
    1590  area->Tool->onMouseLeftPressed(points[3].x(), points[3].y());
    +
    1591  area->Tool->onMouseLeftReleased(points[3].x(), points[3].y());
    +
    1592  area->Tool->onMouseMoved(points[0].x(), points[0].y());
    +
    1593 
    +
    1594  area->Tool->onMouseLeftPressed(points[0].x(), points[0].y());
    +
    1595  area->Tool->onMouseLeftReleased(points[0].x(), points[0].y());
    +
    1596  }
    +
    1597 
    +
    1598  area->deleteLayer(0);
    +
    1599 }
    +
    1600 
    +
    1601 
    +
    1602 void UnitTest::bench_Polygon_interruptedDraw(){
    +
    1603  area->addLayer(201,201,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    1604  std::vector<QPoint> points{
    +
    1605  QPoint(100,000)
    +
    1606  };
    +
    1607 
    +
    1608 
    +
    1609  area->colorPicker.setFirstColor(QColor(255,255,255,255));
    +
    1610  area->colorPicker.setSecondColor(QColor(0,0,0,255));
    +
    1611  area->createPolygonTool();
    +
    1612  area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255));
    +
    1613 
    +
    1614  QBENCHMARK{
    +
    1615  area->Tool->onMouseLeftPressed(points[0].x(), points[0].y());
    +
    1616  area->Tool->onMouseLeftReleased(points[0].x(), points[0].y());
    +
    1617 
    +
    1618  area->Tool->onMouseRightPressed(points[0].x(), points[0].y());
    +
    1619  area->Tool->onMouseRightReleased(points[0].x(), points[0].y());
    +
    1620  }
    +
    1621 
    +
    1622  area->deleteLayer(0);
    +
    1623 }
    +
    1624 
    +
    1625 
    +
    1626 void UnitTest::bench_Rectangle_fullDraw(){
    +
    1627  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    1628  area->colorPicker.setFirstColor(QColor(255,255,255,255));
    +
    1629  area->colorPicker.setSecondColor(QColor(0,0,0,255));
    +
    1630  area->createRectangleTool();
    +
    1631  area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255));
    +
    1632 
    +
    1633  QPoint point1(100,100);
    +
    1634  QPoint point2(150,150);
    +
    1635 
    +
    1636  QBENCHMARK{
    +
    1637  area->Tool->onMouseLeftPressed(point1.x(), point1.y());
    +
    1638  area->Tool->onMouseMoved(point2.x(), point2.y());
    +
    1639  area->Tool->onMouseLeftReleased(point2.x(), point2.y());
    +
    1640  }
    +
    1641 
    +
    1642  area->deleteLayer(0);
    +
    1643 }
    +
    1644 
    +
    1645 void UnitTest::bench_Rectangle_interruptedDraw(){
    +
    1646  area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE);
    +
    1647  area->colorPicker.setFirstColor(QColor(255,255,255,255));
    +
    1648  area->colorPicker.setSecondColor(QColor(0,0,0,255));
    +
    1649  area->createRectangleTool();
    +
    1650  area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255));
    +
    1651 
    +
    1652  QPoint point1(100,100);
    +
    1653  QPoint point2(150,150);
    +
    1654  QBENCHMARK{
    +
    1655  area->Tool->onMouseLeftPressed(point1.x(), point1.y());
    +
    1656  area->Tool->onMouseMoved(point2.x(), point2.y());
    +
    1657  area->Tool->onMouseRightPressed(point2.x(), point2.y());
    +
    1658  area->Tool->onMouseRightReleased(point2.x(),point2.y());
    +
    1659  area->Tool->onMouseLeftReleased(point2.x(), point2.y());
    +
    1660  }
    +
    1661 
    +
    1662  area->deleteLayer(0);
    +
    1663 }
    +
    1664 
    +
    1665 
    +
    1666 void UnitTest::bench_Triangulation_Coverage(){
    +
    1667  std::vector<QPoint> points{
    +
    1668  QPoint(10,00),
    +
    1669  QPoint(00,10),
    +
    1670  QPoint(10,20),
    +
    1671  QPoint(20,10)
    +
    1672  };
    +
    1673  std::vector<QPoint> test{
    +
    1674  QPoint(00,00),
    +
    1675  QPoint(00,20),
    +
    1676  QPoint(20,00),
    +
    1677  QPoint(20,20),
    +
    1678  QPoint(10,10)
    +
    1679  };
    +
    1680 
    +
    1681  QBENCHMARK{
    +
    1682  std::vector<Triangle> tria = IntelliTriangulation::calculateTriangles(points);
    +
    1683  QPoint point;
    +
    1684  for(int i=0; i<200; i++) {
    +
    1685  point.setX(i);
    +
    1686  for(int j=0; j<200; j++) {
    +
    1687  point.setY(j);
    +
    1688  IntelliTriangulation::isInPolygon(tria, point);
    +
    1689  }
    +
    1690  }
    +
    1691  }
    +
    1692 }
    +
    1693 
    +
    1694 
    +
    1695 QTEST_MAIN(UnitTest)
    +
    1696 
    +
    1697 #include "tst_unittest.moc"
    +
    +
    +
    void createCircleTool()
    +
    virtual void onMouseRightPressed(int x, int y)
    A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on....
    Definition: IntelliTool.cpp:18
    +
    virtual void onMouseLeftReleased(int x, int y)
    A function managing the left click Released of a Mouse. Call this in child classes!
    Definition: IntelliTool.cpp:36
    +
    void createRectangleTool()
    + + +
    virtual void onMouseLeftPressed(int x, int y)
    A function managing the left click Pressed of a Mouse. Resetting the current draw....
    Definition: IntelliTool.cpp:29
    + + + +
    void setLayerAlpha(int idx, int alpha)
    The setAlphaOfLayer method sets the alpha value of a specific layer.
    + +
    void setLayerActive(int idx)
    The setLayerToActive method marks a specific layer as active.
    +
    std::vector< Triangle > calculateTriangles(std::vector< QPoint > polyPoints)
    A function to split a polygon in its spanning traingles by using Meisters Theorem of graph theory by ...
    +
    void deleteLayer(int idx, bool isTool=false)
    The deleteLayer method removes a layer at a given idx.
    + +
    The IntelliPhotoGui base class handles the graphical user interface and events for the intelliPhoto p...
    +
    void setSecondColor(QColor Color)
    A function to set the secondary color.
    +
    The IntelliToolPlainTool class represents a tool to fill the whole canvas with one color.
    +
    The IntelliShapedImage manages a Shapedimage.
    +
    QColor getSecondColor()
    A function to read the secondary selected color.
    + + +
    void createPlainTool()
    +
    The PaintingArea class manages the methods and stores information about the current painting area,...
    Definition: PaintingArea.h:53
    +
    void createPenTool()
    + + +
    The IntelliToolRectangle class represents a tool to draw a rectangle.
    +
    void createLineTool()
    + +
    The IntelliToolPen class represents a tool to draw a line.
    +
    virtual void onMouseRightReleased(int x, int y)
    A function managing the right click Released of a Mouse. Merging the Canvas to Active....
    Definition: IntelliTool.cpp:25
    + + + +
    void setFirstColor(QColor Color)
    A function to set the primary color.
    + +
    void createPolygonTool()
    +
    void moveActiveLayer(int idx)
    The moveActiveLayer moves the active layer to a specific position in the layer stack.
    +
    IntelliColorPicker colorPicker
    Definition: PaintingArea.h:202
    + +
    QColor getFirstColor()
    A function to read the primary selected color.
    +
    void createFloodFillTool()
    + + +
    The IntelliToolFloodFill class represents a tool to flood FIll a certian area.
    + +
    The IntelliToolCircle class represents a tool to draw a circle.
    +
    virtual void onMouseMoved(int x, int y)
    A function managing the mouse moved event. Call this in child classes!
    Definition: IntelliTool.cpp:46
    +
    The IntelliToolPolygon managed the Drawing of Polygonforms.
    +
    std::vector< QPoint > polygonData
    The Vertices of The Polygon. Needs to be a planar Polygon.
    +
    bool isInPolygon(const std::vector< Triangle > &triangles, QPoint &point)
    A function to check if a point lies in a polygon by checking its spanning triangles.
    + + +
    int addLayer(int width, int height, int widthOffset=0, int heightOffset=0, IntelliImage::ImageType type=IntelliImage::ImageType::RASTERIMAGE)
    The addLayer adds a layer to the current project/ painting area.
    +
    The IntelliToolFloodFill class represents a tool to draw a line.
    + + + + diff --git a/docs/referenzsystem.docx b/docs/referenzsystem.docx new file mode 100644 index 0000000..2b9dd9a Binary files /dev/null and b/docs/referenzsystem.docx differ diff --git a/prep.sh b/prep.sh new file mode 100755 index 0000000..cb2a7e4 --- /dev/null +++ b/prep.sh @@ -0,0 +1,91 @@ +QMAKE_PATH = "/Users/$USER/Qt5.14.0/5.14.0/clang_64/bin/qmake" + +printLine(){ + echo "$2$1 \033[0m" +} + +gitReset(){ + printLine "This will discard all your uncommited changes and restore the last commit. Continue?" "\033[0;33m" + read + git reset --hard + printLine "Git resetted." "\033[0;32m" +} + +runCPPCheck(){ + printLine "Running CPPCheck..." + cppcheck -q --enable=all --output-file=cppcheck_errors.txt src/ || { printLine "ERROR: cppcheck not found!" "\033[0;33m"; return; } + cppcheck -q --check-config --output-file=cppcheck_config.txt src/ || { printLine "ERROR: cppcheck not found!" "\033[0;33m"; return; } + printLine "CPPCheck finished" "\033[0;32m" +} + +runUncrustify(){ + printLine "Running Uncrustify..." + find . \( -name "*.cpp" -o -name "*.c" -o -name "*.h" \) -exec uncrustify -q -c conf/uncrustify.cfg --no-backup {} + || { printLine "ERROR: uncrusify not found!" "\033[0;33m"; return; } + printLine "Uncrustify finished." "\033[0;32m" +} + +cleanDir(){ + printLine "Cleaning directory..." + rm -r src/build-* + rm -r build-*/ + rm -r Examples/ + rm src/*.pro.user + printLine "Directory cleaned." "\033[0;32m" +} + +runDoxygen(){ + printLine "Running Doxygen..." + doxygen conf/intelliphoto_dox || { printLine "ERROR: doxygen not found!" "\033[0;33m"; return; } + printLine "Doxygen finished." "\033[0;32m" +} + +runUnitTests(){ + printLine "Running Unit Tests..." + $QMAKE_PATH src/IntelliUnitTest.pro || { printLine "ERROR: qmake not found!" "\033[0;33m"; return; } + cd src + make || { printLine "ERROR: make not found!" "\033[0;33m"; return; } + ./IntelliUnitTest + cd .. + printLine "Doxygen finished." "\033[0;32m" +} + +gitCommit(){ + printLine "Committing Changes to Git..." + git add '*' || { printLine "ERROR: git not found!" "\033[0;33m"; return; } + git commit -m "Automated Release Preparation" + printLine "Committed." "\033[0;32m" +} + +prepareMerge(){ + printLine "Merge Preparation started..." + runUncrustify + runCPPCheck + #runUnitTests + runDoxygen + gitCommit + printLine "Finished." "\033[0;32m" + exit +} + +prepareRelease(){ + printLine "Release Preparation started..." + gitReset + cleanDir + runUncrustify + runCPPCheck + #runUnitTests + runDoxygen + gitCommit + printLine "Finished." "\033[0;32m" + exit +} + +echo "Merge/ Release Preparation for IntelliPhoto started." +while true; do + read -p "Do you want to prepare a (m)erge or a (r)elease?" yn + case $yn in + [Mm]* ) prepareMerge;; + [Rr]* ) prepareRelease;; + * ) printLine "Please answer (m)erge or (r)elease.";; + esac +done diff --git a/src/GUI/IntelliInputDialog.cpp b/src/GUI/IntelliInputDialog.cpp new file mode 100644 index 0000000..c477112 --- /dev/null +++ b/src/GUI/IntelliInputDialog.cpp @@ -0,0 +1,84 @@ +#include "IntelliInputDialog.h" + +IntelliInputDialog::IntelliInputDialog(QString Title, QString Label, int value, int minValue, int maxValue, int step, bool* ok) +{ + this->valueInt = value; + this->notClosed = ok; + if(notClosed != nullptr) { + *notClosed = false; + } + createInputBox(Title, Label, value, minValue, maxValue, step); + createConnections(); + setInputBoxStyle(); + this->exec(); +} + +int IntelliInputDialog::getInt(QString Title, QString Label, int value, int minValue, int maxValue, int step, bool* ok){ + IntelliInputDialog dialog(Title, Label, value, minValue, maxValue, step, ok); + return dialog.valueInt; +} + +void IntelliInputDialog::createInputBox(QString Title, QString Label, int value, int minValue, int maxValue, int step){ + this->setWindowFlags(this->windowFlags() & ~Qt::WindowContextHelpButtonHint); + if(Title == nullptr) { + this->setWindowTitle("Input Box"); + } + else{ + this->setWindowTitle(Title); + } + this->Layout = new QGridLayout(); + this->ButtonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); + + this->InputLabel = new QLabel(); + if(Label == nullptr) { + this->InputLabel->setText("Width:"); + } + else{ + this->InputLabel->setText(Label); + } + this->InputLabel->setFixedSize(Linesize); + + this->Input = new QSpinBox(); + this->Input->setFixedSize(Linesize); + this->Input->setRange(minValue,maxValue); + this->Input->setSingleStep(step); + this->Input->setValue(value); + + this->okButton = ButtonBox->button(QDialogButtonBox::Ok); + this->okButton->setFixedSize(Buttonsize); + this->okButton->setAutoDefault(false); + this->okButton->setDefault(false); + + this->cancelButton = ButtonBox->button(QDialogButtonBox::Cancel); + this->cancelButton->setFixedSize(Buttonsize); + this->cancelButton->setAutoDefault(false); + this->cancelButton->setDefault(false); + + Layout->addWidget(InputLabel,1,1,1,1); + Layout->addWidget(Input,2,1,1,1); + Layout->addWidget(ButtonBox,3,1,1,1); + this->setLayout(Layout); + this->resize(172,94); + this->show(); +} + +void IntelliInputDialog::createConnections(){ + connect(okButton, SIGNAL(clicked()), this, SLOT(slotEingabe())); + connect(cancelButton, SIGNAL(clicked()), this, SLOT(slotCloseEvent())); +} + +void IntelliInputDialog::setInputBoxStyle(){ + this->setStyleSheet("color: white;" "background-color: rgb(64, 64, 64);" "selection-color: rgb(200, 10, 10);" "selection-background-color: rgb(64, 64, 64);"); +} + +void IntelliInputDialog::slotCloseEvent(){ + this->close(); +} + +void IntelliInputDialog::slotEingabe(){ + valueInt = QString("%1").arg(Input->value()).toInt(); + if(notClosed != nullptr) { + *notClosed = true; + } + this->close(); +} diff --git a/src/GUI/IntelliInputDialog.h b/src/GUI/IntelliInputDialog.h new file mode 100644 index 0000000..7775c0d --- /dev/null +++ b/src/GUI/IntelliInputDialog.h @@ -0,0 +1,44 @@ +#ifndef INTELLIINPUTDIALOG_H +#define INTELLIINPUTDIALOG_H + +#include +#include +#include +#include +#include +#include +#include + +class IntelliInputDialog : public QDialog +{ +Q_OBJECT +public: +IntelliInputDialog(QString Title = nullptr, QString Label = nullptr, int value = 5, int minValue = -2147483647, int maxValue = 2147483647, int step = 1, bool* ok = nullptr); + + +static int getInt(QString Title = nullptr, QString Label = nullptr, int value = 5, int minValue = -2147483647, int maxValue = 2147483647, int step = 1, bool* ok = nullptr); + +public slots: +void slotCloseEvent(); +void slotEingabe(); + +private: +void createInputBox(QString Title = nullptr, QString Label = nullptr, int value = 5, int minValue = -2147483647, int maxValue = 2147483647, int step = 1); +void createConnections(); +void setInputBoxStyle(); + +int valueInt; + +QGridLayout* Layout; +QDialogButtonBox* ButtonBox; +bool* notClosed; + +const QSize Linesize = QSize(150,20); +const QSize Buttonsize = QSize(72,20); +QLabel* InputLabel; +QSpinBox* Input; +QPushButton* okButton; +QPushButton* cancelButton; +}; + +#endif // INTELLIINPUTDIALOG_H diff --git a/src/GUI/IntelliPhotoGui.cpp b/src/GUI/IntelliPhotoGui.cpp index d73a730..3af696b 100644 --- a/src/GUI/IntelliPhotoGui.cpp +++ b/src/GUI/IntelliPhotoGui.cpp @@ -14,8 +14,8 @@ IntelliPhotoGui::IntelliPhotoGui(){ // set style of the gui setIntelliStyle(); // Size the app - resize(600,600); - showMaximized(); + resize(600,600); + showMaximized(); setDefaultToolValue(); } @@ -46,8 +46,10 @@ void IntelliPhotoGui::slotOpen(){ // If we have a file name load the image and place // it in the paintingArea - if (!fileName.isEmpty()) + if (!fileName.isEmpty()) { paintingArea->open(fileName); + UpdateGui(); + } } } @@ -63,63 +65,110 @@ void IntelliPhotoGui::slotSave(){ saveFile(fileFormat); } -// Opens a dialog that allows the user to create a New Layer -void IntelliPhotoGui::slotCreateNewLayer(){ +// Opens a dialog that allows the user to create a New RASTER Layer +void IntelliPhotoGui::slotCreateNewRasterLayer(){ // Stores button value bool ok1, ok2; // "New Layer" is the title of the window // the next tr is the text to display // Define the standard Value, min, max, step and ok button - int width = QInputDialog::getInt(this, tr("New Layer"), - tr("Width:"), - 200,1, 500, 1, &ok1); - int height = QInputDialog::getInt(this, tr("New Layer"), - tr("Height:"), - 200,1, 500, 1, &ok2); + int width = IntelliInputDialog::getInt("New Raster Layer", "Width:", 200, 1, paintingArea->getMaxWidth(), 1, &ok1); + + int height = IntelliInputDialog::getInt("New Raster Layer", "Height:", 200, 1, paintingArea->getMaxHeight(), 1, &ok2); + // Create New Layer - if (ok1&&ok2) - { - int layer = paintingArea->addLayer(width,height,0,0); + if (ok1&&ok2) { + paintingArea->addLayer(width,height,0,0,IntelliImage::ImageType::RASTERIMAGE); UpdateGui(); } } +// Opens a dialog that allows the user to create a New SHAPED Layer +void IntelliPhotoGui::slotCreateNewShapedLayer(){ + // Stores button value + bool ok1, ok2; + + // "New Layer" is the title of the window + // the next tr is the text to display + // Define the standard Value, min, max, step and ok button + int width = IntelliInputDialog::getInt("New Shaped Layer", "Width:", 200, 1, paintingArea->getMaxWidth(), 1, &ok1); + + int height = IntelliInputDialog::getInt("New Shaped Layer", "Height:", 200, 1, paintingArea->getMaxHeight(), 1, &ok2); + + // Create New Layer + if (ok1&&ok2) { + paintingArea->addLayer(width, height, 0, 0, IntelliImage::ImageType::SHAPEDIMAGE); + UpdateGui(); + } +} + +// Opens a dialog that allows the user to change Dimension +void IntelliPhotoGui::slotChangeDim(){ + // Stores button value + bool ok1, ok2; + + // "change Dimension" is the title of the window + // the next tr is the text to display + // Define the standard Value, min, step and ok button + int width = IntelliInputDialog::getInt("New Canvas Size", "Width:", 600, 1, 50000 , 1, &ok1); + + int height = IntelliInputDialog::getInt("New Canvas Size", "Height:", 600, 1, 50000, 1, &ok2); + + // Change dimension + if (ok1&&ok2) { + paintingArea->setLayerDimensions(width,height); + UpdateGui(); + } +} + // Opens a dialog that allows the user to delete a Layer void IntelliPhotoGui::slotDeleteLayer(){ - // Stores button value - bool ok; + bool ok1; // "delete Layer" is the title of the window // the next tr is the text to display // Define the standard Value, min, max, step and ok button - int layerNumber = QInputDialog::getInt(this, tr("delete Layer"), - tr("Number:"), - paintingArea->getNumberOfActiveLayer()+1,1, 501, 1, &ok); + int layerNumber = IntelliInputDialog::getInt("Delete Layer", "Number:", paintingArea->getNumberOfActiveLayer() + 1, 1, static_cast(paintingArea->layerBundle.size()), 1, &ok1); + // Create New Layer - if (ok) { - paintingArea->deleteLayer(layerNumber-1); + if(ok1) { + paintingArea->deleteLayer(layerNumber - 1); UpdateGui(); } } void IntelliPhotoGui::slotSetActiveAlpha(){ - // Stores button value + bool ok1, ok2; + // "Layer to set on" is the title of the window + // the next tr is the text to display + // Define the standard Value, min, max, step and ok button + + int layer = IntelliInputDialog::getInt("Layer to set on", "Layer:", paintingArea->getNumberOfActiveLayer() + 1, 1, static_cast(paintingArea->layerBundle.size()), 1, &ok1); + + // "New Alpha" is the title of the window + int alpha = IntelliInputDialog::getInt("Layer to set on", "Alpha:", 255, 0, 255, 1, &ok2); + + if (ok1&&ok2) + { + paintingArea->setLayerAlpha(layer - 1,alpha); + UpdateGui(); + } +} + +void IntelliPhotoGui::slotSetPolygon(){ + // Stores button value + bool ok1; // "Layer to set on" is the title of the window // the next tr is the text to display // Define the standard Value, min, max, step and ok button - int layer = QInputDialog::getInt(this, tr("Layer to set on"), - tr("Layer:"), - 1,1,500,1, &ok1); - // "New Alpha" is the title of the window - int alpha = QInputDialog::getInt(this, tr("New Alpha"), - tr("Alpha:"), - 255,0, 255, 1, &ok2); - if (ok1&&ok2) + int layer = IntelliInputDialog::getInt("Layer to set on", "Layer:", paintingArea->getNumberOfActiveLayer() + 1, 1, static_cast(paintingArea->layerBundle.size()), 1, &ok1); + + if (ok1) { - paintingArea->setLayerAlpha(layer-1,alpha); + paintingArea->setPolygon(layer - 1); UpdateGui(); } } @@ -154,60 +203,27 @@ void IntelliPhotoGui::slotMoveLayerDown(){ update(); } -void IntelliPhotoGui::slotClearActiveLayer(){ - // Stores button value - bool ok1, ok2, ok3, ok4; - - // "Red Input" is the title of the window - // the next tr is the text to display - // Define the standard Value, min, max, step and ok button - int red = QInputDialog::getInt(this, tr("Red Input"), - tr("Red:"), - 255,0, 255,1, &ok1); - // "Green Input" is the title of the window - int green = QInputDialog::getInt(this, tr("Green Input"), - tr("Green:"), - 255,0, 255, 1, &ok2); - // "Blue Input" is the title of the window - int blue = QInputDialog::getInt(this, tr("Blue Input"), - tr("Blue:"), - 255,0, 255, 1, &ok3); - // "Alpha Input" is the title of the window - int alpha = QInputDialog::getInt(this, tr("Alpha Input"), - tr("Alpha:"), - 255,0, 255, 1, &ok4); - if (ok1&&ok2&&ok3&&ok4) - { - paintingArea->floodFill(red, green, blue, alpha); - UpdateGui(); - } -} - void IntelliPhotoGui::slotSetActiveLayer(){ - // Stores button value bool ok1; - // "Layer to set on" is the title of the window // the next tr is the text to display // Define the standard Value, min, max, step and ok button - int layer = QInputDialog::getInt(this, tr("Layer to set on"), - tr("Layer:"), - 1,1,500,1, &ok1); - if (ok1) - { - paintingArea->setLayerActive(layer-1); + int layer = IntelliInputDialog::getInt("Layer to set on", "Layer:", 1, 1, static_cast(paintingArea->layerBundle.size()), 1, &ok1); + + if(ok1) { + paintingArea->setLayerActive(layer - 1); UpdateGui(); } } void IntelliPhotoGui::slotUpdateRenderSettingsOn(){ - paintingArea->setRenderSettings(true); - UpdateGui(); + paintingArea->setRenderSettings(true); + UpdateGui(); } void IntelliPhotoGui::slotUpdateRenderSettingsOff(){ - paintingArea->setRenderSettings(false); - UpdateGui(); + paintingArea->setRenderSettings(false); + UpdateGui(); } void IntelliPhotoGui::slotSetFirstColor(){ @@ -264,7 +280,7 @@ void IntelliPhotoGui::slotCreateFloodFillTool(){ void IntelliPhotoGui::slotAboutDialog(){ // Window title and text to display QMessageBox::about(this, tr("About Painting"), - tr("

    IntelliPhoto - A Pretty basic editor.


    Developed by Team 7.")); + tr("

    IntelliPhoto - A Pretty basic editor.


    Developed by Team 7.")); } void IntelliPhotoGui::slotEnterPressed(){ @@ -291,13 +307,21 @@ void IntelliPhotoGui::slotResetTools(){ } void IntelliPhotoGui::slotSetWidth(){ - paintingArea->Toolsettings.setLineWidth(); - EditLineWidth->setText(QString("%1").arg(paintingArea->Toolsettings.getLineWidth())); + bool ok1; + int temp = IntelliInputDialog::getInt("Toolsettings", "Width:", 5, 1, 50, 1, &ok1); + if(ok1) { + paintingArea->Toolsettings.setLineWidth(temp); + EditLineWidth->setText(QString("%1").arg(temp)); + } } void IntelliPhotoGui::slotSetInnerAlpha(){ - paintingArea->Toolsettings.setInnerAlpha(); - EditLineInnerAlpha->setText(QString("%1").arg(paintingArea->Toolsettings.getInnerAlpha())); + bool ok1; + int temp = IntelliInputDialog::getInt("Toolsettings", "Alpha:", 5, 1, 50, 1, &ok1); + if(ok1) { + paintingArea->Toolsettings.setInnerAlpha(temp); + EditLineInnerAlpha->setText(QString("%1").arg(temp)); + } } // Define menu actions that call functions @@ -327,7 +351,7 @@ void IntelliPhotoGui::createActions(){ connect(pngSaveAction, SIGNAL(triggered()), this, SLOT(slotSave())); // Attach each PNG in save Menu actionSaveAs.append(pngSaveAction); - pngSaveAction->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_S)); + pngSaveAction->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_S)); // Create exit action and tie to IntelliPhotoGui::close() actionExit = new QAction(tr("&Exit"), this); @@ -338,24 +362,39 @@ void IntelliPhotoGui::createActions(){ actionOpen->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_O)); connect(actionOpen, SIGNAL(triggered()), this, SLOT(slotOpen())); - // Create New Layer action and tie to IntelliPhotoGui::newLayer() - actionCreateNewLayer = new QAction(tr("&New Layer..."), this); - actionCreateNewLayer->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_N)); - connect(actionCreateNewLayer, SIGNAL(triggered()), this, SLOT(slotCreateNewLayer())); + // Create New RASTER Layer action and tie to IntelliPhotoGui::newLayer() + actionCreateNewRasterLayer = new QAction(tr("&Raster Image"), this); + actionCreateNewRasterLayer->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_N)); + connect(actionCreateNewRasterLayer, SIGNAL(triggered()), this, SLOT(slotCreateNewRasterLayer())); + + + // Create New SHAPED Layer action and tie to IntelliPhotoGui::newLayer() + actionCreateNewShapedLayer = new QAction(tr("&Shaped Image"), this); + actionCreateNewShapedLayer->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_N + Qt::ALT)); + connect(actionCreateNewShapedLayer, SIGNAL(triggered()), this, SLOT(slotCreateNewShapedLayer())); // Delete New Layer action and tie to IntelliPhotoGui::deleteLayer() actionDeleteLayer = new QAction(tr("&Delete Layer..."), this); - actionDeleteLayer->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_D)); + actionDeleteLayer->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_D)); connect(actionDeleteLayer, SIGNAL(triggered()), this, SLOT(slotDeleteLayer())); + actionChangeDim = new QAction(tr("&Change Dimension"), this); + actionChangeDim->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_X)); + connect(actionChangeDim, SIGNAL(triggered()), this, SLOT(slotChangeDim())); + connect(dimCanvas, SIGNAL(clicked()), this, SLOT(slotChangeDim())); + actionSetActiveLayer = new QAction(tr("&set Active"), this); - actionSetActiveLayer->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_A)); + actionSetActiveLayer->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_A)); connect(actionSetActiveLayer, SIGNAL(triggered()), this, SLOT(slotSetActiveLayer())); - actionSetActiveAlpha = new QAction(tr("&set Alpha"), this); - actionSetActiveAlpha->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_A)); + actionSetActiveAlpha = new QAction(tr("&set Alpha"), this); + actionSetActiveAlpha->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_A)); connect(actionSetActiveAlpha, SIGNAL(triggered()), this, SLOT(slotSetActiveAlpha())); + actionSetPolygon = new QAction(tr("&set new Polygondata"), this); + actionSetPolygon->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_P)); + connect(actionSetPolygon, SIGNAL(triggered()), this, SLOT(slotSetPolygon())); + actionMovePositionUp = new QAction(tr("&move Up"), this); actionMovePositionUp->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Up)); connect(actionMovePositionUp, SIGNAL(triggered()), this, SLOT(slotPositionMoveUp())); @@ -376,80 +415,80 @@ void IntelliPhotoGui::createActions(){ actionMoveLayerUp->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_Up)); connect(actionMoveLayerUp, SIGNAL(triggered()), this, SLOT(slotMoveLayerUp())); - actionMoveLayerDown= new QAction(tr("&move Layer Down"), this); + actionMoveLayerDown = new QAction(tr("&move Layer Down"), this); actionMoveLayerDown->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_Down)); connect(actionMoveLayerDown, SIGNAL(triggered()), this, SLOT(slotMoveLayerDown())); - //Create Update RenderSettings Actions here - actionUpdateRenderSettingsOn = new QAction(tr("&On"), this); - actionUpdateRenderSettingsOn->setShortcut(QKeySequence(Qt::ALT +Qt::SHIFT + +Qt::Key_A)); - connect(actionUpdateRenderSettingsOn, SIGNAL(triggered()),this, SLOT(slotUpdateRenderSettingsOn())); + //Create Update RenderSettings Actions here + actionUpdateRenderSettingsOn = new QAction(tr("&On"), this); + actionUpdateRenderSettingsOn->setShortcut(QKeySequence(Qt::ALT + Qt::SHIFT + +Qt::Key_A)); + connect(actionUpdateRenderSettingsOn, SIGNAL(triggered()),this, SLOT(slotUpdateRenderSettingsOn())); - actionUpdateRenderSettingsOff = new QAction(tr("&Off"), this); - actionUpdateRenderSettingsOff->setShortcut(QKeySequence(Qt::ALT +Qt::SHIFT + +Qt::Key_D)); - connect(actionUpdateRenderSettingsOff, SIGNAL(triggered()),this, SLOT(slotUpdateRenderSettingsOff())); + actionUpdateRenderSettingsOff = new QAction(tr("&Off"), this); + actionUpdateRenderSettingsOff->setShortcut(QKeySequence(Qt::ALT + Qt::SHIFT + +Qt::Key_D)); + connect(actionUpdateRenderSettingsOff, SIGNAL(triggered()),this, SLOT(slotUpdateRenderSettingsOff())); //Create Color Actions here actionColorPickerFirstColor = new QAction(tr("&Main"), this); - actionColorPickerFirstColor->setShortcut(QKeySequence(Qt::ALT + Qt::Key_N)); + actionColorPickerFirstColor->setShortcut(QKeySequence(Qt::ALT + Qt::Key_N)); connect(actionColorPickerFirstColor, SIGNAL(triggered()), this, SLOT(slotSetFirstColor())); connect(FirstColorButton, SIGNAL(clicked()), this, SLOT(slotSetFirstColor())); actionColorPickerSecondColor = new QAction(tr("&Secondary"), this); - actionColorPickerSecondColor->setShortcut(QKeySequence(Qt::ALT + Qt::Key_M)); + actionColorPickerSecondColor->setShortcut(QKeySequence(Qt::ALT + Qt::Key_M)); connect(actionColorPickerSecondColor, SIGNAL(triggered()), this, SLOT(slotSetSecondColor())); connect(SecondColorButton, SIGNAL(clicked()), this, SLOT(slotSetSecondColor())); actionColorSwap = new QAction(tr("&Switch"), this); - actionColorSwap->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_S)); + actionColorSwap->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_S)); connect(actionColorSwap, SIGNAL(triggered()), this, SLOT(slotSwapColor())); connect(SwitchColorButton, SIGNAL(clicked()), this, SLOT(slotSwapColor())); //Create Tool actions down here actionCreatePlainTool = new QAction(tr("&Plain"), this); - actionCreatePlainTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT +Qt::Key_P)); + actionCreatePlainTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT + Qt::Key_P)); connect(actionCreatePlainTool, SIGNAL(triggered()), this, SLOT(slotResetTools())); connect(actionCreatePlainTool, SIGNAL(triggered()), this, SLOT(slotCreatePlainTool())); actionCreatePenTool = new QAction(tr("&Pen"),this); - actionCreatePenTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT +Qt::Key_S)); + actionCreatePenTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT + Qt::Key_S)); connect(actionCreatePenTool, SIGNAL(triggered()), this, SLOT(slotResetTools())); connect(actionCreatePenTool, SIGNAL(triggered()), this, SLOT(slotCreatePenTool())); actionCreateLineTool = new QAction(tr("&Line"), this); - actionCreateLineTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT +Qt::Key_L)); + actionCreateLineTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT + Qt::Key_L)); connect(actionCreateLineTool, SIGNAL(triggered()), this, SLOT(slotResetTools())); connect(actionCreateLineTool, SIGNAL(triggered()), this, SLOT(slotCreateLineTool())); actionCreateCircleTool = new QAction(tr("&Circle"), this); - actionCreateCircleTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT +Qt::Key_C)); + actionCreateCircleTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT + Qt::Key_C)); connect(actionCreateCircleTool, SIGNAL(triggered()), this, SLOT(slotResetTools())); connect(actionCreateCircleTool, SIGNAL(triggered()), this, SLOT(slotCreateCircleTool())); actionCreateRectangleTool = new QAction(tr("&Rectangle"), this); - actionCreateRectangleTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT +Qt::Key_R)); + actionCreateRectangleTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT + Qt::Key_R)); connect(actionCreateRectangleTool, SIGNAL(triggered()), this, SLOT(slotResetTools())); connect(actionCreateRectangleTool, SIGNAL(triggered()), this, SLOT(slotCreateRectangleTool())); actionCreatePolygonTool = new QAction(tr("&Polygon"), this); - actionCreatePolygonTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT +Qt::Key_V)); + actionCreatePolygonTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT + Qt::Key_V)); connect(actionCreatePolygonTool, SIGNAL(triggered()), this, SLOT(slotResetTools())); connect(actionCreatePolygonTool, SIGNAL(triggered()), this, SLOT(slotCreatePolygonTool())); actionCreateFloodFillTool = new QAction(tr("&FloodFill"), this); - actionCreateFloodFillTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT +Qt::Key_F)); + actionCreateFloodFillTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT + Qt::Key_F)); connect(actionCreateFloodFillTool, SIGNAL(triggered()), this, SLOT(slotResetTools())); connect(actionCreateFloodFillTool, SIGNAL(triggered()), this, SLOT(slotCreateFloodFillTool())); // Create about action and tie to IntelliPhotoGui::about() actionAboutDialog = new QAction(tr("&About"), this); - actionAboutDialog->setShortcut(Qt::Key_F2); + actionAboutDialog->setShortcut(Qt::Key_F2); connect(actionAboutDialog, SIGNAL(triggered()), this, SLOT(slotAboutDialog())); // Create about Qt action and tie to IntelliPhotoGui::aboutQt() actionAboutQtDialog = new QAction(tr("About &Qt"), this); - actionAboutQtDialog->setShortcut(Qt::Key_F3); + actionAboutQtDialog->setShortcut(Qt::Key_F3); connect(actionAboutQtDialog, SIGNAL(triggered()), qApp, SLOT(aboutQt())); connect(EditLineWidth, SIGNAL(returnPressed()), this, SLOT(slotEnterPressed())); @@ -476,23 +515,22 @@ void IntelliPhotoGui::createActions(){ connect(RectangleButton,SIGNAL(pressed()), this, SLOT(slotResetTools())); connect(RectangleButton, SIGNAL(clicked()), this, SLOT(slotCreateRectangleTool())); - actionSetWidth = new QAction(tr("&Set Width"),this); - actionSetWidth->setShortcut(QKeySequence(Qt::ALT + Qt::Key_W)); - connect(actionSetWidth, SIGNAL(triggered()), this, SLOT(slotSetWidth())); + actionSetWidth = new QAction(tr("&Set Width"),this); + actionSetWidth->setShortcut(QKeySequence(Qt::ALT + Qt::Key_W)); + connect(actionSetWidth, SIGNAL(triggered()), this, SLOT(slotSetWidth())); - actionSetInnerAlpha = new QAction(tr("&Set Inner Alpha"),this); - actionSetInnerAlpha->setShortcut(QKeySequence(Qt::ALT + Qt::Key_A)); - connect(actionSetInnerAlpha, SIGNAL(triggered()), this, SLOT(slotSetInnerAlpha())); + actionSetInnerAlpha = new QAction(tr("&Set Inner Alpha"),this); + actionSetInnerAlpha->setShortcut(QKeySequence(Qt::ALT + Qt::Key_A)); + connect(actionSetInnerAlpha, SIGNAL(triggered()), this, SLOT(slotSetInnerAlpha())); } // Create the menubar void IntelliPhotoGui::createMenus(){ // Create Save As option and the list of file types saveAsMenu = new QMenu(tr("&Save As"), this); - foreach (QAction *action, actionSaveAs) + foreach (QAction * action, actionSaveAs) saveAsMenu->addAction(action); - // Attach all actions to File fileMenu = new QMenu(tr("&File"), this); fileMenu->addAction(actionOpen); @@ -500,61 +538,67 @@ void IntelliPhotoGui::createMenus(){ fileMenu->addSeparator(); fileMenu->addAction(actionExit); - //Attach all actions to Render Settings + //Attach all actions to Render Settings renderMenu = new QMenu(tr("&Fast Renderer"), this); renderMenu->addAction(actionUpdateRenderSettingsOn); renderMenu->addAction(actionUpdateRenderSettingsOff); - // Attach all actions to Layer - layerMenu = new QMenu(tr("&Layer"), this); - layerMenu->addAction(actionCreateNewLayer); - layerMenu->addSeparator(); - layerMenu->addAction(actionSetActiveAlpha); - layerMenu->addAction(actionSetActiveLayer); - layerMenu->addSeparator(); - layerMenu->addAction(actionMovePositionUp); - layerMenu->addAction(actionMovePositionDown); - layerMenu->addAction(actionMovePositionLeft); - layerMenu->addAction(actionMovePositionRight); - layerMenu->addAction(actionMoveLayerUp); - layerMenu->addAction(actionMoveLayerDown); - layerMenu->addSeparator(); - layerMenu->addAction(actionDeleteLayer); + //Attach all Layer Creations to Menu + layerCreationMenu = new QMenu(tr("&Create new Layer"), this); + layerCreationMenu->addAction(actionCreateNewRasterLayer); + layerCreationMenu->addAction(actionCreateNewShapedLayer); + // Attach all actions to Layer + layerMenu = new QMenu(tr("&Layer"), this); + layerMenu->addMenu(layerCreationMenu); + layerMenu->addSeparator(); + layerMenu->addAction(actionSetActiveAlpha); + layerMenu->addAction(actionSetActiveLayer); + layerMenu->addAction(actionSetPolygon); + layerMenu->addSeparator(); + layerMenu->addAction(actionMovePositionUp); + layerMenu->addAction(actionMovePositionDown); + layerMenu->addAction(actionMovePositionLeft); + layerMenu->addAction(actionMovePositionRight); + layerMenu->addAction(actionMoveLayerUp); + layerMenu->addAction(actionMoveLayerDown); + layerMenu->addSeparator(); + layerMenu->addAction(actionDeleteLayer); - //Attach all Color Options - colorMenu = new QMenu(tr("&Color"), this); - colorMenu->addAction(actionColorPickerFirstColor); - colorMenu->addAction(actionColorPickerSecondColor); - colorMenu->addAction(actionColorSwap); + //Attach all Color Options + colorMenu = new QMenu(tr("&Color"), this); + colorMenu->addAction(actionColorPickerFirstColor); + colorMenu->addAction(actionColorPickerSecondColor); + colorMenu->addAction(actionColorSwap); - //Attach all Tool Creation Actions - toolCreationMenu = new QMenu(tr("&Drawingtools"), this); - toolCreationMenu->addAction(actionCreateCircleTool); - toolCreationMenu->addAction(actionCreateFloodFillTool); - toolCreationMenu->addAction(actionCreateLineTool); - toolCreationMenu->addAction(actionCreatePenTool); - toolCreationMenu->addAction(actionCreatePlainTool); - toolCreationMenu->addAction(actionCreatePolygonTool); - toolCreationMenu->addAction(actionCreateRectangleTool); + //Attach all Tool Creation Actions + toolCreationMenu = new QMenu(tr("&Drawingtools"), this); + toolCreationMenu->addAction(actionCreateCircleTool); + toolCreationMenu->addAction(actionCreateFloodFillTool); + toolCreationMenu->addAction(actionCreateLineTool); + toolCreationMenu->addAction(actionCreatePenTool); + toolCreationMenu->addAction(actionCreatePlainTool); + toolCreationMenu->addAction(actionCreatePolygonTool); + toolCreationMenu->addAction(actionCreateRectangleTool); - //Attach all Tool Setting Actions - toolSettingsMenu = new QMenu(tr("&Toolsettings"), this); - toolSettingsMenu->addAction(actionSetWidth); - toolSettingsMenu->addAction(actionSetInnerAlpha); + //Attach all Tool Setting Actions + toolSettingsMenu = new QMenu(tr("&Toolsettings"), this); + toolSettingsMenu->addAction(actionSetWidth); + toolSettingsMenu->addAction(actionSetInnerAlpha); - //Attach all Tool Options - toolMenu = new QMenu(tr("&Tools"), this); - toolMenu->addMenu(toolCreationMenu); - toolMenu->addMenu(toolSettingsMenu); - toolMenu->addSeparator(); - toolMenu->addMenu(colorMenu); + //Attach all Tool Options + toolMenu = new QMenu(tr("&Tools"), this); + toolMenu->addMenu(toolCreationMenu); + toolMenu->addMenu(toolSettingsMenu); + toolMenu->addSeparator(); + toolMenu->addMenu(colorMenu); // Attach all actions to Options optionMenu = new QMenu(tr("&Options"), this); - optionMenu->addMenu(layerMenu); - optionMenu->addMenu(toolMenu); - optionMenu->addSeparator(); - optionMenu->addMenu(renderMenu); + optionMenu->addMenu(layerMenu); + optionMenu->addMenu(toolMenu); + optionMenu->addSeparator(); + optionMenu->addMenu(renderMenu); + optionMenu->addAction(actionChangeDim); // Attach all actions to Help helpMenu = new QMenu(tr("&Help"), this); @@ -577,64 +621,65 @@ void IntelliPhotoGui::createGui(){ centralGuiWidget->setLayout(mainLayout); // create Gui elements - paintingArea = new PaintingArea(); - paintingArea->DummyGui = this; + // get and set max width and height + paintingArea = new PaintingArea(1280, 720); + paintingArea->DummyGui = this; - preview = QPixmap(":/Icons/Buttons/icons/circle-tool.svg"); + preview = QPixmap(":/Icons/Buttons/icons/circle-tool.svg"); CircleButton = new QPushButton(); CircleButton->setFixedSize(Buttonsize); - CircleButton->setIcon(preview); + CircleButton->setIcon(preview); CircleButton->setIconSize(Buttonsize); CircleButton->setCheckable(true); - preview = QPixmap(":/Icons/Buttons/icons/flood-fill-tool.svg"); + preview = QPixmap(":/Icons/Buttons/icons/flood-fill-tool.svg"); FloodFillButton = new QPushButton(); FloodFillButton->setFixedSize(Buttonsize); - FloodFillButton->setIcon(preview); + FloodFillButton->setIcon(preview); FloodFillButton->setIconSize(Buttonsize); FloodFillButton->setCheckable(true); - preview = QPixmap(":/Icons/Buttons/icons/line-tool.svg"); + preview = QPixmap(":/Icons/Buttons/icons/line-tool.svg"); LineButton = new QPushButton(); LineButton->setFixedSize(Buttonsize); - LineButton->setIcon(preview); + LineButton->setIcon(preview); LineButton->setIconSize(Buttonsize); LineButton->setCheckable(true); - preview = QPixmap(":/Icons/Buttons/icons/pen-tool.svg"); + preview = QPixmap(":/Icons/Buttons/icons/pen-tool.svg"); PenButton = new QPushButton(); PenButton->setFixedSize(Buttonsize); - PenButton->setIcon(preview); + PenButton->setIcon(preview); PenButton->setIconSize(Buttonsize); PenButton->setCheckable(true); - preview = QPixmap(":/Icons/Buttons/icons/plain-tool.svg"); + preview = QPixmap(":/Icons/Buttons/icons/plain-tool.svg"); PlainButton = new QPushButton(); PlainButton->setFixedSize(Buttonsize); - PlainButton->setIcon(preview); + PlainButton->setIcon(preview); PlainButton->setIconSize(Buttonsize); PlainButton->setCheckable(true); - preview = QPixmap(":/Icons/Buttons/icons/polygon-tool.svg"); + preview = QPixmap(":/Icons/Buttons/icons/polygon-tool.svg"); PolygonButton = new QPushButton(); PolygonButton->setFixedSize(Buttonsize); - PolygonButton->setIcon(preview); + PolygonButton->setIcon(preview); PolygonButton->setIconSize(Buttonsize); PolygonButton->setCheckable(true); - preview = QPixmap(":/Icons/Buttons/icons/rectangle-tool.svg"); + preview = QPixmap(":/Icons/Buttons/icons/rectangle-tool.svg"); RectangleButton = new QPushButton(); RectangleButton->setFixedSize(Buttonsize); - RectangleButton->setIcon(preview); + RectangleButton->setIcon(preview); RectangleButton->setIconSize(Buttonsize); RectangleButton->setCheckable(true); WidthLine = new QLabel(); WidthLine->setText("Width"); - WidthLine->setFixedSize(Buttonsize.width(),Buttonsize.height()/3); + WidthLine->setFixedSize(Buttonsize.width() * 2,(Buttonsize.height() * 2) / 3); EditLineWidth = new QLineEdit(); - EditLineWidth->setFixedSize(Buttonsize.width(),Buttonsize.height()/3); + EditLineWidth->setFixedSize(Buttonsize.width() * 2,(Buttonsize.height() * 2) / 3); EditLineWidth->setText("5"); ValidatorLineWidth = new QIntValidator(); ValidatorLineWidth->setTop(99); @@ -643,10 +688,10 @@ void IntelliPhotoGui::createGui(){ innerAlphaLine = new QLabel(); innerAlphaLine->setText("Inner Alpha"); - innerAlphaLine->setFixedSize(Buttonsize.width(),Buttonsize.height()/3); + innerAlphaLine->setFixedSize(Buttonsize.width() * 2,(Buttonsize.height() * 2) / 3); EditLineInnerAlpha = new QLineEdit(); - EditLineInnerAlpha->setFixedSize(Buttonsize.width(),Buttonsize.height()/3); + EditLineInnerAlpha->setFixedSize(Buttonsize.width() * 2,(Buttonsize.height() * 2) / 3); EditLineInnerAlpha->setText("255"); ValidatorInnerAlpha = new QIntValidator(); ValidatorInnerAlpha->setTop(999); @@ -654,77 +699,72 @@ void IntelliPhotoGui::createGui(){ EditLineInnerAlpha->setValidator(ValidatorInnerAlpha); FirstColorButton = new QPushButton(); - FirstColorButton->setFixedSize(Buttonsize/2); + FirstColorButton->setFixedSize(Buttonsize); SecondColorButton = new QPushButton(); - SecondColorButton->setFixedSize(Buttonsize/2); + SecondColorButton->setFixedSize(Buttonsize); - preview = QPixmap(":/Icons/Buttons/icons/Wechselpfeile.png"); + preview = QPixmap(":/Icons/Buttons/icons/Wechselpfeile.png"); SwitchColorButton = new QPushButton(); - SwitchColorButton->setFixedSize(Buttonsize.width(),Buttonsize.height()/2); - SwitchColorButton->setIcon(preview); - SwitchColorButton->setIconSize(QSize(Buttonsize.width(),Buttonsize.height()/2)); + SwitchColorButton->setFixedSize(Buttonsize.width() * 2,Buttonsize.height()); + SwitchColorButton->setIcon(preview); + SwitchColorButton->setIconSize(QSize(Buttonsize.width() * 2,Buttonsize.height())); ActiveLayerLine = new QLabel(); - QString string = QString("Active Layer: %1").arg(paintingArea->getNumberOfActiveLayer() + 1); + QString string = QString("Active Layer: %1").arg(paintingArea->getNumberOfActiveLayer() + 1); ActiveLayerLine->setText(string); - ActiveLayerLine->setFixedSize(Buttonsize.width()+10,Buttonsize.height()/3); + ActiveLayerLine->setFixedSize(Buttonsize.width() * 2 + 10,(Buttonsize.height() * 2) / 3); - IntelliImage* activePicture = paintingArea->getImageOfActiveLayer(); - if(activePicture){ - preview = preview.fromImage(activePicture->getImageData()); - }else{ - QImage tmp(1,1,QImage::Format_ARGB32); - tmp.fill(Qt::transparent); - preview = preview.fromImage(tmp); - } + IntelliImage* activePicture = paintingArea->getImageOfActiveLayer(); + if(activePicture) { + preview = preview.fromImage(activePicture->getImageData()); + }else{ + QImage tmp(1,1,QImage::Format_ARGB32); + tmp.fill(Qt::transparent); + preview = preview.fromImage(tmp); + } - ActiveLayerImageButton = new QPushButton(); - ActiveLayerImageButton->setFixedSize(Buttonsize); - ActiveLayerImageButton->setIcon(preview); - ActiveLayerImageButton->setIconSize(Buttonsize); + ActiveLayerImageLabel = new QLabel(); + ActiveLayerImageLabel->setFixedSize(Buttonsize * 2); + ActiveLayerImageLabel->setPixmap(preview.scaled(Buttonsize * 2)); + + dimActive = new QPushButton(); + dimActive->setFixedSize(Buttonsize.width()*2,Buttonsize.height()/2); + dimActive->setText("0x0"); + + dimCanvas = new QPushButton(); + dimCanvas->setFixedSize(Buttonsize.width()*2,Buttonsize.height()/2); + QString String = QString("%1x%2").arg(paintingArea->Canvas->width()).arg(paintingArea->Canvas->height()); + dimCanvas->setText(String); // set gui elements - mainLayout->addWidget(paintingArea,1,1,20,1); - mainLayout->addWidget(CircleButton,1,2,1,2); - mainLayout->addWidget(FloodFillButton,2,2,1,2); - mainLayout->addWidget(LineButton,3,2,1,2); - mainLayout->addWidget(PenButton,4,2,1,2); - mainLayout->addWidget(PlainButton,5,2,1,2); - mainLayout->addWidget(PolygonButton,6,2,1,2); - mainLayout->addWidget(RectangleButton,7,2,1,2); - mainLayout->addWidget(WidthLine,8,2,1,2); - mainLayout->addWidget(EditLineWidth,9,2,1,2); - mainLayout->addWidget(innerAlphaLine,10,2,1,2); - mainLayout->addWidget(EditLineInnerAlpha,11,2,1,2); - mainLayout->addWidget(FirstColorButton,12,2,1,1); - mainLayout->addWidget(SecondColorButton,12,3,1,1); - mainLayout->addWidget(SwitchColorButton,13,2,1,2); - mainLayout->addWidget(ActiveLayerLine,14,2,1,2); - mainLayout->addWidget(ActiveLayerImageButton,15,2,1,2); + mainLayout->addWidget(CircleButton,1,2,1,1); + mainLayout->addWidget(FloodFillButton,1,3,1,1); + mainLayout->addWidget(LineButton,2,2,1,1); + mainLayout->addWidget(PenButton,2,3,1,1); + mainLayout->addWidget(PlainButton,3,2,1,1); + mainLayout->addWidget(PolygonButton,3,3,1,1); + mainLayout->addWidget(RectangleButton,4,2,1,1); + mainLayout->addWidget(WidthLine,5,2,1,2); + mainLayout->addWidget(EditLineWidth,6,2,1,2); + mainLayout->addWidget(innerAlphaLine,7,2,1,2); + mainLayout->addWidget(EditLineInnerAlpha,8,2,1,2); + mainLayout->addWidget(FirstColorButton,9,2,1,1); + mainLayout->addWidget(SecondColorButton,9,3,1,1); + mainLayout->addWidget(SwitchColorButton,10,2,1,2); + mainLayout->addWidget(ActiveLayerLine,11,2,1,2); + mainLayout->addWidget(ActiveLayerImageLabel,12,2,1,2); + mainLayout->addWidget(dimActive,13,2,1,2); + mainLayout->addWidget(dimCanvas,14,2,1,2); + mainLayout->setHorizontalSpacing(0); } void IntelliPhotoGui::setIntelliStyle(){ // Set the title setWindowTitle("IntelliPhoto Prototype"); - QPalette Palette; - Palette.setBrush(QPalette::HighlightedText, QColor(200, 10, 10)); - Palette.setBrush(QPalette::ButtonText, QColor(255, 255, 255)); // Set style sheet - this->setStyleSheet("background-color:rgb(64,64,64)"); - this->centralGuiWidget->setStyleSheet("color:rgb(255,255,255)"); - this->menuBar()->setPalette(Palette); - this->fileMenu->setPalette(Palette); - this->saveAsMenu->setPalette(Palette); - this->optionMenu->setPalette(Palette); - this->helpMenu->setPalette(Palette); - this->renderMenu->setPalette(Palette); - this->toolMenu->setPalette(Palette); - this->layerMenu->setPalette(Palette); - this->colorMenu->setPalette(Palette); - this->toolCreationMenu->setPalette(Palette); - this->toolSettingsMenu->setPalette(Palette); + this->setStyleSheet("color: white;" "background-color: rgb(64, 64, 64);" "selection-color: rgb(200, 10, 10);" "selection-background-color: rgb(64, 64, 64);"); QString string = QString("background-color: %1").arg(paintingArea->colorPicker.getFirstColor().name()); FirstColorButton->setStyleSheet(string); @@ -784,23 +824,42 @@ void IntelliPhotoGui::setDefaultToolValue(){ slotEnterPressed(); } +void IntelliPhotoGui::setToolWidth(int value){ + if(value < 1) { + value = 1; + }else if(value > 50) { + value = 50; + } + EditLineWidth->setText(QString("%1").arg(value)); +} + void IntelliPhotoGui::UpdateGui(){ - QString string = QString("Active Layer: %1").arg(paintingArea->getNumberOfActiveLayer() + 1); + QString string = QString("Active Layer: %1").arg(paintingArea->getNumberOfActiveLayer() + 1); ActiveLayerLine->setText(string); - IntelliImage* activePicture = paintingArea->getImageOfActiveLayer(); - if(activePicture){ - preview = preview.fromImage(activePicture->getImageData()); - }else{ - QImage tmp(1,1,QImage::Format_ARGB32); - tmp.fill(Qt::transparent); - preview = preview.fromImage(tmp); - } - ActiveLayerImageButton->setIcon(preview); - ActiveLayerImageButton->setIconSize(Buttonsize); + IntelliImage* activePicture = paintingArea->getImageOfActiveLayer(); + if(activePicture) { + preview = preview.fromImage(activePicture->getImageData()); + }else{ + QImage tmp(1,1,QImage::Format_ARGB32); + tmp.fill(Qt::transparent); + preview = preview.fromImage(tmp); + } + ActiveLayerImageLabel->setPixmap(preview.scaled(Buttonsize * 2)); string = QString("background-color: %1").arg(paintingArea->colorPicker.getFirstColor().name()); FirstColorButton->setStyleSheet(string); string = QString("background-color: %1").arg(paintingArea->colorPicker.getSecondColor().name()); SecondColorButton->setStyleSheet(string); + + string = QString("%1x%2").arg(paintingArea->Canvas->width()).arg(paintingArea->Canvas->height()); + dimCanvas->setText(string); + + if(paintingArea->layerBundle.size() != 0){ + string = QString("%1x%2").arg(paintingArea->layerBundle[static_cast(paintingArea->getNumberOfActiveLayer())].width).arg(paintingArea->layerBundle[static_cast(paintingArea->getNumberOfActiveLayer())].height); + dimActive->setText(string); + } + else{ + dimActive->setText("0x0"); + } } diff --git a/src/GUI/IntelliPhotoGui.h b/src/GUI/IntelliPhotoGui.h index a882ef8..8d164a4 100644 --- a/src/GUI/IntelliPhotoGui.h +++ b/src/GUI/IntelliPhotoGui.h @@ -1,8 +1,12 @@ #ifndef IntelliPhotoGui_H #define IntelliPhotoGui_H -#include -#include +#include +#include +#include +#include +#include +#include #include #include #include @@ -10,6 +14,10 @@ #include #include #include +#include "IntelliInputDialog.h" + +//for unit testing +class UnitTest; // PaintingArea used to paint the image class PaintingArea; @@ -19,9 +27,10 @@ class IntelliTool; class IntelliColorPicker; /*! - * \brief The IntelliPhotoGui class handles the graphical user interface for the intelliPhoto program + * \brief The IntelliPhotoGui base class handles the graphical user interface and events for the intelliPhoto program */ class IntelliPhotoGui : public QMainWindow { +friend UnitTest; // Declares our class as a QObject which is the base class // for all Qt objects // QObjects handle events @@ -34,21 +43,25 @@ IntelliPhotoGui(); void UpdateGui(); +void setToolWidth(int value); + protected: -// Function used to close an event +/*! + * \brief The closeEvent function handles closing events + */ void closeEvent(QCloseEvent*event) override; private slots: -// meta slots here (need further ) void slotOpen(); void slotSave(); // layer slots here -void slotCreateNewLayer(); +void slotCreateNewRasterLayer(); +void slotCreateNewShapedLayer(); void slotDeleteLayer(); -void slotClearActiveLayer(); void slotSetActiveLayer(); void slotSetActiveAlpha(); +void slotSetPolygon(); void slotPositionMoveUp(); void slotPositionMoveDown(); void slotPositionMoveLeft(); @@ -56,16 +69,13 @@ void slotPositionMoveRight(); void slotMoveLayerUp(); void slotMoveLayerDown(); -//Rendersetting slots here void slotUpdateRenderSettingsOn(); void slotUpdateRenderSettingsOff(); -// color Picker slots here void slotSetFirstColor(); void slotSetSecondColor(); void slotSwapColor(); -// tool slots here void slotCreatePenTool(); void slotCreatePlainTool(); void slotCreateLineTool(); @@ -74,9 +84,10 @@ void slotCreateCircleTool(); void slotCreatePolygonTool(); void slotCreateFloodFillTool(); -// slots for dialogs void slotAboutDialog(); +void slotChangeDim(); + void slotEnterPressed(); void slotSetWidth(); @@ -85,12 +96,10 @@ void slotSetInnerAlpha(); void slotResetTools(); private: -// Will tie user actions to functions void createActions(); void createMenus(); -// setup GUI elements void createGui(); -// set style of the GUI +// Set the style of the GUI void setIntelliStyle(); // Will check if changes have occurred since last save @@ -103,7 +112,7 @@ void setDefaultToolValue(); // What we'll draw on PaintingArea* paintingArea; -const QSize Buttonsize = QSize(70,70); +const QSize Buttonsize = QSize(35,35); QPixmap preview; QPushButton* CircleButton; QPushButton* FloodFillButton; @@ -124,13 +133,17 @@ QPushButton* SecondColorButton; QPushButton* SwitchColorButton; QLabel* ActiveLayerLine; -QPushButton* ActiveLayerImageButton; +QLabel* ActiveLayerImageLabel; + +QPushButton* dimActive; +QPushButton* dimCanvas; // The menu widgets QMenu*saveAsMenu; QMenu*fileMenu; QMenu*renderMenu; QMenu*optionMenu; +QMenu*layerCreationMenu; QMenu*layerMenu; QMenu*colorMenu; QMenu*toolCreationMenu; @@ -140,36 +153,41 @@ QMenu*helpMenu; // All the actions that can occur // meta image actions (need further modularisation) -QAction*actionOpen; -QAction*actionExit; +QAction* actionOpen; +QAction* actionExit; //Rendersetting actions QAction*actionUpdateRenderSettingsOn; QAction*actionUpdateRenderSettingsOff; // color Picker actions -QAction*actionColorPickerFirstColor; -QAction*actionColorPickerSecondColor; -QAction*actionColorSwap; +QAction* actionColorPickerFirstColor; +QAction* actionColorPickerSecondColor; +QAction* actionColorSwap; // tool actions -QAction*actionCreatePenTool; -QAction*actionCreatePlainTool; -QAction*actionCreateLineTool; -QAction*actionCreateRectangleTool; -QAction*actionCreateCircleTool; -QAction*actionCreatePolygonTool; -QAction*actionCreateFloodFillTool; +QAction* actionCreatePenTool; +QAction* actionCreatePlainTool; +QAction* actionCreateLineTool; +QAction* actionCreateRectangleTool; +QAction* actionCreateCircleTool; +QAction* actionCreatePolygonTool; +QAction* actionCreateFloodFillTool; + +// dimension actions +QAction*actionChangeDim; // dialog actions -QAction*actionAboutDialog; -QAction*actionAboutQtDialog; +QAction* actionAboutDialog; +QAction* actionAboutQtDialog; // layer change actions -QAction*actionCreateNewLayer; -QAction*actionDeleteLayer; +QAction* actionCreateNewRasterLayer; +QAction* actionCreateNewShapedLayer; +QAction* actionDeleteLayer; QAction* actionSetActiveLayer; QAction* actionSetActiveAlpha; +QAction* actionSetPolygon; QAction* actionMovePositionUp; QAction* actionMovePositionDown; QAction* actionMovePositionLeft; diff --git a/src/Image/IntelliImage.cpp b/src/Image/IntelliImage.cpp index 0fa97b2..0017877 100644 --- a/src/Image/IntelliImage.cpp +++ b/src/Image/IntelliImage.cpp @@ -3,15 +3,15 @@ #include IntelliImage::IntelliImage(int width, int height, bool fastRendererOn) - : imageData(QSize(width, height), fastRendererOn ? QImage::Format_Indexed8 : QImage::Format_ARGB32){ - if(fastRendererOn){ - imageData = imageData.convertToFormat(QImage::Format_ARGB32); - } - imageData.fill(QColor(255,255,255,255)); - if(fastRendererOn){ - imageData = imageData.convertToFormat(QImage::Format_Indexed8); - } - this->fastRenderering = fastRendererOn; + : imageData(QSize(width, height), fastRendererOn ? QImage::Format_Indexed8 : QImage::Format_ARGB32){ + if(fastRendererOn) { + imageData = imageData.convertToFormat(QImage::Format_ARGB32); + } + imageData.fill(QColor(255,255,255,255)); + if(fastRendererOn) { + imageData = imageData.convertToFormat(QImage::Format_Indexed8); + } + this->fastRenderering = fastRendererOn; } @@ -30,7 +30,7 @@ bool IntelliImage::loadImage(const QString &filePath){ // scaled Image to size of Layer loadedImage = loadedImage.scaled(imageData.size(),Qt::IgnoreAspectRatio); - imageData = loadedImage.convertToFormat(fastRenderering ? QImage::Format_Indexed8 : QImage::Format_ARGB32); + imageData = loadedImage.convertToFormat(fastRenderering ? QImage::Format_Indexed8 : QImage::Format_ARGB32); return true; } @@ -46,106 +46,115 @@ void IntelliImage::resizeImage(QImage*image, const QSize &newSize){ // Draw the image QPainter painter(&newImage); painter.drawImage(QPoint(0, 0), *image); - if(fastRenderering){ - *image = newImage.convertToFormat(QImage::Format_Indexed8); - } - else{ - *image = newImage; - } + if(fastRenderering) { + *image = newImage.convertToFormat(QImage::Format_Indexed8); + } + else{ + *image = newImage; + } } void IntelliImage::drawPixel(const QPoint &p1, const QColor& color){ - if(fastRenderering){ - this->imageData = this->imageData.convertToFormat(QImage::Format_ARGB32); - } - // Used to draw on the widget - QPainter painter(&imageData); + if(fastRenderering) { + this->imageData = this->imageData.convertToFormat(QImage::Format_ARGB32); + } + // Used to draw on the widget + QPainter* painter = new QPainter(&imageData); // Set the current settings for the pen - painter.setPen(QPen(color, 1, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)); + 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); - if(fastRenderering){ - this->imageData = this->imageData.convertToFormat(QImage::Format_Indexed8); - } + painter->drawPoint(p1); + delete painter; + painter = nullptr; + + if(fastRenderering) { + this->imageData = this->imageData.convertToFormat(QImage::Format_Indexed8); + } } void IntelliImage::drawPoint(const QPoint &p1, const QColor& color, const int& penWidth){ - if(fastRenderering){ - this->imageData = this->imageData.convertToFormat(QImage::Format_ARGB32); - } - // Used to draw on the widget - QPainter painter(&imageData); + if(fastRenderering) { + this->imageData = this->imageData.convertToFormat(QImage::Format_ARGB32); + } + // Used to draw on the widget + QPainter* painter = new QPainter(&imageData); // Set the current settings for the pen - painter.setPen(QPen(color, penWidth, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)); + painter->setPen(QPen(color, penWidth, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)); // Draw a line from the last registered point to the current - painter.drawPoint(p1); - if(fastRenderering){ - this->imageData = this->imageData.convertToFormat(QImage::Format_Indexed8); - } + painter->drawPoint(p1); + delete painter; + + painter = nullptr; + if(fastRenderering) { + this->imageData = this->imageData.convertToFormat(QImage::Format_Indexed8); + } } void IntelliImage::drawLine(const QPoint &p1, const QPoint& p2, const QColor& color, const int& penWidth){ - if(fastRenderering){ - this->imageData = this->imageData.convertToFormat(QImage::Format_ARGB32); - } - // Used to draw on the widget - QPainter painter(&imageData); + if(fastRenderering) { + this->imageData = this->imageData.convertToFormat(QImage::Format_ARGB32); + } + // Used to draw on the widget + QPainter* painter = new QPainter(&imageData); // Set the current settings for the pen - painter.setPen(QPen(color, penWidth, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)); + 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); - if(fastRenderering){ - this->imageData = this->imageData.convertToFormat(QImage::Format_Indexed8); - } + painter->drawLine(p1, p2); + delete painter; + painter = nullptr; + + if(fastRenderering) { + this->imageData = this->imageData.convertToFormat(QImage::Format_Indexed8); + } } void IntelliImage::drawPlain(const QColor& color){ - if(fastRenderering){ - this->imageData = this->imageData.convertToFormat(QImage::Format_ARGB32); - } - imageData.fill(color); - if(fastRenderering){ - this->imageData = this->imageData.convertToFormat(QImage::Format_Indexed8); - } + if(fastRenderering) { + this->imageData = this->imageData.convertToFormat(QImage::Format_ARGB32); + } + imageData.fill(color); + if(fastRenderering) { + this->imageData = this->imageData.convertToFormat(QImage::Format_Indexed8); + } } QColor IntelliImage::getPixelColor(QPoint& point){ - if(fastRenderering){ - QImage copy = this->imageData.convertToFormat(QImage::Format_ARGB32); - return copy.pixelColor(point); - } - return imageData.pixelColor(point); + if(fastRenderering) { + QImage copy = this->imageData.convertToFormat(QImage::Format_ARGB32); + return copy.pixelColor(point); + } + return imageData.pixelColor(point); } QImage IntelliImage::getImageData(){ - QImage copy = imageData; - if(fastRenderering){ - copy = copy.convertToFormat(QImage::Format_ARGB32); - } - return copy; + QImage copy = imageData; + if(fastRenderering) { + copy = copy.convertToFormat(QImage::Format_ARGB32); + } + return copy; } void IntelliImage::setImageData(const QImage& newData){ - imageData = newData; - if(fastRenderering){ - this->imageData = imageData.convertToFormat(QImage::Format_Indexed8); - } - else { - this->imageData = imageData.convertToFormat(QImage::Format_ARGB32); - } + imageData = newData; + if(fastRenderering) { + this->imageData = imageData.convertToFormat(QImage::Format_Indexed8); + } + else { + this->imageData = imageData.convertToFormat(QImage::Format_ARGB32); + } } void IntelliImage::updateRendererSetting(bool fastRendererOn){ - this->fastRenderering = fastRendererOn; - if(fastRenderering){ - this->imageData = imageData.convertToFormat(QImage::Format_Indexed8); - } - else { - this->imageData = imageData.convertToFormat(QImage::Format_ARGB32); - } + this->fastRenderering = fastRendererOn; + if(fastRenderering) { + this->imageData = imageData.convertToFormat(QImage::Format_Indexed8); + } + else { + this->imageData = imageData.convertToFormat(QImage::Format_ARGB32); + } } diff --git a/src/Image/IntelliImage.h b/src/Image/IntelliImage.h index 185063d..46f9d9b 100644 --- a/src/Image/IntelliImage.h +++ b/src/Image/IntelliImage.h @@ -11,12 +11,16 @@ #include "IntelliHelper/IntelliTriangulation.h" #include "IntelliHelper/IntelliRenderSettings.h" +//for unit testing +class UnitTest; + class IntelliTool; /*! * \brief An abstract class which manages the basic IntelliImage operations. */ class IntelliImage { + friend UnitTest; friend IntelliTool; public: @@ -69,7 +73,7 @@ virtual ~IntelliImage() = 0; virtual void drawPixel(const QPoint &p1, const QColor& color); /*! - * \brief A function that draws A Line between two given Points in a given color. + * \brief A function that draws a line between two given points in a given color. * \param p1 - The coordinates of the first Point. * \param p2 - The coordinates of the second Point. * \param color - The color of the line. @@ -78,10 +82,10 @@ virtual void drawPixel(const QPoint &p1, const QColor& color); virtual void drawLine(const QPoint &p1, const QPoint& p2, const QColor& color, const int& penWidth); /*! - * \brief A - * \param p1 - * \param color - * \param penWidth + * \brief A function that draws a point between on a given point in a given color. + * \param p1 - The coordinates of the first Point. + * \param color - The color of the point. + * \param penWidth - The size of the point. */ virtual void drawPoint(const QPoint &p1, const QColor& color, const int& penWidth); @@ -104,7 +108,7 @@ virtual QImage getDisplayable(const QSize& displaySize, int alpha) = 0; * @param alpha - The maximum alpha value, a pixel can have. * @return A QImage which is ready to be displayed. */ -virtual QImage getDisplayable(int alpha=255) = 0; +virtual QImage getDisplayable(int alpha = 255) = 0; /*! * \brief A function that copys all that returns a [allocated] Image diff --git a/src/Image/IntelliRasterImage.cpp b/src/Image/IntelliRasterImage.cpp index 8872cff..3106e36 100644 --- a/src/Image/IntelliRasterImage.cpp +++ b/src/Image/IntelliRasterImage.cpp @@ -4,9 +4,9 @@ #include IntelliRasterImage::IntelliRasterImage(int width, int height, bool fastRendererOn) - : IntelliImage(width, height, fastRendererOn){ - TypeOfImage = IntelliImage::ImageType::RASTERIMAGE; - this->fastRenderering = fastRendererOn; + : IntelliImage(width, height, fastRendererOn){ + TypeOfImage = IntelliImage::ImageType::RASTERIMAGE; + this->fastRenderering = fastRendererOn; } IntelliRasterImage::~IntelliRasterImage(){ @@ -30,9 +30,9 @@ QImage IntelliRasterImage::getDisplayable(int alpha){ QImage IntelliRasterImage::getDisplayable(const QSize& displaySize, int alpha){ QImage copy = imageData; - if(fastRenderering){ - copy = copy.convertToFormat(QImage::Format_ARGB32); - } + if(fastRenderering) { + copy = copy.convertToFormat(QImage::Format_ARGB32); + } for(int y = 0; y& polygonData){ - qDebug() << "Raster Image has no polygon data " << polygonData.size() <<"\n"; return; } diff --git a/src/Image/IntelliRasterImage.h b/src/Image/IntelliRasterImage.h index f589843..eecc67c 100644 --- a/src/Image/IntelliRasterImage.h +++ b/src/Image/IntelliRasterImage.h @@ -3,10 +3,14 @@ #include "Image/IntelliImage.h" +//for unit testing +class UnitTest; + /*! * \brief The IntelliRasterImage manages a RASTERIMAGE. */ class IntelliRasterImage : public IntelliImage { + friend UnitTest; friend IntelliTool; protected: /*! @@ -40,7 +44,7 @@ virtual QImage getDisplayable(const QSize& displaySize,int alpha) override; * @param alpha - The maximum alpha value, a pixel can have. * @return A QImage which is ready to be displayed. */ -virtual QImage getDisplayable(int alpha=255) override; +virtual QImage getDisplayable(int alpha = 255) override; /*! * \brief A function that copys all that returns a [allocated] Image diff --git a/src/Image/IntelliShapedImage.cpp b/src/Image/IntelliShapedImage.cpp index 8131d52..14c7b71 100644 --- a/src/Image/IntelliShapedImage.cpp +++ b/src/Image/IntelliShapedImage.cpp @@ -5,9 +5,9 @@ #include IntelliShapedImage::IntelliShapedImage(int width, int height, bool fastRendererOn) - : IntelliRasterImage(width, height, fastRendererOn){ - TypeOfImage = IntelliImage::ImageType::SHAPEDIMAGE; - this->fastRenderering = fastRendererOn; + : IntelliRasterImage(width, height, fastRendererOn){ + TypeOfImage = IntelliImage::ImageType::SHAPEDIMAGE; + this->fastRenderering = fastRendererOn; } IntelliShapedImage::~IntelliShapedImage(){ @@ -27,27 +27,30 @@ IntelliImage* IntelliShapedImage::getDeepCopy(){ } void IntelliShapedImage::calculateVisiblity(){ - if(fastRenderering){ - this->imageData = imageData.convertToFormat(QImage::Format_ARGB32); - } + if(polygonData.size()<2) { + return; + } + if(fastRenderering) { + this->imageData = imageData.convertToFormat(QImage::Format_ARGB32); + } if(polygonData.size()<=2) { QColor clr; - for(int y=0; yimageData = this->imageData.convertToFormat(QImage::Format_Indexed8); - } + if(fastRenderering) { + this->imageData = this->imageData.convertToFormat(QImage::Format_Indexed8); + } return; } QColor clr; - for(int y=0; yimageData = this->imageData.convertToFormat(QImage::Format_Indexed8); - } + if(fastRenderering) { + this->imageData = this->imageData.convertToFormat(QImage::Format_Indexed8); + } } QImage IntelliShapedImage::getDisplayable(const QSize& displaySize, int alpha){ QImage copy = imageData; - if(fastRenderering){ - copy = copy.convertToFormat(QImage::Format_ARGB32); - } + if(fastRenderering) { + copy = copy.convertToFormat(QImage::Format_ARGB32); + } for(int y = 0; y& polygonData){ this->polygonData.push_back(QPoint(element.x(), element.y())); } triangles = IntelliTriangulation::calculateTriangles(polygonData); + if(fastRenderering) { + imageData = imageData.convertToFormat(QImage::Format_ARGB32); + } + for(int y = 0; y +//for unit testing +class UnitTest; + /*! * \brief The IntelliShapedImage manages a Shapedimage. */ class IntelliShapedImage : public IntelliRasterImage { + friend UnitTest; friend IntelliTool; private: /*! @@ -45,14 +49,14 @@ virtual ~IntelliShapedImage() override; * \param alpha - The maximum alpha value, a pixel can have. * \return A QImage which is ready to be displayed. */ -virtual QImage getDisplayable(const QSize& displaySize, int alpha=255) override; +virtual QImage getDisplayable(const QSize& displaySize, int alpha = 255) override; /** * @brief A function returning the displayable ImageData in a requested transparence and it's standart size. * @param alpha - The maximum alpha value, a pixel can have. * @return A QImage which is ready to be displayed. */ -virtual QImage getDisplayable(int alpha=255) override; +virtual QImage getDisplayable(int alpha = 255) override; /*! * \brief A function that copys all that returns a [allocated] Image diff --git a/src/IntelliHelper/IntelliColorPicker.cpp b/src/IntelliHelper/IntelliColorPicker.cpp index 104039b..9d79722 100644 --- a/src/IntelliHelper/IntelliColorPicker.cpp +++ b/src/IntelliHelper/IntelliColorPicker.cpp @@ -1,8 +1,7 @@ #include "IntelliColorPicker.h" IntelliColorPicker::IntelliColorPicker(){ - firstColor = {255,0,0,255}; - secondColor = {0,255,255,255}; + initializeColors(); } IntelliColorPicker::~IntelliColorPicker(){ @@ -28,3 +27,8 @@ void IntelliColorPicker::setFirstColor(QColor Color){ void IntelliColorPicker::setSecondColor(QColor Color){ this->secondColor = Color; } + +void IntelliColorPicker::initializeColors(){ + this->firstColor = QColor(255,0,0,255); + this->secondColor = QColor(0,0,0,255); +} diff --git a/src/IntelliHelper/IntelliColorPicker.h b/src/IntelliHelper/IntelliColorPicker.h index 4ea686b..1efc591 100644 --- a/src/IntelliHelper/IntelliColorPicker.h +++ b/src/IntelliHelper/IntelliColorPicker.h @@ -5,10 +5,14 @@ #include "QPoint" #include "QColorDialog" +//for unit testing +class UnitTest; + /*! * \brief The IntelliColorPicker manages the selected colors for one whole project. */ class IntelliColorPicker { + friend UnitTest; public: /*! * \brief IntelliColorPicker constructor, setting 2 preset colors, be careful, theese color may change in production. @@ -59,6 +63,11 @@ QColor firstColor; * \brief The secondary color. */ QColor secondColor; + +/*! + * \brief initializeColors initializes the first and second color. + */ +void initializeColors(); }; -#endif // INTELLITOOLSETCOLORTOOL_H +#endif diff --git a/src/IntelliHelper/IntelliRenderSettings.cpp b/src/IntelliHelper/IntelliRenderSettings.cpp index ea36289..c1f6b19 100644 --- a/src/IntelliHelper/IntelliRenderSettings.cpp +++ b/src/IntelliHelper/IntelliRenderSettings.cpp @@ -6,9 +6,9 @@ IntelliRenderSettings::IntelliRenderSettings() } void IntelliRenderSettings::setFastRendering(bool Updatedsetting){ - this->fastRenderering = Updatedsetting; + this->fastRenderering = Updatedsetting; } bool IntelliRenderSettings::isFastRenderering(){ - return fastRenderering; + return fastRenderering; } diff --git a/src/IntelliHelper/IntelliRenderSettings.h b/src/IntelliHelper/IntelliRenderSettings.h index a0be040..1fef570 100644 --- a/src/IntelliHelper/IntelliRenderSettings.h +++ b/src/IntelliHelper/IntelliRenderSettings.h @@ -1,9 +1,13 @@ #ifndef INTELLIRENDERSETTINGS_H #define INTELLIRENDERSETTINGS_H +//for unit testing +class UnitTest; + class IntelliRenderSettings { + friend UnitTest; public: IntelliRenderSettings(); @@ -22,4 +26,4 @@ private: bool fastRenderering = true; }; -#endif // INTELLIRENDERSETTINGS_H +#endif diff --git a/src/IntelliHelper/IntelliToolsettings.cpp b/src/IntelliHelper/IntelliToolsettings.cpp index 7a4219c..c6a7cfc 100644 --- a/src/IntelliHelper/IntelliToolsettings.cpp +++ b/src/IntelliHelper/IntelliToolsettings.cpp @@ -5,7 +5,6 @@ IntelliToolsettings::IntelliToolsettings() { lineWidth = 1; innerAlpha = 255; - Linestyle = LineStyle::SOLID_LINE; } IntelliToolsettings::~IntelliToolsettings(){ @@ -16,10 +15,6 @@ int IntelliToolsettings::getLineWidth(){ return lineWidth; } -void IntelliToolsettings::setLineWidth(){ - lineWidth = QInputDialog::getInt(nullptr,"Line Width Input", "Width",1,1,50,1); -} - void IntelliToolsettings::setLineWidth(int LineWidth){ if(LineWidth < 1) { LineWidth = 1; @@ -34,10 +29,6 @@ int IntelliToolsettings::getInnerAlpha(){ return this->innerAlpha; } -void IntelliToolsettings::setInnerAlpha(){ - this->innerAlpha = QInputDialog::getInt(nullptr,"Inner Aplha Input", "Value",0,0,255,1); -} - void IntelliToolsettings::setInnerAlpha(int innerAlpha){ if(innerAlpha < 0) { innerAlpha = 0; @@ -47,7 +38,3 @@ void IntelliToolsettings::setInnerAlpha(int innerAlpha){ } this->innerAlpha = innerAlpha; } - -IntelliToolsettings::LineStyle IntelliToolsettings::getLinestyle(){ - return Linestyle; -} diff --git a/src/IntelliHelper/IntelliToolsettings.h b/src/IntelliHelper/IntelliToolsettings.h index 1a63bbc..1b0f90c 100644 --- a/src/IntelliHelper/IntelliToolsettings.h +++ b/src/IntelliHelper/IntelliToolsettings.h @@ -1,29 +1,24 @@ #ifndef INTELLITOOLSETTINGS_H #define INTELLITOOLSETTINGS_H +//for unit testing +class UnitTest; + class IntelliToolsettings { +friend UnitTest; public: -/*! - * \brief The LineStyle enum classifing all ways of drawing a line. - */ -enum class LineStyle { - SOLID_LINE, - DOTTED_LINE -}; IntelliToolsettings(); virtual ~IntelliToolsettings(); + int getLineWidth(); -void setLineWidth(); void setLineWidth(int LineWidth); + int getInnerAlpha(); -void setInnerAlpha(); void setInnerAlpha(int innerAlpha); -LineStyle getLinestyle(); private: int lineWidth; int innerAlpha; -LineStyle Linestyle; }; -#endif // INTELLITOOLSETTINGS_H +#endif diff --git a/src/IntelliHelper/IntelliTriangulation.cpp b/src/IntelliHelper/IntelliTriangulation.cpp index d46288a..2c0d56c 100644 --- a/src/IntelliHelper/IntelliTriangulation.cpp +++ b/src/IntelliHelper/IntelliTriangulation.cpp @@ -14,46 +14,46 @@ std::vector IntelliTriangulation::calculateTriangles(std::vector(sqrt(pow(AP.x(),2.)+pow(AP.y(),2.))*sqrt(pow(BP.x(),2.)+pow(BP.y(),2.))); - return acos(topSclar/absolute); + float topSclar = AP.x() * BP.x() + AP.y() * BP.y(); + float absolute = static_cast(sqrt(pow(AP.x(),2.) + pow(AP.y(),2.)) * sqrt(pow(BP.x(),2.) + pow(BP.y(),2.))); + return acos(topSclar / absolute); }; // gets the first element of vec for which element.isTip == true holds - auto getTip= [](const std::vector& vec){ - size_t min = 0; - for(size_t i=0; i& vec) { + size_t min = 0; + for(size_t i = 0; i=0 ? (idx-1) : (length-1); + auto getPrev = [] (int idx, int length) { + return (idx - 1)>=0 ? (idx - 1) : (length - 1); }; // get the vertex idx after idx in relation to the container lenght - auto getPost = [](int idx, int length){ - return (idx+1)%length; + auto getPost = [] (int idx, int length) { + return (idx + 1) % length; }; // return if the vertex is a tip - auto isTip = [](float angle){ - return static_cast(angle)<(pi/2.); + auto isTip = [] (float angle) { + return static_cast(angle)<(pi / 2.); }; std::vector Vertices; std::vector Triangles; // set up all vertices and calculate intirior angle - for(int i=0; i(polyPoints.size()); i++) { + for(int i = 0; i(polyPoints.size()); i++) { TriangleHelper helper; int prev = getPrev(i, static_cast(polyPoints.size())); int post = getPost(i, static_cast(polyPoints.size())); @@ -69,7 +69,7 @@ std::vector IntelliTriangulation::calculateTriangles(std::vector(Vertices.size())); @@ -82,14 +82,14 @@ std::vector IntelliTriangulation::calculateTriangles(std::vector(smallest.idx); i(smallest.idx); i(Vertices.size())); @@ -113,7 +113,7 @@ std::vector IntelliTriangulation::calculateTriangles(std::vector &triangles, QPoint &point){ +bool IntelliTriangulation::isInPolygon(const std::vector &triangles, QPoint &point){ for(auto triangle : triangles) { if(IntelliTriangulation::isInTriangle(triangle, point)) { return true; diff --git a/src/IntelliHelper/IntelliTriangulation.h b/src/IntelliHelper/IntelliTriangulation.h index 21ebfa3..39b6b3e 100644 --- a/src/IntelliHelper/IntelliTriangulation.h +++ b/src/IntelliHelper/IntelliTriangulation.h @@ -1,6 +1,9 @@ #ifndef INTELLITRIANGULATION_H #define INTELLITRIANGULATION_H +//for unit testing +class UnitTest; + #include #include @@ -21,7 +24,7 @@ namespace IntelliTriangulation { * \return Returns the area of the traingle*2 */ inline float sign(QPoint& p1, QPoint& p2, QPoint& p3){ - return (p1.x()-p3.x())*(p2.y()-p3.y())-(p2.x()-p3.x())*(p1.y()-p3.y()); + return (p1.x() - p3.x()) * (p2.y() - p3.y()) - (p2.x() - p3.x()) * (p1.y() - p3.y()); } /*! @@ -57,7 +60,7 @@ std::vector calculateTriangles(std::vector polyPoints); * \param point - The point to checl, if it lies in the polygon. * \return Returns true if the point lies in the üpolygon, otherwise false. */ -bool isInPolygon(std::vector &triangles, QPoint &point); +bool isInPolygon(const std::vector &triangles, QPoint &point); } #endif diff --git a/src/IntelliPhoto.pro b/src/IntelliPhoto.pro old mode 100644 new mode 100755 index 13b6975..faf6c86 --- a/src/IntelliPhoto.pro +++ b/src/IntelliPhoto.pro @@ -16,6 +16,7 @@ DEFINES += QT_DEPRECATED_WARNINGS #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 SOURCES += \ + GUI/IntelliInputDialog.cpp \ GUI/IntelliPhotoGui.cpp \ Image/IntelliImage.cpp \ Image/IntelliRasterImage.cpp \ @@ -36,6 +37,7 @@ SOURCES += \ main.cpp HEADERS += \ + GUI/IntelliInputDialog.h \ GUI/IntelliPhotoGui.h \ Image/IntelliImage.h \ Image/IntelliRasterImage.h \ @@ -70,3 +72,5 @@ else: unix:!android: target.path = /opt/$${TARGET}/bin RESOURCES += \ Bilder.qrc + +DISTFILES += diff --git a/src/IntelliUnitTest.pro b/src/IntelliUnitTest.pro new file mode 100755 index 0000000..a285e28 --- /dev/null +++ b/src/IntelliUnitTest.pro @@ -0,0 +1,62 @@ +QT += testlib +QT -= gui + +CONFIG += qt console warn_on depend_includepath testcase +CONFIG -= app_bundle + +greaterThan(QT_MAJOR_VERSION, 4): QT += widgets + + +TEMPLATE = app + +SOURCES += tst_unittest.cpp \ + GUI/IntelliInputDialog.cpp \ + GUI/IntelliPhotoGui.cpp \ + Image/IntelliImage.cpp \ + Image/IntelliRasterImage.cpp \ + Image/IntelliShapedImage.cpp \ + IntelliHelper/IntelliColorPicker.cpp \ + IntelliHelper/IntelliRenderSettings.cpp \ + IntelliHelper/IntelliToolsettings.cpp \ + IntelliHelper/IntelliTriangulation.cpp \ + Layer/PaintingArea.cpp \ + Tool/IntelliTool.cpp \ + Tool/IntelliToolCircle.cpp \ + Tool/IntelliToolFloodFill.cpp \ + Tool/IntelliToolLine.cpp \ + Tool/IntelliToolPen.cpp \ + Tool/IntelliToolPlain.cpp \ + Tool/IntelliToolPolygon.cpp \ + Tool/IntelliToolRectangle.cpp + +DISTFILES += \ + icons/Wechselpfeile.png \ + icons/circle-tool.svg \ + icons/eraser-tool.svg \ + icons/flood-fill-tool.svg \ + icons/icon.png \ + icons/line-tool.svg \ + icons/pen-tool.svg \ + icons/plain-tool.svg \ + icons/polygon-tool.svg \ + icons/rectangle-tool.svg + +HEADERS += \ + GUI/IntelliInputDialog.h \ + GUI/IntelliPhotoGui.h \ + Image/IntelliImage.h \ + Image/IntelliRasterImage.h \ + Image/IntelliShapedImage.h \ + IntelliHelper/IntelliColorPicker.h \ + IntelliHelper/IntelliRenderSettings.h \ + IntelliHelper/IntelliToolsettings.h \ + IntelliHelper/IntelliTriangulation.h \ + Layer/PaintingArea.h \ + Tool/IntelliTool.h \ + Tool/IntelliToolCircle.h \ + Tool/IntelliToolFloodFill.h \ + Tool/IntelliToolLine.h \ + Tool/IntelliToolPen.h \ + Tool/IntelliToolPlain.h \ + Tool/IntelliToolPolygon.h \ + Tool/IntelliToolRectangle.h diff --git a/src/Layer/PaintingArea.cpp b/src/Layer/PaintingArea.cpp index a2df96d..3dfb526 100644 --- a/src/Layer/PaintingArea.cpp +++ b/src/Layer/PaintingArea.cpp @@ -18,24 +18,13 @@ #include "Tool/IntelliToolFloodFill.h" #include "Tool/IntelliToolPolygon.h" + PaintingArea::PaintingArea(int maxWidth, int maxHeight, QWidget*parent) : QWidget(parent){ this->Tool = nullptr; this->setLayerDimensions(maxWidth, maxHeight); - this->addLayer(200,200,0,0,IntelliImage::ImageType::SHAPEDIMAGE); - layerBundle[0].image->drawPlain(QColor(0,0,255,255)); - std::vector polygon; - polygon.push_back(QPoint(100,000)); - polygon.push_back(QPoint(200,100)); - polygon.push_back(QPoint(100,200)); - polygon.push_back(QPoint(000,100)); - layerBundle[0].image->setPolygon(polygon); - this->addLayer(200,200,150,150,IntelliImage::ImageType::RASTERIMAGE); - layerBundle[1].image->drawPlain(QColor(0,255,0,255)); - layerBundle[1].alpha=200; - - activeLayer=0; + activeLayer = -1; } PaintingArea::~PaintingArea(){ @@ -43,12 +32,20 @@ PaintingArea::~PaintingArea(){ } void PaintingArea::setRenderSettings(bool isFastRenderingOn){ - if(isFastRenderingOn != renderSettings.isFastRenderering()){ - renderSettings.setFastRendering(isFastRenderingOn); - for(auto& layer : layerBundle){ - layer.image->updateRendererSetting(isFastRenderingOn); - } - } + bool ToolIsActive; + + if(Tool!=nullptr) { + ToolIsActive = Tool->getIsDrawing(); + } + else{ + ToolIsActive = false; + } + if(isFastRenderingOn != renderSettings.isFastRenderering() && !ToolIsActive) { + renderSettings.setFastRendering(isFastRenderingOn); + for(auto& layer : layerBundle) { + layer.image->updateRendererSetting(isFastRenderingOn); + } + } } void PaintingArea::setLayerDimensions(int maxWidth, int maxHeight){ @@ -64,50 +61,67 @@ void PaintingArea::setLayerDimensions(int maxWidth, int maxHeight){ int PaintingArea::addLayer(int width, int height, int widthOffset, int heightOffset, IntelliImage::ImageType type){ LayerObject newLayer; + updateTools(); newLayer.width = width; newLayer.height = height; newLayer.widthOffset = widthOffset; newLayer.heightOffset = heightOffset; - if(type==IntelliImage::ImageType::RASTERIMAGE) { - newLayer.image = new IntelliRasterImage(width,height,renderSettings.isFastRenderering()); - }else if(type==IntelliImage::ImageType::SHAPEDIMAGE) { - newLayer.image = new IntelliShapedImage(width, height, renderSettings.isFastRenderering()); + if(type==IntelliImage::ImageType::RASTERIMAGE) { + newLayer.image = new IntelliRasterImage(width,height,renderSettings.isFastRenderering()); + }else if(type==IntelliImage::ImageType::SHAPEDIMAGE) { + newLayer.image = new IntelliShapedImage(width, height, renderSettings.isFastRenderering()); } newLayer.alpha = 255; this->layerBundle.push_back(newLayer); - activeLayer = static_cast(layerBundle.size())-1; + activeLayer = static_cast(layerBundle.size()) - 1; return activeLayer; } -void PaintingArea::deleteLayer(int idx){ - if(idx(layerBundle.size())) { - this->layerBundle.erase(layerBundle.begin()+idx); - if(activeLayer>=idx) { +void PaintingArea::deleteLayer(int idx, bool isTool){ + if(!isTool) { + updateTools(); + } + if(idx(layerBundle.size())&&idx>=0) { + this->layerBundle.erase(layerBundle.begin() + idx); + if(activeLayer>=idx) { activeLayer--; } - if(activeLayer < 0 && layerBundle.size()){ - activeLayer=0; - } + if(activeLayer < 0 && layerBundle.size()) { + activeLayer = 0; + } } } void PaintingArea::slotDeleteActiveLayer(){ if(activeLayer>=0 && activeLayer < static_cast(layerBundle.size())) { - this->layerBundle.erase(layerBundle.begin()+activeLayer); + this->layerBundle.erase(layerBundle.begin() + activeLayer); activeLayer--; } } void PaintingArea::setLayerActive(int idx){ + updateTools(); if(idx>=0&&idx(layerBundle.size())) { - this->activeLayer=idx; + this->activeLayer = idx; } } void PaintingArea::setLayerAlpha(int idx, int alpha){ if(idx>=0&&idx(layerBundle.size())) { - layerBundle[static_cast(idx)].alpha=alpha; + if(alpha>=0 && alpha<=255) { + layerBundle[static_cast(idx)].alpha = alpha; + } + } +} +void PaintingArea::setPolygon(int idx){ + if(idx>=0&&idx(layerBundle.size())) { + if(layerBundle[static_cast(idx)].image->getTypeOfImage()==IntelliImage::ImageType::SHAPEDIMAGE) { + delete this->Tool; + this->Tool = new IntelliToolPolygon(this,&colorPicker,&Toolsettings, true); + isSettingPolygon = true; + this->DummyGui->setToolWidth(5); + } } } @@ -147,51 +161,24 @@ bool PaintingArea::save(const QString &filePath, const char*fileFormat){ } } -// Color the image area with white -void PaintingArea::floodFill(int r, int g, int b, int a){ - if(this->activeLayer==-1) { - return; - } - IntelliImage* active = layerBundle[static_cast(activeLayer)].image; - active->drawPlain(QColor(r, g, b, a)); - update(); -} - void PaintingArea::movePositionActive(int x, int y){ - if(Tool!=nullptr) { - if(Tool->getIsDrawing()) { - IntelliTool* temp = copyActiveTool(); - delete this->Tool; - this->Tool = temp; - } - } + updateTools(); layerBundle[static_cast(activeLayer)].widthOffset += x; layerBundle[static_cast(activeLayer)].heightOffset += y; } void PaintingArea::moveActiveLayer(int idx){ - if(Tool != nullptr) { - if(Tool->getIsDrawing()) { - IntelliTool* temp = copyActiveTool(); - delete this->Tool; - this->Tool = temp; - } - } + updateTools(); if(idx==1) { this->selectLayerUp(); }else if(idx==-1) { this->selectLayerDown(); } + DummyGui->UpdateGui(); } void PaintingArea::slotActivateLayer(int a){ - if(Tool != nullptr) { - if(Tool->getIsDrawing()) { - IntelliTool* temp = copyActiveTool(); - delete this->Tool; - this->Tool = temp; - } - } + updateTools(); if(a>=0 && a < static_cast(layerBundle.size())) { this->setLayerActive(a); } @@ -253,6 +240,14 @@ int PaintingArea::getHeightOfActive(){ return this->layerBundle[static_cast(activeLayer)].height; } +int PaintingArea::getMaxWidth(){ + return this->maxWidth; +} + +int PaintingArea::getMaxHeight(){ + return this->maxHeight; +} + IntelliImage::ImageType PaintingArea::getTypeOfImageRealLayer(){ return this->layerBundle[static_cast(activeLayer)].image->getTypeOfImage(); } @@ -265,12 +260,13 @@ std::vector PaintingArea::getPolygonDataOfRealLayer(){ // left button and if so store the current position // Set that we are currently drawing void PaintingArea::mousePressEvent(QMouseEvent*event){ - if(this->activeLayer < 0) - return; + if(this->activeLayer < 0) { + return; + } if(Tool == nullptr) return; - int x = event->x()-layerBundle[static_cast(activeLayer)].widthOffset; - int y = event->y()-layerBundle[static_cast(activeLayer)].heightOffset; + int x = event->x() - layerBundle[static_cast(activeLayer)].widthOffset; + int y = event->y() - layerBundle[static_cast(activeLayer)].heightOffset; if(event->button() == Qt::LeftButton) { Tool->onMouseLeftPressed(x, y); }else if(event->button() == Qt::RightButton) { @@ -283,24 +279,25 @@ void PaintingArea::mousePressEvent(QMouseEvent*event){ // we call the drawline function which draws a line // from the last position to the current void PaintingArea::mouseMoveEvent(QMouseEvent*event){ - if(this->activeLayer < 0) - return; + if(this->activeLayer < 0) { + return; + } if(Tool == nullptr) return; - int x = event->x()-layerBundle[static_cast(activeLayer)].widthOffset; - int y = event->y()-layerBundle[static_cast(activeLayer)].heightOffset; + int x = event->x() - layerBundle[static_cast(activeLayer)].widthOffset; + int y = event->y() - layerBundle[static_cast(activeLayer)].heightOffset; Tool->onMouseMoved(x, y); update(); } // If the button is released we set variables to stop drawing void PaintingArea::mouseReleaseEvent(QMouseEvent*event){ - if(this->activeLayer < 0) - return; - if(Tool == nullptr) + if(this->activeLayer < 0) return; - int x = event->x()-layerBundle[static_cast(activeLayer)].widthOffset; - int y = event->y()-layerBundle[static_cast(activeLayer)].heightOffset; + if(Tool == nullptr) + return; + int x = event->x() - layerBundle[static_cast(activeLayer)].widthOffset; + int y = event->y() - layerBundle[static_cast(activeLayer)].heightOffset; if(event->button() == Qt::LeftButton) { Tool->onMouseLeftReleased(x, y); }else if(event->button() == Qt::RightButton) { @@ -310,13 +307,13 @@ void PaintingArea::mouseReleaseEvent(QMouseEvent*event){ } void PaintingArea::wheelEvent(QWheelEvent*event){ - if(this->activeLayer < 0) - return; - if(this->Tool != nullptr) { + if(this->activeLayer < 0) + return; + if(this->Tool != nullptr) { QPoint numDegrees = event->angleDelta() / 8; if(!numDegrees.isNull()) { QPoint numSteps = numDegrees / 15; - Tool->onWheelScrolled(numSteps.y()* -1); + Tool->onWheelScrolled(numSteps.y() * -1); } } } @@ -333,27 +330,18 @@ void PaintingArea::paintEvent(QPaintEvent*event){ 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){ - //TODO wait till tool works - update(); -} - -void PaintingArea::resizeLayer(QImage*image_res, const QSize &newSize){ - //TODO implement -} - void PaintingArea::selectLayerUp(){ - if(activeLayer!=-1 && static_cast(activeLayer)(activeLayer)], layerBundle[static_cast(activeLayer+1)]); + updateTools(); + if(activeLayer != -1 && static_cast(activeLayer)(activeLayer)], layerBundle[static_cast(activeLayer + 1)]); activeLayer++; } } void PaintingArea::selectLayerDown(){ - if(activeLayer!=-1 && activeLayer>0) { - std::swap(layerBundle[static_cast(activeLayer)], layerBundle[static_cast(activeLayer-1)]); + updateTools(); + if(activeLayer>0) { + std::swap(layerBundle[static_cast(activeLayer)], layerBundle[static_cast(activeLayer - 1)]); activeLayer--; } } @@ -364,30 +352,30 @@ void PaintingArea::drawLayers(bool forSaving){ }else{ Canvas->fill(Qt::GlobalColor::black); } - for(size_t i=0; igetDisplayable(layer.alpha); QColor clr_0; QColor clr_1; - for(int y=0; y=maxHeight) break; - for(int x=0; x=maxWidth) break; - clr_0=Canvas->pixelColor(layer.widthOffset+x, layer.heightOffset+y); - clr_1=cpy.pixelColor(x,y); - float t = static_cast(clr_1.alpha())/255.f; - int r =static_cast(static_cast(clr_1.red())*(t)+static_cast(clr_0.red())*(1.f-t)+0.5f); - int g =static_cast(static_cast(clr_1.green())*(t)+static_cast(clr_0.green())*(1.f-t)+0.5f); - int b =static_cast(static_cast(clr_1.blue())*(t)+static_cast(clr_0.blue()*(1.f-t))+0.5f); - int a =std::min(clr_0.alpha()+clr_1.alpha(), 255); + for(int y = 0; y=maxHeight) break; + for(int x = 0; x=maxWidth) break; + clr_0 = Canvas->pixelColor(layer.widthOffset + x, layer.heightOffset + y); + clr_1 = cpy.pixelColor(x,y); + float t = static_cast(clr_1.alpha()) / 255.f; + int r = static_cast(static_cast(clr_1.red()) * (t) + static_cast(clr_0.red()) * (1.f - t) + 0.5f); + int g = static_cast(static_cast(clr_1.green()) * (t) + static_cast(clr_0.green()) * (1.f - t) + 0.5f); + int b = static_cast(static_cast(clr_1.blue()) * (t) + static_cast(clr_0.blue() * (1.f - t)) + 0.5f); + int a = std::min(clr_0.alpha() + clr_1.alpha(), 255); clr_0.setRed(r); clr_0.setGreen(g); clr_0.setBlue(b); clr_0.setAlpha(a); - Canvas->setPixelColor(layer.widthOffset+x, layer.heightOffset+y, clr_0); + Canvas->setPixelColor(layer.widthOffset + x, layer.heightOffset + y, clr_0); } } } @@ -402,10 +390,10 @@ bool PaintingArea::createTempTopLayer(int idx){ newLayer.heightOffset = layerBundle[static_cast(idx)].heightOffset; newLayer.widthOffset = layerBundle[static_cast(idx)].widthOffset; newLayer.image = layerBundle[static_cast(idx)].image->getDeepCopy(); - layerBundle.insert(layerBundle.begin()+idx+1,newLayer); - return true; + layerBundle.insert(layerBundle.begin() + idx + 1,newLayer); + return true; } - return false; + return false; } IntelliTool* PaintingArea::copyActiveTool(){ @@ -426,8 +414,38 @@ int PaintingArea::getNumberOfActiveLayer(){ } IntelliImage* PaintingArea::getImageOfActiveLayer(){ - if(activeLayer<0){ - return nullptr; - } - return layerBundle[activeLayer].image; + if(activeLayer<0) { + return nullptr; + } + return layerBundle[static_cast(activeLayer)].image; +} + +QImage PaintingArea::getImageDataOfActiveLayer(){ + QImage returnImage; + if(activeLayer<0) { + returnImage = QImage(QSize(10,10),QImage::Format_ARGB32); + returnImage.fill(QColor(255,255,255,255)); + } + else{ + returnImage = layerBundle[static_cast(activeLayer)].image->getImageData(); + if(renderSettings.isFastRenderering()) { + returnImage = returnImage.convertToFormat(QImage::Format_ARGB32); + } + } + return returnImage; +} + +void PaintingArea::updateTools(){ + if(Tool!=nullptr) { + if(Tool->getIsDrawing()) { + IntelliTool* temp = copyActiveTool(); + delete this->Tool; + this->Tool = temp; + } + if(isSettingPolygon) { + delete this->Tool; + this->Tool = nullptr; + isSettingPolygon = false; + } + } } diff --git a/src/Layer/PaintingArea.h b/src/Layer/PaintingArea.h index 253c746..3b04198 100644 --- a/src/Layer/PaintingArea.h +++ b/src/Layer/PaintingArea.h @@ -14,21 +14,37 @@ #include "Tool/IntelliTool.h" #include "IntelliHelper/IntelliColorPicker.h" +//for unit testing +class UnitTest; + /*! * \brief The LayerObject struct holds all the information needed to construct a layer - * \param width - Stores the width of a layer in pixels - * \param height - Stores the height of a layer in pixels - * \param alpha - Stores the alpha value of the layer (default=255) - * \param widthOffset - Stores the number of pixles from the left side of the painting area - * \param heightOffset - Stores the number of pixles from the top of the painting area */ struct LayerObject { + /*! + * \brief image - Stores the imageData of the current LayerObject. + */ IntelliImage* image; + /*! + * \brief width - Stores the width of a layer in pixels. + */ int width; + /*! + * \brief height - Stores the height of a layer in pixels. + */ int height; + /*! + * \brief widthOffset - Stores the number of pixles from the left side of the painting area. + */ int widthOffset; + /*! + * \brief heightOffset - Stores the number of pixles from the top of the painting area. + */ int heightOffset; - int alpha=255; + /*! + * \brief alpha - Stores the alpha value of the layer (default=255). + */ + int alpha = 255; }; /*! @@ -36,6 +52,7 @@ struct LayerObject { */ class PaintingArea : public QWidget { +friend UnitTest; // Declares our class as a QObject which is the base class // for all Qt objects // QObjects handle events @@ -43,145 +60,148 @@ Q_OBJECT friend IntelliTool; friend IntelliPhotoGui; public: - /*! - * \brief PaintingArea is the constructor of the PaintingArea class, which initiates the working environment - * \param maxWidth - The maximum amount of pixles that are inside painting area from left to right (default=600px) - * \param maxHeight - The maximum amount of pixles that are inside painting area from top to bottom (default=600px) - * \param parent - The parent window of the main window (default=nullptr) - */ - PaintingArea(int maxWidth=600, int maxHeight=600, QWidget *parent = nullptr); +/*! + * \brief PaintingArea is the constructor of the PaintingArea class, which initiates the working environment + * \param maxWidth - The maximum amount of pixles that are inside painting area from left to right (default=600px) + * \param maxHeight - The maximum amount of pixles that are inside painting area from top to bottom (default=600px) + * \param parent - The parent window of the main window (default=nullptr) + */ +PaintingArea(int maxWidth = 600, int maxHeight = 600, QWidget*parent = nullptr); - /*! - * \brief This deconstructor is used to clear up the memory and remove the currently active window - */ - ~PaintingArea() override; +/*! + * \brief This deconstructor is used to clear up the memory and remove the currently active window + */ +~PaintingArea() override; - // Handles all events +/*! + * \brief setRenderSettings updates all Images to the new Rendersetting. + * \param isFastRenderingOn is the new given flag for the FastRenderer. + */ +void setRenderSettings(bool isFastRenderingOn); - /*! - * \brief setRenderSettings updates all Images to the new Rendersetting. - * \param isFastRenderingOn is the new given flag for the FastRenderer. - */ - void setRenderSettings(bool isFastRenderingOn); +/*! + * \brief The open method is used for loading a picture into the current layer. + * \param filePath - Path and Name which are used to determine where the to-be-opened file is stored. + * \return Returns a boolean variable whether the file was successfully opened or not. + */ +bool open(const QString &filePath); +/*! + * \brief The save method is used for exporting the current project as one picture + * \param filePath - Specifies the path and name of the file to create. + * \param fileFormat - Specifies the format of the file to create. + * \return Returns a boolean variable, true if the file was saved successfully, false if not + */ +bool save(const QString &filePath, const char*fileFormat); - /*! - * \brief The open method is used for loading a picture into the current layer - * \param fileName - Path and filename which are used to determine where the to-be-opened file is stored - * \return Returns a boolean variable whether the file was successfully opened or not - */ - bool open(const QString &filePath); - /*! - * \brief The save method is used for exporting the current project as one picture - * \param fileName - * \param fileFormat - * \return Returns a boolean variable, true if the file was saved successfully, false if not - */ - bool save(const QString &filePath, const char *fileFormat); +/*! + * \brief The addLayer adds a layer to the current project/ painting area + * \param width - Width of the layer in pixles + * \param height - Height of the layer in pixles + * \param widthOffset - Offset of the layer measured to the left border of the painting area in pixles + * \param heightOffset - Offset of the layer measured to the top border of the painting area in pixles + * \param type - Defining the ImageType of the new layer + * \return Returns the number of layers in the project + */ +int addLayer(int width, int height, int widthOffset = 0, int heightOffset = 0, IntelliImage::ImageType type = IntelliImage::ImageType::RASTERIMAGE); +/*! + * \brief The addLayerAt adds a layer to the current project/ painting area at a specific position in the layer stack + * \param idx - Index of the position the new layer should be added + * \param width - Width of the layer in pixles + * \param height - Height of the layer in pixles + * \param widthOffset - Offset of the layer measured to the left border of the painting area in pixles + * \param heightOffset - Offset of the layer measured to the top border of the painting area in pixles + * \param type - Defining the ImageType of the new layer + * \return Returns the id of the layer position + */ +int addLayerAt(int idx, int width, int height, int widthOffset = 0, int heightOffset = 0, IntelliImage::ImageType type = IntelliImage::ImageType::RASTERIMAGE); +/*! + * \brief The deleteLayer method removes a layer at a given idx + * \param idx - The index of the layer to be removed + * \param isTool - Is the flag for when a tool uses this function. + */ +void deleteLayer(int idx, bool isTool = false); +/*! + * \brief The setLayerToActive method marks a specific layer as active + * \param idx - The index of the layer to be active + */ +void setLayerActive(int idx); +/*! + * \brief The setAlphaOfLayer method sets the alpha value of a specific layer + * \param idx - The index of the layer where the change should be applied + * \param alpha - New alpha value of the layer + */ +void setLayerAlpha(int idx, int alpha); +/*! + * \brief setPolygon is used for setting polygondata, it only works on RASTER images + * \param idx - represents the number of the layer with should be transformed + */ +void setPolygon(int idx); +/*! + * \brief The movePositionActive method moves the active layer to certain position + * \param x - The x value the new center of the layer should be at + * \param y - The y value the new center of the layer should be at + */ +void movePositionActive(int x, int y); +/*! + * \brief The moveActiveLayer moves the active layer to a specific position in the layer stack + * \param idx - The index of the new position the layer should be in + */ +void moveActiveLayer(int idx); - /*! - * \brief The addLayer adds a layer to the current project/ painting area - * \param width - Width of the layer in pixles - * \param height - Height of the layer in pixles - * \param widthOffset - Offset of the layer measured to the left border of the painting area in pixles - * \param heightOffset - Offset of the layer measured to the top border of the painting area in pixles - * \param type - Defining the ImageType of the new layer - * \return Returns the number of layers in the project - */ - int addLayer(int width, int height, int widthOffset=0, int heightOffset=0, IntelliImage::ImageType type = IntelliImage::ImageType::RASTERIMAGE); - /*! - * \brief The addLayerAt adds a layer to the current project/ painting area at a specific position in the layer stack - * \param idx - Index of the position the new layer should be added - * \param width - Width of the layer in pixles - * \param height - Height of the layer in pixles - * \param widthOffset - Offset of the layer measured to the left border of the painting area in pixles - * \param heightOffset - Offset of the layer measured to the top border of the painting area in pixles - * \param type - Defining the ImageType of the new layer - * \return Returns the id of the layer position - */ - int addLayerAt(int idx, int width, int height, int widthOffset=0, int heightOffset=0, IntelliImage::ImageType type = IntelliImage::ImageType::RASTERIMAGE); - /*! - * \brief The deleteLayer method removes a layer at a given idx - * \param idx - The index of the layer to be removed - */ - void deleteLayer(int idx); - /*! - * \brief The setLayerToActive method marks a specific layer as active - * \param idx - The index of the layer to be active - */ - void setLayerActive(int idx); - /*! - * \brief The setAlphaOfLayer method sets the alpha value of a specific layer - * \param idx - The index of the layer where the change should be applied - * \param alpha - New alpha value of the layer - */ - void setLayerAlpha(int idx, int alpha); - /*! - * \brief The floodFill method fills a the active layer with a given color - * \param r - Red value of the color the layer should be filled with - * \param g - Green value of the color the layer should be filled with - * \param b - Blue value of the color the layer should be filled with - * \param a - Alpha value of the color the layer should be filled with - */ - void floodFill(int r, int g, int b, int a); - /*! - * \brief The movePositionActive method moves the active layer to certain position - * \param x - The x value the new center of the layer should be at - * \param y - The y value the new center of the layer should be at - */ - void movePositionActive(int x, int y); - /*! - * \brief The moveActiveLayer moves the active layer to a specific position in the layer stack - * \param idx - The index of the new position the layer should be in - */ - void moveActiveLayer(int idx); +/*! + * \brief The colorPickerSetFirstColor calls the QTColorPicker to determine the primary drawing color + */ +void colorPickerSetFirstColor(); +/*! + * \brief The colorPickerSetSecondColor calls the QTColorPicker to determine the secondary drawing color + */ +void colorPickerSetSecondColor(); +/*! + * \brief The colorPickerSwitchColor swaps the primary color with the secondary drawing color + */ +void colorPickerSwapColors(); - //change properties of colorPicker - /*! - * \brief The colorPickerSetFirstColor calls the QTColorPicker to determine the primary drawing color - */ - void colorPickerSetFirstColor(); - /*! - * \brief The colorPickerSetSecondColor calls the QTColorPicker to determine the secondary drawing color - */ - void colorPickerSetSecondColor(); - /*! - * \brief The colorPickerSwitchColor swaps the primary color with the secondary drawing color - */ - void colorPickerSwapColors(); +void createPenTool(); +void createPlainTool(); +void createLineTool(); +void createRectangleTool(); +void createCircleTool(); +void createPolygonTool(); +void createFloodFillTool(); - // Create tools - void createPenTool(); - void createPlainTool(); - void createLineTool(); - void createRectangleTool(); - void createCircleTool(); - void createPolygonTool(); - void createFloodFillTool(); +/*! + * \brief The getWidthOfActive gets the horizontal dimensions of the active layer + * \return Returns the horizontal pixle count of the active layer + */ +int getWidthOfActive(); +/*! + * \brief The getHeightOfActive gets the vertical dimensions of the active layer + * \return Returns the vertical pixle count of the active layer + */ +int getHeightOfActive(); - /*! - * \brief The getWidthOfActive gets the horizontal dimensions of the active layer - * \return Returns the horizontal pixle count of the active layer - */ - int getWidthOfActive(); - /*! - * \brief The getHeightOfActive gets the vertical dimensions of the active layer - * \return Returns the vertical pixle count of the active layer - */ - int getHeightOfActive(); +int getMaxWidth(); - IntelliImage::ImageType getTypeOfImageRealLayer(); +int getMaxHeight(); - std::vector getPolygonDataOfRealLayer(); +IntelliImage::ImageType getTypeOfImageRealLayer(); - int getNumberOfActiveLayer(); +std::vector getPolygonDataOfRealLayer(); - IntelliImage* getImageOfActiveLayer(); +int getNumberOfActiveLayer(); - IntelliToolsettings Toolsettings; - IntelliColorPicker colorPicker; +IntelliImage* getImageOfActiveLayer(); + +/*! + * \brief getImageDataOfActiveLayer used to get the currents active imageData (if there isn't any active layer it return a 10*10 white picture) + * \return return the image as an rgba32bit qImage + */ +QImage getImageDataOfActiveLayer(); + +IntelliToolsettings Toolsettings; +IntelliColorPicker colorPicker; public slots: -// Events to handle /*! * \brief The slotActivateLayer method handles the event of selecting one layer as active * \param a - idx of the layer to be active @@ -198,12 +218,8 @@ void mouseMoveEvent(QMouseEvent*event) override; void mouseReleaseEvent(QMouseEvent*event) override; void wheelEvent(QWheelEvent*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; +void paintEvent(QPaintEvent*event) override; private: void setLayerDimensions(int maxWidth, int maxHeight); @@ -215,19 +231,20 @@ QImage* Canvas; int maxWidth; int maxHeight; - IntelliRenderSettings renderSettings; - IntelliTool* Tool; - IntelliPhotoGui* DummyGui; +bool isSettingPolygon = false; + +IntelliRenderSettings renderSettings; +IntelliTool* Tool; +IntelliPhotoGui* DummyGui; std::vector layerBundle; -int activeLayer=-1; +int activeLayer = -1; -void drawLayers(bool forSaving=false); +void drawLayers(bool forSaving = false); -void resizeLayer(QImage*image_res, const QSize &newSize); +bool createTempTopLayer(int idx); - // Helper for Tool - bool createTempTopLayer(int idx); +void updateTools(); }; #endif diff --git a/src/Tool/IntelliColorPicker.cpp b/src/Tool/IntelliColorPicker.cpp deleted file mode 100644 index 67ba35c..0000000 --- a/src/Tool/IntelliColorPicker.cpp +++ /dev/null @@ -1,36 +0,0 @@ -#include "IntelliColorPicker.h" -#include "QDebug" - -IntelliColorPicker::IntelliColorPicker(PaintingArea* Area) - : IntelliTool(Area){ - firstColor = {255,0,0,255}; - secondColor = {0,0,255,255}; -} - -IntelliColorPicker::~IntelliColorPicker(){ - -} - -void IntelliColorPicker::getColorbar(int firstOrSecondColor = 1){ - QString Titel; - QColor newColor; - if(firstOrSecondColor == 1) { - Titel = "Choose first Color"; - newColor = QColorDialog::getColor(this->firstColor,nullptr,Titel); - this->firstColor = newColor; - qDebug() << "Firstcolor" << this->firstColor; - } - else{ - Titel = "Choose second Color"; - newColor = QColorDialog::getColor(this->secondColor,nullptr,Titel); - this->secondColor = newColor; - } -} - -QColor IntelliColorPicker::getFirstColor(){ - return firstColor; -} - -QColor IntelliColorPicker::getSecondColor(){ - return secondColor; -} diff --git a/src/Tool/IntelliTool.cpp b/src/Tool/IntelliTool.cpp index 2dd2272..592bb2a 100644 --- a/src/Tool/IntelliTool.cpp +++ b/src/Tool/IntelliTool.cpp @@ -2,19 +2,22 @@ #include "Layer/PaintingArea.h" IntelliTool::IntelliTool(PaintingArea* Area, IntelliColorPicker* colorPicker, IntelliToolsettings* Toolsettings){ - this->Area=Area; - this->colorPicker=colorPicker; - this->Toolsettings=Toolsettings; + this->Area = Area; + this->colorPicker = colorPicker; + this->Toolsettings = Toolsettings; + this->isDrawing = false; + this->ActiveType = Tooltype::NONE; + this->activeLayer = nullptr; + this->Canvas = nullptr; } - IntelliTool::~IntelliTool(){ } void IntelliTool::onMouseRightPressed(int x, int y){ if(isDrawing) { - isDrawing=false; + isDrawing = false; this->deleteToolLayer(); } } @@ -24,18 +27,19 @@ void IntelliTool::onMouseRightReleased(int x, int y){ } void IntelliTool::onMouseLeftPressed(int x, int y){ - this->isDrawing=this->createToolLayer(); - if(isDrawing){ - Canvas->image->calculateVisiblity(); - } + this->isDrawing = this->createToolLayer(); + if(isDrawing) { + Canvas->image->calculateVisiblity(); + } } void IntelliTool::onMouseLeftReleased(int x, int y){ if(isDrawing) { - isDrawing=false; + isDrawing = false; this->mergeToolLayer(); this->deleteToolLayer(); activeLayer->image->calculateVisiblity(); + } } @@ -46,46 +50,50 @@ void IntelliTool::onMouseMoved(int x, int y){ void IntelliTool::onWheelScrolled(int value){ //if needed for future general tasks implement in here + Area->DummyGui->setToolWidth(value + Toolsettings->getLineWidth()); } bool IntelliTool::createToolLayer(){ - if(Area->createTempTopLayer(Area->activeLayer)){ - this->activeLayer=&Area->layerBundle[static_cast(Area->activeLayer)]; - this->Canvas=&Area->layerBundle[static_cast(Area->activeLayer+1)]; - return true; - } - return false; + if(Area->createTempTopLayer(Area->activeLayer)) { + this->activeLayer = &Area->layerBundle[static_cast(Area->activeLayer)]; + this->Canvas = &Area->layerBundle[static_cast(Area->activeLayer + 1)]; + return true; + } + return false; } void IntelliTool::mergeToolLayer(){ QColor clr_0; QColor clr_1; - QImage updatedImage = activeLayer->image->getImageData(); + QImage updatedImage = activeLayer->image->getImageData(); - for(int y=0; yheight; y++) { - for(int x=0; xwidth; x++) { - clr_0=updatedImage.pixelColor(x,y); - clr_1=Canvas->image->imageData.pixelColor(x,y); - float t = static_cast(clr_1.alpha())/255.f; - int r =static_cast(static_cast(clr_1.red())*(t)+static_cast(clr_0.red())*(1.f-t)+0.5f); - int g =static_cast(static_cast(clr_1.green())*(t)+static_cast(clr_0.green())*(1.f-t)+0.5f); - int b =static_cast(static_cast(clr_1.blue())*(t)+static_cast(clr_0.blue()*(1.f-t))+0.5f); - int a =std::min(clr_0.alpha()+clr_1.alpha(), 255); + for(int y = 0; yheight; y++) { + for(int x = 0; xwidth; x++) { + clr_0 = updatedImage.pixelColor(x,y); + clr_1 = Canvas->image->imageData.pixelColor(x,y); + float t = static_cast(clr_1.alpha()) / 255.f; + int r = static_cast(static_cast(clr_1.red()) * (t) + static_cast(clr_0.red()) * (1.f - t) + 0.5f); + int g = static_cast(static_cast(clr_1.green()) * (t) + static_cast(clr_0.green()) * (1.f - t) + 0.5f); + int b = static_cast(static_cast(clr_1.blue()) * (t) + static_cast(clr_0.blue() * (1.f - t)) + 0.5f); + int a = std::min(clr_0.alpha() + clr_1.alpha(), 255); clr_0.setRed(r); clr_0.setGreen(g); clr_0.setBlue(b); clr_0.setAlpha(a); - updatedImage.setPixelColor(x, y, clr_0); + updatedImage.setPixelColor(x, y, clr_0); } } - activeLayer->image->setImageData(updatedImage); - Area->DummyGui->UpdateGui(); + activeLayer->image->setImageData(updatedImage); + if(Canvas->image->getPolygonData().size() > 0) { + activeLayer->image->setPolygon(Canvas->image->getPolygonData()); + } + Area->DummyGui->UpdateGui(); } void IntelliTool::deleteToolLayer(){ - Area->deleteLayer(Area->activeLayer+1); - this->Canvas=nullptr; + Area->deleteLayer(Area->activeLayer + 1, true); + this->Canvas = nullptr; } IntelliTool::Tooltype IntelliTool::getTooltype(){ diff --git a/src/Tool/IntelliTool.h b/src/Tool/IntelliTool.h index 56404aa..a3b2959 100644 --- a/src/Tool/IntelliTool.h +++ b/src/Tool/IntelliTool.h @@ -5,6 +5,9 @@ #include "IntelliHelper/IntelliToolsettings.h" #include +//for unit testing +class UnitTest; + struct LayerObject; class PaintingArea; @@ -12,6 +15,7 @@ class PaintingArea; * \brief An abstract class that manages the basic events, like mouse clicks or scrolls events. */ class IntelliTool { + friend UnitTest; public: enum class Tooltype { CIRCLE, @@ -20,7 +24,8 @@ enum class Tooltype { PEN, PLAIN, POLYGON, - RECTANGLE + RECTANGLE, + NONE }; private: /*! diff --git a/src/Tool/IntelliToolCircle.cpp b/src/Tool/IntelliToolCircle.cpp index eba6736..5bf2ef9 100644 --- a/src/Tool/IntelliToolCircle.cpp +++ b/src/Tool/IntelliToolCircle.cpp @@ -13,35 +13,34 @@ IntelliToolCircle::~IntelliToolCircle(){ } void IntelliToolCircle::drawCircle(int radius){ - int outer = radius+20; QColor inner = this->colorPicker->getSecondColor(); inner.setAlpha(Toolsettings->getInnerAlpha()); - int yMin, yMax, xMin, xMax; - yMin = centerPoint.y()-radius; - yMax = centerPoint.y()+radius; + int yMinimum, yMaximum, xMinimum, xMaximum; + yMinimum = centerPoint.y() - radius; + yMaximum = centerPoint.y() + radius; // x = x0+-sqrt(r2-(y-y0)2) - for(int i=yMin; i<=yMax; i++) { - xMin = static_cast(centerPoint.x()-sqrt(pow(radius,2)-pow(i-centerPoint.y(),2))); - xMax = static_cast(centerPoint.x()+sqrt(pow(radius,2)-pow(i-centerPoint.y(),2))); - this->Canvas->image->drawLine(QPoint(xMin,i), QPoint(xMax,i),inner,1); + for(int i = yMinimum; i<=yMaximum; i++) { + xMinimum = static_cast(centerPoint.x() - sqrt(pow(radius,2) - pow(i - centerPoint.y(),2))); + xMaximum = static_cast(centerPoint.x() + sqrt(pow(radius,2) - pow(i - centerPoint.y(),2))); + this->Canvas->image->drawLine(QPoint(xMinimum,i), QPoint(xMaximum,i),inner,1); } //TODO implement circle drawing algorithm bresenham - radius = static_cast(radius +(Toolsettings->getLineWidth()/2.)-1.); - yMin = (centerPoint.y()-radius); - yMax = (centerPoint.y()+radius); - for(int i=yMin; i<=yMax; i++) { - xMin = static_cast(centerPoint.x()-sqrt(pow(radius,2)-pow(i-centerPoint.y(),2))); - xMax = static_cast(centerPoint.x()+sqrt(pow(radius,2)-pow(i-centerPoint.y(),2))); - this->Canvas->image->drawPoint(QPoint(xMin,i), colorPicker->getFirstColor(),Toolsettings->getLineWidth()); - this->Canvas->image->drawPoint(QPoint(xMax,i), colorPicker->getFirstColor(),Toolsettings->getLineWidth()); + radius = static_cast(radius + (Toolsettings->getLineWidth() / 2.)); + yMinimum = (centerPoint.y() - radius); + yMaximum = (centerPoint.y() + radius); + for(int i = yMinimum; i<=yMaximum; i++) { + xMinimum = static_cast(centerPoint.x() - sqrt(pow(radius,2) - pow(i - centerPoint.y(),2))); + xMaximum = static_cast(centerPoint.x() + sqrt(pow(radius,2) - pow(i - centerPoint.y(),2))); + this->Canvas->image->drawPoint(QPoint(xMinimum,i), colorPicker->getFirstColor(),Toolsettings->getLineWidth()); + this->Canvas->image->drawPoint(QPoint(xMaximum,i), colorPicker->getFirstColor(),Toolsettings->getLineWidth()); } - xMin = (centerPoint.x()-radius); - xMax = (centerPoint.x()+radius); - for(int i=xMin; i<=xMax; i++) { - int yMin = static_cast(centerPoint.y()-sqrt(pow(radius,2)-pow(i-centerPoint.x(),2))); - int yMax = static_cast(centerPoint.y()+sqrt(pow(radius,2)-pow(i-centerPoint.x(),2))); + xMinimum = (centerPoint.x() - radius); + xMaximum = (centerPoint.x() + radius); + for(int i = xMinimum; i<=xMaximum; i++) { + int yMin = static_cast(centerPoint.y() - sqrt(pow(radius,2) - pow(i - centerPoint.x(),2))); + int yMax = static_cast(centerPoint.y() + sqrt(pow(radius,2) - pow(i - centerPoint.x(),2))); this->Canvas->image->drawPoint(QPoint(i, yMin), colorPicker->getFirstColor(),Toolsettings->getLineWidth()); this->Canvas->image->drawPoint(QPoint(i, yMax), colorPicker->getFirstColor(),Toolsettings->getLineWidth()); } @@ -57,12 +56,12 @@ void IntelliToolCircle::onMouseRightReleased(int x, int y){ void IntelliToolCircle::onMouseLeftPressed(int x, int y){ IntelliTool::onMouseLeftPressed(x,y); - if(this->isDrawing){ - this->centerPoint=QPoint(x,y); - int radius = 1; - drawCircle(radius); - Canvas->image->calculateVisiblity(); - } + if(this->isDrawing) { + this->centerPoint = QPoint(x,y); + int radius = 1; + drawCircle(radius); + Canvas->image->calculateVisiblity(); + } } void IntelliToolCircle::onMouseLeftReleased(int x, int y){ @@ -71,14 +70,14 @@ void IntelliToolCircle::onMouseLeftReleased(int x, int y){ void IntelliToolCircle::onWheelScrolled(int value){ IntelliTool::onWheelScrolled(value); - Toolsettings->setLineWidth(Toolsettings->getLineWidth()+value); + Toolsettings->setLineWidth(Toolsettings->getLineWidth() + value); } void IntelliToolCircle::onMouseMoved(int x, int y){ if(this->isDrawing) { this->Canvas->image->drawPlain(Qt::transparent); QPoint next(x,y); - int radius = static_cast(sqrt(pow((centerPoint.x()-x),2)+pow((centerPoint.y()-y),2))); + int radius = static_cast(sqrt(pow((centerPoint.x() - x),2) + pow((centerPoint.y() - y),2))); drawCircle(radius); } IntelliTool::onMouseMoved(x,y); diff --git a/src/Tool/IntelliToolCircle.h b/src/Tool/IntelliToolCircle.h index d75665d..e33ac45 100644 --- a/src/Tool/IntelliToolCircle.h +++ b/src/Tool/IntelliToolCircle.h @@ -4,10 +4,15 @@ #include "QColor" #include "QPoint" + +//for unit testing +class UnitTest; + /*! * \brief The IntelliToolCircle class represents a tool to draw a circle. */ class IntelliToolCircle : public IntelliTool { + friend UnitTest; /*! * \brief A function that implements a circle drawing algorithm. * \param radius - The radius of the circle. @@ -74,4 +79,4 @@ virtual void onWheelScrolled(int value) override; virtual void onMouseMoved(int x, int y) override; }; -#endif // INTELLITOOLCIRCLE_H +#endif diff --git a/src/Tool/IntelliToolFloodFill.cpp b/src/Tool/IntelliToolFloodFill.cpp index cb135f8..aa536b6 100644 --- a/src/Tool/IntelliToolFloodFill.cpp +++ b/src/Tool/IntelliToolFloodFill.cpp @@ -34,6 +34,9 @@ void IntelliToolFloodFill::onMouseLeftPressed(int x, int y){ QColor oldColor = this->activeLayer->image->getPixelColor(start); QColor newColor = this->colorPicker->getFirstColor(); + if(newColor == oldColor) { + return; + } Canvas->image->drawPixel(start,newColor); QPoint left, right, top, down; @@ -41,10 +44,10 @@ void IntelliToolFloodFill::onMouseLeftPressed(int x, int y){ QPoint Current = Q.front(); Q.pop(); - left = QPoint(Current.x()-1,Current.y() ); - right = QPoint(Current.x()+1,Current.y() ); - top = QPoint(Current.x(),Current.y()-1); - down = QPoint(Current.x(),Current.y()+1); + left = QPoint(Current.x() - 1,Current.y() ); + right = QPoint(Current.x() + 1,Current.y() ); + top = QPoint(Current.x(),Current.y() - 1); + down = QPoint(Current.x(),Current.y() + 1); if((right.x() < Canvas->width) && (Canvas->image->getPixelColor(right) != newColor) && (activeLayer->image->getPixelColor(right) == oldColor)) { Canvas->image->drawPixel(right,newColor); Q.push(right); diff --git a/src/Tool/IntelliToolFloodFill.h b/src/Tool/IntelliToolFloodFill.h index 3e93699..b1d29f6 100644 --- a/src/Tool/IntelliToolFloodFill.h +++ b/src/Tool/IntelliToolFloodFill.h @@ -4,10 +4,15 @@ #include "QColor" +//for unit testing +class UnitTest; + + /*! * \brief The IntelliToolFloodFill class represents a tool to flood FIll a certian area. */ class IntelliToolFloodFill : public IntelliTool { + friend UnitTest; public: /*! * \brief A constructor setting the general paintingArea and colorPicker. @@ -64,4 +69,4 @@ virtual void onWheelScrolled(int value) override; virtual void onMouseMoved(int x, int y) override; }; -#endif // INTELLITOOLFLOODFILL_H +#endif diff --git a/src/Tool/IntelliToolLine.cpp b/src/Tool/IntelliToolLine.cpp index 97daa85..17720ff 100644 --- a/src/Tool/IntelliToolLine.cpp +++ b/src/Tool/IntelliToolLine.cpp @@ -22,7 +22,7 @@ void IntelliToolLine::onMouseRightReleased(int x, int y){ void IntelliToolLine::onMouseLeftPressed(int x, int y){ IntelliTool::onMouseLeftPressed(x,y); - this->lineStartingPoint=QPoint(x,y); + this->lineStartingPoint = QPoint(x,y); this->Canvas->image->drawPoint(lineStartingPoint, colorPicker->getFirstColor(),Toolsettings->getLineWidth()); Canvas->image->calculateVisiblity(); } @@ -33,25 +33,14 @@ void IntelliToolLine::onMouseLeftReleased(int x, int y){ void IntelliToolLine::onWheelScrolled(int value){ IntelliTool::onWheelScrolled(value); - Toolsettings->setLineWidth(Toolsettings->getLineWidth()+value); + Toolsettings->setLineWidth(Toolsettings->getLineWidth() + value); } void IntelliToolLine::onMouseMoved(int x, int y){ if(this->isDrawing) { this->Canvas->image->drawPlain(Qt::transparent); QPoint next(x,y); - switch(Toolsettings->getLinestyle()) { - case IntelliToolsettings::LineStyle::SOLID_LINE: - this->Canvas->image->drawLine(lineStartingPoint,next,colorPicker->getFirstColor(),Toolsettings->getLineWidth()); - break; - case IntelliToolsettings::LineStyle::DOTTED_LINE: - QPoint p1 =lineStartingPoint.x() <= next.x() ? lineStartingPoint : next; - QPoint p2 =lineStartingPoint.x() < next.x() ? next : lineStartingPoint; - int m = static_cast(static_cast(p2.y()-p1.y())/static_cast(p2.x()-p1.x())+0.5f); - int c = lineStartingPoint.y()-lineStartingPoint.x()*m; - - break; - } + this->Canvas->image->drawLine(lineStartingPoint,next,colorPicker->getFirstColor(),Toolsettings->getLineWidth()); } IntelliTool::onMouseMoved(x,y); } diff --git a/src/Tool/IntelliToolLine.h b/src/Tool/IntelliToolLine.h index 1bae946..1a4c8aa 100644 --- a/src/Tool/IntelliToolLine.h +++ b/src/Tool/IntelliToolLine.h @@ -4,10 +4,14 @@ #include "QPoint" +//for unit testing +class UnitTest; + /*! * \brief The IntelliToolFloodFill class represents a tool to draw a line. */ class IntelliToolLine : public IntelliTool { + friend UnitTest; /*! * \brief The starting point of the line. */ @@ -16,7 +20,7 @@ QPoint lineStartingPoint; public: /*! - * \brief A constructor setting the general paintingArea and colorPicker. And reading in the lineWidth and lineStyle. + * \brief A constructor setting the general paintingArea and colorPicker. * \param Area - The general paintingArea used by the project. * \param colorPicker - The general colorPicker used by the project. */ @@ -69,4 +73,4 @@ virtual void onWheelScrolled(int value) override; virtual void onMouseMoved(int x, int y) override; }; -#endif // INTELLITOOLLINE_H +#endif diff --git a/src/Tool/IntelliToolPen.cpp b/src/Tool/IntelliToolPen.cpp index 70f2dc3..42ed590 100644 --- a/src/Tool/IntelliToolPen.cpp +++ b/src/Tool/IntelliToolPen.cpp @@ -23,7 +23,7 @@ void IntelliToolPen::onMouseRightReleased(int x, int y){ void IntelliToolPen::onMouseLeftPressed(int x, int y){ IntelliTool::onMouseLeftPressed(x,y); - this->previousPoint=QPoint(x,y); + this->previousPoint = QPoint(x,y); this->Canvas->image->drawPoint(previousPoint, colorPicker->getFirstColor(), Toolsettings->getLineWidth()); Canvas->image->calculateVisiblity(); } @@ -36,12 +36,12 @@ void IntelliToolPen::onMouseMoved(int x, int y){ if(this->isDrawing) { QPoint newPoint(x,y); this->Canvas->image->drawLine(this->previousPoint, newPoint, colorPicker->getFirstColor(), Toolsettings->getLineWidth()); - this->previousPoint=newPoint; + this->previousPoint = newPoint; } IntelliTool::onMouseMoved(x,y); } void IntelliToolPen::onWheelScrolled(int value){ IntelliTool::onWheelScrolled(value); - Toolsettings->setLineWidth(Toolsettings->getLineWidth()+value); + Toolsettings->setLineWidth(Toolsettings->getLineWidth() + value); } diff --git a/src/Tool/IntelliToolPen.h b/src/Tool/IntelliToolPen.h index 39aab9e..851ec74 100644 --- a/src/Tool/IntelliToolPen.h +++ b/src/Tool/IntelliToolPen.h @@ -5,10 +5,14 @@ #include "QColor" #include "QPoint" +//for unit testing +class UnitTest; + /*! * \brief The IntelliToolPen class represents a tool to draw a line. */ class IntelliToolPen : public IntelliTool { + friend UnitTest; /*! * \brief point - Represents the previous point to help drawing a line. */ @@ -67,4 +71,4 @@ virtual void onWheelScrolled(int value) override; virtual void onMouseMoved(int x, int y) override; }; -#endif // INTELLITOOLPEN_H +#endif diff --git a/src/Tool/IntelliToolPlain.h b/src/Tool/IntelliToolPlain.h index c4b294c..0c97c15 100644 --- a/src/Tool/IntelliToolPlain.h +++ b/src/Tool/IntelliToolPlain.h @@ -3,10 +3,15 @@ #include "IntelliTool.h" #include "QColor" + +//for unit testing +class UnitTest; + /*! * \brief The IntelliToolPlainTool class represents a tool to fill the whole canvas with one color. */ class IntelliToolPlainTool : public IntelliTool { + friend UnitTest; public: /*! * \brief A constructor setting the general paintingArea and colorPicker. @@ -62,4 +67,4 @@ virtual void onMouseMoved(int x, int y) override; }; -#endif // INTELLITOOLFLOODFILLTOOL_H +#endif diff --git a/src/Tool/IntelliToolPolygon.cpp b/src/Tool/IntelliToolPolygon.cpp index 452c2bc..c866424 100644 --- a/src/Tool/IntelliToolPolygon.cpp +++ b/src/Tool/IntelliToolPolygon.cpp @@ -3,66 +3,86 @@ #include #include #include +#include -IntelliToolPolygon::IntelliToolPolygon(PaintingArea* Area, IntelliColorPicker* colorPicker, IntelliToolsettings* Toolsettings) +IntelliToolPolygon::IntelliToolPolygon(PaintingArea* Area, IntelliColorPicker* colorPicker, IntelliToolsettings* Toolsettings, bool isSettingPolygon) : IntelliTool(Area, colorPicker, Toolsettings){ isPointNearStart = false; - isDrawing = false; + drawingOfPolygon = false; isInside = false; + this->isSettingPolygon = isSettingPolygon; + if(isSettingPolygon) { + Toolsettings->setLineWidth(5); + } this->ActiveType = Tooltype::POLYGON; } IntelliToolPolygon::~IntelliToolPolygon(){ - if(isDrawing) { + if(drawingOfPolygon) { IntelliTool::onMouseRightPressed(0,0); } } void IntelliToolPolygon::onMouseLeftPressed(int x, int y){ - if(!isDrawing && Area->getTypeOfImageRealLayer() == IntelliImage::ImageType::SHAPEDIMAGE && x > 0 && y > 0 && xgetWidthOfActive() && ygetHeightOfActive()) { - std::vector Triangles = IntelliTriangulation::calculateTriangles(Area->getPolygonDataOfRealLayer()); - QPoint Point(x,y); - isInside = IntelliTriangulation::isInPolygon(Triangles,Point); + if(!drawingOfPolygon && Area->getTypeOfImageRealLayer() == IntelliImage::ImageType::SHAPEDIMAGE && x > 0 && y > 0 && xgetWidthOfActive() && ygetHeightOfActive()) { + if(Area->getPolygonDataOfRealLayer().size()>2) { + std::vector Triangles = IntelliTriangulation::calculateTriangles(Area->getPolygonDataOfRealLayer()); + QPoint Point(x,y); + isInside = IntelliTriangulation::isInPolygon(Triangles,Point); + } + else{ + isInside = true; + } + if(isSettingPolygon) { + isInside = true; + } } - else if(!isDrawing && Area->getTypeOfImageRealLayer() == IntelliImage::ImageType::RASTERIMAGE && x > 0 && y > 0 && xgetWidthOfActive() && ygetHeightOfActive()) { + else if(!drawingOfPolygon && Area->getTypeOfImageRealLayer() == IntelliImage::ImageType::RASTERIMAGE && x >= 0 && y >= 0 && xgetWidthOfActive() && ygetHeightOfActive()) { isInside = true; } - if(isInside && !isDrawing) { + if(isInside && !drawingOfPolygon) { IntelliTool::onMouseLeftPressed(x,y); QPoint drawingPoint = QPoint(x,y); - isDrawing = true; + drawingOfPolygon = true; QPointList.push_back(drawingPoint); this->Canvas->image->drawPoint(QPointList.back(), colorPicker->getFirstColor(), Toolsettings->getLineWidth()); - this->Canvas->image->calculateVisiblity(); + if(!isSettingPolygon) { + this->Canvas->image->calculateVisiblity(); + } } - else if(isDrawing && isNearStart(x,y,QPointList.front())) { + else if(drawingOfPolygon && QPointList.size() > 0 && isNearStart(x,y,QPointList.front())) { if(QPointList.size() > 2) { isPointNearStart = true; this->Canvas->image->drawLine(QPointList.back(), QPointList.front(), colorPicker->getFirstColor(), Toolsettings->getLineWidth()); - this->Canvas->image->calculateVisiblity(); + if(!isSettingPolygon) { + this->Canvas->image->calculateVisiblity(); + } } else{ isInside = false; - isDrawing = false; + drawingOfPolygon = false; QPointList.clear(); IntelliTool::onMouseRightPressed(x,y); + IntelliTool::onMouseRightReleased(x,y); } } - else if(isDrawing) { + else if(drawingOfPolygon) { QPoint drawingPoint(x,y); QPointList.push_back(drawingPoint); this->Canvas->image->drawLine(QPointList[QPointList.size() - 2], QPointList[QPointList.size() - 1], colorPicker->getFirstColor(), Toolsettings->getLineWidth()); - this->Canvas->image->calculateVisiblity(); + if(!isSettingPolygon) { + this->Canvas->image->calculateVisiblity(); + } } } void IntelliToolPolygon::onMouseRightPressed(int x, int y){ + drawingOfPolygon = false; isInside = false; - isDrawing = false; isPointNearStart = false; QPointList.clear(); IntelliTool::onMouseRightPressed(x,y); @@ -72,25 +92,32 @@ void IntelliToolPolygon::onMouseLeftReleased(int x, int y){ if(isPointNearStart) { isInside = false; isPointNearStart = false; - isDrawing = false; - std::vector Triangles = IntelliTriangulation::calculateTriangles(QPointList); - QPoint Point; - QColor colorTwo(colorPicker->getSecondColor()); - colorTwo.setAlpha(Toolsettings->getInnerAlpha()); - for(int i = 0; i < activeLayer->width; i++) { - for(int j = 0; j < activeLayer->height; j++) { - Point = QPoint(i,j); - if(IntelliTriangulation::isInPolygon(Triangles,Point)) { - this->Canvas->image->drawPixel(Point, colorTwo); + drawingOfPolygon = false; + if(!isSettingPolygon) { + std::vector Triangles = IntelliTriangulation::calculateTriangles(QPointList); + QPoint Point; + QColor colorTwo(colorPicker->getSecondColor()); + colorTwo.setAlpha(Toolsettings->getInnerAlpha()); + for(int i = 0; i < activeLayer->width; i++) { + for(int j = 0; j < activeLayer->height; j++) { + Point = QPoint(i,j); + if(IntelliTriangulation::isInPolygon(Triangles,Point)) { + this->Canvas->image->drawPixel(Point, colorTwo); + } } } + for(int i = 0; i(QPointList.size()); i++) { + int next = static_cast((i + static_cast(1)) % static_cast(QPointList.size())); + this->Canvas->image->drawLine(QPointList[static_cast(i)], QPointList[static_cast(next)], colorPicker->getFirstColor(), Toolsettings->getLineWidth()); + } + } - for(int i=0; i(QPointList.size()); i++) { - int next = static_cast((i+static_cast(1))%static_cast(QPointList.size())); - this->Canvas->image->drawLine(QPointList[static_cast(i)], QPointList[static_cast(next)], colorPicker->getFirstColor(), Toolsettings->getLineWidth()); + else{ + Canvas->image->setPolygon(QPointList); + Canvas->image->setImageData(Area->getImageDataOfActiveLayer()); } - QPointList.clear(); IntelliTool::onMouseLeftReleased(x,y); + QPointList.clear(); } } @@ -99,28 +126,26 @@ void IntelliToolPolygon::onMouseRightReleased(int x, int y){ } void IntelliToolPolygon::onWheelScrolled(int value){ - IntelliTool::onWheelScrolled(value); - if(!isDrawing) { - Toolsettings->setLineWidth(Toolsettings->getLineWidth() + value); + if(!isSettingPolygon) { + IntelliTool::onWheelScrolled(value); + if(!isDrawing) { + Toolsettings->setLineWidth(Toolsettings->getLineWidth() + value); + } } } void IntelliToolPolygon::onMouseMoved(int x, int y){ - IntelliTool::onMouseMoved(x,y); + if(!isSettingPolygon) { + IntelliTool::onMouseMoved(x,y); + } } bool IntelliToolPolygon::isNearStart(int x, int y, QPoint Startpoint){ - bool isNear = false; int StartX = Startpoint.x(); int StartY = Startpoint.y(); int valueToNear = 5; - for(int i = StartX - valueToNear; i < StartX + valueToNear; i++) { - for(int j = StartY - valueToNear; j < StartY + valueToNear; j++) { - if((i == x) && (j == y)) { - isNear = true; - } - } - } - return isNear; + float euklid = sqrt(pow(static_cast(StartX-x),2.f)+pow(static_cast(StartY-y),2.f)); + + return static_cast(euklid) #include + +//for unit testing +class UnitTest; + /*! * \brief The IntelliToolPolygon managed the Drawing of Polygonforms */ class IntelliToolPolygon : public IntelliTool { + friend UnitTest; /*! * \brief Checks if the given Point lies near the starting Point. * \param x - x coordinate of a point. @@ -20,15 +25,20 @@ class IntelliToolPolygon : public IntelliTool bool isNearStart(int x, int y, QPoint Startpoint); /*! - * \brief IsDrawing true while drawing, else false. + * \brief drawingOfPolygon true while drawing, else false. */ -bool isDrawing; +bool drawingOfPolygon; /*! * \brief isInside Checks if Point is inside Image */ bool isInside; +/*! + * \brief isSettingPolygon is the flag for calling the setPolygon method. + */ +bool isSettingPolygon; + /*! * \brief PointIsNearStart true, when last click near startpoint, else false. */ @@ -43,8 +53,9 @@ public: * \brief A constructor setting the general paintingArea and colorPicker. * \param Area - The general paintingArea used by the project. * \param colorPicker - The general colorPicker used by the project. + * \param isSettingPolygon - The flag for the set polygon method, standart is false */ -IntelliToolPolygon(PaintingArea* Area, IntelliColorPicker* colorPicker, IntelliToolsettings* Toolsettings); +IntelliToolPolygon(PaintingArea* Area, IntelliColorPicker* colorPicker, IntelliToolsettings* Toolsettings, bool isSettingPolygon = false); /*! * \brief A Destructor. */ @@ -91,7 +102,6 @@ virtual void onWheelScrolled(int value) override; */ virtual void onMouseMoved(int x, int y) override; - }; -#endif // INTELLITOOLPOLYGON_H +#endif diff --git a/src/Tool/IntelliToolRectangle.cpp b/src/Tool/IntelliToolRectangle.cpp index 29fa038..924ed6c 100644 --- a/src/Tool/IntelliToolRectangle.cpp +++ b/src/Tool/IntelliToolRectangle.cpp @@ -20,7 +20,7 @@ void IntelliToolRectangle::drawRectangle(QPoint otherCorner){ QColor clr = colorPicker->getSecondColor(); clr.setAlpha(Toolsettings->getInnerAlpha()); - for(int y=yMin; y<=yMax; y++) { + for(int y = yMin; y<=yMax; y++) { this->Canvas->image->drawLine(QPoint(xMin,y), QPoint(xMax, y), clr, 1); } this->Canvas->image->drawLine(QPoint(xMin, yMin),QPoint(xMin, yMax), this->colorPicker->getFirstColor(), Toolsettings->getLineWidth()); @@ -39,7 +39,7 @@ void IntelliToolRectangle::onMouseRightReleased(int x, int y){ void IntelliToolRectangle::onMouseLeftPressed(int x, int y){ IntelliTool::onMouseLeftPressed(x,y); - this->originCorner=QPoint(x,y); + this->originCorner = QPoint(x,y); drawRectangle(originCorner); Canvas->image->calculateVisiblity(); } @@ -59,5 +59,5 @@ void IntelliToolRectangle::onMouseMoved(int x, int y){ void IntelliToolRectangle::onWheelScrolled(int value){ IntelliTool::onWheelScrolled(value); - Toolsettings->setLineWidth(Toolsettings->getLineWidth()+value); + Toolsettings->setLineWidth(Toolsettings->getLineWidth() + value); } diff --git a/src/Tool/IntelliToolRectangle.h b/src/Tool/IntelliToolRectangle.h index 041e860..d39bef2 100644 --- a/src/Tool/IntelliToolRectangle.h +++ b/src/Tool/IntelliToolRectangle.h @@ -5,10 +5,15 @@ #include "QColor" #include "QPoint" + +//for unit testing +class UnitTest; + /*! * \brief The IntelliToolRectangle class represents a tool to draw a rectangle. */ class IntelliToolRectangle : public IntelliTool { + friend UnitTest; /*! * \brief A function that implements a rectagle drawing algorithm. * \param othercorner - The second corner point of the rectangle. @@ -73,4 +78,4 @@ virtual void onWheelScrolled(int value) override; virtual void onMouseMoved(int x, int y) override; }; -#endif // INTELLIRECTANGLETOOL_H +#endif diff --git a/src/mainUnitTest.cpp b/src/mainUnitTest.cpp new file mode 100644 index 0000000..4302e27 --- /dev/null +++ b/src/mainUnitTest.cpp @@ -0,0 +1,202 @@ +#include +// add necessary includes here +#include + +#include "GUI/IntelliPhotoGui.h" + + +class UnitTest : public QObject +{ + Q_OBJECT +private: + IntelliPhotoGui* gui; + PaintingArea* area; + QApplication* app; + +public: + UnitTest(); + ~UnitTest(); + +private slots: + void initTestCase(); + void cleanupTestCase(); + //void test_case1(); + + //test painting area + void test_addLayer(); + void test_deleteLayer(); + void test_setActive(); + void test_setAlpha(); + void test_floodFill(); + void test_moveActive(); + void test_setPolygon(); + void test_setLayerUp(); + void test_setLayerDown(); + + void test_createTools(); + + //test Raster-Image operations + void test_RasterImage_drawPixel(); + void test_RasterImage_drawLine(); + void test_RasterImage_drawPoint(); + void test_RasterImage_getDisplayable(); + void test_RasterImage_setPolygon(); + void test_RasterImage_loadImage(); + void test_RasterImage_getPixelColor(); + void test_RasterImage_getImageData(); + void test_RasterImage_setImageData(); + + //test Shaped-Image operations + void test_ShapedImage_drawPixel(); + void test_ShapedImage_drawLine(); + void test_ShapedImage_drawPoint(); + void test_ShapedImage_getDisplayable(); + void test_ShapedImage_setPolygon(); + void test_ShapedImage_loadImage(); + void test_ShapedImage_getPixelColor(); + void test_ShapedImage_getImageData(); + void test_ShapedImage_setImageData(); + + //test painting-area tools + void test_createTool_Circle(); + void test_createTool_FloodFill(); + void test_createTool_Line(); + void test_createTool_Pen(); + void test_createTool_Plain(); + void test_createTool_Polygon(); + void test_createTool_Rectangle(); + + //test tools + void test_Circle_fullDraw(); + void test_Circle_interruptedDraw(); + + void test_FloodFill_fullDraw(); + void test_FloodFill_interruptedDraw(); + + void test_Line_fullDraw(); + void test_Line_interruptedDraw(); + + void test_Pen_fullDraw(); + void test_Pen_interruptedDraw(); + + void test_Plain_fullDraw(); + void test_Plain_interruptedDraw(); + + void test_Polygon_fullDraw(); + void test_Polygon_interruptedDraw(); + + void test_Rectangle_fullDraw(); + void test_Rectangle_interruptedDraw(); + + //test Triangulation + void test_Triangulation_Coverage(); +}; + +UnitTest::UnitTest() +{ + char arg0[] = "programName"; + char arg1[] = "arg1"; + char arg2[] = "arg2"; + char *argv[] = {arg0, arg1, arg2, nullptr}; + int argc = sizeof(argv) / sizeof(char*) - 1; + + app = new QApplication(argc,argv); + gui = new IntelliPhotoGui(); + area = gui->paintingArea; +} + +UnitTest::~UnitTest() +{ + +} + +void UnitTest::initTestCase() +{ + +} + +void UnitTest::cleanupTestCase() +{ + delete gui; + delete app; +} + +//void UnitTest::test_case1() +//{ +// QBENCHMARK { +// QVERIFY(1 == 1); +// } +//} + +//test painting area +void UnitTest::test_addLayer(){} +void UnitTest::test_deleteLayer(){} +void UnitTest::test_setActive(){} +void UnitTest::test_setAlpha(){} +void UnitTest::test_floodFill(){} +void UnitTest::test_moveActive(){} +void UnitTest::test_setPolygon(){} +void UnitTest::test_setLayerUp(){} +void UnitTest::test_setLayerDown(){} + +void UnitTest::test_createTools(){} + +//test Raster-Image operations +void UnitTest::test_RasterImage_drawPixel(){} +void UnitTest::test_RasterImage_drawLine(){} +void UnitTest::test_RasterImage_drawPoint(){} +void UnitTest::test_RasterImage_getDisplayable(){} +void UnitTest::test_RasterImage_setPolygon(){} +void UnitTest::test_RasterImage_loadImage(){} +void UnitTest::test_RasterImage_getPixelColor(){} +void UnitTest::test_RasterImage_getImageData(){} +void UnitTest::test_RasterImage_setImageData(){} + +//test Shaped-Image operations +void UnitTest::test_ShapedImage_drawPixel(){} +void UnitTest::test_ShapedImage_drawLine(){} +void UnitTest::test_ShapedImage_drawPoint(){} +void UnitTest::test_ShapedImage_getDisplayable(){} +void UnitTest::test_ShapedImage_setPolygon(){} +void UnitTest::test_ShapedImage_loadImage(){} +void UnitTest::test_ShapedImage_getPixelColor(){} +void UnitTest::test_ShapedImage_getImageData(){} +void UnitTest::test_ShapedImage_setImageData(){} + +//test painting-area tools +void UnitTest::test_createTool_Circle(){} +void UnitTest::test_createTool_FloodFill(){} +void UnitTest::test_createTool_Line(){} +void UnitTest::test_createTool_Pen(){} +void UnitTest::test_createTool_Plain(){} +void UnitTest::test_createTool_Polygon(){} +void UnitTest::test_createTool_Rectangle(){} + +//test tools +void UnitTest::test_Circle_fullDraw(){} +void UnitTest::test_Circle_interruptedDraw(){} + +void UnitTest::test_FloodFill_fullDraw(){} +void UnitTest::test_FloodFill_interruptedDraw(){} + +void UnitTest::test_Line_fullDraw(){} +void UnitTest::test_Line_interruptedDraw(){} + +void UnitTest::test_Pen_fullDraw(){} +void UnitTest::test_Pen_interruptedDraw(){} + +void UnitTest::test_Plain_fullDraw(){} +void UnitTest::test_Plain_interruptedDraw(){} + +void UnitTest::test_Polygon_fullDraw(){} +void UnitTest::test_Polygon_interruptedDraw(){} + +void UnitTest::test_Rectangle_fullDraw(){} +void UnitTest::test_Rectangle_interruptedDraw(){} + +//test Triangulation +void UnitTest::test_Triangulation_Coverage(){} + +QTEST_APPLESS_MAIN(UnitTest) + +#include "tst_unittest.moc" diff --git a/src/tst_unittest.cpp b/src/tst_unittest.cpp new file mode 100644 index 0000000..dc21b8a --- /dev/null +++ b/src/tst_unittest.cpp @@ -0,0 +1,1697 @@ +#include +#include +// add necessary includes here +#include "GUI/IntelliPhotoGui.h" +#include "Image/IntelliImage.h" +#include "Image/IntelliRasterImage.h" +#include "Image/IntelliShapedImage.h" +#include "IntelliHelper/IntelliColorPicker.h" +#include "IntelliHelper/IntelliRenderSettings.h" +#include "IntelliHelper/IntelliToolsettings.h" +#include "IntelliHelper/IntelliTriangulation.h" +#include "Layer/PaintingArea.h" +#include "Tool/IntelliTool.h" +#include "Tool/IntelliToolCircle.h" +#include "Tool/IntelliToolFloodFill.h" +#include "Tool/IntelliToolLine.h" +#include "Tool/IntelliToolPen.h" +#include "Tool/IntelliToolPlain.h" +#include "Tool/IntelliToolPolygon.h" +#include "Tool/IntelliToolRectangle.h" + +class UnitTest : public QObject +{ +Q_OBJECT +private: +IntelliPhotoGui* gui; +PaintingArea* area; + +public: +UnitTest(); +~UnitTest(); + +private slots: +void initTestCase(); +void cleanupTestCase(); +//void test_case1(); + +///Test here + + +//test painting area +void test_addLayer(); +void test_deleteLayer(); +void test_setActive(); +void test_setAlpha(); +void test_floodFill(); +void test_moveActive(); +void test_setPolygon(); +void test_setLayerUp(); +void test_setLayerDown(); + +void test_createTools(); + +//test Raster-Image operations +void test_RasterImage_drawPixel(); +void test_RasterImage_drawLine(); +void test_RasterImage_drawPoint(); +void test_RasterImage_getDisplayable(); +void test_RasterImage_getPixelColor(); +void test_RasterImage_getImageData(); +void test_RasterImage_setImageData(); + +//test Shaped-Image operations +void test_ShapedImage_drawPixel(); +void test_ShapedImage_drawLine(); +void test_ShapedImage_drawPoint(); +void test_ShapedImage_getDisplayable(); +void test_ShapedImage_getPixelColor(); +void test_ShapedImage_getImageData(); +void test_ShapedImage_setImageData(); + +//test tools +void test_Circle_fullDraw(); +void test_Circle_interruptedDraw(); + +void test_FloodFill_fullDraw(); +void test_FloodFill_interruptedDraw(); + +void test_Line_fullDraw(); +void test_Line_interruptedDraw(); + +void test_Pen_fullDraw(); +void test_Pen_interruptedDraw(); + +void test_Plain_fullDraw(); +void test_Plain_interruptedDraw(); + +void test_Polygon_fullDraw(); +void test_Polygon_interruptedDraw(); + +void test_Rectangle_fullDraw(); +void test_Rectangle_interruptedDraw(); + +//test Triangulation +void test_Triangulation_Coverage(); + + +///Benchmark here + +//bench painting area +void bench_addLayer(); +void bench_deleteLayer(); +void bench_setActive(); +void bench_setAlpha(); +void bench_floodFill(); +void bench_moveActive(); +void bench_setPolygon(); +void bench_setLayerUp(); +void bench_setLayerDown(); + +void bench_createTools(); + +//bench Raster-Image operations +void bench_RasterImage_drawPixel(); +void bench_RasterImage_drawLine(); +void bench_RasterImage_drawPoint(); +void bench_RasterImage_getDisplayable(); +void bench_RasterImage_getPixelColor(); +void bench_RasterImage_getImageData(); +void bench_RasterImage_setImageData(); + +//bench Shaped-Image operations +void bench_ShapedImage_drawPixel(); +void bench_ShapedImage_drawLine(); +void bench_ShapedImage_drawPoint(); +void bench_ShapedImage_getDisplayable(); +void bench_ShapedImage_getPixelColor(); +void bench_ShapedImage_getImageData(); +void bench_ShapedImage_setImageData(); + +//bench tools +void bench_Circle_fullDraw(); +void bench_Circle_interruptedDraw(); + +void bench_FloodFill_fullDraw(); +void bench_FloodFill_interruptedDraw(); + +void bench_Line_fullDraw(); +void bench_Line_interruptedDraw(); + +void bench_Pen_fullDraw(); +void bench_Pen_interruptedDraw(); + +void bench_Plain_fullDraw(); +void bench_Plain_interruptedDraw(); + +void bench_Polygon_fullDraw(); +void bench_Polygon_interruptedDraw(); + +void bench_Rectangle_fullDraw(); +void bench_Rectangle_interruptedDraw(); + +//bench Triangulation +void bench_Triangulation_Coverage(); +}; + +UnitTest::UnitTest() +{ + gui = new IntelliPhotoGui(); + area = gui->paintingArea; +} + +UnitTest::~UnitTest() +{ + +} + +void UnitTest::initTestCase() +{ + +} + +void UnitTest::cleanupTestCase() +{ + +} + +//test painting area +void UnitTest::test_addLayer(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE); + + QCOMPARE(area->layerBundle.size(), 1); + QCOMPARE(area->activeLayer, 0); + + QCOMPARE(area->layerBundle[static_cast(area->activeLayer)].width, 200); + QCOMPARE(area->layerBundle[static_cast(area->activeLayer)].widthOffset, 10); + + QCOMPARE(area->layerBundle[static_cast(area->activeLayer)].height, 200); + QCOMPARE(area->layerBundle[static_cast(area->activeLayer)].heightOffset, 20); + + area->deleteLayer(0); +} + +void UnitTest::test_deleteLayer(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE); + area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE); + + area->deleteLayer(3); + QCOMPARE(area->layerBundle.size(), 2); + QCOMPARE(area->activeLayer, 1); + + area->deleteLayer(-1); + QCOMPARE(area->layerBundle.size(), 2); + QCOMPARE(area->activeLayer, 1); + + area->deleteLayer(1); + QCOMPARE(area->layerBundle.size(), 1); + QCOMPARE(area->activeLayer, 0); + + area->deleteLayer(0); + QCOMPARE(area->layerBundle.size(), 0); + QCOMPARE(area->activeLayer, -1); + +} + +void UnitTest::test_setActive(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE); + area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE); + + area->setLayerActive(0); + QCOMPARE(area->activeLayer, 0); + area->setLayerActive(1); + QCOMPARE(area->activeLayer, 1); + area->setLayerActive(-1); + QCOMPARE(area->activeLayer, 1); + area->setLayerActive(3); + QCOMPARE(area->activeLayer, 1); + + area->deleteLayer(0); + area->deleteLayer(0); +} + +void UnitTest::test_setAlpha(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE); + area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE); + + area->setLayerAlpha(0,0); + QCOMPARE(area->layerBundle[0].alpha, 0); + + area->setLayerAlpha(0,255); + QCOMPARE(area->layerBundle[0].alpha, 255); + + area->setLayerAlpha(1,123); + QCOMPARE(area->layerBundle[1].alpha, 123); + + area->setLayerAlpha(1,-12); + QCOMPARE(area->layerBundle[1].alpha, 123); + + area->setLayerAlpha(1,300); + QCOMPARE(area->layerBundle[1].alpha, 123); + + area->deleteLayer(1); + area->deleteLayer(0); +} + +void UnitTest::test_floodFill(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE); + + area->layerBundle[0].image->drawPlain(QColor(255, 255, 255, 255)); + QPoint point; + for(size_t i = 0; i<200; i++) { + point.setX(static_cast(i)); + for(size_t j = 0; i<200; i++) { + point.setY(static_cast(j)); + QVERIFY(area->layerBundle[static_cast(area->activeLayer)].image->getPixelColor(point)==QColor(255,255,255,255)); + } + } + + area->layerBundle[0].image->drawPlain(QColor(0, 0, 0, 0)); + for(size_t i = 0; i<200; i++) { + point.setX(static_cast(i)); + for(size_t j = 0; i<200; i++) { + point.setY(static_cast(j)); + QVERIFY(area->layerBundle[static_cast(area->activeLayer)].image->getPixelColor(point)==QColor(0,0,0,0)); + } + } + + area->deleteLayer(0); +} + +void UnitTest::test_moveActive(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE); + area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE); + + area->layerBundle[1].image->drawPlain(QColor(0, 0, 0, 255)); + QPoint point(0,0); + + area->moveActiveLayer(-1); + QCOMPARE(area->activeLayer, 0); + QVERIFY(area->layerBundle[static_cast(area->activeLayer)].image->getPixelColor(point)==QColor(0,0,0,255)); + + area->moveActiveLayer(-1); + QCOMPARE(area->activeLayer, 0); + QVERIFY(area->layerBundle[static_cast(area->activeLayer)].image->getPixelColor(point)==QColor(0,0,0,255)); + + area->moveActiveLayer(1); + QCOMPARE(area->activeLayer, 1); + QVERIFY(area->layerBundle[static_cast(area->activeLayer)].image->getPixelColor(point)==QColor(0,0,0,255)); + + area->moveActiveLayer(1); + QCOMPARE(area->activeLayer, 1); + QVERIFY(area->layerBundle[static_cast(area->activeLayer)].image->getPixelColor(point)==QColor(0,0,0,255)); + + area->deleteLayer(1); + area->deleteLayer(0); +} + +void UnitTest::test_setPolygon(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE); + + std::vector polygon{ + QPoint(10,00), + QPoint(00,10), + QPoint(10,10), + QPoint(00,10) + }; + + area->layerBundle[1].image->setPolygon(polygon); + IntelliShapedImage* image = dynamic_cast(area->layerBundle[1].image); + QCOMPARE(image->polygonData[0], polygon[0]); + QCOMPARE(image->polygonData[1], polygon[1]); + QCOMPARE(image->polygonData[2], polygon[2]); + QCOMPARE(image->polygonData[3], polygon[3]); + + area->deleteLayer(1); + area->deleteLayer(0); +} + +void UnitTest::test_setLayerUp(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE); + + area->selectLayerUp(); + QCOMPARE(area->activeLayer, 1); + + area->setLayerActive(0); + QCOMPARE(area->activeLayer, 0); + + area->selectLayerUp(); + QCOMPARE(area->activeLayer, 1); + + area->deleteLayer(1); + area->deleteLayer(0); +} + +void UnitTest::test_setLayerDown(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE); + + area->selectLayerDown(); + QCOMPARE(area->activeLayer, 0); + + area->selectLayerDown(); + QCOMPARE(area->activeLayer, 0); + + area->deleteLayer(1); + area->deleteLayer(0); + +} + +void UnitTest::test_createTools(){ + QVERIFY(area->Tool == nullptr); + + area->createPenTool(); + QVERIFY(dynamic_cast(area->Tool) != nullptr); + + area->createLineTool(); + QVERIFY(dynamic_cast(area->Tool) != nullptr); + + area->createPlainTool(); + QVERIFY(dynamic_cast(area->Tool) != nullptr); + + area->createCircleTool(); + QVERIFY(dynamic_cast(area->Tool) != nullptr); + + area->createPolygonTool(); + QVERIFY(dynamic_cast(area->Tool) != nullptr); + + area->createFloodFillTool(); + QVERIFY(dynamic_cast(area->Tool) != nullptr); + + area->createRectangleTool(); + QVERIFY(dynamic_cast(area->Tool) != nullptr); +} + +//test Raster-Image operations +void UnitTest::test_RasterImage_drawPixel(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + + QPoint point(0,0); + + area->layerBundle[0].image->drawPlain(QColor(255, 255, 255, 255)); + area->layerBundle[0].image->drawPixel(point, QColor(0,0,0,255)); + + QVERIFY(area->layerBundle[0].image->getPixelColor(point) == QColor(0,0,0,255)); + + area->deleteLayer(0); +} + +void UnitTest::test_RasterImage_drawLine(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + + QPoint point1(0,0); + QPoint point2(10,10); + QPoint point3(5,5); + QPoint point4(6,5); + + area->layerBundle[0].image->drawPlain(QColor(255, 255, 255, 255)); + area->layerBundle[0].image->drawLine(point1, point2, QColor(0,0,0,255),1); + QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==QColor(0,0,0,255)); + QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==QColor(0,0,0,255)); + QVERIFY(area->layerBundle[0].image->getPixelColor(point3)==QColor(0,0,0,255)); + QVERIFY(area->layerBundle[0].image->getPixelColor(point4)==QColor(255,255,255,255)); + + area->layerBundle[0].image->drawPlain(QColor(255, 255, 255, 255)); + area->layerBundle[0].image->drawLine(point1, point2, QColor(0,0,0,255),3); + QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==QColor(0,0,0,255)); + QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==QColor(0,0,0,255)); + QVERIFY(area->layerBundle[0].image->getPixelColor(point3)==QColor(0,0,0,255)); + QVERIFY(area->layerBundle[0].image->getPixelColor(point4)==QColor(0,0,0,255)); + + area->deleteLayer(0); +} + +void UnitTest::test_RasterImage_drawPoint(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + + QPoint point1(5,5); + QPoint point2(5,6); + + area->layerBundle[0].image->drawPlain(QColor(255, 255, 255, 255)); + area->layerBundle[0].image->drawPoint(point1, QColor(0,0,0,255),1); + QVERIFY(area->layerBundle[0].image->getPixelColor(point1) == QColor(0,0,0,255)); + QVERIFY(area->layerBundle[0].image->getPixelColor(point2) == QColor(255,255,255,255)); + + + area->layerBundle[0].image->drawPlain(QColor(255, 255, 255, 255)); + area->layerBundle[0].image->drawPoint(point1, QColor(0,0,0,255),5); + QVERIFY(area->layerBundle[0].image->getPixelColor(point1) == QColor(0,0,0,255)); + QVERIFY(area->layerBundle[0].image->getPixelColor(point2) == QColor(0,0,0,255)); + + area->deleteLayer(0); +} + +void UnitTest::test_RasterImage_getDisplayable(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + + area->layerBundle[0].image->drawPlain(QColor(255, 255, 255, 255)); + QImage img = area->layerBundle[0].image->getDisplayable(QSize(200,200),255); + QPoint point; + for(size_t i=0; i<200; i++) { + point.setX(static_cast(i)); + for(size_t j=0; j<200; j++) { + point.setY(static_cast(j)); + QVERIFY(img.pixelColor(point) == QColor(255,255,255,255)); + } + } + + area->deleteLayer(0); +} + +void UnitTest::test_RasterImage_getPixelColor(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + + QPoint point(0,0); + area->layerBundle[0].image->drawPlain(QColor(0, 0, 0, 255)); + QVERIFY(area->layerBundle[0].image->getPixelColor(point)==QColor(0,0,0,255)); + + area->deleteLayer(0); +} + +void UnitTest::test_RasterImage_getImageData(){ + area->addLayer(2,2,10,20,IntelliImage::ImageType::RASTERIMAGE); + + QImage img(2,2, QImage::Format_ARGB32); + img.setPixelColor(0,0, Qt::red); + img.setPixelColor(0,1, Qt::yellow); + img.setPixelColor(1,0, Qt::blue); + img.setPixelColor(1,1, Qt::green); + + area->layerBundle[0].image->setImageData(img); + img = img.convertToFormat(QImage::Format_Indexed8); + QImage cpy = area->layerBundle[0].image->getImageData(); + + QPoint point1(0,0); + QPoint point2(0,1); + QPoint point3(1,0); + QPoint point4(1,1); + QVERIFY(cpy.pixelColor(point1) == img.pixelColor(point1)); + QVERIFY(cpy.pixelColor(point2) == img.pixelColor(point2)); + QVERIFY(cpy.pixelColor(point3) == img.pixelColor(point3)); + QVERIFY(cpy.pixelColor(point4) == img.pixelColor(point4)); + + area->deleteLayer(0); +} + +void UnitTest::test_RasterImage_setImageData(){ + area->addLayer(2,2,10,20,IntelliImage::ImageType::RASTERIMAGE); + + QImage img(2,2, QImage::Format_ARGB32); + img.setPixelColor(0,0, Qt::red); + img.setPixelColor(0,1, Qt::yellow); + img.setPixelColor(1,0, Qt::blue); + img.setPixelColor(1,1, Qt::green); + + area->layerBundle[0].image->setImageData(img); + img = img.convertToFormat(QImage::Format_Indexed8); + + QPoint point1(0,0); + QPoint point2(0,1); + QPoint point3(1,0); + QPoint point4(1,1); + QVERIFY(area->layerBundle[0].image->getPixelColor(point1) == img.pixelColor(point1)); + QVERIFY(area->layerBundle[0].image->getPixelColor(point2) == img.pixelColor(point2)); + QVERIFY(area->layerBundle[0].image->getPixelColor(point3) == img.pixelColor(point3)); + QVERIFY(area->layerBundle[0].image->getPixelColor(point4) == img.pixelColor(point4)); + + area->deleteLayer(0); +} + +//test Shaped-Image operations +void UnitTest::test_ShapedImage_drawPixel(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + + QPoint point(0,0); + + area->layerBundle[0].image->drawPlain(QColor(255, 255, 255, 255)); + area->layerBundle[0].image->drawPixel(point, QColor(0,0,0,255)); + + QVERIFY(area->layerBundle[0].image->getPixelColor(point) == QColor(0,0,0,255)); + + area->deleteLayer(0); +} + +void UnitTest::test_ShapedImage_drawLine(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + + QPoint point1(0,0); + QPoint point2(10,10); + QPoint point3(5,5); + QPoint point4(6,5); + + area->layerBundle[0].image->drawPlain(QColor(255, 255, 255, 255)); + area->layerBundle[0].image->drawLine(point1, point2, QColor(0,0,0,255),1); + QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==QColor(0,0,0,255)); + QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==QColor(0,0,0,255)); + QVERIFY(area->layerBundle[0].image->getPixelColor(point3)==QColor(0,0,0,255)); + QVERIFY(area->layerBundle[0].image->getPixelColor(point4)==QColor(255,255,255,255)); + + area->layerBundle[0].image->drawPlain(QColor(255, 255, 255, 255)); + area->layerBundle[0].image->drawLine(point1, point2, QColor(0,0,0,255),3); + QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==QColor(0,0,0,255)); + QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==QColor(0,0,0,255)); + QVERIFY(area->layerBundle[0].image->getPixelColor(point3)==QColor(0,0,0,255)); + QVERIFY(area->layerBundle[0].image->getPixelColor(point4)==QColor(0,0,0,255)); + + area->deleteLayer(0); +} + +void UnitTest::test_ShapedImage_drawPoint(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + + QPoint point1(5,5); + QPoint point2(5,6); + + area->layerBundle[0].image->drawPlain(QColor(255, 255, 255, 255)); + area->layerBundle[0].image->drawPoint(point1, QColor(0,0,0,255),1); + QVERIFY(area->layerBundle[0].image->getPixelColor(point1) == QColor(0,0,0,255)); + QVERIFY(area->layerBundle[0].image->getPixelColor(point2) == QColor(255,255,255,255)); + + + area->layerBundle[0].image->drawPlain(QColor(255, 255, 255, 255)); + area->layerBundle[0].image->drawPoint(point1, QColor(0,0,0,255),5); + QVERIFY(area->layerBundle[0].image->getPixelColor(point1) == QColor(0,0,0,255)); + QVERIFY(area->layerBundle[0].image->getPixelColor(point2) == QColor(0,0,0,255)); + + area->deleteLayer(0); +} + +void UnitTest::test_ShapedImage_getDisplayable(){ + area->addLayer(21,21,10,20,IntelliImage::ImageType::SHAPEDIMAGE); + std::vector points{ + QPoint(10,00), + QPoint(00,10), + QPoint(10,20), + QPoint(20,10) + }; + + std::vector test{ + QPoint(00,00), + QPoint(00,20), + QPoint(20,00), + QPoint(20,20), + QPoint(10,10) + }; + area->layerBundle[0].image->drawPlain(QColor(255, 255, 255, 255)); + area->layerBundle[0].image->setPolygon(points); + QSize size(21,21); + QImage img = area->layerBundle[0].image->getDisplayable(size,255); + + QCOMPARE(img.pixelColor(points[0]).alpha(), 255); + QCOMPARE(img.pixelColor(points[1]).alpha(), 255); + QCOMPARE(img.pixelColor(points[2]).alpha(), 255); + QCOMPARE(img.pixelColor(points[3]).alpha(), 255); + + QCOMPARE(img.pixelColor(test[4]).alpha(), 255); + QCOMPARE(img.pixelColor(test[0]).alpha(), 0); + QCOMPARE(img.pixelColor(test[1]).alpha(), 0); + QCOMPARE(img.pixelColor(test[2]).alpha(), 0); + QCOMPARE(img.pixelColor(test[3]).alpha(), 0); + + area->deleteLayer(0); +} + +void UnitTest::test_ShapedImage_getPixelColor(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + + QPoint point(0,0); + area->layerBundle[0].image->drawPlain(QColor(0, 0, 0, 255)); + QVERIFY(area->layerBundle[0].image->getPixelColor(point)==QColor(0,0,0,255)); + + area->deleteLayer(0); +} + +void UnitTest::test_ShapedImage_getImageData(){ + area->addLayer(2,2,10,20,IntelliImage::ImageType::RASTERIMAGE); + + QImage img(2,2, QImage::Format_ARGB32); + img.setPixelColor(0,0, Qt::red); + img.setPixelColor(0,1, Qt::yellow); + img.setPixelColor(1,0, Qt::blue); + img.setPixelColor(1,1, Qt::green); + + area->layerBundle[0].image->setImageData(img); + img = img.convertToFormat(QImage::Format_Indexed8); + QImage cpy = area->layerBundle[0].image->getImageData(); + + QPoint point1(0,0); + QPoint point2(0,1); + QPoint point3(1,0); + QPoint point4(1,1); + QVERIFY(cpy.pixelColor(point1) == img.pixelColor(point1)); + QVERIFY(cpy.pixelColor(point2) == img.pixelColor(point2)); + QVERIFY(cpy.pixelColor(point3) == img.pixelColor(point3)); + QVERIFY(cpy.pixelColor(point4) == img.pixelColor(point4)); + + area->deleteLayer(0); +} + +void UnitTest::test_ShapedImage_setImageData(){ + area->addLayer(2,2,10,20,IntelliImage::ImageType::RASTERIMAGE); + + QImage img(2,2, QImage::Format_ARGB32); + img.setPixelColor(0,0, Qt::red); + img.setPixelColor(0,1, Qt::yellow); + img.setPixelColor(1,0, Qt::blue); + img.setPixelColor(1,1, Qt::green); + + area->layerBundle[0].image->setImageData(img); + img = img.convertToFormat(QImage::Format_Indexed8); + + QPoint point1(0,0); + QPoint point2(0,1); + QPoint point3(1,0); + QPoint point4(1,1); + QVERIFY(area->layerBundle[0].image->getPixelColor(point1) == img.pixelColor(point1)); + QVERIFY(area->layerBundle[0].image->getPixelColor(point2) == img.pixelColor(point2)); + QVERIFY(area->layerBundle[0].image->getPixelColor(point3) == img.pixelColor(point3)); + QVERIFY(area->layerBundle[0].image->getPixelColor(point4) == img.pixelColor(point4)); + + area->deleteLayer(0); +} + +//test tools +void UnitTest::test_Circle_fullDraw(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + area->colorPicker.setFirstColor(QColor(255,255,255,255)); + area->colorPicker.setSecondColor(QColor(0,0,0,255)); + area->createCircleTool(); + area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255)); + + QPoint point1(100,100); + QPoint point2(150,100); + area->Tool->onMouseLeftPressed(point1.x(), point1.y()); + area->Tool->onMouseMoved(point2.x(), point2.y()); + area->Tool->onMouseLeftReleased(point2.x(), point2.y()); + + + QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==area->colorPicker.getSecondColor()); + QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==area->colorPicker.getFirstColor()); + + area->deleteLayer(0); +} + +void UnitTest::test_Circle_interruptedDraw(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + area->colorPicker.setFirstColor(QColor(255,255,255,255)); + area->colorPicker.setSecondColor(QColor(0,0,0,255)); + area->createCircleTool(); + area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255)); + + QPoint point1(100,100); + QPoint point2(150,100); + area->Tool->onMouseLeftPressed(point1.x(), point1.y()); + area->Tool->onMouseMoved(point2.x(), point2.y()); + area->Tool->onMouseRightPressed(point2.x(), point2.y()); + area->Tool->onMouseRightReleased(point2.x(),point2.y()); + area->Tool->onMouseLeftReleased(point2.x(), point2.y()); + + + QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==QColor(255,0,0,255)); + QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==QColor(255,0,0,255)); + + area->deleteLayer(0); + +} + + +void UnitTest::test_FloodFill_fullDraw(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + area->colorPicker.setFirstColor(QColor(255,255,255,255)); + area->colorPicker.setSecondColor(QColor(0,0,0,255)); + area->createFloodFillTool(); + area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255)); + + QPoint point1(100,100); + QPoint point2(150,100); + area->Tool->onMouseLeftPressed(point1.x(), point1.y()); + area->Tool->onMouseMoved(point2.x(), point2.y()); + area->Tool->onMouseLeftReleased(point2.x(), point2.y()); + + + QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==area->colorPicker.getFirstColor()); + QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==area->colorPicker.getFirstColor()); + + area->deleteLayer(0); +} + +void UnitTest::test_FloodFill_interruptedDraw(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + area->colorPicker.setFirstColor(QColor(255,255,255,255)); + area->colorPicker.setSecondColor(QColor(0,0,0,255)); + area->createFloodFillTool(); + area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255)); + + QPoint point1(100,100); + QPoint point2(150,100); + area->Tool->onMouseLeftPressed(point1.x(), point1.y()); + area->Tool->onMouseMoved(point2.x(), point2.y()); + area->Tool->onMouseRightPressed(point2.x(), point2.y()); + area->Tool->onMouseRightReleased(point2.x(),point2.y()); + area->Tool->onMouseLeftReleased(point2.x(), point2.y()); + + + QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==QColor(255,0,0,255)); + QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==QColor(255,0,0,255)); + + area->deleteLayer(0); +} + + +void UnitTest::test_Line_fullDraw(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + area->colorPicker.setFirstColor(QColor(255,255,255,255)); + area->colorPicker.setSecondColor(QColor(0,0,0,255)); + area->createLineTool(); + area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255)); + + QPoint point1(100,100); + QPoint point2(150,100); + area->Tool->onMouseLeftPressed(point1.x(), point1.y()); + area->Tool->onMouseMoved(point2.x(), point2.y()); + area->Tool->onMouseLeftReleased(point2.x(), point2.y()); + + + QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==area->colorPicker.getFirstColor()); + QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==area->colorPicker.getFirstColor()); + + area->deleteLayer(0); +} + +void UnitTest::test_Line_interruptedDraw(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + area->colorPicker.setFirstColor(QColor(255,255,255,255)); + area->colorPicker.setSecondColor(QColor(0,0,0,255)); + area->createLineTool(); + area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255)); + + QPoint point1(100,100); + QPoint point2(150,100); + area->Tool->onMouseLeftPressed(point1.x(), point1.y()); + area->Tool->onMouseMoved(point2.x(), point2.y()); + area->Tool->onMouseRightPressed(point2.x(), point2.y()); + area->Tool->onMouseRightReleased(point2.x(),point2.y()); + area->Tool->onMouseLeftReleased(point2.x(), point2.y()); + + + QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==QColor(255,0,0,255)); + QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==QColor(255,0,0,255)); + + area->deleteLayer(0); +} + +void UnitTest::test_Pen_fullDraw(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + area->colorPicker.setFirstColor(QColor(255,255,255,255)); + area->colorPicker.setSecondColor(QColor(0,0,0,255)); + area->createPenTool(); + area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255)); + + QPoint point1(100,100); + QPoint point2(150,100); + area->Tool->onMouseLeftPressed(point1.x(), point1.y()); + area->Tool->onMouseMoved(point2.x(), point2.y()); + area->Tool->onMouseLeftReleased(point2.x(), point2.y()); + + + QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==area->colorPicker.getFirstColor()); + QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==area->colorPicker.getFirstColor()); + + area->deleteLayer(0); +} + +void UnitTest::test_Pen_interruptedDraw(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + area->colorPicker.setFirstColor(QColor(255,255,255,255)); + area->colorPicker.setSecondColor(QColor(0,0,0,255)); + area->createPenTool(); + area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255)); + + QPoint point1(100,100); + QPoint point2(150,100); + area->Tool->onMouseLeftPressed(point1.x(), point1.y()); + area->Tool->onMouseMoved(point2.x(), point2.y()); + area->Tool->onMouseRightPressed(point2.x(), point2.y()); + area->Tool->onMouseRightReleased(point2.x(),point2.y()); + area->Tool->onMouseLeftReleased(point2.x(), point2.y()); + + + QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==QColor(255,0,0,255)); + QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==QColor(255,0,0,255)); + + area->deleteLayer(0); +} + +void UnitTest::test_Plain_fullDraw(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + area->colorPicker.setFirstColor(QColor(255,255,255,255)); + area->colorPicker.setSecondColor(QColor(0,0,0,255)); + area->createPlainTool(); + area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255)); + + QPoint point1(100,100); + QPoint point2(150,100); + area->Tool->onMouseLeftPressed(point1.x(), point1.y()); + area->Tool->onMouseMoved(point2.x(), point2.y()); + area->Tool->onMouseLeftReleased(point2.x(), point2.y()); + + + QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==area->colorPicker.getFirstColor()); + QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==area->colorPicker.getFirstColor()); + + area->deleteLayer(0); +} + +void UnitTest::test_Plain_interruptedDraw(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + area->colorPicker.setFirstColor(QColor(255,255,255,255)); + area->colorPicker.setSecondColor(QColor(0,0,0,255)); + area->createPlainTool(); + area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255)); + + QPoint point1(100,100); + QPoint point2(150,100); + area->Tool->onMouseLeftPressed(point1.x(), point1.y()); + area->Tool->onMouseMoved(point2.x(), point2.y()); + area->Tool->onMouseRightPressed(point2.x(), point2.y()); + area->Tool->onMouseRightReleased(point2.x(),point2.y()); + area->Tool->onMouseLeftReleased(point2.x(), point2.y()); + + + QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==QColor(255,0,0,255)); + QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==QColor(255,0,0,255)); + + area->deleteLayer(0); +} + +void UnitTest::test_Polygon_fullDraw(){ + area->addLayer(21,21,10,20,IntelliImage::ImageType::RASTERIMAGE); + std::vector points{ + QPoint(10,00), + QPoint(00,10), + QPoint(10,20), + QPoint(20,10) + }; + + std::vector test{ + QPoint(00,00), + QPoint(00,20), + QPoint(20,00), + QPoint(20,20), + QPoint(10,10) + }; + + area->colorPicker.setFirstColor(QColor(255,255,255,255)); + area->colorPicker.setSecondColor(QColor(0,0,0,255)); + area->createPolygonTool(); + area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255)); + + area->Tool->onMouseLeftPressed(points[0].x(), points[0].y()); + area->Tool->onMouseLeftReleased(points[0].x(), points[0].y()); + area->Tool->onMouseMoved(points[1].x(), points[1].y()); + + area->Tool->onMouseLeftPressed(points[1].x(), points[1].y()); + area->Tool->onMouseLeftReleased(points[1].x(), points[1].y()); + area->Tool->onMouseMoved(points[2].x(), points[2].y()); + + area->Tool->onMouseLeftPressed(points[2].x(), points[2].y()); + area->Tool->onMouseLeftReleased(points[2].x(), points[2].y()); + area->Tool->onMouseMoved(points[3].x(), points[3].y()); + + area->Tool->onMouseLeftPressed(points[3].x(), points[3].y()); + area->Tool->onMouseLeftReleased(points[3].x(), points[3].y()); + area->Tool->onMouseMoved(points[0].x(), points[0].y()); + + area->Tool->onMouseLeftPressed(points[0].x(), points[0].y()); + area->Tool->onMouseLeftReleased(points[0].x(), points[0].y()); + + QVERIFY(area->layerBundle[0].image->getPixelColor(points[0])==area->colorPicker.getFirstColor()); + QVERIFY(area->layerBundle[0].image->getPixelColor(points[1])==area->colorPicker.getFirstColor()); + QVERIFY(area->layerBundle[0].image->getPixelColor(points[2])==area->colorPicker.getFirstColor()); + QVERIFY(area->layerBundle[0].image->getPixelColor(points[3])==area->colorPicker.getFirstColor()); + + + QVERIFY(area->layerBundle[0].image->getPixelColor(test[4])==area->colorPicker.getSecondColor()); + QVERIFY(area->layerBundle[0].image->getPixelColor(test[0])==QColor(255,0,0,255)); + QVERIFY(area->layerBundle[0].image->getPixelColor(test[1])==QColor(255,0,0,255)); + QVERIFY(area->layerBundle[0].image->getPixelColor(test[2])==QColor(255,0,0,255)); + QVERIFY(area->layerBundle[0].image->getPixelColor(test[3])==QColor(255,0,0,255)); + + area->deleteLayer(0); +} + + +void UnitTest::test_Polygon_interruptedDraw(){ + area->addLayer(201,201,10,20,IntelliImage::ImageType::RASTERIMAGE); + std::vector points{ + QPoint(100,000), + QPoint(000,100), + QPoint(100,200), + QPoint(200,100) + }; + + std::vector test{ + QPoint(000,000), + QPoint(000,200), + QPoint(200,000), + QPoint(200,200), + QPoint(100,100) + }; + + area->colorPicker.setFirstColor(QColor(255,255,255,255)); + area->colorPicker.setSecondColor(QColor(0,0,0,255)); + area->createPolygonTool(); + area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255)); + + area->Tool->onMouseLeftPressed(points[0].x(), points[0].y()); + area->Tool->onMouseLeftReleased(points[0].x(), points[0].y()); + area->Tool->onMouseMoved(points[1].x(), points[1].y()); + + area->Tool->onMouseLeftPressed(points[1].x(), points[1].y()); + area->Tool->onMouseLeftReleased(points[1].x(), points[1].y()); + area->Tool->onMouseMoved(points[2].x(), points[2].y()); + + area->Tool->onMouseLeftPressed(points[2].x(), points[2].y()); + area->Tool->onMouseLeftReleased(points[2].x(), points[2].y()); + area->Tool->onMouseMoved(points[3].x(), points[3].y()); + + area->Tool->onMouseLeftPressed(points[3].x(), points[3].y()); + area->Tool->onMouseLeftReleased(points[3].x(), points[3].y()); + + area->Tool->onMouseRightPressed(points[0].x(), points[0].y()); + area->Tool->onMouseRightReleased(points[0].x(), points[0].y()); + + + QVERIFY(area->layerBundle[0].image->getPixelColor(points[0])==QColor(255,0,0,255)); + QVERIFY(area->layerBundle[0].image->getPixelColor(points[1])==QColor(255,0,0,255)); + QVERIFY(area->layerBundle[0].image->getPixelColor(points[2])==QColor(255,0,0,255)); + QVERIFY(area->layerBundle[0].image->getPixelColor(points[3])==QColor(255,0,0,255)); + + QVERIFY(area->layerBundle[0].image->getPixelColor(test[4])==QColor(255,0,0,255)); + QVERIFY(area->layerBundle[0].image->getPixelColor(test[0])==QColor(255,0,0,255)); + QVERIFY(area->layerBundle[0].image->getPixelColor(test[1])==QColor(255,0,0,255)); + QVERIFY(area->layerBundle[0].image->getPixelColor(test[2])==QColor(255,0,0,255)); + QVERIFY(area->layerBundle[0].image->getPixelColor(test[3])==QColor(255,0,0,255)); + + area->deleteLayer(0); +} + + +void UnitTest::test_Rectangle_fullDraw(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + area->colorPicker.setFirstColor(QColor(255,255,255,255)); + area->colorPicker.setSecondColor(QColor(0,0,0,255)); + area->createRectangleTool(); + area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255)); + + QPoint point1(100,100); + QPoint point2(150,150); + QPoint point3(125,125); + area->Tool->onMouseLeftPressed(point1.x(), point1.y()); + area->Tool->onMouseMoved(point2.x(), point2.y()); + area->Tool->onMouseLeftReleased(point2.x(), point2.y()); + + + QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==area->colorPicker.getFirstColor()); + QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==area->colorPicker.getFirstColor()); + QVERIFY(area->layerBundle[0].image->getPixelColor(point3)==area->colorPicker.getSecondColor()); + + area->deleteLayer(0); +} + +void UnitTest::test_Rectangle_interruptedDraw(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + area->colorPicker.setFirstColor(QColor(255,255,255,255)); + area->colorPicker.setSecondColor(QColor(0,0,0,255)); + area->createRectangleTool(); + area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255)); + + QPoint point1(100,100); + QPoint point2(150,150); + QPoint point3(125,125); + area->Tool->onMouseLeftPressed(point1.x(), point1.y()); + area->Tool->onMouseMoved(point2.x(), point2.y()); + area->Tool->onMouseRightPressed(point2.x(), point2.y()); + area->Tool->onMouseRightReleased(point2.x(),point2.y()); + area->Tool->onMouseLeftReleased(point2.x(), point2.y()); + + QVERIFY(area->layerBundle[0].image->getPixelColor(point1)==QColor(255,0,0,255)); + QVERIFY(area->layerBundle[0].image->getPixelColor(point2)==QColor(255,0,0,255)); + QVERIFY(area->layerBundle[0].image->getPixelColor(point3)==QColor(255,0,0,255)); + + area->deleteLayer(0); +} + + +//test Triangulation +void UnitTest::test_Triangulation_Coverage(){ + std::vector points{ + QPoint(10,00), + QPoint(00,10), + QPoint(10,20), + QPoint(20,10) + }; + std::vector test{ + QPoint(00,00), + QPoint(00,20), + QPoint(20,00), + QPoint(20,20), + QPoint(10,10) + }; + std::vector tria = IntelliTriangulation::calculateTriangles(points); + QCOMPARE(IntelliTriangulation::isInPolygon(tria, points[0]), true); + QCOMPARE(IntelliTriangulation::isInPolygon(tria, points[1]), true); + QCOMPARE(IntelliTriangulation::isInPolygon(tria, points[2]), true); + QCOMPARE(IntelliTriangulation::isInPolygon(tria, points[3]), true); + + QCOMPARE(IntelliTriangulation::isInPolygon(tria, test[4]), true); + QCOMPARE(IntelliTriangulation::isInPolygon(tria, test[0]), false); + QCOMPARE(IntelliTriangulation::isInPolygon(tria, test[1]), false); + QCOMPARE(IntelliTriangulation::isInPolygon(tria, test[2]), false); + QCOMPARE(IntelliTriangulation::isInPolygon(tria, test[3]), false); +} + + +///Benchmarks here + +void UnitTest::bench_addLayer(){ + QBENCHMARK{ + area->addLayer(200,200,0,0,IntelliImage::ImageType::RASTERIMAGE); + } + area->deleteLayer(0); +} + +void UnitTest::bench_deleteLayer(){ + area->addLayer(200,200,0,0,IntelliImage::ImageType::RASTERIMAGE); + QBENCHMARK{ + area->deleteLayer(0); + } +} + +void UnitTest::bench_setActive(){ + area->addLayer(200,200,0,0,IntelliImage::ImageType::RASTERIMAGE); + area->addLayer(200,200,0,0,IntelliImage::ImageType::RASTERIMAGE); + + QBENCHMARK{ + area->setLayerActive(0); + } + + area->deleteLayer(1); + area->deleteLayer(0); +} + +void UnitTest::bench_setAlpha(){ + area->addLayer(200,200,0,0,IntelliImage::ImageType::RASTERIMAGE); + + QBENCHMARK{ + area->setLayerAlpha(0,0); + } + + area->deleteLayer(0); +} + +void UnitTest::bench_floodFill(){ + area->addLayer(200,200,0,0,IntelliImage::ImageType::RASTERIMAGE); + + QBENCHMARK{ + area->layerBundle[0].image->drawPlain(QColor(255, 255, 255, 255)); + } + + area->deleteLayer(0); +} + +void UnitTest::bench_moveActive(){ + area->addLayer(200,200,0,0,IntelliImage::ImageType::RASTERIMAGE); + area->addLayer(200,200,0,0,IntelliImage::ImageType::RASTERIMAGE); + + area->setLayerActive(0); + QBENCHMARK{ + area->moveActiveLayer(1); + } + + area->deleteLayer(1); + area->deleteLayer(0); +} + +void UnitTest::bench_setPolygon(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE); + + std::vector polygon{ + QPoint(10,00), + QPoint(00,10), + QPoint(10,10), + QPoint(00,10) + }; + + QBENCHMARK{ + area->layerBundle[0].image->setPolygon(polygon); + } + + area->deleteLayer(0); +} + +void UnitTest::bench_setLayerUp(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + + area->setLayerActive(0); + QBENCHMARK{ + area->selectLayerUp(); + } + + area->deleteLayer(1); + area->deleteLayer(0); +} + +void UnitTest::bench_setLayerDown(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + + QBENCHMARK{ + area->selectLayerDown(); + } + + area->deleteLayer(1); + area->deleteLayer(0); +} + +void UnitTest::bench_createTools(){ + QBENCHMARK{ + area->createPenTool(); + } + + QBENCHMARK{ + area->createLineTool(); + } + + QBENCHMARK{ + area->createPlainTool(); + } + + QBENCHMARK{ + area->createCircleTool(); + } + + QBENCHMARK{ + area->createPolygonTool(); + } + + QBENCHMARK{ + area->createFloodFillTool(); + } + + QBENCHMARK{ + area->createRectangleTool(); + } +} + +void UnitTest::bench_RasterImage_drawPixel(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + + QPoint point(0,0); + + QBENCHMARK{ + area->layerBundle[0].image->drawPixel(point, QColor(0,0,0,255)); + } + + area->deleteLayer(0); +} + +void UnitTest::bench_RasterImage_drawLine(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + + QPoint point1(000,000); + QPoint point2(200,200); + + QBENCHMARK{ + area->layerBundle[0].image->drawLine(point1, point2, QColor(0,0,0,255), 1); + } + + area->deleteLayer(0); +} + +void UnitTest::bench_RasterImage_drawPoint(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + + QPoint point(000,000); + + QBENCHMARK{ + area->layerBundle[0].image->drawPoint(point, QColor(0,0,0,255), 1); + } + + area->deleteLayer(0); +} + +void UnitTest::bench_RasterImage_getDisplayable(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + + QBENCHMARK{ + area->layerBundle[0].image->getDisplayable(QSize(200,200),255); + } + + area->deleteLayer(0); +} + +void UnitTest::bench_RasterImage_getPixelColor(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + + QPoint point(000,000); + + QBENCHMARK{ + area->layerBundle[0].image->getPixelColor(point); + } + + area->deleteLayer(0); +} + +void UnitTest::bench_RasterImage_getImageData(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + + QBENCHMARK{ + area->layerBundle[0].image->getImageData(); + } + + area->deleteLayer(0); +} + +void UnitTest::bench_RasterImage_setImageData(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + + QImage img = area->layerBundle[0].image->getImageData(); + QBENCHMARK{ + area->layerBundle[0].image->setImageData(img); + } + + area->deleteLayer(0); +} + +void UnitTest::bench_ShapedImage_drawPixel(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE); + + QPoint point(0,0); + + QBENCHMARK{ + area->layerBundle[0].image->drawPixel(point, QColor(0,0,0,255)); + } + + area->deleteLayer(0); +} + +void UnitTest::bench_ShapedImage_drawLine(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE); + + QPoint point1(000,000); + QPoint point2(200,200); + + QBENCHMARK{ + area->layerBundle[0].image->drawLine(point1, point2, QColor(0,0,0,255), 1); + } + + area->deleteLayer(0); +} + +void UnitTest::bench_ShapedImage_drawPoint(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE); + + QPoint point(000,000); + + QBENCHMARK{ + area->layerBundle[0].image->drawPoint(point, QColor(0,0,0,255), 1); + } + + area->deleteLayer(0); +} + +void UnitTest::bench_ShapedImage_getDisplayable(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE); + + QBENCHMARK{ + area->layerBundle[0].image->getDisplayable(QSize(200,200),255); + } + + area->deleteLayer(0); +} + +void UnitTest::bench_ShapedImage_getPixelColor(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE); + + QPoint point(000,000); + + QBENCHMARK{ + area->layerBundle[0].image->getPixelColor(point); + } + + area->deleteLayer(0); +} + +void UnitTest::bench_ShapedImage_getImageData(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE); + + QBENCHMARK{ + area->layerBundle[0].image->getImageData(); + } + + area->deleteLayer(0); +} + +void UnitTest::bench_ShapedImage_setImageData(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::SHAPEDIMAGE); + + QImage img = area->layerBundle[0].image->getImageData(); + QBENCHMARK{ + area->layerBundle[0].image->setImageData(img); + } + + area->deleteLayer(0); +} + +void UnitTest::bench_Circle_fullDraw(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + area->colorPicker.setFirstColor(QColor(255,255,255,255)); + area->colorPicker.setSecondColor(QColor(0,0,0,255)); + area->createCircleTool(); + area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255)); + + QPoint point1(100,100); + QPoint point2(150,100); + QBENCHMARK{ + area->Tool->onMouseLeftPressed(point1.x(), point1.y()); + area->Tool->onMouseMoved(point2.x(), point2.y()); + area->Tool->onMouseLeftReleased(point2.x(), point2.y()); + } + + area->deleteLayer(0); +} + +void UnitTest::bench_Circle_interruptedDraw(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + area->colorPicker.setFirstColor(QColor(255,255,255,255)); + area->colorPicker.setSecondColor(QColor(0,0,0,255)); + area->createCircleTool(); + area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255)); + + QPoint point1(100,100); + QPoint point2(150,100); + QBENCHMARK{ + area->Tool->onMouseLeftPressed(point1.x(), point1.y()); + area->Tool->onMouseMoved(point2.x(), point2.y()); + area->Tool->onMouseRightPressed(point2.x(), point2.y()); + area->Tool->onMouseRightReleased(point2.x(),point2.y()); + area->Tool->onMouseLeftReleased(point2.x(), point2.y()); + } + + area->deleteLayer(0); +} + + +void UnitTest::bench_FloodFill_fullDraw(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + area->colorPicker.setFirstColor(QColor(255,255,255,255)); + area->colorPicker.setSecondColor(QColor(0,0,0,255)); + area->createFloodFillTool(); + area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255)); + + QPoint point1(100,100); + QPoint point2(150,100); + QBENCHMARK{ + area->Tool->onMouseLeftPressed(point1.x(), point1.y()); + area->Tool->onMouseMoved(point2.x(), point2.y()); + area->Tool->onMouseLeftReleased(point2.x(), point2.y()); + } + + area->deleteLayer(0); +} + +void UnitTest::bench_FloodFill_interruptedDraw(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + area->colorPicker.setFirstColor(QColor(255,255,255,255)); + area->colorPicker.setSecondColor(QColor(0,0,0,255)); + area->createFloodFillTool(); + area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255)); + + QPoint point1(100,100); + QPoint point2(150,100); + QBENCHMARK{ + area->Tool->onMouseLeftPressed(point1.x(), point1.y()); + area->Tool->onMouseMoved(point2.x(), point2.y()); + area->Tool->onMouseRightPressed(point2.x(), point2.y()); + area->Tool->onMouseRightReleased(point2.x(),point2.y()); + area->Tool->onMouseLeftReleased(point2.x(), point2.y()); + } + + area->deleteLayer(0); +} + + +void UnitTest::bench_Line_fullDraw(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + area->colorPicker.setFirstColor(QColor(255,255,255,255)); + area->colorPicker.setSecondColor(QColor(0,0,0,255)); + area->createLineTool(); + area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255)); + + QPoint point1(100,100); + QPoint point2(150,100); + QBENCHMARK{ + area->Tool->onMouseLeftPressed(point1.x(), point1.y()); + area->Tool->onMouseMoved(point2.x(), point2.y()); + area->Tool->onMouseLeftReleased(point2.x(), point2.y()); + } + + area->deleteLayer(0); +} + +void UnitTest::bench_Line_interruptedDraw(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + area->colorPicker.setFirstColor(QColor(255,255,255,255)); + area->colorPicker.setSecondColor(QColor(0,0,0,255)); + area->createLineTool(); + area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255)); + + QPoint point1(100,100); + QPoint point2(150,100); + + QBENCHMARK{ + area->Tool->onMouseLeftPressed(point1.x(), point1.y()); + area->Tool->onMouseMoved(point2.x(), point2.y()); + area->Tool->onMouseRightPressed(point2.x(), point2.y()); + area->Tool->onMouseRightReleased(point2.x(),point2.y()); + area->Tool->onMouseLeftReleased(point2.x(), point2.y()); + } + + area->deleteLayer(0); +} + +void UnitTest::bench_Pen_fullDraw(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + area->colorPicker.setFirstColor(QColor(255,255,255,255)); + area->colorPicker.setSecondColor(QColor(0,0,0,255)); + area->createPenTool(); + area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255)); + + QPoint point1(100,100); + QPoint point2(150,100); + QBENCHMARK{ + area->Tool->onMouseLeftPressed(point1.x(), point1.y()); + area->Tool->onMouseMoved(point2.x(), point2.y()); + area->Tool->onMouseLeftReleased(point2.x(), point2.y()); + } + + area->deleteLayer(0); +} + +void UnitTest::bench_Pen_interruptedDraw(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + area->colorPicker.setFirstColor(QColor(255,255,255,255)); + area->colorPicker.setSecondColor(QColor(0,0,0,255)); + area->createPenTool(); + area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255)); + + QPoint point1(100,100); + QPoint point2(150,100); + QBENCHMARK{ + area->Tool->onMouseLeftPressed(point1.x(), point1.y()); + area->Tool->onMouseMoved(point2.x(), point2.y()); + area->Tool->onMouseRightPressed(point2.x(), point2.y()); + area->Tool->onMouseRightReleased(point2.x(),point2.y()); + area->Tool->onMouseLeftReleased(point2.x(), point2.y()); + } + + area->deleteLayer(0); +} + +void UnitTest::bench_Plain_fullDraw(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + area->colorPicker.setFirstColor(QColor(255,255,255,255)); + area->colorPicker.setSecondColor(QColor(0,0,0,255)); + area->createPlainTool(); + area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255)); + + QPoint point1(100,100); + QPoint point2(150,100); + QBENCHMARK{ + area->Tool->onMouseLeftPressed(point1.x(), point1.y()); + area->Tool->onMouseMoved(point2.x(), point2.y()); + area->Tool->onMouseLeftReleased(point2.x(), point2.y()); + } + + area->deleteLayer(0); +} + +void UnitTest::bench_Plain_interruptedDraw(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + area->colorPicker.setFirstColor(QColor(255,255,255,255)); + area->colorPicker.setSecondColor(QColor(0,0,0,255)); + area->createPlainTool(); + area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255)); + + QPoint point1(100,100); + QPoint point2(150,100); + QBENCHMARK{ + area->Tool->onMouseLeftPressed(point1.x(), point1.y()); + area->Tool->onMouseMoved(point2.x(), point2.y()); + area->Tool->onMouseRightPressed(point2.x(), point2.y()); + area->Tool->onMouseRightReleased(point2.x(),point2.y()); + area->Tool->onMouseLeftReleased(point2.x(), point2.y()); + } + + area->deleteLayer(0); +} + +void UnitTest::bench_Polygon_fullDraw(){ + area->addLayer(21,21,10,20,IntelliImage::ImageType::RASTERIMAGE); + std::vector points{ + QPoint(10,00), + QPoint(00,10), + QPoint(10,20), + QPoint(20,10) + }; + + area->colorPicker.setFirstColor(QColor(255,255,255,255)); + area->colorPicker.setSecondColor(QColor(0,0,0,255)); + area->createPolygonTool(); + area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255)); + + QBENCHMARK{ + area->Tool->onMouseLeftPressed(points[0].x(), points[0].y()); + area->Tool->onMouseLeftReleased(points[0].x(), points[0].y()); + area->Tool->onMouseMoved(points[1].x(), points[1].y()); + + area->Tool->onMouseLeftPressed(points[1].x(), points[1].y()); + area->Tool->onMouseLeftReleased(points[1].x(), points[1].y()); + area->Tool->onMouseMoved(points[2].x(), points[2].y()); + + area->Tool->onMouseLeftPressed(points[2].x(), points[2].y()); + area->Tool->onMouseLeftReleased(points[2].x(), points[2].y()); + area->Tool->onMouseMoved(points[3].x(), points[3].y()); + + area->Tool->onMouseLeftPressed(points[3].x(), points[3].y()); + area->Tool->onMouseLeftReleased(points[3].x(), points[3].y()); + area->Tool->onMouseMoved(points[0].x(), points[0].y()); + + area->Tool->onMouseLeftPressed(points[0].x(), points[0].y()); + area->Tool->onMouseLeftReleased(points[0].x(), points[0].y()); + } + + area->deleteLayer(0); +} + + +void UnitTest::bench_Polygon_interruptedDraw(){ + area->addLayer(201,201,10,20,IntelliImage::ImageType::RASTERIMAGE); + std::vector points{ + QPoint(100,000) + }; + + + area->colorPicker.setFirstColor(QColor(255,255,255,255)); + area->colorPicker.setSecondColor(QColor(0,0,0,255)); + area->createPolygonTool(); + area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255)); + + QBENCHMARK{ + area->Tool->onMouseLeftPressed(points[0].x(), points[0].y()); + area->Tool->onMouseLeftReleased(points[0].x(), points[0].y()); + + area->Tool->onMouseRightPressed(points[0].x(), points[0].y()); + area->Tool->onMouseRightReleased(points[0].x(), points[0].y()); + } + + area->deleteLayer(0); +} + + +void UnitTest::bench_Rectangle_fullDraw(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + area->colorPicker.setFirstColor(QColor(255,255,255,255)); + area->colorPicker.setSecondColor(QColor(0,0,0,255)); + area->createRectangleTool(); + area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255)); + + QPoint point1(100,100); + QPoint point2(150,150); + + QBENCHMARK{ + area->Tool->onMouseLeftPressed(point1.x(), point1.y()); + area->Tool->onMouseMoved(point2.x(), point2.y()); + area->Tool->onMouseLeftReleased(point2.x(), point2.y()); + } + + area->deleteLayer(0); +} + +void UnitTest::bench_Rectangle_interruptedDraw(){ + area->addLayer(200,200,10,20,IntelliImage::ImageType::RASTERIMAGE); + area->colorPicker.setFirstColor(QColor(255,255,255,255)); + area->colorPicker.setSecondColor(QColor(0,0,0,255)); + area->createRectangleTool(); + area->layerBundle[0].image->drawPlain(QColor(255, 0, 0, 255)); + + QPoint point1(100,100); + QPoint point2(150,150); + QBENCHMARK{ + area->Tool->onMouseLeftPressed(point1.x(), point1.y()); + area->Tool->onMouseMoved(point2.x(), point2.y()); + area->Tool->onMouseRightPressed(point2.x(), point2.y()); + area->Tool->onMouseRightReleased(point2.x(),point2.y()); + area->Tool->onMouseLeftReleased(point2.x(), point2.y()); + } + + area->deleteLayer(0); +} + + +void UnitTest::bench_Triangulation_Coverage(){ + std::vector points{ + QPoint(10,00), + QPoint(00,10), + QPoint(10,20), + QPoint(20,10) + }; + std::vector test{ + QPoint(00,00), + QPoint(00,20), + QPoint(20,00), + QPoint(20,20), + QPoint(10,10) + }; + + QBENCHMARK{ + std::vector tria = IntelliTriangulation::calculateTriangles(points); + QPoint point; + for(int i=0; i<200; i++) { + point.setX(i); + for(int j=0; j<200; j++) { + point.setY(j); + IntelliTriangulation::isInPolygon(tria, point); + } + } + } +} + + +QTEST_MAIN(UnitTest) + +#include "tst_unittest.moc"