diff --git a/.gitignore b/.gitignore index f4c35fb..6c15b5a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ # Build folders -src/build-*/ +build-*/ # QT Creator Files *.creator.user* @@ -13,6 +13,7 @@ CMakeLists.txt.user* /share/qtcreator/fonts/ /share/qtcreator/generic-highlighter/ /share/qtcreator/qmldesigner/QtProject/ +/build-*/ app_version.h phony.c diff --git a/README.md b/README.md index 69598fe..6968d42 100644 --- a/README.md +++ b/README.md @@ -7,16 +7,17 @@ For the user manual see `docs/manual.pdf` - `src` - Source Code - `docs` - Documentation of the source code and user manual - `Examples` - Temporary folder for example pictures -- `Abgabe` - Files that were submitted +- `Abgabe` - Files that were submitted prior to the development start -## Pesentations +## Presentations -- 0.3 https://prezi.com/view/M593VBJhmfwQzuqt3t6f/ +- since `0.3`: https://prezi.com/view/M593VBJhmfwQzuqt3t6f/ ## Branching - `master` branch: current state of the program, pull requests only by maintainers or developers - `dev` branch: state of development for next week, will be merged every Thursday, pushable for maintainers, pull requests for everyone - `dev-X` branches: feature development branches which will be merged into dev, when tested +- `hotfix-X` branches: braches to fix small but important bugs, will be merged into master and dev -Every Thursday dev and master will be merged and tagged with the current version. +On Thursday the development state (`dev`) will be merged into master and tagged with the current version. diff --git a/conf/uncrustify.cfg b/conf/uncrustify.cfg new file mode 100644 index 0000000..9d843ca --- /dev/null +++ b/conf/uncrustify.cfg @@ -0,0 +1,2986 @@ +# Uncrustify-0.70.1 + +# +# General options +# + +# The type of line endings. +# +# Default: auto +newlines = auto # lf/crlf/cr/auto + +# The original size of tabs in the input. +# +# Default: 8 +input_tab_size = 4 # unsigned number + +# The size of tabs in the output (only used if align_with_tabs=true). +# +# Default: 8 +output_tab_size = 4 # unsigned number + +# The ASCII value of the string escape char, usually 92 (\) or (Pawn) 94 (^). +# +# Default: 92 +string_escape_char = 92 # unsigned number + +# Alternate string escape char (usually only used for Pawn). +# Only works right before the quote char. +string_escape_char2 = 0 # unsigned number + +# Replace tab characters found in string literals with the escape sequence \t +# instead. +string_replace_tab_chars = true # true/false + +# Allow interpreting '>=' and '>>=' as part of a template in code like +# 'void f(list>=val);'. If true, 'assert(x<0 && y>=3)' will be broken. +# Improvements to template detection may make this option obsolete. +tok_split_gte = false # true/false + +# Specify the marker used in comments to disable processing of part of the +# file. +# +# Default: *INDENT-OFF* +disable_processing_cmt = " *INDENT-OFF*" # string + +# Specify the marker used in comments to (re)enable processing in a file. +# +# Default: *INDENT-ON* +enable_processing_cmt = " *INDENT-ON*" # string + +# Enable parsing of digraphs. +enable_digraphs = false # true/false + +# Add or remove the UTF-8 BOM (recommend 'remove'). +utf8_bom = ignore # ignore/add/remove/force + +# If the file contains bytes with values between 128 and 255, but is not +# UTF-8, then output as UTF-8. +utf8_byte = false # true/false + +# Force the output encoding to UTF-8. +utf8_force = false # true/false + +# Add or remove space between 'do' and '{'. +sp_do_brace_open = ignore # ignore/add/remove/force + +# Add or remove space between '}' and 'while'. +sp_brace_close_while = ignore # ignore/add/remove/force + +# Add or remove space between 'while' and '('. +sp_while_paren_open = ignore # ignore/add/remove/force + +# +# Spacing options +# + +# Add or remove space around non-assignment symbolic operators ('+', '/', '%', +# '<<', and so forth). +sp_arith = ignore # ignore/add/remove/force + +# Add or remove space around arithmetic operators '+' and '-'. +# +# Overrides sp_arith. +sp_arith_additive = ignore # ignore/add/remove/force + +# Add or remove space around assignment operator '=', '+=', etc. +sp_assign = ignore # 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 + +# 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 + +# 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 + +# 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 + +# 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 + +# 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 + +# Add or remove space before assignment operator '=', '+=', etc. +# +# Overrides sp_assign. +sp_before_assign = ignore # ignore/add/remove/force + +# Add or remove space after assignment operator '=', '+=', etc. +# +# Overrides sp_assign. +sp_after_assign = ignore # ignore/add/remove/force + +# Add or remove space in 'NS_ENUM ('. +sp_enum_paren = ignore # ignore/add/remove/force + +# Add or remove space around assignment '=' in enum. +sp_enum_assign = ignore # 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 + +# Add or remove space after assignment '=' in enum. +# +# Overrides sp_enum_assign. +sp_enum_after_assign = ignore # ignore/add/remove/force + +# Add or remove space around assignment ':' in enum. +sp_enum_colon = ignore # ignore/add/remove/force + +# Add or remove space around preprocessor '##' concatenation operator. +# +# Default: add +sp_pp_concat = add # ignore/add/remove/force + +# Add or remove space after preprocessor '#' stringify operator. +# Also affects the '#@' charizing operator. +sp_pp_stringify = ignore # ignore/add/remove/force + +# Add or remove space before preprocessor '#' stringify operator +# as in '#define x(y) L#y'. +sp_before_pp_stringify = ignore # ignore/add/remove/force + +# Add or remove space around boolean operators '&&' and '||'. +sp_bool = ignore # ignore/add/remove/force + +# Add or remove space around compare operator '<', '>', '==', etc. +sp_compare = ignore # ignore/add/remove/force + +# Add or remove space inside '(' and ')'. +sp_inside_paren = ignore # ignore/add/remove/force + +# Add or remove space between nested parentheses, i.e. '((' vs. ') )'. +sp_paren_paren = ignore # ignore/add/remove/force + +# Add or remove space between back-to-back parentheses, i.e. ')(' vs. ') ('. +sp_cparen_oparen = ignore # ignore/add/remove/force + +# Whether to balance spaces inside nested parentheses. +sp_balance_nested_parens = false # true/false + +# Add or remove space between ')' and '{'. +sp_paren_brace = add # ignore/add/remove/force + +# Add or remove space between nested braces, i.e. '{{' vs '{ {'. +sp_brace_brace = remove # ignore/add/remove/force + +# Add or remove space before pointer star '*'. +sp_before_ptr_star = remove # ignore/add/remove/force + +# Add or remove space before pointer star '*' that isn't followed by a +# variable name. If set to ignore, sp_before_ptr_star is used instead. +sp_before_unnamed_ptr_star = ignore # ignore/add/remove/force + +# Add or remove space between pointer stars '*'. +sp_between_ptr_star = ignore # ignore/add/remove/force + +# Add or remove space after pointer star '*', if followed by a word. +# +# Overrides sp_type_func. +sp_after_ptr_star = ignore # ignore/add/remove/force + +# Add or remove space after pointer caret '^', if followed by a word. +sp_after_ptr_block_caret = ignore # ignore/add/remove/force + +# Add or remove space after pointer star '*', if followed by a qualifier. +sp_after_ptr_star_qualifier = ignore # ignore/add/remove/force + +# Add or remove space after a pointer star '*', if followed by a function +# prototype or function definition. +# +# Overrides sp_after_ptr_star and sp_type_func. +sp_after_ptr_star_func = ignore # ignore/add/remove/force + +# Add or remove space after a pointer star '*', if followed by an open +# parenthesis, as in 'void* (*)(). +sp_ptr_star_paren = ignore # ignore/add/remove/force + +# Add or remove space before a pointer star '*', if followed by a function +# prototype or function definition. +sp_before_ptr_star_func = ignore # ignore/add/remove/force + +# Add or remove space before a reference sign '&'. +sp_before_byref = ignore # ignore/add/remove/force + +# Add or remove space before a reference sign '&' that isn't followed by a +# variable name. If set to ignore, sp_before_byref is used instead. +sp_before_unnamed_byref = ignore # ignore/add/remove/force + +# Add or remove space after reference sign '&', if followed by a word. +# +# Overrides sp_type_func. +sp_after_byref = ignore # ignore/add/remove/force + +# Add or remove space after a reference sign '&', if followed by a function +# prototype or function definition. +# +# Overrides sp_after_byref and sp_type_func. +sp_after_byref_func = ignore # ignore/add/remove/force + +# Add or remove space before a reference sign '&', if followed by a function +# prototype or function definition. +sp_before_byref_func = ignore # ignore/add/remove/force + +# Add or remove space between type and word. +# +# Default: force +sp_after_type = force # ignore/add/remove/force + +# Add or remove space between 'decltype(...)' and word. +sp_after_decltype = ignore # ignore/add/remove/force + +# (D) Add or remove space before the parenthesis in the D constructs +# 'template Foo(' and 'class Foo('. +sp_before_template_paren = ignore # ignore/add/remove/force + +# Add or remove space between 'template' and '<'. +# If set to ignore, sp_before_angle is used. +sp_template_angle = ignore # ignore/add/remove/force + +# Add or remove space before '<'. +sp_before_angle = ignore # ignore/add/remove/force + +# Add or remove space inside '<' and '>'. +sp_inside_angle = ignore # ignore/add/remove/force + +# Add or remove space inside '<>'. +sp_inside_angle_empty = ignore # ignore/add/remove/force + +# Add or remove space between '>' and ':'. +sp_angle_colon = ignore # ignore/add/remove/force + +# Add or remove space after '>'. +sp_after_angle = ignore # ignore/add/remove/force + +# Add or remove space between '>' and '(' as found in 'new List(foo);'. +sp_angle_paren = ignore # ignore/add/remove/force + +# Add or remove space between '>' and '()' as found in 'new List();'. +sp_angle_paren_empty = ignore # ignore/add/remove/force + +# Add or remove space between '>' and a word as in 'List m;' or +# 'template static ...'. +sp_angle_word = ignore # ignore/add/remove/force + +# Add or remove space between '>' and '>' in '>>' (template stuff). +# +# Default: add +sp_angle_shift = add # ignore/add/remove/force + +# (C++11) Permit removal of the space between '>>' in 'foo >'. Note +# that sp_angle_shift cannot remove the space without this option. +sp_permit_cpp11_shift = false # true/false + +# Add or remove space before '(' of control statements ('if', 'for', 'switch', +# 'while', etc.). +sp_before_sparen = ignore # ignore/add/remove/force + +# Add or remove space inside '(' and ')' of control statements. +sp_inside_sparen = ignore # ignore/add/remove/force + +# Add or remove space after '(' of control statements. +# +# Overrides sp_inside_sparen. +sp_inside_sparen_open = ignore # ignore/add/remove/force + +# Add or remove space before ')' of control statements. +# +# Overrides sp_inside_sparen. +sp_inside_sparen_close = ignore # ignore/add/remove/force + +# Add or remove space after ')' of control statements. +sp_after_sparen = ignore # ignore/add/remove/force + +# Add or remove space between ')' and '{' of of control statements. +sp_sparen_brace = ignore # ignore/add/remove/force + +# (D) Add or remove space between 'invariant' and '('. +sp_invariant_paren = ignore # ignore/add/remove/force + +# (D) Add or remove space after the ')' in 'invariant (C) c'. +sp_after_invariant_paren = ignore # ignore/add/remove/force + +# Add or remove space before empty statement ';' on 'if', 'for' and 'while'. +sp_special_semi = ignore # ignore/add/remove/force + +# Add or remove space before ';'. +# +# Default: remove +sp_before_semi = remove # ignore/add/remove/force + +# Add or remove space before ';' in non-empty 'for' statements. +sp_before_semi_for = ignore # ignore/add/remove/force + +# Add or remove space before a semicolon of an empty part of a for statement. +sp_before_semi_for_empty = ignore # ignore/add/remove/force + +# Add or remove space after ';', except when followed by a comment. +# +# Default: add +sp_after_semi = add # ignore/add/remove/force + +# Add or remove space after ';' in non-empty 'for' statements. +# +# Default: force +sp_after_semi_for = force # ignore/add/remove/force + +# Add or remove space after the final semicolon of an empty part of a for +# statement, as in 'for ( ; ; )'. +sp_after_semi_for_empty = ignore # ignore/add/remove/force + +# Add or remove space before '[' (except '[]'). +sp_before_square = ignore # ignore/add/remove/force + +# Add or remove space before '[' for a variable definition. +# +# Default: remove +sp_before_vardef_square = remove # ignore/add/remove/force + +# Add or remove space before '[' for asm block. +sp_before_square_asm_block = ignore # ignore/add/remove/force + +# Add or remove space before '[]'. +sp_before_squares = ignore # ignore/add/remove/force + +# Add or remove space before C++17 structured bindings. +sp_cpp_before_struct_binding = ignore # ignore/add/remove/force + +# Add or remove space inside a non-empty '[' and ']'. +sp_inside_square = ignore # ignore/add/remove/force + +# (OC) Add or remove space inside a non-empty Objective-C boxed array '@[' and +# ']'. If set to ignore, sp_inside_square is used. +sp_inside_square_oc_array = ignore # ignore/add/remove/force + +# Add or remove space after ',', i.e. 'a,b' vs. 'a, b'. +sp_after_comma = ignore # ignore/add/remove/force + +# Add or remove space before ','. +# +# Default: remove +sp_before_comma = remove # ignore/add/remove/force + +# (C#) Add or remove space between ',' and ']' in multidimensional array type +# like 'int[,,]'. +sp_after_mdatype_commas = ignore # ignore/add/remove/force + +# (C#) Add or remove space between '[' and ',' in multidimensional array type +# like 'int[,,]'. +sp_before_mdatype_commas = ignore # ignore/add/remove/force + +# (C#) Add or remove space between ',' in multidimensional array type +# like 'int[,,]'. +sp_between_mdatype_commas = ignore # ignore/add/remove/force + +# Add or remove space between an open parenthesis and comma, +# i.e. '(,' vs. '( ,'. +# +# Default: force +sp_paren_comma = force # ignore/add/remove/force + +# Add or remove space before the variadic '...' when preceded by a +# non-punctuator. +sp_before_ellipsis = ignore # ignore/add/remove/force + +# Add or remove space between a type and '...'. +sp_type_ellipsis = ignore # ignore/add/remove/force + +# (D) Add or remove space between a type and '?'. +sp_type_question = ignore # ignore/add/remove/force + +# Add or remove space between ')' and '...'. +sp_paren_ellipsis = ignore # ignore/add/remove/force + +# Add or remove space between ')' and a qualifier such as 'const'. +sp_paren_qualifier = ignore # ignore/add/remove/force + +# Add or remove space between ')' and 'noexcept'. +sp_paren_noexcept = ignore # ignore/add/remove/force + +# Add or remove space after class ':'. +sp_after_class_colon = ignore # ignore/add/remove/force + +# Add or remove space before class ':'. +sp_before_class_colon = ignore # ignore/add/remove/force + +# Add or remove space after class constructor ':'. +sp_after_constr_colon = ignore # ignore/add/remove/force + +# Add or remove space before class constructor ':'. +sp_before_constr_colon = ignore # ignore/add/remove/force + +# Add or remove space before case ':'. +# +# Default: remove +sp_before_case_colon = remove # ignore/add/remove/force + +# Add or remove space between 'operator' and operator sign. +sp_after_operator = ignore # ignore/add/remove/force + +# Add or remove space between the operator symbol and the open parenthesis, as +# in 'operator ++('. +sp_after_operator_sym = ignore # ignore/add/remove/force + +# Overrides sp_after_operator_sym when the operator has no arguments, as in +# 'operator *()'. +sp_after_operator_sym_empty = ignore # ignore/add/remove/force + +# Add or remove space after C/D cast, i.e. 'cast(int)a' vs. 'cast(int) a' or +# '(int)a' vs. '(int) a'. +sp_after_cast = ignore # ignore/add/remove/force + +# Add or remove spaces inside cast parentheses. +sp_inside_paren_cast = ignore # ignore/add/remove/force + +# Add or remove space between the type and open parenthesis in a C++ cast, +# i.e. 'int(exp)' vs. 'int (exp)'. +sp_cpp_cast_paren = ignore # ignore/add/remove/force + +# Add or remove space between 'sizeof' and '('. +sp_sizeof_paren = ignore # ignore/add/remove/force + +# Add or remove space between 'sizeof' and '...'. +sp_sizeof_ellipsis = ignore # ignore/add/remove/force + +# Add or remove space between 'sizeof...' and '('. +sp_sizeof_ellipsis_paren = ignore # ignore/add/remove/force + +# Add or remove space between 'decltype' and '('. +sp_decltype_paren = ignore # ignore/add/remove/force + +# (Pawn) Add or remove space after the tag keyword. +sp_after_tag = ignore # ignore/add/remove/force + +# Add or remove space inside enum '{' and '}'. +sp_inside_braces_enum = ignore # ignore/add/remove/force + +# Add or remove space inside struct/union '{' and '}'. +sp_inside_braces_struct = ignore # ignore/add/remove/force + +# (OC) Add or remove space inside Objective-C boxed dictionary '{' and '}' +sp_inside_braces_oc_dict = ignore # ignore/add/remove/force + +# Add or remove space after open brace in an unnamed temporary +# direct-list-initialization. +sp_after_type_brace_init_lst_open = ignore # ignore/add/remove/force + +# Add or remove space before close brace in an unnamed temporary +# direct-list-initialization. +sp_before_type_brace_init_lst_close = ignore # ignore/add/remove/force + +# Add or remove space inside an unnamed temporary direct-list-initialization. +sp_inside_type_brace_init_lst = ignore # ignore/add/remove/force + +# Add or remove space inside '{' and '}'. +sp_inside_braces = ignore # ignore/add/remove/force + +# Add or remove space inside '{}'. +sp_inside_braces_empty = ignore # ignore/add/remove/force + +# Add or remove space around trailing return operator '->'. +sp_trailing_return = ignore # ignore/add/remove/force + +# Add or remove space between return type and function name. A minimum of 1 +# is forced except for pointer return types. +sp_type_func = ignore # ignore/add/remove/force + +# Add or remove space between type and open brace of an unnamed temporary +# direct-list-initialization. +sp_type_brace_init_lst = ignore # ignore/add/remove/force + +# Add or remove space between function name and '(' on function declaration. +sp_func_proto_paren = ignore # ignore/add/remove/force + +# Add or remove space between function name and '()' on function declaration +# without parameters. +sp_func_proto_paren_empty = ignore # ignore/add/remove/force + +# Add or remove space between function name and '(' with a typedef specifier. +sp_func_type_paren = ignore # ignore/add/remove/force + +# Add or remove space between alias name and '(' of a non-pointer function type typedef. +sp_func_def_paren = ignore # ignore/add/remove/force + +# Add or remove space between function name and '()' on function definition +# without parameters. +sp_func_def_paren_empty = ignore # ignore/add/remove/force + +# Add or remove space inside empty function '()'. +# Overrides sp_after_angle unless use_sp_after_angle_always is set to true. +sp_inside_fparens = ignore # ignore/add/remove/force + +# Add or remove space inside function '(' and ')'. +sp_inside_fparen = ignore # ignore/add/remove/force + +# Add or remove space inside the first parentheses in a function type, as in +# 'void (*x)(...)'. +sp_inside_tparen = ignore # ignore/add/remove/force + +# Add or remove space between the ')' and '(' in a function type, as in +# 'void (*x)(...)'. +sp_after_tparen_close = ignore # ignore/add/remove/force + +# Add or remove space between ']' and '(' when part of a function call. +sp_square_fparen = ignore # ignore/add/remove/force + +# Add or remove space between ')' and '{' of function. +sp_fparen_brace = ignore # ignore/add/remove/force + +# Add or remove space between ')' and '{' of s function call in object +# initialization. +# +# Overrides sp_fparen_brace. +sp_fparen_brace_initializer = ignore # ignore/add/remove/force + +# (Java) Add or remove space between ')' and '{{' of double brace initializer. +sp_fparen_dbrace = ignore # ignore/add/remove/force + +# Add or remove space between function name and '(' on function calls. +sp_func_call_paren = ignore # ignore/add/remove/force + +# Add or remove space between function name and '()' on function calls without +# parameters. If set to ignore (the default), sp_func_call_paren is used. +sp_func_call_paren_empty = ignore # ignore/add/remove/force + +# Add or remove space between the user function name and '(' on function +# calls. You need to set a keyword to be a user function in the config file, +# like: +# set func_call_user tr _ i18n +sp_func_call_user_paren = ignore # ignore/add/remove/force + +# Add or remove space inside user function '(' and ')'. +sp_func_call_user_inside_fparen = ignore # ignore/add/remove/force + +# Add or remove space between nested parentheses with user functions, +# i.e. '((' vs. '( ('. +sp_func_call_user_paren_paren = ignore # ignore/add/remove/force + +# Add or remove space between a constructor/destructor and the open +# parenthesis. +sp_func_class_paren = ignore # ignore/add/remove/force + +# Add or remove space between a constructor without parameters or destructor +# and '()'. +sp_func_class_paren_empty = ignore # ignore/add/remove/force + +# Add or remove space between 'return' and '('. +sp_return_paren = ignore # ignore/add/remove/force + +# Add or remove space between 'return' and '{'. +sp_return_brace = ignore # ignore/add/remove/force + +# Add or remove space between '__attribute__' and '('. +sp_attribute_paren = ignore # ignore/add/remove/force + +# Add or remove space between 'defined' and '(' in '#if defined (FOO)'. +sp_defined_paren = ignore # ignore/add/remove/force + +# Add or remove space between 'throw' and '(' in 'throw (something)'. +sp_throw_paren = ignore # ignore/add/remove/force + +# Add or remove space between 'throw' and anything other than '(' as in +# '@throw [...];'. +sp_after_throw = ignore # ignore/add/remove/force + +# Add or remove space between 'catch' and '(' in 'catch (something) { }'. +# If set to ignore, sp_before_sparen is used. +sp_catch_paren = ignore # ignore/add/remove/force + +# (OC) Add or remove space between '@catch' and '(' +# in '@catch (something) { }'. If set to ignore, sp_catch_paren is used. +sp_oc_catch_paren = ignore # ignore/add/remove/force + +# (OC) Add or remove space between class name and '(' +# in '@interface className(categoryName):BaseClass' +sp_oc_classname_paren = ignore # ignore/add/remove/force + +# (D) Add or remove space between 'version' and '(' +# in 'version (something) { }'. If set to ignore, sp_before_sparen is used. +sp_version_paren = ignore # ignore/add/remove/force + +# (D) Add or remove space between 'scope' and '(' +# in 'scope (something) { }'. If set to ignore, sp_before_sparen is used. +sp_scope_paren = ignore # ignore/add/remove/force + +# Add or remove space between 'super' and '(' in 'super (something)'. +# +# Default: remove +sp_super_paren = remove # ignore/add/remove/force + +# Add or remove space between 'this' and '(' in 'this (something)'. +# +# Default: remove +sp_this_paren = remove # ignore/add/remove/force + +# Add or remove space between a macro name and its definition. +sp_macro = ignore # ignore/add/remove/force + +# Add or remove space between a macro function ')' and its definition. +sp_macro_func = ignore # ignore/add/remove/force + +# Add or remove space between 'else' and '{' if on the same line. +sp_else_brace = ignore # ignore/add/remove/force + +# Add or remove space between '}' and 'else' if on the same line. +sp_brace_else = ignore # ignore/add/remove/force + +# Add or remove space between '}' and the name of a typedef on the same line. +sp_brace_typedef = ignore # ignore/add/remove/force + +# Add or remove space before the '{' of a 'catch' statement, if the '{' and +# 'catch' are on the same line, as in 'catch (decl) {'. +sp_catch_brace = ignore # ignore/add/remove/force + +# (OC) Add or remove space before the '{' of a '@catch' statement, if the '{' +# and '@catch' are on the same line, as in '@catch (decl) {'. +# If set to ignore, sp_catch_brace is used. +sp_oc_catch_brace = ignore # ignore/add/remove/force + +# Add or remove space between '}' and 'catch' if on the same line. +sp_brace_catch = ignore # ignore/add/remove/force + +# (OC) Add or remove space between '}' and '@catch' if on the same line. +# If set to ignore, sp_brace_catch is used. +sp_oc_brace_catch = ignore # ignore/add/remove/force + +# Add or remove space between 'finally' and '{' if on the same line. +sp_finally_brace = ignore # ignore/add/remove/force + +# Add or remove space between '}' and 'finally' if on the same line. +sp_brace_finally = ignore # ignore/add/remove/force + +# Add or remove space between 'try' and '{' if on the same line. +sp_try_brace = ignore # ignore/add/remove/force + +# Add or remove space between get/set and '{' if on the same line. +sp_getset_brace = ignore # ignore/add/remove/force + +# Add or remove space between a variable and '{' for C++ uniform +# initialization. +# +# Default: add +sp_word_brace = add # ignore/add/remove/force + +# Add or remove space between a variable and '{' for a namespace. +# +# Default: add +sp_word_brace_ns = add # ignore/add/remove/force + +# Add or remove space before the '::' operator. +sp_before_dc = ignore # ignore/add/remove/force + +# Add or remove space after the '::' operator. +sp_after_dc = ignore # ignore/add/remove/force + +# (D) Add or remove around the D named array initializer ':' operator. +sp_d_array_colon = ignore # ignore/add/remove/force + +# Add or remove space after the '!' (not) unary operator. +# +# Default: remove +sp_not = remove # ignore/add/remove/force + +# Add or remove space after the '~' (invert) unary operator. +# +# Default: remove +sp_inv = remove # ignore/add/remove/force + +# Add or remove space after the '&' (address-of) unary operator. This does not +# affect the spacing after a '&' that is part of a type. +# +# Default: remove +sp_addr = remove # ignore/add/remove/force + +# Add or remove space around the '.' or '->' operators. +# +# Default: remove +sp_member = remove # ignore/add/remove/force + +# Add or remove space after the '*' (dereference) unary operator. This does +# not affect the spacing after a '*' that is part of a type. +# +# Default: remove +sp_deref = remove # ignore/add/remove/force + +# Add or remove space after '+' or '-', as in 'x = -5' or 'y = +7'. +# +# Default: remove +sp_sign = remove # ignore/add/remove/force + +# Add or remove space between '++' and '--' the word to which it is being +# applied, as in '(--x)' or 'y++;'. +# +# Default: remove +sp_incdec = remove # ignore/add/remove/force + +# Add or remove space before a backslash-newline at the end of a line. +# +# Default: add +sp_before_nl_cont = add # ignore/add/remove/force + +# (OC) Add or remove space after the scope '+' or '-', as in '-(void) foo;' +# or '+(int) bar;'. +sp_after_oc_scope = ignore # ignore/add/remove/force + +# (OC) Add or remove space after the colon in message specs, +# i.e. '-(int) f:(int) x;' vs. '-(int) f: (int) x;'. +sp_after_oc_colon = ignore # ignore/add/remove/force + +# (OC) Add or remove space before the colon in message specs, +# i.e. '-(int) f: (int) x;' vs. '-(int) f : (int) x;'. +sp_before_oc_colon = ignore # ignore/add/remove/force + +# (OC) Add or remove space after the colon in immutable dictionary expression +# 'NSDictionary *test = @{@"foo" :@"bar"};'. +sp_after_oc_dict_colon = ignore # ignore/add/remove/force + +# (OC) Add or remove space before the colon in immutable dictionary expression +# 'NSDictionary *test = @{@"foo" :@"bar"};'. +sp_before_oc_dict_colon = ignore # ignore/add/remove/force + +# (OC) Add or remove space after the colon in message specs, +# i.e. '[object setValue:1];' vs. '[object setValue: 1];'. +sp_after_send_oc_colon = ignore # ignore/add/remove/force + +# (OC) Add or remove space before the colon in message specs, +# i.e. '[object setValue:1];' vs. '[object setValue :1];'. +sp_before_send_oc_colon = ignore # ignore/add/remove/force + +# (OC) Add or remove space after the (type) in message specs, +# i.e. '-(int)f: (int) x;' vs. '-(int)f: (int)x;'. +sp_after_oc_type = ignore # ignore/add/remove/force + +# (OC) Add or remove space after the first (type) in message specs, +# i.e. '-(int) f:(int)x;' vs. '-(int)f:(int)x;'. +sp_after_oc_return_type = ignore # ignore/add/remove/force + +# (OC) Add or remove space between '@selector' and '(', +# i.e. '@selector(msgName)' vs. '@selector (msgName)'. +# Also applies to '@protocol()' constructs. +sp_after_oc_at_sel = ignore # ignore/add/remove/force + +# (OC) Add or remove space between '@selector(x)' and the following word, +# i.e. '@selector(foo) a:' vs. '@selector(foo)a:'. +sp_after_oc_at_sel_parens = ignore # ignore/add/remove/force + +# (OC) Add or remove space inside '@selector' parentheses, +# i.e. '@selector(foo)' vs. '@selector( foo )'. +# Also applies to '@protocol()' constructs. +sp_inside_oc_at_sel_parens = ignore # ignore/add/remove/force + +# (OC) Add or remove space before a block pointer caret, +# i.e. '^int (int arg){...}' vs. ' ^int (int arg){...}'. +sp_before_oc_block_caret = ignore # ignore/add/remove/force + +# (OC) Add or remove space after a block pointer caret, +# i.e. '^int (int arg){...}' vs. '^ int (int arg){...}'. +sp_after_oc_block_caret = ignore # ignore/add/remove/force + +# (OC) Add or remove space between the receiver and selector in a message, +# as in '[receiver selector ...]'. +sp_after_oc_msg_receiver = ignore # ignore/add/remove/force + +# (OC) Add or remove space after '@property'. +sp_after_oc_property = ignore # ignore/add/remove/force + +# (OC) Add or remove space between '@synchronized' and the open parenthesis, +# i.e. '@synchronized(foo)' vs. '@synchronized (foo)'. +sp_after_oc_synchronized = ignore # ignore/add/remove/force + +# Add or remove space around the ':' in 'b ? t : f'. +sp_cond_colon = ignore # ignore/add/remove/force + +# Add or remove space before the ':' in 'b ? t : f'. +# +# Overrides sp_cond_colon. +sp_cond_colon_before = ignore # ignore/add/remove/force + +# Add or remove space after the ':' in 'b ? t : f'. +# +# Overrides sp_cond_colon. +sp_cond_colon_after = ignore # ignore/add/remove/force + +# Add or remove space around the '?' in 'b ? t : f'. +sp_cond_question = ignore # ignore/add/remove/force + +# Add or remove space before the '?' in 'b ? t : f'. +# +# Overrides sp_cond_question. +sp_cond_question_before = ignore # ignore/add/remove/force + +# Add or remove space after the '?' in 'b ? t : f'. +# +# Overrides sp_cond_question. +sp_cond_question_after = ignore # ignore/add/remove/force + +# In the abbreviated ternary form '(a ?: b)', add or remove space between '?' +# and ':'. +# +# Overrides all other sp_cond_* options. +sp_cond_ternary_short = ignore # ignore/add/remove/force + +# Fix the spacing between 'case' and the label. Only 'ignore' and 'force' make +# sense here. +sp_case_label = ignore # ignore/add/remove/force + +# (D) Add or remove space around the D '..' operator. +sp_range = ignore # ignore/add/remove/force + +# Add or remove space after ':' in a Java/C++11 range-based 'for', +# as in 'for (Type var : expr)'. +sp_after_for_colon = ignore # ignore/add/remove/force + +# Add or remove space before ':' in a Java/C++11 range-based 'for', +# as in 'for (Type var : expr)'. +sp_before_for_colon = ignore # ignore/add/remove/force + +# (D) Add or remove space between 'extern' and '(' as in 'extern (C)'. +sp_extern_paren = ignore # ignore/add/remove/force + +# Add or remove space after the opening of a C++ comment, +# i.e. '// A' vs. '//A'. +sp_cmt_cpp_start = ignore # ignore/add/remove/force + +# If true, space is added with sp_cmt_cpp_start will be added after doxygen +# sequences like '///', '///<', '//!' and '//!<'. +sp_cmt_cpp_doxygen = false # true/false + +# If true, space is added with sp_cmt_cpp_start will be added after Qt +# translator or meta-data comments like '//:', '//=', and '//~'. +sp_cmt_cpp_qttr = false # true/false + +# Add or remove space between #else or #endif and a trailing comment. +sp_endif_cmt = ignore # ignore/add/remove/force + +# Add or remove space after 'new', 'delete' and 'delete[]'. +sp_after_new = ignore # ignore/add/remove/force + +# Add or remove space between 'new' and '(' in 'new()'. +sp_between_new_paren = ignore # ignore/add/remove/force + +# Add or remove space between ')' and type in 'new(foo) BAR'. +sp_after_newop_paren = ignore # ignore/add/remove/force + +# Add or remove space inside parenthesis of the new operator +# as in 'new(foo) BAR'. +sp_inside_newop_paren = ignore # ignore/add/remove/force + +# Add or remove space after the open parenthesis of the new operator, +# as in 'new(foo) BAR'. +# +# Overrides sp_inside_newop_paren. +sp_inside_newop_paren_open = ignore # ignore/add/remove/force + +# Add or remove space before the close parenthesis of the new operator, +# as in 'new(foo) BAR'. +# +# Overrides sp_inside_newop_paren. +sp_inside_newop_paren_close = ignore # ignore/add/remove/force + +# Add or remove space before a trailing or embedded comment. +sp_before_tr_emb_cmt = ignore # ignore/add/remove/force + +# Number of spaces before a trailing or embedded comment. +sp_num_before_tr_emb_cmt = 0 # unsigned number + +# (Java) Add or remove space between an annotation and the open parenthesis. +sp_annotation_paren = ignore # ignore/add/remove/force + +# If true, vbrace tokens are dropped to the previous token and skipped. +sp_skip_vbrace_tokens = false # true/false + +# Add or remove space after 'noexcept'. +sp_after_noexcept = ignore # ignore/add/remove/force + +# Add or remove space after '_'. +sp_vala_after_translation = ignore # ignore/add/remove/force + +# If true, a is inserted after #define. +force_tab_after_define = false # true/false + +# +# Indenting options +# + +# The number of columns to indent per level. Usually 2, 3, 4, or 8. +# +# Default: 8 +indent_columns = 8 # unsigned number + +# The continuation indent. If non-zero, this overrides the indent of '(', '[' +# and '=' continuation indents. Negative values are OK; negative value is +# absolute and not increased for each '(' or '[' level. +# +# For FreeBSD, this is set to 4. +indent_continue = 0 # number + +# The continuation indent, only for class header line(s). If non-zero, this +# overrides the indent of 'class' continuation indents. +indent_continue_class_head = 0 # unsigned number + +# Whether to indent empty lines (i.e. lines which contain only spaces before +# the newline character). +indent_single_newlines = false # true/false + +# The continuation indent for func_*_param if they are true. If non-zero, this +# overrides the indent. +indent_param = 0 # unsigned number + +# How to use tabs when indenting code. +# +# 0: Spaces only +# 1: Indent with tabs to brace level, align with spaces (default) +# 2: Indent and align with tabs, using spaces when not on a tabstop +# +# Default: 1 +indent_with_tabs = 1 # unsigned number + +# Whether to indent comments that are not at a brace level with tabs on a +# tabstop. Requires indent_with_tabs=2. If false, will use spaces. +indent_cmt_with_tabs = false # true/false + +# Whether to indent strings broken by '\' so that they line up. +indent_align_string = false # true/false + +# The number of spaces to indent multi-line XML strings. +# Requires indent_align_string=true. +indent_xml_string = 0 # unsigned number + +# Spaces to indent '{' from level. +indent_brace = 0 # unsigned number + +# Whether braces are indented to the body level. +indent_braces = false # true/false + +# Whether to disable indenting function braces if indent_braces=true. +indent_braces_no_func = false # true/false + +# Whether to disable indenting class braces if indent_braces=true. +indent_braces_no_class = false # true/false + +# Whether to disable indenting struct braces if indent_braces=true. +indent_braces_no_struct = false # true/false + +# Whether to indent based on the size of the brace parent, +# i.e. 'if' => 3 spaces, 'for' => 4 spaces, etc. +indent_brace_parent = false # true/false + +# Whether to indent based on the open parenthesis instead of the open brace +# in '({\n'. +indent_paren_open_brace = false # true/false + +# (C#) Whether to indent the brace of a C# delegate by another level. +indent_cs_delegate_brace = false # true/false + +# (C#) Whether to indent a C# delegate (to handle delegates with no brace) by +# another level. +indent_cs_delegate_body = false # true/false + +# Whether to indent the body of a 'namespace'. +indent_namespace = false # true/false + +# Whether to indent only the first namespace, and not any nested namespaces. +# Requires indent_namespace=true. +indent_namespace_single_indent = false # true/false + +# The number of spaces to indent a namespace block. +# If set to zero, use the value indent_columns +indent_namespace_level = 0 # unsigned number + +# If the body of the namespace is longer than this number, it won't be +# indented. Requires indent_namespace=true. 0 means no limit. +indent_namespace_limit = 0 # unsigned number + +# Whether the 'extern "C"' body is indented. +indent_extern = false # true/false + +# Whether the 'class' body is indented. +indent_class = false # true/false + +# Whether to indent the stuff after a leading base class colon. +indent_class_colon = false # true/false + +# Whether to indent based on a class colon instead of the stuff after the +# colon. Requires indent_class_colon=true. +indent_class_on_colon = false # true/false + +# Whether to indent the stuff after a leading class initializer colon. +indent_constr_colon = false # true/false + +# Virtual indent from the ':' for member initializers. +# +# Default: 2 +indent_ctor_init_leading = 2 # unsigned number + +# Additional indent for constructor initializer list. +# Negative values decrease indent down to the first column. +indent_ctor_init = 0 # number + +# Whether to indent 'if' following 'else' as a new block under the 'else'. +# If false, 'else\nif' is treated as 'else if' for indenting purposes. +indent_else_if = false # true/false + +# Amount to indent variable declarations after a open brace. +# +# <0: Relative +# >=0: Absolute +indent_var_def_blk = 0 # number + +# Whether to indent continued variable declarations instead of aligning. +indent_var_def_cont = false # true/false + +# Whether to indent continued shift expressions ('<<' and '>>') instead of +# aligning. Set align_left_shift=false when enabling this. +indent_shift = false # true/false + +# Whether to force indentation of function definitions to start in column 1. +indent_func_def_force_col1 = false # true/false + +# Whether to indent continued function call parameters one indent level, +# rather than aligning parameters under the open parenthesis. +indent_func_call_param = false # true/false + +# Whether to indent continued function definition parameters one indent level, +# rather than aligning parameters under the open parenthesis. +indent_func_def_param = false # true/false + +# for function definitions, only if indent_func_def_param is false +# Allows to align params when appropriate and indent them when not +# behave as if it was true if paren position is more than this value +# if paren position is more than the option value +indent_func_def_param_paren_pos_threshold = 0 # unsigned number + +# Whether to indent continued function call prototype one indent level, +# rather than aligning parameters under the open parenthesis. +indent_func_proto_param = false # true/false + +# Whether to indent continued function call declaration one indent level, +# rather than aligning parameters under the open parenthesis. +indent_func_class_param = false # true/false + +# Whether to indent continued class variable constructors one indent level, +# rather than aligning parameters under the open parenthesis. +indent_func_ctor_var_param = false # true/false + +# Whether to indent continued template parameter list one indent level, +# rather than aligning parameters under the open parenthesis. +indent_template_param = false # true/false + +# Double the indent for indent_func_xxx_param options. +# Use both values of the options indent_columns and indent_param. +indent_func_param_double = false # true/false + +# Indentation column for standalone 'const' qualifier on a function +# prototype. +indent_func_const = 0 # unsigned number + +# Indentation column for standalone 'throw' qualifier on a function +# prototype. +indent_func_throw = 0 # unsigned number + +# How to indent within a macro followed by a brace on the same line +# This allows reducing the indent in macros that have (for example) +# `do { ... } while (0)` blocks bracketing them. +# +# true: add an indent for the brace on the same line as the macro +# false: do not add an indent for the brace on the same line as the macro +# +# Default: true +indent_macro_brace = true # true/false + +# The number of spaces to indent a continued '->' or '.'. +# Usually set to 0, 1, or indent_columns. +indent_member = 0 # unsigned number + +# Whether lines broken at '.' or '->' should be indented by a single indent. +# The indent_member option will not be effective if this is set to true. +indent_member_single = false # true/false + +# Spaces to indent single line ('//') comments on lines before code. +indent_sing_line_comments = 0 # unsigned number + +# Whether to indent trailing single line ('//') comments relative to the code +# instead of trying to keep the same absolute column. +indent_relative_single_line_comments = false # true/false + +# Spaces to indent 'case' from 'switch'. Usually 0 or indent_columns. +indent_switch_case = 0 # unsigned number + +# indent 'break' with 'case' from 'switch'. +indent_switch_break_with_case = false # true/false + +# Whether to indent preprocessor statements inside of switch statements. +# +# Default: true +indent_switch_pp = true # true/false + +# Spaces to shift the 'case' line, without affecting any other lines. +# Usually 0. +indent_case_shift = 0 # unsigned number + +# Spaces to indent '{' from 'case'. By default, the brace will appear under +# the 'c' in case. Usually set to 0 or indent_columns. Negative values are OK. +indent_case_brace = 0 # number + +# Whether to indent comments found in first column. +indent_col1_comment = false # true/false + +# Whether to indent multi string literal in first column. +indent_col1_multi_string_literal = false # true/false + +# How to indent goto labels. +# +# >0: Absolute column where 1 is the leftmost column +# <=0: Subtract from brace indent +# +# Default: 1 +indent_label = 1 # number + +# How to indent access specifiers that are followed by a +# colon. +# +# >0: Absolute column where 1 is the leftmost column +# <=0: Subtract from brace indent +# +# Default: 1 +indent_access_spec = 1 # number + +# Whether to indent the code after an access specifier by one level. +# If true, this option forces 'indent_access_spec=0'. +indent_access_spec_body = false # true/false + +# If an open parenthesis is followed by a newline, whether to indent the next +# line so that it lines up after the open parenthesis (not recommended). +indent_paren_nl = false # true/false + +# How to indent a close parenthesis after a newline. +# +# 0: Indent to body level (default) +# 1: Align under the open parenthesis +# 2: Indent to the brace level +indent_paren_close = 0 # unsigned number + +# Whether to indent the open parenthesis of a function definition, +# if the parenthesis is on its own line. +indent_paren_after_func_def = false # true/false + +# Whether to indent the open parenthesis of a function declaration, +# if the parenthesis is on its own line. +indent_paren_after_func_decl = false # true/false + +# Whether to indent the open parenthesis of a function call, +# if the parenthesis is on its own line. +indent_paren_after_func_call = false # true/false + +# Whether to indent a comma when inside a parenthesis. +# If true, aligns under the open parenthesis. +indent_comma_paren = false # true/false + +# Whether to indent a Boolean operator when inside a parenthesis. +# If true, aligns under the open parenthesis. +indent_bool_paren = false # true/false + +# Whether to indent a semicolon when inside a for parenthesis. +# If true, aligns under the open for parenthesis. +indent_semicolon_for_paren = false # true/false + +# Whether to align the first expression to following ones +# if indent_bool_paren=true. +indent_first_bool_expr = false # true/false + +# Whether to align the first expression to following ones +# if indent_semicolon_for_paren=true. +indent_first_for_expr = false # true/false + +# If an open square is followed by a newline, whether to indent the next line +# so that it lines up after the open square (not recommended). +indent_square_nl = false # true/false + +# (ESQL/C) Whether to preserve the relative indent of 'EXEC SQL' bodies. +indent_preserve_sql = false # true/false + +# Whether to align continued statements at the '='. If false or if the '=' is +# followed by a newline, the next line is indent one tab. +# +# Default: true +indent_align_assign = true # true/false + +# Whether to align continued statements at the '('. If false or the '(' is +# followed by a newline, the next line indent is one tab. +# +# Default: true +indent_align_paren = true # true/false + +# (OC) Whether to indent Objective-C blocks at brace level instead of usual +# rules. +indent_oc_block = false # true/false + +# (OC) Indent for Objective-C blocks in a message relative to the parameter +# name. +# +# =0: Use indent_oc_block rules +# >0: Use specified number of spaces to indent +indent_oc_block_msg = 0 # unsigned number + +# (OC) Minimum indent for subsequent parameters +indent_oc_msg_colon = 0 # unsigned number + +# (OC) Whether to prioritize aligning with initial colon (and stripping spaces +# from lines, if necessary). +# +# Default: true +indent_oc_msg_prioritize_first_colon = true # true/false + +# (OC) Whether to indent blocks the way that Xcode does by default +# (from the keyword if the parameter is on its own line; otherwise, from the +# previous indentation level). Requires indent_oc_block_msg=true. +indent_oc_block_msg_xcode_style = false # true/false + +# (OC) Whether to indent blocks from where the brace is, relative to a +# message keyword. Requires indent_oc_block_msg=true. +indent_oc_block_msg_from_keyword = false # true/false + +# (OC) Whether to indent blocks from where the brace is, relative to a message +# colon. Requires indent_oc_block_msg=true. +indent_oc_block_msg_from_colon = false # true/false + +# (OC) Whether to indent blocks from where the block caret is. +# Requires indent_oc_block_msg=true. +indent_oc_block_msg_from_caret = false # true/false + +# (OC) Whether to indent blocks from where the brace caret is. +# Requires indent_oc_block_msg=true. +indent_oc_block_msg_from_brace = false # true/false + +# When indenting after virtual brace open and newline add further spaces to +# reach this minimum indent. +indent_min_vbrace_open = 0 # unsigned number + +# Whether to add further spaces after regular indent to reach next tabstop +# when identing after virtual brace open and newline. +indent_vbrace_open_on_tabstop = false # true/false + +# How to indent after a brace followed by another token (not a newline). +# true: indent all contained lines to match the token +# false: indent all contained lines to match the brace +# +# Default: true +indent_token_after_brace = true # true/false + +# Whether to indent the body of a C++11 lambda. +indent_cpp_lambda_body = false # true/false + +# (C#) Whether to indent a 'using' block if no braces are used. +# +# Default: true +indent_using_block = true # true/false + +# How to indent the continuation of ternary operator. +# +# 0: Off (default) +# 1: When the `if_false` is a continuation, indent it under `if_false` +# 2: When the `:` is a continuation, indent it under `?` +indent_ternary_operator = 0 # unsigned number + +# If true, the indentation of the chunks after a `return new` sequence will be set at return indentation column. +indent_off_after_return_new = false # true/false + +# If true, the tokens after return are indented with regular single indentation. By default (false) the indentation is after the return token. +indent_single_after_return = false # true/false + +# Whether to ignore indent and alignment for 'asm' blocks (i.e. assume they +# have their own indentation). +indent_ignore_asm_block = false # true/false + +# +# Newline adding and removing options +# + +# Whether to collapse empty blocks between '{' and '}'. +nl_collapse_empty_body = false # true/false + +# Don't split one-line braced assignments, as in 'foo_t f = { 1, 2 };'. +nl_assign_leave_one_liners = false # true/false + +# Don't split one-line braced statements inside a 'class xx { }' body. +nl_class_leave_one_liners = false # true/false + +# Don't split one-line enums, as in 'enum foo { BAR = 15 };' +nl_enum_leave_one_liners = false # true/false + +# Don't split one-line get or set functions. +nl_getset_leave_one_liners = false # true/false + +# (C#) Don't split one-line property get or set functions. +nl_cs_property_leave_one_liners = false # true/false + +# Don't split one-line function definitions, as in 'int foo() { return 0; }'. +# night modify nl_func_type_name +nl_func_leave_one_liners = false # true/false + +# Don't split one-line C++11 lambdas, as in '[]() { return 0; }'. +nl_cpp_lambda_leave_one_liners = false # true/false + +# Don't split one-line if/else statements, as in 'if(...) b++;'. +nl_if_leave_one_liners = false # true/false + +# Don't split one-line while statements, as in 'while(...) b++;'. +nl_while_leave_one_liners = false # true/false + +# Don't split one-line for statements, as in 'for(...) b++;'. +nl_for_leave_one_liners = false # true/false + +# (OC) Don't split one-line Objective-C messages. +nl_oc_msg_leave_one_liner = false # true/false + +# (OC) Add or remove newline between method declaration and '{'. +nl_oc_mdef_brace = ignore # ignore/add/remove/force + +# (OC) Add or remove newline between Objective-C block signature and '{'. +nl_oc_block_brace = ignore # ignore/add/remove/force + +# (OC) Add or remove blank line before '@interface' statement. +nl_oc_before_interface = ignore # ignore/add/remove/force + +# (OC) Add or remove blank line before '@implementation' statement. +nl_oc_before_implementation = ignore # ignore/add/remove/force + +# (OC) Add or remove blank line before '@end' statement. +nl_oc_before_end = ignore # ignore/add/remove/force + +# (OC) Add or remove newline between '@interface' and '{'. +nl_oc_interface_brace = ignore # ignore/add/remove/force + +# (OC) Add or remove newline between '@implementation' and '{'. +nl_oc_implementation_brace = ignore # ignore/add/remove/force + +# Add or remove newlines at the start of the file. +nl_start_of_file = ignore # ignore/add/remove/force + +# The minimum number of newlines at the start of the file (only used if +# nl_start_of_file is 'add' or 'force'). +nl_start_of_file_min = 0 # unsigned number + +# Add or remove newline at the end of the file. +nl_end_of_file = ignore # ignore/add/remove/force + +# The minimum number of newlines at the end of the file (only used if +# nl_end_of_file is 'add' or 'force'). +nl_end_of_file_min = 0 # unsigned number + +# Add or remove newline between '=' and '{'. +nl_assign_brace = ignore # ignore/add/remove/force + +# (D) Add or remove newline between '=' and '['. +nl_assign_square = ignore # ignore/add/remove/force + +# Add or remove newline between '[]' and '{'. +nl_tsquare_brace = ignore # ignore/add/remove/force + +# (D) Add or remove newline after '= ['. Will also affect the newline before +# the ']'. +nl_after_square_assign = ignore # ignore/add/remove/force + +# Add or remove newline between a function call's ')' and '{', as in +# 'list_for_each(item, &list) { }'. +nl_fcall_brace = ignore # ignore/add/remove/force + +# Add or remove newline between 'enum' and '{'. +nl_enum_brace = ignore # ignore/add/remove/force + +# Add or remove newline between 'enum' and 'class'. +nl_enum_class = ignore # ignore/add/remove/force + +# Add or remove newline between 'enum class' and the identifier. +nl_enum_class_identifier = ignore # ignore/add/remove/force + +# Add or remove newline between 'enum class' type and ':'. +nl_enum_identifier_colon = ignore # ignore/add/remove/force + +# Add or remove newline between 'enum class identifier :' and type. +nl_enum_colon_type = ignore # ignore/add/remove/force + +# Add or remove newline between 'struct and '{'. +nl_struct_brace = ignore # ignore/add/remove/force + +# Add or remove newline between 'union' and '{'. +nl_union_brace = ignore # ignore/add/remove/force + +# Add or remove newline between 'if' and '{'. +nl_if_brace = ignore # ignore/add/remove/force + +# Add or remove newline between '}' and 'else'. +nl_brace_else = ignore # ignore/add/remove/force + +# Add or remove newline between 'else if' and '{'. If set to ignore, +# nl_if_brace is used instead. +nl_elseif_brace = ignore # ignore/add/remove/force + +# Add or remove newline between 'else' and '{'. +nl_else_brace = ignore # ignore/add/remove/force + +# Add or remove newline between 'else' and 'if'. +nl_else_if = ignore # ignore/add/remove/force + +# Add or remove newline before 'if'/'else if' closing parenthesis. +nl_before_if_closing_paren = ignore # ignore/add/remove/force + +# Add or remove newline between '}' and 'finally'. +nl_brace_finally = ignore # ignore/add/remove/force + +# Add or remove newline between 'finally' and '{'. +nl_finally_brace = ignore # ignore/add/remove/force + +# Add or remove newline between 'try' and '{'. +nl_try_brace = ignore # ignore/add/remove/force + +# Add or remove newline between get/set and '{'. +nl_getset_brace = ignore # ignore/add/remove/force + +# Add or remove newline between 'for' and '{'. +nl_for_brace = ignore # ignore/add/remove/force + +# Add or remove newline before the '{' of a 'catch' statement, as in +# 'catch (decl) {'. +nl_catch_brace = ignore # ignore/add/remove/force + +# (OC) Add or remove newline before the '{' of a '@catch' statement, as in +# '@catch (decl) {'. If set to ignore, nl_catch_brace is used. +nl_oc_catch_brace = ignore # ignore/add/remove/force + +# Add or remove newline between '}' and 'catch'. +nl_brace_catch = ignore # ignore/add/remove/force + +# (OC) Add or remove newline between '}' and '@catch'. If set to ignore, +# nl_brace_catch is used. +nl_oc_brace_catch = ignore # ignore/add/remove/force + +# Add or remove newline between '}' and ']'. +nl_brace_square = ignore # ignore/add/remove/force + +# Add or remove newline between '}' and ')' in a function invocation. +nl_brace_fparen = ignore # ignore/add/remove/force + +# Add or remove newline between 'while' and '{'. +nl_while_brace = ignore # ignore/add/remove/force + +# (D) Add or remove newline between 'scope (x)' and '{'. +nl_scope_brace = ignore # ignore/add/remove/force + +# (D) Add or remove newline between 'unittest' and '{'. +nl_unittest_brace = ignore # ignore/add/remove/force + +# (D) Add or remove newline between 'version (x)' and '{'. +nl_version_brace = ignore # ignore/add/remove/force + +# (C#) Add or remove newline between 'using' and '{'. +nl_using_brace = ignore # ignore/add/remove/force + +# Add or remove newline between two open or close braces. Due to general +# newline/brace handling, REMOVE may not work. +nl_brace_brace = ignore # ignore/add/remove/force + +# Add or remove newline between 'do' and '{'. +nl_do_brace = ignore # ignore/add/remove/force + +# Add or remove newline between '}' and 'while' of 'do' statement. +nl_brace_while = ignore # ignore/add/remove/force + +# Add or remove newline between 'switch' and '{'. +nl_switch_brace = ignore # ignore/add/remove/force + +# Add or remove newline between 'synchronized' and '{'. +nl_synchronized_brace = ignore # ignore/add/remove/force + +# Add a newline between ')' and '{' if the ')' is on a different line than the +# if/for/etc. +# +# Overrides nl_for_brace, nl_if_brace, nl_switch_brace, nl_while_switch and +# nl_catch_brace. +nl_multi_line_cond = false # true/false + +# Add a newline after '(' if an if/for/while/switch condition spans multiple +# lines +nl_multi_line_sparen_open = ignore # ignore/add/remove/force + +# Add a newline before ')' if an if/for/while/switch condition spans multiple +# lines. Overrides nl_before_if_closing_paren if both are specified. +nl_multi_line_sparen_close = ignore # ignore/add/remove/force + +# Force a newline in a define after the macro name for multi-line defines. +nl_multi_line_define = false # true/false + +# Whether to add a newline before 'case', and a blank line before a 'case' +# statement that follows a ';' or '}'. +nl_before_case = false # true/false + +# Whether to add a newline after a 'case' statement. +nl_after_case = false # true/false + +# Add or remove newline between a case ':' and '{'. +# +# Overrides nl_after_case. +nl_case_colon_brace = ignore # ignore/add/remove/force + +# Add or remove newline between ')' and 'throw'. +nl_before_throw = ignore # ignore/add/remove/force + +# Add or remove newline between 'namespace' and '{'. +nl_namespace_brace = ignore # ignore/add/remove/force + +# Add or remove newline after 'template<...>' of a template class. +nl_template_class = ignore # ignore/add/remove/force + +# Add or remove newline after 'template<...>' of a template class declaration. +# +# Overrides nl_template_class. +nl_template_class_decl = ignore # ignore/add/remove/force + +# Add or remove newline after 'template<>' of a specialized class declaration. +# +# Overrides nl_template_class_decl. +nl_template_class_decl_special = ignore # ignore/add/remove/force + +# Add or remove newline after 'template<...>' of a template class definition. +# +# Overrides nl_template_class. +nl_template_class_def = ignore # ignore/add/remove/force + +# Add or remove newline after 'template<>' of a specialized class definition. +# +# Overrides nl_template_class_def. +nl_template_class_def_special = ignore # ignore/add/remove/force + +# Add or remove newline after 'template<...>' of a template function. +nl_template_func = ignore # ignore/add/remove/force + +# Add or remove newline after 'template<...>' of a template function +# declaration. +# +# Overrides nl_template_func. +nl_template_func_decl = ignore # ignore/add/remove/force + +# Add or remove newline after 'template<>' of a specialized function +# declaration. +# +# Overrides nl_template_func_decl. +nl_template_func_decl_special = ignore # ignore/add/remove/force + +# Add or remove newline after 'template<...>' of a template function +# definition. +# +# Overrides nl_template_func. +nl_template_func_def = ignore # ignore/add/remove/force + +# Add or remove newline after 'template<>' of a specialized function +# definition. +# +# Overrides nl_template_func_def. +nl_template_func_def_special = ignore # ignore/add/remove/force + +# Add or remove newline after 'template<...>' of a template variable. +nl_template_var = ignore # ignore/add/remove/force + +# Add or remove newline between 'template<...>' and 'using' of a templated +# type alias. +nl_template_using = ignore # ignore/add/remove/force + +# Add or remove newline between 'class' and '{'. +nl_class_brace = ignore # ignore/add/remove/force + +# Add or remove newline before or after (depending on pos_class_comma, +# may not be IGNORE) each',' in the base class list. +nl_class_init_args = ignore # ignore/add/remove/force + +# Add or remove newline after each ',' in the constructor member +# initialization. Related to nl_constr_colon, pos_constr_colon and +# pos_constr_comma. +nl_constr_init_args = ignore # ignore/add/remove/force + +# Add or remove newline before first element, after comma, and after last +# element, in 'enum'. +nl_enum_own_lines = ignore # ignore/add/remove/force + +# Add or remove newline between return type and function name in a function +# definition. +# might be modified by nl_func_leave_one_liners +nl_func_type_name = ignore # ignore/add/remove/force + +# Add or remove newline between return type and function name inside a class +# definition. If set to ignore, nl_func_type_name or nl_func_proto_type_name +# is used instead. +nl_func_type_name_class = ignore # ignore/add/remove/force + +# Add or remove newline between class specification and '::' +# in 'void A::f() { }'. Only appears in separate member implementation (does +# not appear with in-line implementation). +nl_func_class_scope = ignore # ignore/add/remove/force + +# Add or remove newline between function scope and name, as in +# 'void A :: f() { }'. +nl_func_scope_name = ignore # ignore/add/remove/force + +# Add or remove newline between return type and function name in a prototype. +nl_func_proto_type_name = ignore # ignore/add/remove/force + +# Add or remove newline between a function name and the opening '(' in the +# declaration. +nl_func_paren = ignore # ignore/add/remove/force + +# Overrides nl_func_paren for functions with no parameters. +nl_func_paren_empty = ignore # ignore/add/remove/force + +# Add or remove newline between a function name and the opening '(' in the +# definition. +nl_func_def_paren = ignore # ignore/add/remove/force + +# Overrides nl_func_def_paren for functions with no parameters. +nl_func_def_paren_empty = ignore # ignore/add/remove/force + +# Add or remove newline between a function name and the opening '(' in the +# call. +nl_func_call_paren = ignore # ignore/add/remove/force + +# Overrides nl_func_call_paren for functions with no parameters. +nl_func_call_paren_empty = ignore # ignore/add/remove/force + +# Add or remove newline after '(' in a function declaration. +nl_func_decl_start = ignore # ignore/add/remove/force + +# Add or remove newline after '(' in a function definition. +nl_func_def_start = ignore # ignore/add/remove/force + +# Overrides nl_func_decl_start when there is only one parameter. +nl_func_decl_start_single = ignore # ignore/add/remove/force + +# Overrides nl_func_def_start when there is only one parameter. +nl_func_def_start_single = ignore # ignore/add/remove/force + +# Whether to add a newline after '(' in a function declaration if '(' and ')' +# are in different lines. If false, nl_func_decl_start is used instead. +nl_func_decl_start_multi_line = false # true/false + +# Whether to add a newline after '(' in a function definition if '(' and ')' +# are in different lines. If false, nl_func_def_start is used instead. +nl_func_def_start_multi_line = false # true/false + +# Add or remove newline after each ',' in a function declaration. +nl_func_decl_args = ignore # ignore/add/remove/force + +# Add or remove newline after each ',' in a function definition. +nl_func_def_args = ignore # ignore/add/remove/force + +# Whether to add a newline after each ',' in a function declaration if '(' +# and ')' are in different lines. If false, nl_func_decl_args is used instead. +nl_func_decl_args_multi_line = false # true/false + +# Whether to add a newline after each ',' in a function definition if '(' +# and ')' are in different lines. If false, nl_func_def_args is used instead. +nl_func_def_args_multi_line = false # true/false + +# Add or remove newline before the ')' in a function declaration. +nl_func_decl_end = ignore # ignore/add/remove/force + +# Add or remove newline before the ')' in a function definition. +nl_func_def_end = ignore # ignore/add/remove/force + +# Overrides nl_func_decl_end when there is only one parameter. +nl_func_decl_end_single = ignore # ignore/add/remove/force + +# Overrides nl_func_def_end when there is only one parameter. +nl_func_def_end_single = ignore # ignore/add/remove/force + +# Whether to add a newline before ')' in a function declaration if '(' and ')' +# are in different lines. If false, nl_func_decl_end is used instead. +nl_func_decl_end_multi_line = false # true/false + +# Whether to add a newline before ')' in a function definition if '(' and ')' +# are in different lines. If false, nl_func_def_end is used instead. +nl_func_def_end_multi_line = false # true/false + +# Add or remove newline between '()' in a function declaration. +nl_func_decl_empty = ignore # ignore/add/remove/force + +# Add or remove newline between '()' in a function definition. +nl_func_def_empty = ignore # ignore/add/remove/force + +# Add or remove newline between '()' in a function call. +nl_func_call_empty = ignore # ignore/add/remove/force + +# Whether to add a newline after '(' in a function call, +# has preference over nl_func_call_start_multi_line. +nl_func_call_start = ignore # ignore/add/remove/force + +# Whether to add a newline after '(' in a function call if '(' and ')' are in +# different lines. +nl_func_call_start_multi_line = false # true/false + +# Whether to add a newline after each ',' in a function call if '(' and ')' +# are in different lines. +nl_func_call_args_multi_line = false # true/false + +# Whether to add a newline before ')' in a function call if '(' and ')' are in +# different lines. +nl_func_call_end_multi_line = false # true/false + +# Whether to add a newline after '<' of a template parameter list. +nl_template_start = false # true/false + +# Whether to add a newline after each ',' in a template parameter list. +nl_template_args = false # true/false + +# Whether to add a newline before '>' of a template parameter list. +nl_template_end = false # true/false + +# (OC) Whether to put each Objective-C message parameter on a separate line. +# See nl_oc_msg_leave_one_liner. +nl_oc_msg_args = false # true/false + +# Add or remove newline between function signature and '{'. +nl_fdef_brace = ignore # ignore/add/remove/force + +# Add or remove newline between function signature and '{', +# if signature ends with ')'. Overrides nl_fdef_brace. +nl_fdef_brace_cond = ignore # ignore/add/remove/force + +# Add or remove newline between C++11 lambda signature and '{'. +nl_cpp_ldef_brace = ignore # ignore/add/remove/force + +# Add or remove newline between 'return' and the return expression. +nl_return_expr = ignore # ignore/add/remove/force + +# Whether to add a newline after semicolons, except in 'for' statements. +nl_after_semicolon = false # true/false + +# (Java) Add or remove newline between the ')' and '{{' of the double brace +# initializer. +nl_paren_dbrace_open = ignore # ignore/add/remove/force + +# Whether to add a newline after the type in an unnamed temporary +# direct-list-initialization. +nl_type_brace_init_lst = ignore # ignore/add/remove/force + +# Whether to add a newline after the open brace in an unnamed temporary +# direct-list-initialization. +nl_type_brace_init_lst_open = ignore # ignore/add/remove/force + +# Whether to add a newline before the close brace in an unnamed temporary +# direct-list-initialization. +nl_type_brace_init_lst_close = ignore # ignore/add/remove/force + +# Whether to add a newline after '{'. This also adds a newline before the +# matching '}'. +nl_after_brace_open = false # true/false + +# Whether to add a newline between the open brace and a trailing single-line +# comment. Requires nl_after_brace_open=true. +nl_after_brace_open_cmt = false # true/false + +# Whether to add a newline after a virtual brace open with a non-empty body. +# These occur in un-braced if/while/do/for statement bodies. +nl_after_vbrace_open = false # true/false + +# Whether to add a newline after a virtual brace open with an empty body. +# These occur in un-braced if/while/do/for statement bodies. +nl_after_vbrace_open_empty = false # true/false + +# Whether to add a newline after '}'. Does not apply if followed by a +# necessary ';'. +nl_after_brace_close = false # true/false + +# Whether to add a newline after a virtual brace close, +# as in 'if (foo) a++; return;'. +nl_after_vbrace_close = false # true/false + +# Add or remove newline between the close brace and identifier, +# as in 'struct { int a; } b;'. Affects enumerations, unions and +# structures. If set to ignore, uses nl_after_brace_close. +nl_brace_struct_var = ignore # ignore/add/remove/force + +# Whether to alter newlines in '#define' macros. +nl_define_macro = false # true/false + +# Whether to alter newlines between consecutive parenthesis closes. The number +# of closing parentheses in a line will depend on respective open parenthesis +# lines. +nl_squeeze_paren_close = false # true/false + +# Whether to remove blanks after '#ifxx' and '#elxx', or before '#elxx' and +# '#endif'. Does not affect top-level #ifdefs. +nl_squeeze_ifdef = false # true/false + +# Makes the nl_squeeze_ifdef option affect the top-level #ifdefs as well. +nl_squeeze_ifdef_top_level = false # true/false + +# Add or remove blank line before 'if'. +nl_before_if = ignore # ignore/add/remove/force + +# Add or remove blank line after 'if' statement. Add/Force work only if the +# next token is not a closing brace. +nl_after_if = ignore # ignore/add/remove/force + +# Add or remove blank line before 'for'. +nl_before_for = ignore # ignore/add/remove/force + +# Add or remove blank line after 'for' statement. +nl_after_for = ignore # ignore/add/remove/force + +# Add or remove blank line before 'while'. +nl_before_while = ignore # ignore/add/remove/force + +# Add or remove blank line after 'while' statement. +nl_after_while = ignore # ignore/add/remove/force + +# Add or remove blank line before 'switch'. +nl_before_switch = ignore # ignore/add/remove/force + +# Add or remove blank line after 'switch' statement. +nl_after_switch = ignore # ignore/add/remove/force + +# Add or remove blank line before 'synchronized'. +nl_before_synchronized = ignore # ignore/add/remove/force + +# Add or remove blank line after 'synchronized' statement. +nl_after_synchronized = ignore # ignore/add/remove/force + +# Add or remove blank line before 'do'. +nl_before_do = ignore # ignore/add/remove/force + +# Add or remove blank line after 'do/while' statement. +nl_after_do = ignore # ignore/add/remove/force + +# Whether to put a blank line before 'return' statements, unless after an open +# brace. +nl_before_return = false # true/false + +# Whether to put a blank line after 'return' statements, unless followed by a +# close brace. +nl_after_return = false # true/false + +# (Java) Whether to put a blank line before a member '.' or '->' operators. +nl_before_member = ignore # ignore/add/remove/force + +# (Java) Whether to put a blank line after a member '.' or '->' operators. +nl_after_member = ignore # ignore/add/remove/force + +# Whether to double-space commented-entries in 'struct'/'union'/'enum'. +nl_ds_struct_enum_cmt = false # true/false + +# Whether to force a newline before '}' of a 'struct'/'union'/'enum'. +# (Lower priority than eat_blanks_before_close_brace.) +nl_ds_struct_enum_close_brace = false # true/false + +# Add or remove newline before or after (depending on pos_class_colon) a class +# colon, as in 'class Foo : public Bar'. +nl_class_colon = ignore # ignore/add/remove/force + +# Add or remove newline around a class constructor colon. The exact position +# depends on nl_constr_init_args, pos_constr_colon and pos_constr_comma. +nl_constr_colon = ignore # ignore/add/remove/force + +# Whether to collapse a two-line namespace, like 'namespace foo\n{ decl; }' +# into a single line. If true, prevents other brace newline rules from turning +# such code into four lines. +nl_namespace_two_to_one_liner = false # true/false + +# Whether to remove a newline in simple unbraced if statements, turning them +# into one-liners, as in 'if(b)\n i++;' => 'if(b) i++;'. +nl_create_if_one_liner = false # true/false + +# Whether to remove a newline in simple unbraced for statements, turning them +# into one-liners, as in 'for (...)\n stmt;' => 'for (...) stmt;'. +nl_create_for_one_liner = false # true/false + +# Whether to remove a newline in simple unbraced while statements, turning +# them into one-liners, as in 'while (expr)\n stmt;' => 'while (expr) stmt;'. +nl_create_while_one_liner = false # true/false + +# Whether to collapse a function definition whose body (not counting braces) +# is only one line so that the entire definition (prototype, braces, body) is +# a single line. +nl_create_func_def_one_liner = false # true/false + +# Whether to collapse a function definition whose body (not counting braces) +# is only one line so that the entire definition (prototype, braces, body) is +# a single line. +nl_create_list_one_liner = false # true/false + +# Whether to split one-line simple unbraced if statements into two lines by +# adding a newline, as in 'if(b) i++;'. +nl_split_if_one_liner = false # true/false + +# Whether to split one-line simple unbraced for statements into two lines by +# adding a newline, as in 'for (...) stmt;'. +nl_split_for_one_liner = false # true/false + +# Whether to split one-line simple unbraced while statements into two lines by +# adding a newline, as in 'while (expr) stmt;'. +nl_split_while_one_liner = false # true/false + +# +# Blank line options +# + +# The maximum number of consecutive newlines (3 = 2 blank lines). +nl_max = 3 # unsigned number + +# The maximum number of consecutive newlines in a function. +nl_max_blank_in_func = 0 # unsigned number + +# The number of newlines before a function prototype. +nl_before_func_body_proto = 0 # unsigned number + +# The number of newlines before a multi-line function definition. +nl_before_func_body_def = 0 # unsigned number + +# The number of newlines before a class constructor/destructor prototype. +nl_before_func_class_proto = 0 # unsigned number + +# The number of newlines before a class constructor/destructor definition. +nl_before_func_class_def = 0 # unsigned number + +# The number of newlines after a function prototype. +nl_after_func_proto = 0 # unsigned number + +# The number of newlines after a function prototype, if not followed by +# another function prototype. +nl_after_func_proto_group = 0 # unsigned number + +# The number of newlines after a class constructor/destructor prototype. +nl_after_func_class_proto = 0 # unsigned number + +# The number of newlines after a class constructor/destructor prototype, +# if not followed by another constructor/destructor prototype. +nl_after_func_class_proto_group = 0 # unsigned number + +# Whether one-line method definitions inside a class body should be treated +# as if they were prototypes for the purposes of adding newlines. +# +# Requires nl_class_leave_one_liners=true. Overrides nl_before_func_body_def +# and nl_before_func_class_def for one-liners. +nl_class_leave_one_liner_groups = false # true/false + +# The number of newlines after '}' of a multi-line function body. +nl_after_func_body = 0 # unsigned number + +# The number of newlines after '}' of a multi-line function body in a class +# declaration. Also affects class constructors/destructors. +# +# Overrides nl_after_func_body. +nl_after_func_body_class = 0 # unsigned number + +# The number of newlines after '}' of a single line function body. Also +# affects class constructors/destructors. +# +# Overrides nl_after_func_body and nl_after_func_body_class. +nl_after_func_body_one_liner = 0 # unsigned number + +# The number of blank lines after a block of variable definitions at the top +# of a function body. +# +# 0: No change (default). +nl_func_var_def_blk = 0 # unsigned number + +# The number of newlines before a block of typedefs. If nl_after_access_spec +# is non-zero, that option takes precedence. +# +# 0: No change (default). +nl_typedef_blk_start = 0 # unsigned number + +# The number of newlines after a block of typedefs. +# +# 0: No change (default). +nl_typedef_blk_end = 0 # unsigned number + +# The maximum number of consecutive newlines within a block of typedefs. +# +# 0: No change (default). +nl_typedef_blk_in = 0 # unsigned number + +# The number of newlines before a block of variable definitions not at the top +# of a function body. If nl_after_access_spec is non-zero, that option takes +# precedence. +# +# 0: No change (default). +nl_var_def_blk_start = 0 # unsigned number + +# The number of newlines after a block of variable definitions not at the top +# of a function body. +# +# 0: No change (default). +nl_var_def_blk_end = 0 # unsigned number + +# The maximum number of consecutive newlines within a block of variable +# definitions. +# +# 0: No change (default). +nl_var_def_blk_in = 0 # unsigned number + +# The minimum number of newlines before a multi-line comment. +# Doesn't apply if after a brace open or another multi-line comment. +nl_before_block_comment = 0 # unsigned number + +# The minimum number of newlines before a single-line C comment. +# Doesn't apply if after a brace open or other single-line C comments. +nl_before_c_comment = 0 # unsigned number + +# The minimum number of newlines before a CPP comment. +# Doesn't apply if after a brace open or other CPP comments. +nl_before_cpp_comment = 0 # unsigned number + +# Whether to force a newline after a multi-line comment. +nl_after_multiline_comment = false # true/false + +# Whether to force a newline after a label's colon. +nl_after_label_colon = false # true/false + +# The number of newlines after '}' or ';' of a struct/enum/union definition. +nl_after_struct = 0 # unsigned number + +# The number of newlines before a class definition. +nl_before_class = 0 # unsigned number + +# The number of newlines after '}' or ';' of a class definition. +nl_after_class = 0 # unsigned number + +# The number of newlines before a namespace. +nl_before_namespace = 0 # unsigned number + +# The number of newlines after '{' of a namespace. This also adds newlines +# before the matching '}'. +# +# 0: Apply eat_blanks_after_open_brace or eat_blanks_before_close_brace if +# applicable, otherwise no change. +# +# Overrides eat_blanks_after_open_brace and eat_blanks_before_close_brace. +nl_inside_namespace = 0 # unsigned number + +# The number of newlines after '}' of a namespace. +nl_after_namespace = 0 # unsigned number + +# The number of newlines before an access specifier label. This also includes +# the Qt-specific 'signals:' and 'slots:'. Will not change the newline count +# if after a brace open. +# +# 0: No change (default). +nl_before_access_spec = 0 # unsigned number + +# The number of newlines after an access specifier label. This also includes +# the Qt-specific 'signals:' and 'slots:'. Will not change the newline count +# if after a brace open. +# +# 0: No change (default). +# +# Overrides nl_typedef_blk_start and nl_var_def_blk_start. +nl_after_access_spec = 0 # unsigned number + +# The number of newlines between a function definition and the function +# comment, as in '// comment\n void foo() {...}'. +# +# 0: No change (default). +nl_comment_func_def = 0 # unsigned number + +# The number of newlines after a try-catch-finally block that isn't followed +# by a brace close. +# +# 0: No change (default). +nl_after_try_catch_finally = 0 # unsigned number + +# (C#) The number of newlines before and after a property, indexer or event +# declaration. +# +# 0: No change (default). +nl_around_cs_property = 0 # unsigned number + +# (C#) The number of newlines between the get/set/add/remove handlers. +# +# 0: No change (default). +nl_between_get_set = 0 # unsigned number + +# (C#) Add or remove newline between property and the '{'. +nl_property_brace = ignore # ignore/add/remove/force + +# Whether to remove blank lines after '{'. +eat_blanks_after_open_brace = false # true/false + +# Whether to remove blank lines before '}'. +eat_blanks_before_close_brace = false # true/false + +# How aggressively to remove extra newlines not in preprocessor. +# +# 0: No change (default) +# 1: Remove most newlines not handled by other config +# 2: Remove all newlines and reformat completely by config +nl_remove_extra_newlines = 0 # unsigned number + +# (Java) Add or remove newline after an annotation statement. Only affects +# annotations that are after a newline. +nl_after_annotation = ignore # ignore/add/remove/force + +# (Java) Add or remove newline between two annotations. +nl_between_annotation = ignore # ignore/add/remove/force + +# +# Positioning options +# + +# The position of arithmetic operators in wrapped expressions. +pos_arith = ignore # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force + +# The position of assignment in wrapped expressions. Do not affect '=' +# followed by '{'. +pos_assign = ignore # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force + +# The position of Boolean operators in wrapped expressions. +pos_bool = ignore # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force + +# The position of comparison operators in wrapped expressions. +pos_compare = ignore # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force + +# The position of conditional operators, as in the '?' and ':' of +# 'expr ? stmt : stmt', in wrapped expressions. +pos_conditional = ignore # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force + +# The position of the comma in wrapped expressions. +pos_comma = ignore # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force + +# The position of the comma in enum entries. +pos_enum_comma = ignore # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force + +# The position of the comma in the base class list if there is more than one +# line. Affects nl_class_init_args. +pos_class_comma = ignore # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force + +# The position of the comma in the constructor initialization list. +# Related to nl_constr_colon, nl_constr_init_args and pos_constr_colon. +pos_constr_comma = ignore # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force + +# The position of trailing/leading class colon, between class and base class +# list. Affects nl_class_colon. +pos_class_colon = ignore # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force + +# The position of colons between constructor and member initialization. +# Related to nl_constr_colon, nl_constr_init_args and pos_constr_comma. +pos_constr_colon = ignore # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force + +# +# Line splitting options +# + +# Try to limit code width to N columns. +code_width = 0 # unsigned number + +# Whether to fully split long 'for' statements at semi-colons. +ls_for_split_full = false # true/false + +# Whether to fully split long function prototypes/calls at commas. +# The option ls_code_width has priority over the option ls_func_split_full. +ls_func_split_full = false # true/false + +# Whether to split lines as close to code_width as possible and ignore some +# groupings. +# The option ls_code_width has priority over the option ls_func_split_full. +ls_code_width = false # true/false + +# +# Code alignment options (not left column spaces/tabs) +# + +# Whether to keep non-indenting tabs. +align_keep_tabs = false # true/false + +# Whether to use tabs for aligning. +align_with_tabs = true # true/false + +# Whether to bump out to the next tab when aligning. +align_on_tabstop = false # true/false + +# Whether to right-align numbers. +align_number_right = false # true/false + +# Whether to keep whitespace not required for alignment. +align_keep_extra_space = false # true/false + +# Whether to align variable definitions in prototypes and functions. +align_func_params = false # true/false + +# The span for aligning parameter definitions in function on parameter name. +# +# 0: Don't align (default). +align_func_params_span = 0 # unsigned number + +# The threshold for aligning function parameter definitions. +# Use a negative number for absolute thresholds. +# +# 0: No limit (default). +align_func_params_thresh = 0 # number + +# The gap for aligning function parameter definitions. +align_func_params_gap = 0 # unsigned number + +# The span for aligning constructor value. +# +# 0: Don't align (default). +align_constr_value_span = 0 # unsigned number + +# The threshold for aligning constructor value. +# Use a negative number for absolute thresholds. +# +# 0: No limit (default). +align_constr_value_thresh = 0 # number + +# The gap for aligning constructor value. +align_constr_value_gap = 0 # unsigned number + +# Whether to align parameters in single-line functions that have the same +# name. The function names must already be aligned with each other. +align_same_func_call_params = false # true/false + +# The span for aligning function-call parameters for single line functions. +# +# 0: Don't align (default). +align_same_func_call_params_span = 0 # unsigned number + +# The threshold for aligning function-call parameters for single line +# functions. +# Use a negative number for absolute thresholds. +# +# 0: No limit (default). +align_same_func_call_params_thresh = 0 # number + +# The span for aligning variable definitions. +# +# 0: Don't align (default). +align_var_def_span = 0 # unsigned number + +# How to consider (or treat) the '*' in the alignment of variable definitions. +# +# 0: Part of the type 'void * foo;' (default) +# 1: Part of the variable 'void *foo;' +# 2: Dangling 'void *foo;' +# Dangling: the '*' will not be taken into account when aligning. +align_var_def_star_style = 0 # unsigned number + +# How to consider (or treat) the '&' in the alignment of variable definitions. +# +# 0: Part of the type 'long & foo;' (default) +# 1: Part of the variable 'long &foo;' +# 2: Dangling 'long &foo;' +# Dangling: the '&' will not be taken into account when aligning. +align_var_def_amp_style = 0 # unsigned number + +# The threshold for aligning variable definitions. +# Use a negative number for absolute thresholds. +# +# 0: No limit (default). +align_var_def_thresh = 0 # number + +# The gap for aligning variable definitions. +align_var_def_gap = 0 # unsigned number + +# Whether to align the colon in struct bit fields. +align_var_def_colon = false # true/false + +# The gap for aligning the colon in struct bit fields. +align_var_def_colon_gap = 0 # unsigned number + +# Whether to align any attribute after the variable name. +align_var_def_attribute = false # true/false + +# Whether to align inline struct/enum/union variable definitions. +align_var_def_inline = false # true/false + +# The span for aligning on '=' in assignments. +# +# 0: Don't align (default). +align_assign_span = 0 # unsigned number + +# The span for aligning on '=' in function prototype modifier. +# +# 0: Don't align (default). +align_assign_func_proto_span = 0 # unsigned number + +# The threshold for aligning on '=' in assignments. +# Use a negative number for absolute thresholds. +# +# 0: No limit (default). +align_assign_thresh = 0 # number + +# How to apply align_assign_span to function declaration "assignments", i.e. +# 'virtual void foo() = 0' or '~foo() = {default|delete}'. +# +# 0: Align with other assignments (default) +# 1: Align with each other, ignoring regular assignments +# 2: Don't align +align_assign_decl_func = 0 # unsigned number + +# The span for aligning on '=' in enums. +# +# 0: Don't align (default). +align_enum_equ_span = 0 # unsigned number + +# The threshold for aligning on '=' in enums. +# Use a negative number for absolute thresholds. +# +# 0: no limit (default). +align_enum_equ_thresh = 0 # number + +# The span for aligning class member definitions. +# +# 0: Don't align (default). +align_var_class_span = 0 # unsigned number + +# The threshold for aligning class member definitions. +# Use a negative number for absolute thresholds. +# +# 0: No limit (default). +align_var_class_thresh = 0 # number + +# The gap for aligning class member definitions. +align_var_class_gap = 0 # unsigned number + +# The span for aligning struct/union member definitions. +# +# 0: Don't align (default). +align_var_struct_span = 0 # unsigned number + +# The threshold for aligning struct/union member definitions. +# Use a negative number for absolute thresholds. +# +# 0: No limit (default). +align_var_struct_thresh = 0 # number + +# The gap for aligning struct/union member definitions. +align_var_struct_gap = 0 # unsigned number + +# The span for aligning struct initializer values. +# +# 0: Don't align (default). +align_struct_init_span = 0 # unsigned number + +# The span for aligning single-line typedefs. +# +# 0: Don't align (default). +align_typedef_span = 0 # unsigned number + +# The minimum space between the type and the synonym of a typedef. +align_typedef_gap = 0 # unsigned number + +# How to align typedef'd functions with other typedefs. +# +# 0: Don't mix them at all (default) +# 1: Align the open parenthesis with the types +# 2: Align the function type name with the other type names +align_typedef_func = 0 # unsigned number + +# How to consider (or treat) the '*' in the alignment of typedefs. +# +# 0: Part of the typedef type, 'typedef int * pint;' (default) +# 1: Part of type name: 'typedef int *pint;' +# 2: Dangling: 'typedef int *pint;' +# Dangling: the '*' will not be taken into account when aligning. +align_typedef_star_style = 0 # unsigned number + +# How to consider (or treat) the '&' in the alignment of typedefs. +# +# 0: Part of the typedef type, 'typedef int & intref;' (default) +# 1: Part of type name: 'typedef int &intref;' +# 2: Dangling: 'typedef int &intref;' +# Dangling: the '&' will not be taken into account when aligning. +align_typedef_amp_style = 0 # unsigned number + +# The span for aligning comments that end lines. +# +# 0: Don't align (default). +align_right_cmt_span = 0 # unsigned number + +# Minimum number of columns between preceding text and a trailing comment in +# order for the comment to qualify for being aligned. Must be non-zero to have +# an effect. +align_right_cmt_gap = 0 # unsigned number + +# If aligning comments, whether to mix with comments after '}' and #endif with +# less than three spaces before the comment. +align_right_cmt_mix = false # true/false + +# Whether to only align trailing comments that are at the same brace level. +align_right_cmt_same_level = false # true/false + +# Minimum column at which to align trailing comments. Comments which are +# aligned beyond this column, but which can be aligned in a lesser column, +# may be "pulled in". +# +# 0: Ignore (default). +align_right_cmt_at_col = 0 # unsigned number + +# The span for aligning function prototypes. +# +# 0: Don't align (default). +align_func_proto_span = 0 # unsigned number + +# The threshold for aligning function prototypes. +# Use a negative number for absolute thresholds. +# +# 0: No limit (default). +align_func_proto_thresh = 0 # number + +# Minimum gap between the return type and the function name. +align_func_proto_gap = 0 # unsigned number + +# Whether to align function prototypes on the 'operator' keyword instead of +# what follows. +align_on_operator = false # true/false + +# Whether to mix aligning prototype and variable declarations. If true, +# align_var_def_XXX options are used instead of align_func_proto_XXX options. +align_mix_var_proto = false # true/false + +# Whether to align single-line functions with function prototypes. +# Uses align_func_proto_span. +align_single_line_func = false # true/false + +# Whether to align the open brace of single-line functions. +# Requires align_single_line_func=true. Uses align_func_proto_span. +align_single_line_brace = false # true/false + +# Gap for align_single_line_brace. +align_single_line_brace_gap = 0 # unsigned number + +# (OC) The span for aligning Objective-C message specifications. +# +# 0: Don't align (default). +align_oc_msg_spec_span = 0 # unsigned number + +# Whether to align macros wrapped with a backslash and a newline. This will +# not work right if the macro contains a multi-line comment. +align_nl_cont = false # true/false + +# Whether to align macro functions and variables together. +align_pp_define_together = false # true/false + +# The span for aligning on '#define' bodies. +# +# =0: Don't align (default) +# >0: Number of lines (including comments) between blocks +align_pp_define_span = 0 # unsigned number + +# The minimum space between label and value of a preprocessor define. +align_pp_define_gap = 0 # unsigned number + +# Whether to align lines that start with '<<' with previous '<<'. +# +# Default: true +align_left_shift = true # true/false + +# Whether to align text after 'asm volatile ()' colons. +align_asm_colon = false # true/false + +# (OC) Span for aligning parameters in an Objective-C message call +# on the ':'. +# +# 0: Don't align. +align_oc_msg_colon_span = 0 # unsigned number + +# (OC) Whether to always align with the first parameter, even if it is too +# short. +align_oc_msg_colon_first = false # true/false + +# (OC) Whether to align parameters in an Objective-C '+' or '-' declaration +# on the ':'. +align_oc_decl_colon = false # true/false + +# +# Comment modification options +# + +# Try to wrap comments at N columns. +cmt_width = 0 # unsigned number + +# How to reflow comments. +# +# 0: No reflowing (apart from the line wrapping due to cmt_width) (default) +# 1: No touching at all +# 2: Full reflow +cmt_reflow_mode = 0 # unsigned number + +# Whether to convert all tabs to spaces in comments. If false, tabs in +# comments are left alone, unless used for indenting. +cmt_convert_tab_to_spaces = false # true/false + +# Whether to apply changes to multi-line comments, including cmt_width, +# keyword substitution and leading chars. +# +# Default: true +cmt_indent_multi = true # true/false + +# Whether to group c-comments that look like they are in a block. +cmt_c_group = false # true/false + +# Whether to put an empty '/*' on the first line of the combined c-comment. +cmt_c_nl_start = false # true/false + +# Whether to add a newline before the closing '*/' of the combined c-comment. +cmt_c_nl_end = false # true/false + +# Whether to change cpp-comments into c-comments. +cmt_cpp_to_c = false # true/false + +# Whether to group cpp-comments that look like they are in a block. Only +# meaningful if cmt_cpp_to_c=true. +cmt_cpp_group = false # true/false + +# Whether to put an empty '/*' on the first line of the combined cpp-comment +# when converting to a c-comment. +# +# Requires cmt_cpp_to_c=true and cmt_cpp_group=true. +cmt_cpp_nl_start = false # true/false + +# Whether to add a newline before the closing '*/' of the combined cpp-comment +# when converting to a c-comment. +# +# Requires cmt_cpp_to_c=true and cmt_cpp_group=true. +cmt_cpp_nl_end = false # true/false + +# Whether to put a star on subsequent comment lines. +cmt_star_cont = false # true/false + +# The number of spaces to insert at the start of subsequent comment lines. +cmt_sp_before_star_cont = 0 # unsigned number + +# The number of spaces to insert after the star on subsequent comment lines. +cmt_sp_after_star_cont = 0 # unsigned number + +# For multi-line comments with a '*' lead, remove leading spaces if the first +# and last lines of the comment are the same length. +# +# Default: true +cmt_multi_check_last = true # true/false + +# For multi-line comments with a '*' lead, remove leading spaces if the first +# and last lines of the comment are the same length AND if the length is +# bigger as the first_len minimum. +# +# Default: 4 +cmt_multi_first_len_minimum = 4 # unsigned number + +# Path to a file that contains text to insert at the beginning of a file if +# the file doesn't start with a C/C++ comment. If the inserted text contains +# '$(filename)', that will be replaced with the current file's name. +cmt_insert_file_header = "" # string + +# Path to a file that contains text to insert at the end of a file if the +# file doesn't end with a C/C++ comment. If the inserted text contains +# '$(filename)', that will be replaced with the current file's name. +cmt_insert_file_footer = "" # string + +# Path to a file that contains text to insert before a function definition if +# the function isn't preceded by a C/C++ comment. If the inserted text +# contains '$(function)', '$(javaparam)' or '$(fclass)', these will be +# replaced with, respectively, the name of the function, the javadoc '@param' +# and '@return' stuff, or the name of the class to which the member function +# belongs. +cmt_insert_func_header = "" # string + +# Path to a file that contains text to insert before a class if the class +# isn't preceded by a C/C++ comment. If the inserted text contains '$(class)', +# that will be replaced with the class name. +cmt_insert_class_header = "" # string + +# Path to a file that contains text to insert before an Objective-C message +# specification, if the method isn't preceded by a C/C++ comment. If the +# inserted text contains '$(message)' or '$(javaparam)', these will be +# replaced with, respectively, the name of the function, or the javadoc +# '@param' and '@return' stuff. +cmt_insert_oc_msg_header = "" # string + +# Whether a comment should be inserted if a preprocessor is encountered when +# stepping backwards from a function name. +# +# Applies to cmt_insert_oc_msg_header, cmt_insert_func_header and +# cmt_insert_class_header. +cmt_insert_before_preproc = false # true/false + +# Whether a comment should be inserted if a function is declared inline to a +# class definition. +# +# Applies to cmt_insert_func_header. +# +# Default: true +cmt_insert_before_inlines = true # true/false + +# Whether a comment should be inserted if the function is a class constructor +# or destructor. +# +# Applies to cmt_insert_func_header. +cmt_insert_before_ctor_dtor = false # true/false + +# +# Code modifying options (non-whitespace) +# + +# Add or remove braces on a single-line 'do' statement. +mod_full_brace_do = ignore # ignore/add/remove/force + +# Add or remove braces on a single-line 'for' statement. +mod_full_brace_for = ignore # ignore/add/remove/force + +# (Pawn) Add or remove braces on a single-line function definition. +mod_full_brace_function = ignore # ignore/add/remove/force + +# Add or remove braces on a single-line 'if' statement. Braces will not be +# removed if the braced statement contains an 'else'. +mod_full_brace_if = ignore # ignore/add/remove/force + +# Whether to enforce that all blocks of an 'if'/'else if'/'else' chain either +# have, or do not have, braces. If true, braces will be added if any block +# needs braces, and will only be removed if they can be removed from all +# blocks. +# +# Overrides mod_full_brace_if. +mod_full_brace_if_chain = false # true/false + +# Whether to add braces to all blocks of an 'if'/'else if'/'else' chain. +# If true, mod_full_brace_if_chain will only remove braces from an 'if' that +# does not have an 'else if' or 'else'. +mod_full_brace_if_chain_only = false # true/false + +# Add or remove braces on single-line 'while' statement. +mod_full_brace_while = ignore # ignore/add/remove/force + +# Add or remove braces on single-line 'using ()' statement. +mod_full_brace_using = ignore # ignore/add/remove/force + +# Don't remove braces around statements that span N newlines +mod_full_brace_nl = 0 # unsigned number + +# Whether to prevent removal of braces from 'if'/'for'/'while'/etc. blocks +# which span multiple lines. +# +# Affects: +# mod_full_brace_for +# mod_full_brace_if +# mod_full_brace_if_chain +# mod_full_brace_if_chain_only +# mod_full_brace_while +# mod_full_brace_using +# +# Does not affect: +# mod_full_brace_do +# mod_full_brace_function +mod_full_brace_nl_block_rem_mlcond = false # true/false + +# Add or remove unnecessary parenthesis on 'return' statement. +mod_paren_on_return = ignore # ignore/add/remove/force + +# (Pawn) Whether to change optional semicolons to real semicolons. +mod_pawn_semicolon = false # true/false + +# Whether to fully parenthesize Boolean expressions in 'while' and 'if' +# statement, as in 'if (a && b > c)' => 'if (a && (b > c))'. +mod_full_paren_if_bool = false # true/false + +# Whether to remove superfluous semicolons. +mod_remove_extra_semicolon = false # true/false + +# If a function body exceeds the specified number of newlines and doesn't have +# a comment after the close brace, a comment will be added. +mod_add_long_function_closebrace_comment = 0 # unsigned number + +# If a namespace body exceeds the specified number of newlines and doesn't +# have a comment after the close brace, a comment will be added. +mod_add_long_namespace_closebrace_comment = 0 # unsigned number + +# If a class body exceeds the specified number of newlines and doesn't have a +# comment after the close brace, a comment will be added. +mod_add_long_class_closebrace_comment = 0 # unsigned number + +# If a switch body exceeds the specified number of newlines and doesn't have a +# comment after the close brace, a comment will be added. +mod_add_long_switch_closebrace_comment = 0 # unsigned number + +# If an #ifdef body exceeds the specified number of newlines and doesn't have +# a comment after the #endif, a comment will be added. +mod_add_long_ifdef_endif_comment = 0 # unsigned number + +# If an #ifdef or #else body exceeds the specified number of newlines and +# doesn't have a comment after the #else, a comment will be added. +mod_add_long_ifdef_else_comment = 0 # unsigned number + +# Whether to take care of the case by the mod_sort_xx options. +mod_sort_case_sensitive = false # true/false + +# Whether to sort consecutive single-line 'import' statements. +mod_sort_import = false # true/false + +# (C#) Whether to sort consecutive single-line 'using' statements. +mod_sort_using = false # true/false + +# Whether to sort consecutive single-line '#include' statements (C/C++) and +# '#import' statements (Objective-C). Be aware that this has the potential to +# break your code if your includes/imports have ordering dependencies. +mod_sort_include = false # true/false + +# Whether to move a 'break' that appears after a fully braced 'case' before +# the close brace, as in 'case X: { ... } break;' => 'case X: { ... break; }'. +mod_move_case_break = false # true/false + +# Add or remove braces around a fully braced case statement. Will only remove +# braces if there are no variable declarations in the block. +mod_case_brace = ignore # ignore/add/remove/force + +# Whether to remove a void 'return;' that appears as the last statement in a +# function. +mod_remove_empty_return = false # true/false + +# Add or remove the comma after the last value of an enumeration. +mod_enum_last_comma = ignore # ignore/add/remove/force + +# (OC) Whether to organize the properties. If true, properties will be +# rearranged according to the mod_sort_oc_property_*_weight factors. +mod_sort_oc_properties = false # true/false + +# (OC) Weight of a class property modifier. +mod_sort_oc_property_class_weight = 0 # number + +# (OC) Weight of 'atomic' and 'nonatomic'. +mod_sort_oc_property_thread_safe_weight = 0 # number + +# (OC) Weight of 'readwrite' when organizing properties. +mod_sort_oc_property_readwrite_weight = 0 # number + +# (OC) Weight of a reference type specifier ('retain', 'copy', 'assign', +# 'weak', 'strong') when organizing properties. +mod_sort_oc_property_reference_weight = 0 # number + +# (OC) Weight of getter type ('getter=') when organizing properties. +mod_sort_oc_property_getter_weight = 0 # number + +# (OC) Weight of setter type ('setter=') when organizing properties. +mod_sort_oc_property_setter_weight = 0 # number + +# (OC) Weight of nullability type ('nullable', 'nonnull', 'null_unspecified', +# 'null_resettable') when organizing properties. +mod_sort_oc_property_nullability_weight = 0 # number + +# +# Preprocessor options +# + +# Add or remove indentation of preprocessor directives inside #if blocks +# at brace level 0 (file-level). +pp_indent = ignore # ignore/add/remove/force + +# Whether to indent #if/#else/#endif at the brace level. If false, these are +# indented from column 1. +pp_indent_at_level = false # true/false + +# Specifies the number of columns to indent preprocessors per level +# at brace level 0 (file-level). If pp_indent_at_level=false, also specifies +# the number of columns to indent preprocessors per level +# at brace level > 0 (function-level). +# +# Default: 1 +pp_indent_count = 1 # unsigned number + +# Add or remove space after # based on pp_level of #if blocks. +pp_space = ignore # ignore/add/remove/force + +# Sets the number of spaces per level added with pp_space. +pp_space_count = 0 # unsigned number + +# The indent for '#region' and '#endregion' in C# and '#pragma region' in +# C/C++. Negative values decrease indent down to the first column. +pp_indent_region = 0 # number + +# Whether to indent the code between #region and #endregion. +pp_region_indent_code = false # true/false + +# If pp_indent_at_level=true, sets the indent for #if, #else and #endif when +# not at file-level. Negative values decrease indent down to the first column. +# +# =0: Indent preprocessors using output_tab_size +# >0: Column at which all preprocessors will be indented +pp_indent_if = 0 # number + +# Whether to indent the code between #if, #else and #endif. +pp_if_indent_code = false # true/false + +# Whether to indent '#define' at the brace level. If false, these are +# indented from column 1. +pp_define_at_level = false # true/false + +# Whether to ignore the '#define' body while formatting. +pp_ignore_define_body = false # true/false + +# Whether to indent case statements between #if, #else, and #endif. +# Only applies to the indent of the preprocesser that the case statements +# directly inside of. +# +# Default: true +pp_indent_case = true # true/false + +# Whether to indent whole function definitions between #if, #else, and #endif. +# Only applies to the indent of the preprocesser that the function definition +# is directly inside of. +# +# Default: true +pp_indent_func_def = true # true/false + +# Whether to indent extern C blocks between #if, #else, and #endif. +# Only applies to the indent of the preprocesser that the extern block is +# directly inside of. +# +# Default: true +pp_indent_extern = true # true/false + +# Whether to indent braces directly inside #if, #else, and #endif. +# Only applies to the indent of the preprocesser that the braces are directly +# inside of. +# +# Default: true +pp_indent_brace = true # true/false + +# +# Sort includes options +# + +# The regex for include category with priority 0. +include_category_0 = "" # string + +# The regex for include category with priority 1. +include_category_1 = "" # string + +# The regex for include category with priority 2. +include_category_2 = "" # string + +# +# Use or Do not Use options +# + +# true: indent_func_call_param will be used (default) +# false: indent_func_call_param will NOT be used +# +# Default: true +use_indent_func_call_param = true # true/false + +# The value of the indentation for a continuation line is calculated +# differently if the statement is: +# - a declaration: your case with QString fileName ... +# - an assignment: your case with pSettings = new QSettings( ... +# +# At the second case the indentation value might be used twice: +# - at the assignment +# - at the function call (if present) +# +# To prevent the double use of the indentation value, use this option with the +# value 'true'. +# +# true: indent_continue will be used only once +# false: indent_continue will be used every time (default) +use_indent_continue_only_once = false # true/false + +# The value might be used twice: +# - at the assignment +# - at the opening brace +# +# To prevent the double use of the indentation value, use this option with the +# value 'true'. +# +# true: indentation will be used only once +# false: indentation will be used every time (default) +indent_cpp_lambda_only_once = false # true/false + +# Whether sp_after_angle takes precedence over sp_inside_fparen. This was the +# historic behavior, but is probably not the desired behavior, so this is off +# by default. +use_sp_after_angle_always = false # true/false + +# Whether to apply special formatting for Qt SIGNAL/SLOT macros. Essentially, +# this tries to format these so that they match Qt's normalized form (i.e. the +# result of QMetaObject::normalizedSignature), which can slightly improve the +# performance of the QObject::connect call, rather than how they would +# otherwise be formatted. +# +# See options_for_QT.cpp for details. +# +# Default: true +use_options_overriding_for_qt_macros = true # true/false + +# +# Warn levels - 1: error, 2: warning (default), 3: note +# + +# (C#) Warning is given if doing tab-to-\t replacement and we have found one +# in a C# verbatim string literal. +# +# Default: 2 +warn_level_tabs_found_in_verbatim_string_literals = 2 # unsigned number + +# Meaning of the settings: +# Ignore - do not do any changes +# Add - makes sure there is 1 or more space/brace/newline/etc +# Force - makes sure there is exactly 1 space/brace/newline/etc, +# behaves like Add in some contexts +# Remove - removes space/brace/newline/etc +# +# +# - Token(s) can be treated as specific type(s) with the 'set' option: +# `set tokenType tokenString [tokenString...]` +# +# Example: +# `set BOOL __AND__ __OR__` +# +# tokenTypes are defined in src/token_enum.h, use them without the +# 'CT_' prefix: 'CT_BOOL' => 'BOOL' +# +# +# - Token(s) can be treated as type(s) with the 'type' option. +# `type tokenString [tokenString...]` +# +# Example: +# `type int c_uint_8 Rectangle` +# +# This can also be achieved with `set TYPE int c_uint_8 Rectangle` +# +# +# To embed whitespace in tokenStrings use the '\' escape character, or quote +# the tokenStrings. These quotes are supported: "'` +# +# +# - Support for the auto detection of languages through the file ending can be +# added using the 'file_ext' command. +# `file_ext langType langString [langString..]` +# +# Example: +# `file_ext CPP .ch .cxx .cpp.in` +# +# langTypes are defined in uncrusify_types.h in the lang_flag_e enum, use +# them without the 'LANG_' prefix: 'LANG_CPP' => 'CPP' +# +# +# - Custom macro-based indentation can be set up using 'macro-open', +# 'macro-else' and 'macro-close'. +# `(macro-open | macro-else | macro-close) tokenString` +# +# Example: +# `macro-open BEGIN_TEMPLATE_MESSAGE_MAP` +# `macro-open BEGIN_MESSAGE_MAP` +# `macro-close END_MESSAGE_MAP` +# +# +# option(s) with 'not default' value: 0 +# diff --git a/docs/CRC-Karten/CRC-Karten.docx b/docs/CRC-Karten/CRC-Karten.docx new file mode 100644 index 0000000..ae0db5c Binary files /dev/null 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 new file mode 100644 index 0000000..8cd4e0f Binary files /dev/null and b/docs/CRC-Karten/CRC-Karten.pdf differ diff --git a/docs/Manual/assets/change-colors.png b/docs/Manual/assets/change-colors.png new file mode 100644 index 0000000..8a3065a Binary files /dev/null and b/docs/Manual/assets/change-colors.png differ diff --git a/docs/Manual/assets/close-window.png b/docs/Manual/assets/close-window.png new file mode 100644 index 0000000..5dae5f1 Binary files /dev/null and b/docs/Manual/assets/close-window.png differ diff --git a/docs/Manual/assets/color-switch.png b/docs/Manual/assets/color-switch.png new file mode 100644 index 0000000..5e71b6a Binary files /dev/null and b/docs/Manual/assets/color-switch.png differ diff --git a/docs/Manual/assets/create-layer.png b/docs/Manual/assets/create-layer.png new file mode 100644 index 0000000..0cb408b Binary files /dev/null and b/docs/Manual/assets/create-layer.png differ diff --git a/docs/Manual/assets/file-open.png b/docs/Manual/assets/file-open.png new file mode 100644 index 0000000..f60e224 Binary files /dev/null and b/docs/Manual/assets/file-open.png differ diff --git a/docs/Manual/assets/file-options.png b/docs/Manual/assets/file-options.png new file mode 100644 index 0000000..682f12b Binary files /dev/null and b/docs/Manual/assets/file-options.png differ diff --git a/docs/Manual/assets/file-save.png b/docs/Manual/assets/file-save.png new file mode 100644 index 0000000..23d2448 Binary files /dev/null and b/docs/Manual/assets/file-save.png differ diff --git a/docs/Manual/assets/fill-layer.png b/docs/Manual/assets/fill-layer.png new file mode 100644 index 0000000..8d3d041 Binary files /dev/null and b/docs/Manual/assets/fill-layer.png differ diff --git a/docs/Manual/assets/icon.png b/docs/Manual/assets/icon.png new file mode 100644 index 0000000..a92b091 Binary files /dev/null and b/docs/Manual/assets/icon.png differ diff --git a/docs/Manual/assets/icon.svg b/docs/Manual/assets/icon.svg new file mode 100644 index 0000000..ab6ba5b --- /dev/null +++ b/docs/Manual/assets/icon.svg @@ -0,0 +1,244 @@ + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/Manual/assets/layer-options.png b/docs/Manual/assets/layer-options.png new file mode 100644 index 0000000..c237c73 Binary files /dev/null and b/docs/Manual/assets/layer-options.png differ diff --git a/docs/Manual/assets/maximize-window.png b/docs/Manual/assets/maximize-window.png new file mode 100644 index 0000000..5913f49 Binary files /dev/null and b/docs/Manual/assets/maximize-window.png differ diff --git a/docs/Manual/assets/minimize-window.png b/docs/Manual/assets/minimize-window.png new file mode 100644 index 0000000..a6cfed2 Binary files /dev/null and b/docs/Manual/assets/minimize-window.png differ diff --git a/docs/Manual/assets/startup.png b/docs/Manual/assets/startup.png new file mode 100644 index 0000000..b9647bf Binary files /dev/null and b/docs/Manual/assets/startup.png differ diff --git a/docs/Manual/assets/tool-pen.png b/docs/Manual/assets/tool-pen.png new file mode 100644 index 0000000..52bbfda Binary files /dev/null and b/docs/Manual/assets/tool-pen.png differ diff --git a/docs/Manual/assets/tool-plain.png b/docs/Manual/assets/tool-plain.png new file mode 100644 index 0000000..74e52b4 Binary files /dev/null and b/docs/Manual/assets/tool-plain.png differ diff --git a/docs/Manual/assets/toollist.png b/docs/Manual/assets/toollist.png new file mode 100644 index 0000000..d1b671d Binary files /dev/null and b/docs/Manual/assets/toollist.png differ diff --git a/docs/Manual/manual.pdf b/docs/Manual/manual.pdf new file mode 100644 index 0000000..537d49b Binary files /dev/null and b/docs/Manual/manual.pdf differ diff --git a/docs/Manual/manual.tex b/docs/Manual/manual.tex new file mode 100644 index 0000000..75b0767 --- /dev/null +++ b/docs/Manual/manual.tex @@ -0,0 +1,123 @@ +\documentclass[a4paper, 12pt]{article} + +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} + +\usepackage{roboto} +\usepackage{parskip} +\usepackage[english]{babel} +\usepackage{a4wide} +\usepackage{graphicx} +\usepackage{svg} + +\title{intelliPhoto 0.31 - Manual} +\author{Paul Norberger \& the intelliPhoto team} + +\begin{document} +\begin{titlepage} +\maketitle +\thispagestyle{empty} +\begin{center} +\includegraphics[width=0.35\linewidth,keepaspectratio]{assets/icon} +\end{center} +\tableofcontents +\end{titlepage} +\section{Introduction} +intelliPhoto is a software for creating and editing graphics of various kinds. While it allows for work with a full color space, it will also allow export in a more restriced format, which uses 1 byte per pixel. Currently its in its early stages of development and has a very limited array of tools as well as a functional, but barebones interface. This will change in future versions. +Currently the following features are implemented, which will be described in further detail on the following pages: +\begin{itemize} +\item A barebones user interface +\item Loading and Saving images from and to standardized formats (such as .png, .bmp or .jpg) +\item Drawing with a pen with adjustable width and color, clearing the whole canvas with one color and drawing lines, rectangles, circles and polygons as well as flood filling adjacent pixels +\item A layer structure, that allows for creating, deleting, moving and changing the order of layers +\end{itemize} + +\section{User Guide} +After startup the following window opens: +\begin{center} +\includegraphics[width=0.55\linewidth,keepaspectratio]{assets/startup} +\end{center} + +\subsection{Loading images} +To load a preexisting image, click on \texttt{File} in the top menu bar and then on \texttt{Open...} in the appearing context menu. +\begin{center} +\includegraphics[width=0.3\linewidth,keepaspectratio]{assets/file-open} +\end{center} + +A file explorer window opens. Navigate to the image you want to open and click on \texttt{Open} or the equivalent in your system language. The image will now be imported and displayed. + +\subsection{Saving images} +To save the current canvas as an image, click on \texttt{File} in the top menu bar then hover over \texttt{Save As} and click on your preferred file format in the appearing context menu. +\begin{center} +\includegraphics[width=0.3\linewidth,keepaspectratio]{assets/file-save} +\end{center} + +A file explorer window opens. Navigate to your preferred save location, input a file name and click on \texttt{Save} or the equivalent in your system language. The image will be saved at that location in the selected file format. + +\subsection{Setting the active layer} +The active layer is the layer you are currently editing. To change it, you currently have to specify the index of the layer under \texttt{Layer > select Active...}. + +\subsection{Setting the main and secondary color} +The main and secondary color are a concept used by all the drawing tools. You select them independendly of other tool parameters under \texttt{Tools > Color}. +\begin{center} +\includegraphics[width=0.3\linewidth,keepaspectratio]{assets/change-colors} +\end{center} +The appearing popup will allow you to specify a new color. + +\subsection{Switching main and secondary color} +An often desired use case is to switch the main and secondary color. So that you don't have to this manually, which would be time consuming there is an easy command to do it under \texttt{Tools > Color}. +It is also bound to the keyboard shortcut \texttt{Ctrl+Shift+S}. + +\subsection{Drawing with the pen tool} +To activate the pen tool simply select it under \texttt{Tools > Pen}. You will be prompted to input the pen width, just put in the width you desire. +\begin{center} +\includegraphics[width=0.2\linewidth,keepaspectratio]{assets/tool-pen} +\end{center} +To edit the active layer with the pen tool simply click and hold the left mouse button while hovering the layer on the canvas. When you click within the boundaries of the active layer, the pixels in the radius you selected will change their color to the main color which you selected under the section above. + +\subsection{Drawing straight lines} +To activate the line tool select it under \texttt{Tools > Line}. You will be prompted to input the line width. +To draw a line you now have to left click on the starting point on the canvas, hold it pressed and move to the end point and release the mouse button. + +You can cancel this operation at any time by clicking the right mouse button while holding the left and then releasing both. + +\subsection{Fill the active layer in one color} +To fill the whole layer with the main color, you first specify the color on the right side of the picture. + +\begin{center} +\includegraphics[width=0.3\linewidth,keepaspectratio]{assets/tool-plain} +\end{center} + +\subsection{Moving layers} +The layers are flexible and can be moved to a different position on the canvas, their order can be changed at will. For this you can use the movement options under \texttt{Layer}. Keep in mind that the changes always only effect the active layer you have chosen in the section "Setting the active layer". + +\begin{center} +\includegraphics[width=0.3\linewidth,keepaspectratio]{assets/layer-options} +\end{center} + +\subsection{Creating and deleting layers} +Raster Layers can be created at will under \texttt{Layer > New Layer...} You will be prompted to input the width and height of the new layer. Afterwards it will be created. +\begin{center} +\includegraphics[width=0.3\linewidth,keepaspectratio]{assets/create-layer} +\end{center} +To delete the active layer you have to click on \texttt{Delete Layer...} in the same submenu. + +\subsection{Transparency and layers} +Layers can also be made more or less transparent under \texttt{Layer > set Alpha}. Values between 0 and 255 are valid. There is currently no error handling and this can lead to memory leaks, so be careful. This also only effects the active layer. + +\subsection{Closing the program} +To close the program you have to execute the exit program routine, which heavily depends on your operating system. Usually you can find a red cross symbol at the top right, though it may be different depending on your setup. +For Windows 10, the desired symbol looks like this when hovered: +\begin{center} +\includegraphics[width=0.9\linewidth,keepaspectratio]{assets/close-window} +\end{center} +Alternatively you can press \texttt{CTR+Q}. + +\section{Next steps} +The following features are currently high priority and will be implimented in the near future: +\begin{itemize} +\item Refactoring the code, improving readability, structure and the dev documentation +\item Improving the UI and integrating all the tools in it +\end{itemize} + +\end{document} \ No newline at end of file diff --git a/docs/Volere Snow Cards/Req_0001.txt b/docs/Volere Snow Cards/Req_0001.txt new file mode 100644 index 0000000..1281493 --- /dev/null +++ b/docs/Volere Snow Cards/Req_0001.txt @@ -0,0 +1,30 @@ +Req-ID: + 0001 +Req-Type: + Nicht-Funktional +Events/UCs: + -Speicherung eines Bildes + -Pixel wird mit einem Byte dargestellt + -Overhead für Metainformationen erlaubt + -Keine seperate Abhandlung von "RasterImage" und "ShapedImage" +Description: + -Ein Bild wird mit maximal einem Byte pro Pixel kodiert + -Codierungsmöglichkeit nach folgendem Schema: + -Alle binären Codierung werden einer Farbe zugeordnet -> 2^(8)-1 mögliche Farben + Transparenz + -Die Zuordnung der Farben erfolgt automatisch und wird ebenfalls in der exportierten Datei gespeichert + -Die Umsetzung erfolgt mit dem Standart PNG8 +Originator: + Jonas Mucke +Fit Criterion: + -Darstellung von mindestens 250 paarweise verschiedenen Farbstufen + -Darstellung einen transparenten Bits (Alpha Kanal = 1) + -Verarbeitungsmöglichkeit für 2^10 Pixel in unter 0.1 Sekunde beim Einlesen und Speichern +Priority: + 0 +Support Material: + Ubungsblat_01.pdf +Conflicts: +History: + -Erstellt am 30.10.2019, von Jonas Mucke + -Aktualisiert am 17.12.2019, von Paul Norberger + -Vollständig umgesetzt, Stand: 17.12.2019 \ No newline at end of file diff --git a/docs/Volere Snow Cards/Req_0002.txt b/docs/Volere Snow Cards/Req_0002.txt new file mode 100644 index 0000000..c106509 --- /dev/null +++ b/docs/Volere Snow Cards/Req_0002.txt @@ -0,0 +1,78 @@ +Req-ID: + 0002 +Req-Type: + Funktional +Events/UCs: + -Bearbeitung des Bildes mit einer Betriebssystem unterstützen Eingabemöglichkeit, zum Beispiel Maus oder Stift + -Bearbeitung mittels verschiedener Zeichen-Tools + -Freiwählbare Farbe aus dem möglichen Farbbereich +Description: + -Ein Farbwert, auch Transparent, welcher durch die genutzte Codierung (siehe Req_0001) darstellbar sein. Dies soll mittels Tools + gesetzt werden können, wobei diese spezifizieren was "gesetzt" bedeutet. + -Tools: + Pinsel: + -Der Pinsel ist ein Tool, welches um seinen Mittelpunkt alles in einem gewissen Pixelradius einfärbt. + Der Pixelradius geht dabei von 1-Pixel bis zu 10-Pixel. + Forms: + -Kreis: + Das Tool Kreis, soll es ermöglichen einen Kreis in einer gewählten Farbe aufzuspannen. + Dabei wird am Mittelpunkt angesetzt und dann zu einem beliebigen Punkt auf dem Kreis gezogen, die restlichen Punkte werden dann + mit dem selben Radius gefunden. + Das Rechteck besitzt 2 Farbattribute, den Rand und die Füllung. Der Rand kann im Bezug auf Breite und Farbe eingestellt werden. + Die Füllung ist innerhalb der Fläche, welche vom Rand aufgespannt wird, und kann im Bezug auf die Farbe und die Transparenz + eingestellt werden. + -Linie: + Das Tool Formen (Linie), soll es einem ermöglichen eine Linie in der gewählten Farbe zwischen 2 Punkten zu + ziehen. Dabei wird am ersten Punkt angesetzt und zum Zielpunkt gezogen, dabei verändert sich die Linie live. + Sobald das Eingabegerät getogglet wird, so wird die aktuelle Stelle als Endpunkt angenommen. Zwischen + Start und Endpunkt wird die Linie gezeichnet. + Es existieren verschiedene Linien-Formen: + -durchgezogene Linie (eine Linie ohne Lücken) + -gestrichelte Linie (auf der Linie werden nur Striche in regelmäßigen Abständen gezeichnet) + -gepunktete Linie (auf der Linie wird punktweise zwischen Farbig und Transparent alterniert) + Die Linie kann mittels dem Breite-Attribut verändert werden (Breite zwischen 1 und 10 Pixel) + -Rechteck: + Das Tool Formen (Rechteck), soll es einem ermöglichen ein Rechteck in ein einer gewählten Farbe aufzuspannen. + Dabei wird am ersten Punkt angesetzt und zum Zielpunkt gezogen. Dabei verändert sich das Rechteck live. + Sobald das Eingabegerät getogglet wird, so wird die aktuelle Stelle als Endpunkt angenommen. Zwischen Start und Endpunkt + wird das Rechteck aufgespannt. + Das Rechteck besitzt 2 Farbattribute, den Rand und die Füllung. Der Rand ist um das Rechteck gesetzt und kann + im Bezug auf Breite und Farbe eingestellt werden. Die Füllung ist innerhalb der Fläche, welche vom Rand aufgespannt wird, + und kann im Bezug auf die Farbe und die Transparenz eingestellt werden. + FloodFill: + -Das Floodfill Tool, bei diesem wird ein Pixel ausgewählt. Alle Pixel die mit diesem Pixel in einer Äquivalenzklasse + im Bezug auf Farbe und Nachbarschafts-Relation stehen, werden in die gewählte Farbe eingefärbt. + Einfarbig: + -Das Einfarbig Tool färbt das gesamte Bild in die gewählte Farbe ein. + Korrektur: + -Die Korrektur Tool ermöglicht das Anpassen verschiedener Bildwerte + -Helligkeit: + Das Tool Korrektur (Helligkeit), soll es ermöglichen die Helligkeit des Bildes anzupassen + -Farbton: + Das Tool Korrektur (Farbton), soll es ermöglichen den Farbton des Bildes anzupassen + Gradiation: + -Das Gradiations Tool soll es ermöglichen Farbverläufe mit einer Anfangs- und Endfarbe zu erstellen, zwischen welchen linear interpoliert wird. + Selektion: + -Das Selektionstool soll es ermöglichen ein Rechteck an Pixeln auszuwählen welche für die Bearbeitung durch andere Tools + berücksichtigt werden sollen. + Dabei wird am ersten Punkt angesetzt und zum Zielpunkt gezogen. Dabei verändert sich das Rechteck live. + Sobald das Eingabegerät getogglet wird, so wird die aktuelle Stelle als Endpunkt angenommen. Zwischen Start und Endpunkt + wird das Rechteck aufgespannt. + Cut: + -Das Cut Tool ermöglicht das Ausschneiden der selektierten Pixel +Originator: + Jonas Mucke +Fit Criterion: + -Das Setzten eines Pixels, in einer beliebigen Farbe, funktioniert in 99,9% in unter 0.01 Sekundens auf Referenzsystem + -Der Vollständige Farbbreich ist frei wählbar + -Es müssen mindestens 3 Tools benutzbar sein, das bedeutet eine 99,9% richtiges Verhalten in unter 0.1 Sekunden auf Referenzsystem + -Tools besitzen in 100% der Fälle das gewünschte Verhalten +Priority: + 100 +Support Material: + Ubungsblat_01.pdf +Conflicts: + - Keine bekannten Konflikte, Stand: 17.12.2019 +History: + - Erstellt am 30.10.2019 um 22:10, von Jonas Mucke + - Aktualisiert am 17.12.2019, von Paul Norberger \ No newline at end of file diff --git a/docs/Volere Snow Cards/Req_0003.txt b/docs/Volere Snow Cards/Req_0003.txt new file mode 100644 index 0000000..e157f07 --- /dev/null +++ b/docs/Volere Snow Cards/Req_0003.txt @@ -0,0 +1,26 @@ +Req-ID: + 0003 +Req-Type: + Nicht-Funktional +Events/UCs: + - Selbsterklärendes & geordnetes User Interface +Description: + - Verständliches & gewohntes Design der Benutzeroberfläche + - Ähnlichkeit zu bewährten UIs, wie die beliebter Software (Gimp, Photoshop...) + - Toolleiste, die Icons für die einzelnen Tools beinhaltet und logisch in seperate Abschnitte eingeteilt ist + - Toolleiste als Block, der sich je nach Tool ändert auf einer linken Seite des Canvas + - Ein Layer"stack", der kleine Previewbilder der einzelnen Ebenen beinhaltet und das Verändern der Reihenfolge, sowie das Löschen & Erstellen von Layern erlaubt. + - Ein großer, zentraler Canvas, der die Bearbeitung ermöglicht +Originator: + Paul Norberger +Fit Criterion: + -Testgruppe von 3 Personen, die das Programm zuvor noch nie benutzt haben, stellen keine Fragen über die Benutzerobefläche nach einigen Minuten Ausprobieren. + -Kunde, der das neue Interface noch nie benutzt hat, hat keine größeren Schwierigkeiten damit zurecht zu kommen. +Priority: + 20 +Support Material: + Ubungsblat_01.pdf +Conflicts: + -Keine bekannten Konflikte, Stand: 17.12.2019 +History: + -Erstellt am 17.12.2019 diff --git a/docs/Volere Snow Cards/Req_0004.txt b/docs/Volere Snow Cards/Req_0004.txt new file mode 100644 index 0000000..7fd77a2 --- /dev/null +++ b/docs/Volere Snow Cards/Req_0004.txt @@ -0,0 +1,34 @@ +Req-ID: + 0004 +Req-Type: + Funktional +Events/UCs: + -Rückgängigmachen eines vorherigen Fehlers + -Rückgängigmachen einer versehntlichen Korrektur + -Einen rückgängig gemachten Schritt wiederholen +Description: + -Es werden insgesamt 20 Bearbeitungschritte gespeichert + -Die gesamten Pixeldaten der Ebenen werden für jeden Schritt gespeichert + -Wird der Undo aktiviert, wird zunächst bestimmt ob sich die Daten für den Schritt direkt + davor im Speicher befinden. Ist dies der Fall, werden die Daten geladen und der intern + gespeicherte Index des geladenen Statuses verschiebt sich nach vorn, so kann mehrfach + geundoed und redoed werden. Ist dies nicht der Fall, gibt es ein audiovisuelles Feedback, + dass der Schritt nicht geladen werden kann. + -Wird der Undo aktiviert, wird zunächst bestimmt ob sich die Daten für den Schritt direkt + davor im Speicher befinden Ist dies der Fall, werden die Daten geladen und der intern + gespeicherte Index des geladenen Statuses verschiebt sich nach hinten, so kann mehrfach + geundoed und redoed werden. Ist dies nicht der Fall, gibt es ein audiovisuelles Feedback, + dass der Schritt nicht geladen werden kann. +Originator: + Paul Norberger +Fit Criterion: + -Bis zu 20 Schritte können geundoed und redoed werden + -Das Laden der einzelnen Schritte dauert für ein 512x512px Bild nicht länger als 0.2 Sekunden auf Referenzsystem +Priority: + 50 +Support Material: + Ubungsblat_01.pdf +Conflicts: + - Keine bekannten Konflikte, Stand: 18.12.2019 +History: + - Erstellt am 18.12.2019, von Paul Norberger \ No newline at end of file diff --git a/docs/html/_intelli_color_picker_8h.html b/docs/html/_intelli_color_picker_8h.html new file mode 100644 index 0000000..b04a431 --- /dev/null +++ b/docs/html/_intelli_color_picker_8h.html @@ -0,0 +1,129 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/IntelliHelper/IntelliColorPicker.h File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
IntelliColorPicker.h File Reference
+
+
+
#include "QColor"
+#include "QPoint"
+#include "QColorDialog"
+
+Include dependency graph for IntelliColorPicker.h:
+
+
+
+
+This graph shows which files directly or indirectly include this file:
+
+
+
+
+

Go to the source code of this file.

+ + + + + +

+Classes

class  IntelliColorPicker
 The IntelliColorPicker manages the selected colors for one whole project. More...
 
+
+
+ + + + diff --git a/docs/html/_intelli_color_picker_8h__dep__incl.dot b/docs/html/_intelli_color_picker_8h__dep__incl.dot new file mode 100644 index 0000000..154a774 --- /dev/null +++ b/docs/html/_intelli_color_picker_8h__dep__incl.dot @@ -0,0 +1,65 @@ +digraph "intelliphoto/src/IntelliHelper/IntelliColorPicker.h" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Intelli\lHelper/IntelliColorPicker.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="intelliphoto/src/Intelli\lHelper/IntelliColorPicker.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_helper_2_intelli_color_picker_8cpp.html",tooltip=" "]; + Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="intelliphoto/src/Layer\l/PaintingArea.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8h.html",tooltip=" "]; + Node3 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="intelliphoto/src/GUI\l/IntelliPhotoGui.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_photo_gui_8cpp.html",tooltip=" "]; + Node3 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="intelliphoto/src/Layer\l/PaintingArea.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8cpp.html",tooltip=" "]; + Node3 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="intelliphoto/src/Tool\l/IntelliTool.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_8cpp.html",tooltip=" "]; + Node3 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="intelliphoto/src/Tool\l/IntelliToolCircle.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_circle_8cpp.html",tooltip=" "]; + Node3 -> Node8 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 [label="intelliphoto/src/Tool\l/IntelliToolFloodFill.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_flood_fill_8cpp.html",tooltip=" "]; + Node3 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 [label="intelliphoto/src/Tool\l/IntelliToolLine.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_line_8cpp.html",tooltip=" "]; + Node3 -> Node10 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node10 [label="intelliphoto/src/Tool\l/IntelliToolPen.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_pen_8cpp.html",tooltip=" "]; + Node3 -> Node11 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node11 [label="intelliphoto/src/Tool\l/IntelliToolPlain.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_plain_8cpp.html",tooltip=" "]; + Node3 -> Node12 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node12 [label="intelliphoto/src/Tool\l/IntelliToolPolygon.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_polygon_8cpp.html",tooltip=" "]; + Node3 -> Node13 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 [label="intelliphoto/src/Tool\l/IntelliToolRectangle.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_rectangle_8cpp.html",tooltip=" "]; + Node1 -> Node14 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node14 [label="intelliphoto/src/Tool\l/IntelliColorPicker.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_tool_2_intelli_color_picker_8cpp.html",tooltip=" "]; + Node1 -> Node15 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node15 [label="intelliphoto/src/Tool\l/IntelliTool.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_8h.html",tooltip=" "]; + Node15 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node15 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node15 -> Node16 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node16 [label="intelliphoto/src/Tool\l/IntelliToolCircle.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_circle_8h.html",tooltip=" "]; + Node16 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node16 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node15 -> Node17 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node17 [label="intelliphoto/src/Tool\l/IntelliToolFloodFill.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_flood_fill_8h.html",tooltip=" "]; + Node17 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node17 -> Node8 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node15 -> Node18 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node18 [label="intelliphoto/src/Tool\l/IntelliToolLine.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_line_8h.html",tooltip=" "]; + Node18 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node18 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node15 -> Node19 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node19 [label="intelliphoto/src/Tool\l/IntelliToolPen.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_pen_8h.html",tooltip=" "]; + Node19 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node19 -> Node10 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node15 -> Node20 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node20 [label="intelliphoto/src/Tool\l/IntelliToolPlain.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_plain_8h.html",tooltip=" "]; + Node20 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node20 -> Node11 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node15 -> Node21 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node21 [label="intelliphoto/src/Tool\l/IntelliToolPolygon.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_polygon_8h.html",tooltip=" "]; + Node21 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node21 -> Node12 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node15 -> Node22 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node22 [label="intelliphoto/src/Tool\l/IntelliToolRectangle.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_rectangle_8h.html",tooltip=" "]; + Node22 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node22 -> Node13 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; +} diff --git a/docs/html/_intelli_color_picker_8h__incl.dot b/docs/html/_intelli_color_picker_8h__incl.dot new file mode 100644 index 0000000..4c74e72 --- /dev/null +++ b/docs/html/_intelli_color_picker_8h__incl.dot @@ -0,0 +1,13 @@ +digraph "intelliphoto/src/IntelliHelper/IntelliColorPicker.h" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Intelli\lHelper/IntelliColorPicker.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="QColorDialog",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; +} diff --git a/docs/html/_intelli_color_picker_8h_source.html b/docs/html/_intelli_color_picker_8h_source.html new file mode 100644 index 0000000..c7df48e --- /dev/null +++ b/docs/html/_intelli_color_picker_8h_source.html @@ -0,0 +1,143 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/IntelliHelper/IntelliColorPicker.h Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliColorPicker.h
+
+
+Go to the documentation of this file.
1 #ifndef INTELLITOOLSETCOLORTOOL_H
+
2 #define INTELLITOOLSETCOLORTOOL_H
+
3 
+
4 #include "QColor"
+
5 #include "QPoint"
+
6 #include "QColorDialog"
+
7 
+ +
12 public:
+ +
17 
+
21 virtual ~IntelliColorPicker();
+
22 
+
26 void switchColors();
+
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
+
+
+
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 switchColors()
A function switching primary and secondary color.
+
void setFirstColor(QColor Color)
A function to set the primary color.
+
QColor getFirstColor()
A function to read the primary selected color.
+
The IntelliColorPicker manages the selected colors for one whole project.
+
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 new file mode 100644 index 0000000..1a18124 --- /dev/null +++ b/docs/html/_intelli_helper_2_intelli_color_picker_8cpp.html @@ -0,0 +1,113 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/IntelliHelper/IntelliColorPicker.cpp File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliColorPicker.cpp File Reference
+
+
+
+Include dependency graph for IntelliColorPicker.cpp:
+
+
+
+
+

Go to the source code of this file.

+
+
+ + + + diff --git a/docs/html/_intelli_helper_2_intelli_color_picker_8cpp__incl.dot b/docs/html/_intelli_helper_2_intelli_color_picker_8cpp__incl.dot new file mode 100644 index 0000000..3dfeb55 --- /dev/null +++ b/docs/html/_intelli_helper_2_intelli_color_picker_8cpp__incl.dot @@ -0,0 +1,15 @@ +digraph "intelliphoto/src/IntelliHelper/IntelliColorPicker.cpp" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Intelli\lHelper/IntelliColorPicker.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliColorPicker.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_color_picker_8h.html",tooltip=" "]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="QColorDialog",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; +} 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 new file mode 100644 index 0000000..0476d7b --- /dev/null +++ b/docs/html/_intelli_helper_2_intelli_color_picker_8cpp_source.html @@ -0,0 +1,143 @@ + + + + + + + +IntelliPhoto: 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 = {255,0,0,255};
+
5  secondColor = {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 switchColors()
A function switching primary and secondary color.
+ +
void setFirstColor(QColor Color)
A function to set the primary color.
+
QColor getFirstColor()
A function to read the primary selected color.
+
IntelliColorPicker()
IntelliColorPicker constructor, setting 2 preset colors, be careful, theese color may change in produ...
+ + + + diff --git a/docs/html/_intelli_helper_8cpp.html b/docs/html/_intelli_helper_8cpp.html new file mode 100644 index 0000000..c4f89ed --- /dev/null +++ b/docs/html/_intelli_helper_8cpp.html @@ -0,0 +1,116 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/IntelliHelper/IntelliHelper.cpp File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliHelper.cpp File Reference
+
+
+
#include "IntelliHelper.h"
+#include <algorithm>
+#include <queue>
+#include <cmath>
+
+Include dependency graph for IntelliHelper.cpp:
+
+
+
+
+

Go to the source code of this file.

+
+
+ + + + diff --git a/docs/html/_intelli_helper_8cpp__incl.dot b/docs/html/_intelli_helper_8cpp__incl.dot new file mode 100644 index 0000000..3f3ebd7 --- /dev/null +++ b/docs/html/_intelli_helper_8cpp__incl.dot @@ -0,0 +1,19 @@ +digraph "intelliphoto/src/IntelliHelper/IntelliHelper.cpp" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Intelli\lHelper/IntelliHelper.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliHelper.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_helper_8h.html",tooltip=" "]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="algorithm",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="queue",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="cmath",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; +} diff --git a/docs/html/_intelli_helper_8cpp_source.html b/docs/html/_intelli_helper_8cpp_source.html new file mode 100644 index 0000000..1b67b46 --- /dev/null +++ b/docs/html/_intelli_helper_8cpp_source.html @@ -0,0 +1,236 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/IntelliHelper/IntelliHelper.cpp Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliHelper.cpp
+
+
+Go to the documentation of this file.
1 #include "IntelliHelper.h"
+
2 #include <algorithm>
+
3 #include <queue>
+
4 #include <cmath>
+
5 
+
6 
+
7 std::vector<Triangle> IntelliHelper::calculateTriangles(std::vector<QPoint> polyPoints){
+
8  // helper for managing the triangle vertices and their state
+
9  struct TriangleHelper {
+
10  QPoint vertex;
+
11  float interiorAngle;
+
12  int index;
+
13  bool isTip;
+
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());
+
20 
+
21  float topSclar = AP.x()*BP.x()+AP.y()*BP.y();
+
22  float absolute = 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  };
+
36 
+
37  // get the vertex Index bevor index in relation to the container length
+
38  auto getPrev = [](int index, int length){
+
39  return (index-1)>=0 ? (index-1) : (length-1);
+
40  };
+
41 
+
42  // get the vertex Index after index in relation to the container lenght
+
43  auto getPost = [](int index, int length){
+
44  return (index+1)%length;
+
45  };
+
46 
+
47  // return if the vertex is a tip
+
48  auto isTip = [](float angle){
+
49  return static_cast<double>(angle)<(M_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++) {
+
57  TriangleHelper helper;
+
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)];
+
62  helper.index = 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)]);
+
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) {
+
73  Triangle tri;
+
74  TriangleHelper smallest = getTip(Vertices);
+
75  int prev = getPrev(smallest.index, static_cast<int>(Vertices.size()));
+
76  int post = getPost(smallest.index, 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.index)].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.index);
+
86  for(size_t i=static_cast<size_t>(smallest.index); i<Vertices.size(); i++) {
+
87  Vertices[i].index-=1;
+
88  }
+
89 
+
90  // update post und prev index
+
91  post = post-1;
+
92  prev = prev<smallest.index ? 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()));
+
97 
+
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);
+
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);
+
112  }
+
113  return Triangles;
+
114 }
+
115 
+
116 bool IntelliHelper::isInPolygon(std::vector<Triangle> &triangles, QPoint &point){
+
117  for(auto triangle : triangles) {
+
118  if(IntelliHelper::isInTriangle(triangle, point)) {
+
119  return true;
+
120  }
+
121  }
+
122  return false;
+
123 }
+
+
+
bool isInTriangle(Triangle &tri, QPoint &P)
A function to check if a given point is in a triangle.
Definition: IntelliHelper.h:33
+ +
QPoint B
Definition: IntelliHelper.h:11
+
QPoint C
Definition: IntelliHelper.h:11
+
The Triangle struct holds the 3 vertices of a triangle.
Definition: IntelliHelper.h:10
+
bool isInPolygon(std::vector< Triangle > &triangles, QPoint &point)
A function to check if a point lies in a polygon by checking its spanning triangles.
+
QPoint A
Definition: IntelliHelper.h:11
+
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 ...
+ + + + diff --git a/docs/html/_intelli_helper_8h.html b/docs/html/_intelli_helper_8h.html new file mode 100644 index 0000000..f0a631b --- /dev/null +++ b/docs/html/_intelli_helper_8h.html @@ -0,0 +1,150 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/IntelliHelper/IntelliHelper.h File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
IntelliHelper.h File Reference
+
+
+
#include <QPoint>
+#include <vector>
+
+Include dependency graph for IntelliHelper.h:
+
+
+
+
+This graph shows which files directly or indirectly include this file:
+
+
+
+
+

Go to the source code of this file.

+ + + + + +

+Classes

struct  Triangle
 The Triangle struct holds the 3 vertices of a triangle. More...
 
+ + + +

+Namespaces

 IntelliHelper
 
+ + + + + + + + + + + + + +

+Functions

float IntelliHelper::sign (QPoint &p1, QPoint &p2, QPoint &p3)
 A function to get the 2*area of a traingle, using its determinat. More...
 
bool IntelliHelper::isInTriangle (Triangle &tri, QPoint &P)
 A function to check if a given point is in a triangle. More...
 
std::vector< TriangleIntelliHelper::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 IntelliHelper::isInPolygon (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_helper_8h.js b/docs/html/_intelli_helper_8h.js new file mode 100644 index 0000000..769083d --- /dev/null +++ b/docs/html/_intelli_helper_8h.js @@ -0,0 +1,8 @@ +var _intelli_helper_8h = +[ + [ "Triangle", "struct_triangle.html", "struct_triangle" ], + [ "calculateTriangles", "_intelli_helper_8h.html#a214dc3624ba4562a03dc922e3dd7b617", null ], + [ "isInPolygon", "_intelli_helper_8h.html#a44d516b3e619e2a743e9c98dd75cf901", null ], + [ "isInTriangle", "_intelli_helper_8h.html#a9fcfe72f00e870be4a8ab9f2e17483c9", null ], + [ "sign", "_intelli_helper_8h.html#afdd9fe78cc5d21b59642910220768149", null ] +]; \ No newline at end of file diff --git a/docs/html/_intelli_helper_8h__dep__incl.dot b/docs/html/_intelli_helper_8h__dep__incl.dot new file mode 100644 index 0000000..a439ef7 --- /dev/null +++ b/docs/html/_intelli_helper_8h__dep__incl.dot @@ -0,0 +1,43 @@ +digraph "intelliphoto/src/IntelliHelper/IntelliHelper.h" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Intelli\lHelper/IntelliHelper.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="intelliphoto/src/Image\l/IntelliShapedImage.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_shaped_image_8cpp.html",tooltip=" "]; + Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="intelliphoto/src/Image\l/IntelliShapedImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_shaped_image_8h.html",tooltip=" "]; + Node3 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="intelliphoto/src/Layer\l/PaintingArea.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8h.html",tooltip=" "]; + Node4 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="intelliphoto/src/GUI\l/IntelliPhotoGui.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_photo_gui_8cpp.html",tooltip=" "]; + Node4 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="intelliphoto/src/Layer\l/PaintingArea.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8cpp.html",tooltip=" "]; + Node4 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="intelliphoto/src/Tool\l/IntelliTool.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_8cpp.html",tooltip=" "]; + Node4 -> Node8 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 [label="intelliphoto/src/Tool\l/IntelliToolCircle.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_circle_8cpp.html",tooltip=" "]; + Node4 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 [label="intelliphoto/src/Tool\l/IntelliToolFloodFill.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_flood_fill_8cpp.html",tooltip=" "]; + Node4 -> Node10 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node10 [label="intelliphoto/src/Tool\l/IntelliToolLine.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_line_8cpp.html",tooltip=" "]; + Node4 -> Node11 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node11 [label="intelliphoto/src/Tool\l/IntelliToolPen.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_pen_8cpp.html",tooltip=" "]; + Node4 -> Node12 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node12 [label="intelliphoto/src/Tool\l/IntelliToolPlain.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_plain_8cpp.html",tooltip=" "]; + Node4 -> Node13 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 [label="intelliphoto/src/Tool\l/IntelliToolPolygon.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_polygon_8cpp.html",tooltip=" "]; + Node4 -> Node14 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node14 [label="intelliphoto/src/Tool\l/IntelliToolRectangle.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_rectangle_8cpp.html",tooltip=" "]; + Node3 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node15 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node15 [label="intelliphoto/src/Intelli\lHelper/IntelliHelper.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_helper_8cpp.html",tooltip=" "]; + Node1 -> Node16 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node16 [label="intelliphoto/src/main.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$main_8cpp.html",tooltip=" "]; + Node1 -> Node17 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node17 [label="intelliphoto/src/Tool\l/IntelliToolPolygon.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_polygon_8h.html",tooltip=" "]; + Node17 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node17 -> Node13 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; +} diff --git a/docs/html/_intelli_helper_8h__incl.dot b/docs/html/_intelli_helper_8h__incl.dot new file mode 100644 index 0000000..cce00ee --- /dev/null +++ b/docs/html/_intelli_helper_8h__incl.dot @@ -0,0 +1,11 @@ +digraph "intelliphoto/src/IntelliHelper/IntelliHelper.h" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Intelli\lHelper/IntelliHelper.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; +} diff --git a/docs/html/_intelli_helper_8h_source.html b/docs/html/_intelli_helper_8h_source.html new file mode 100644 index 0000000..c6c3d54 --- /dev/null +++ b/docs/html/_intelli_helper_8h_source.html @@ -0,0 +1,150 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/IntelliHelper/IntelliHelper.h Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliHelper.h
+
+
+Go to the documentation of this file.
1 #ifndef INTELLIHELPER_H
+
2 #define INTELLIHELPER_H
+
3 
+
4 #include <QPoint>
+
5 #include <vector>
+
6 
+
10 struct Triangle {
+
11  QPoint A,B,C;
+
12 };
+
13 
+
14 namespace IntelliHelper {
+
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 = IntelliHelper::sign(P,tri.A,tri.B);
+
38  val2 = IntelliHelper::sign(P,tri.B,tri.C);
+
39  val3 = IntelliHelper::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);
+
43 
+
44  return !(neg && pos);
+
45 }
+
46 
+
52 std::vector<Triangle> calculateTriangles(std::vector<QPoint> polyPoints);
+
53 
+
60 bool isInPolygon(std::vector<Triangle> &triangles, QPoint &point);
+
61 }
+
62 
+
63 #endif
+
+
+
bool isInTriangle(Triangle &tri, QPoint &P)
A function to check if a given point is in a triangle.
Definition: IntelliHelper.h:33
+
QPoint B
Definition: IntelliHelper.h:11
+
QPoint C
Definition: IntelliHelper.h:11
+ +
The Triangle struct holds the 3 vertices of a triangle.
Definition: IntelliHelper.h:10
+
bool isInPolygon(std::vector< Triangle > &triangles, QPoint &point)
A function to check if a point lies in a polygon by checking its spanning triangles.
+
QPoint A
Definition: IntelliHelper.h:11
+
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 ...
+
float sign(QPoint &p1, QPoint &p2, QPoint &p3)
A function to get the 2*area of a traingle, using its determinat.
Definition: IntelliHelper.h:23
+ + + + diff --git a/docs/html/_intelli_image_8cpp.html b/docs/html/_intelli_image_8cpp.html new file mode 100644 index 0000000..77c7818 --- /dev/null +++ b/docs/html/_intelli_image_8cpp.html @@ -0,0 +1,115 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Image/IntelliImage.cpp File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliImage.cpp File Reference
+
+
+
#include "Image/IntelliImage.h"
+#include <QSize>
+#include <QPainter>
+
+Include dependency graph for IntelliImage.cpp:
+
+
+
+
+

Go to the source code of this file.

+
+
+ + + + diff --git a/docs/html/_intelli_image_8cpp__incl.dot b/docs/html/_intelli_image_8cpp__incl.dot new file mode 100644 index 0000000..d9789c3 --- /dev/null +++ b/docs/html/_intelli_image_8cpp__incl.dot @@ -0,0 +1,24 @@ +digraph "intelliphoto/src/Image/IntelliImage.cpp" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Image\l/IntelliImage.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="Image/IntelliImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_image_8h.html",tooltip=" "]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="QImage",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="QSize",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="QWidget",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 [label="QPainter",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; +} diff --git a/docs/html/_intelli_image_8cpp_source.html b/docs/html/_intelli_image_8cpp_source.html new file mode 100644 index 0000000..b12334b --- /dev/null +++ b/docs/html/_intelli_image_8cpp_source.html @@ -0,0 +1,198 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Image/IntelliImage.cpp Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliImage.cpp
+
+
+Go to the documentation of this file.
1 #include "Image/IntelliImage.h"
+
2 #include <QSize>
+
3 #include <QPainter>
+
4 
+
5 IntelliImage::IntelliImage(int weight, int height)
+
6  : imageData(QSize(weight, height), QImage::Format_ARGB32){
+
7  imageData.fill(QColor(255,255,255,255));
+
8 }
+
9 
+ +
11 
+
12 }
+
13 
+
14 bool IntelliImage::loadImage(const QString &fileName){
+
15  // Holds the image
+
16  QImage loadedImage;
+
17 
+
18  // If the image wasn't loaded leave this function
+
19  if (!loadedImage.load(fileName))
+
20  return false;
+
21 
+
22  // scaled Image to size of Layer
+
23  loadedImage = loadedImage.scaled(imageData.size(),Qt::IgnoreAspectRatio);
+
24 
+
25  imageData = loadedImage.convertToFormat(QImage::Format_ARGB32);
+
26  return true;
+
27 }
+
28 
+
29 void IntelliImage::resizeImage(QImage*image, const QSize &newSize){
+
30  // Check if we need to redraw the image
+
31  if (image->size() == newSize)
+
32  return;
+
33 
+
34  // Create a new image to display and fill it with white
+
35  QImage newImage(newSize, QImage::Format_ARGB32);
+
36  newImage.fill(qRgb(255, 255, 255));
+
37 
+
38  // Draw the image
+
39  QPainter painter(&newImage);
+
40  painter.drawImage(QPoint(0, 0), *image);
+
41  *image = newImage;
+
42 }
+
43 
+
44 void IntelliImage::drawPixel(const QPoint &p1, const QColor& color){
+
45  // Used to draw on the widget
+
46  QPainter painter(&imageData);
+
47 
+
48  // Set the current settings for the pen
+
49  painter.setPen(QPen(color, 1, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
+
50 
+
51  // Draw a line from the last registered point to the current
+
52  painter.drawPoint(p1);
+
53 }
+
54 
+
55 void IntelliImage::drawPoint(const QPoint &p1, const QColor& color, const int& penWidth){
+
56  // Used to draw on the widget
+
57  QPainter painter(&imageData);
+
58 
+
59  // Set the current settings for the pen
+
60  painter.setPen(QPen(color, penWidth, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
+
61  // Draw a line from the last registered point to the current
+
62  painter.drawPoint(p1);
+
63 }
+
64 
+
65 void IntelliImage::drawLine(const QPoint &p1, const QPoint& p2, const QColor& color, const int& penWidth){
+
66  // Used to draw on the widget
+
67  QPainter painter(&imageData);
+
68 
+
69  // Set the current settings for the pen
+
70  painter.setPen(QPen(color, penWidth, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
+
71 
+
72  // Draw a line from the last registered point to the current
+
73  painter.drawLine(p1, p2);
+
74 }
+
75 
+
76 void IntelliImage::drawPlain(const QColor& color){
+
77  imageData.fill(color);
+
78 }
+
79 
+
80 QColor IntelliImage::getPixelColor(QPoint& point){
+
81  return imageData.pixelColor(point);
+
82 }
+
+
+
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 bool loadImage(const QString &fileName)
A function that loads and sclaes an image to the fitting dimensions.
+
virtual void drawPoint(const QPoint &p1, const QColor &color, const int &penWidth)
A.
+
IntelliImage(int weight, int height)
The Construcor of the IntelliImage. Given the Image dimensions.
Definition: IntelliImage.cpp:5
+
void resizeImage(QImage *image, const QSize &newSize)
+
virtual QColor getPixelColor(QPoint &point)
A function that returns the pixelcolor at a certain point.
+
QImage imageData
The underlying image data.
Definition: IntelliImage.h:32
+
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 new file mode 100644 index 0000000..b661225 --- /dev/null +++ b/docs/html/_intelli_image_8h.html @@ -0,0 +1,172 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Image/IntelliImage.h File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
IntelliImage.h File Reference
+
+
+
#include <QImage>
+#include <QPoint>
+#include <QColor>
+#include <QSize>
+#include <QWidget>
+#include <vector>
+
+Include dependency graph for IntelliImage.h:
+
+
+
+
+This graph shows which files directly or indirectly include this file:
+
+
+
+
+

Go to the source code of this file.

+ + + + + +

+Classes

class  IntelliImage
 An abstract class which manages the basic IntelliImage operations. More...
 
+ + + + +

+Enumerations

enum  ImageType { ImageType::Raster_Image, +ImageType::Shaped_Image + }
 The Types, which an Image can be. More...
 
+

Enumeration Type Documentation

+ +

◆ ImageType

+ +
+
+ + + + + +
+ + + + +
enum ImageType
+
+strong
+
+ +

The Types, which an Image can be.

+ + + +
Enumerator
Raster_Image 
Shaped_Image 
+ +

Definition at line 14 of file IntelliImage.h.

+ +
+
+
+
+ + + + diff --git a/docs/html/_intelli_image_8h.js b/docs/html/_intelli_image_8h.js new file mode 100644 index 0000000..dc61b3e --- /dev/null +++ b/docs/html/_intelli_image_8h.js @@ -0,0 +1,8 @@ +var _intelli_image_8h = +[ + [ "IntelliImage", "class_intelli_image.html", "class_intelli_image" ], + [ "ImageType", "_intelli_image_8h.html#a3154c405c975616503bac23f51b78fc0", [ + [ "Raster_Image", "_intelli_image_8h.html#a3154c405c975616503bac23f51b78fc0a80e1612d2117f2b25530317279ffe7b3", null ], + [ "Shaped_Image", "_intelli_image_8h.html#a3154c405c975616503bac23f51b78fc0ab7e2d2c1c171e5a0e0b6b548449df79d", null ] + ] ] +]; \ No newline at end of file diff --git a/docs/html/_intelli_image_8h__dep__incl.dot b/docs/html/_intelli_image_8h__dep__incl.dot new file mode 100644 index 0000000..f000464 --- /dev/null +++ b/docs/html/_intelli_image_8h__dep__incl.dot @@ -0,0 +1,43 @@ +digraph "intelliphoto/src/Image/IntelliImage.h" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Image\l/IntelliImage.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="intelliphoto/src/Image\l/IntelliImage.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_image_8cpp.html",tooltip=" "]; + Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="intelliphoto/src/Image\l/IntelliRasterImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_raster_image_8h.html",tooltip=" "]; + Node3 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="intelliphoto/src/Image\l/IntelliRasterImage.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_raster_image_8cpp.html",tooltip=" "]; + Node3 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="intelliphoto/src/Image\l/IntelliShapedImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_shaped_image_8h.html",tooltip=" "]; + Node5 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="intelliphoto/src/Image\l/IntelliShapedImage.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_shaped_image_8cpp.html",tooltip=" "]; + Node5 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="intelliphoto/src/Layer\l/PaintingArea.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8h.html",tooltip=" "]; + Node7 -> Node8 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 [label="intelliphoto/src/GUI\l/IntelliPhotoGui.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_photo_gui_8cpp.html",tooltip=" "]; + Node7 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 [label="intelliphoto/src/Layer\l/PaintingArea.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8cpp.html",tooltip=" "]; + Node7 -> Node10 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node10 [label="intelliphoto/src/Tool\l/IntelliTool.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_8cpp.html",tooltip=" "]; + Node7 -> Node11 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node11 [label="intelliphoto/src/Tool\l/IntelliToolCircle.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_circle_8cpp.html",tooltip=" "]; + Node7 -> Node12 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node12 [label="intelliphoto/src/Tool\l/IntelliToolFloodFill.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_flood_fill_8cpp.html",tooltip=" "]; + Node7 -> Node13 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 [label="intelliphoto/src/Tool\l/IntelliToolLine.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_line_8cpp.html",tooltip=" "]; + Node7 -> Node14 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node14 [label="intelliphoto/src/Tool\l/IntelliToolPen.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_pen_8cpp.html",tooltip=" "]; + Node7 -> Node15 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node15 [label="intelliphoto/src/Tool\l/IntelliToolPlain.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_plain_8cpp.html",tooltip=" "]; + Node7 -> Node16 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node16 [label="intelliphoto/src/Tool\l/IntelliToolPolygon.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_polygon_8cpp.html",tooltip=" "]; + Node7 -> Node17 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node17 [label="intelliphoto/src/Tool\l/IntelliToolRectangle.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_rectangle_8cpp.html",tooltip=" "]; + Node5 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; +} diff --git a/docs/html/_intelli_image_8h__incl.dot b/docs/html/_intelli_image_8h__incl.dot new file mode 100644 index 0000000..df22951 --- /dev/null +++ b/docs/html/_intelli_image_8h__incl.dot @@ -0,0 +1,19 @@ +digraph "intelliphoto/src/Image/IntelliImage.h" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Image\l/IntelliImage.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="QImage",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="QSize",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="QWidget",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; +} diff --git a/docs/html/_intelli_image_8h_source.html b/docs/html/_intelli_image_8h_source.html new file mode 100644 index 0000000..45206cb --- /dev/null +++ b/docs/html/_intelli_image_8h_source.html @@ -0,0 +1,182 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Image/IntelliImage.h Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliImage.h
+
+
+Go to the documentation of this file.
1 #ifndef INTELLIIMAGE_H
+
2 #define INTELLIIMAGE_H
+
3 
+
4 #include <QImage>
+
5 #include <QPoint>
+
6 #include <QColor>
+
7 #include <QSize>
+
8 #include <QWidget>
+
9 #include <vector>
+
10 
+
14 enum class ImageType {
+ + +
17 };
+
18 
+
19 class IntelliTool;
+
20 
+
24 class IntelliImage {
+
25 friend IntelliTool;
+
26 protected:
+
27 void resizeImage(QImage*image, const QSize &newSize);
+
28 
+
32 QImage imageData;
+
33 public:
+
39 IntelliImage(int weight, int height);
+
40 
+
44 virtual ~IntelliImage() = 0;
+
45 
+
46 
+
52 virtual void drawPixel(const QPoint &p1, const QColor& color);
+
53 
+
61 virtual void drawLine(const QPoint &p1, const QPoint& p2, const QColor& color, const int& penWidth);
+
62 
+
69 virtual void drawPoint(const QPoint &p1, const QColor& color, const int& penWidth);
+
70 
+
75 virtual void drawPlain(const QColor& color);
+
76 
+
83 virtual QImage getDisplayable(const QSize& displaySize, int alpha) = 0;
+
84 
+
90 virtual QImage getDisplayable(int alpha=255) = 0;
+
91 
+
96 virtual IntelliImage* getDeepCopy() = 0;
+
97 
+
101 virtual void calculateVisiblity() = 0;
+
102 
+
107 virtual void setPolygon(const std::vector<QPoint>& polygonData) = 0;
+
108 
+
113 virtual std::vector<QPoint> getPolygonData(){
+
114  return std::vector<QPoint>();
+
115 }
+
116 
+
122 virtual bool loadImage(const QString &fileName);
+
123 
+
129 virtual QColor getPixelColor(QPoint& point);
+
130 };
+
131 
+
132 #endif
+
+
+
ImageType
The Types, which an Image can be.
Definition: IntelliImage.h:14
+
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 bool loadImage(const QString &fileName)
A function that loads and sclaes an image to the fitting dimensions.
+
virtual QImage getDisplayable(const QSize &displaySize, int alpha)=0
A function returning the displayable ImageData in a requested transparence and size.
+ +
virtual std::vector< QPoint > getPolygonData()
A function that returns the Polygondata if existent.
Definition: IntelliImage.h:113
+
virtual void drawPoint(const QPoint &p1, const QColor &color, const int &penWidth)
A.
+
IntelliImage(int weight, int height)
The Construcor of the IntelliImage. Given the Image dimensions.
Definition: IntelliImage.cpp:5
+
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:13
+ +
void resizeImage(QImage *image, const QSize &newSize)
+
virtual QColor getPixelColor(QPoint &point)
A function that returns the pixelcolor at a certain point.
+
QImage imageData
The underlying image data.
Definition: IntelliImage.h:32
+
An abstract class which manages the basic IntelliImage operations.
Definition: IntelliImage.h:24
+
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.
+
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_photo_gui_8cpp.html b/docs/html/_intelli_photo_gui_8cpp.html new file mode 100644 index 0000000..ec66163 --- /dev/null +++ b/docs/html/_intelli_photo_gui_8cpp.html @@ -0,0 +1,116 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/GUI/IntelliPhotoGui.cpp File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliPhotoGui.cpp File Reference
+
+
+
#include <QtWidgets>
+#include <QPixmap>
+#include "IntelliPhotoGui.h"
+#include "Layer/PaintingArea.h"
+
+Include dependency graph for IntelliPhotoGui.cpp:
+
+
+
+
+

Go to the source code of this file.

+
+
+ + + + diff --git a/docs/html/_intelli_photo_gui_8cpp.js b/docs/html/_intelli_photo_gui_8cpp.js new file mode 100644 index 0000000..ebdbfbd --- /dev/null +++ b/docs/html/_intelli_photo_gui_8cpp.js @@ -0,0 +1,5 @@ +var _intelli_photo_gui_8cpp = +[ + [ "slotCreateFloodFillTool", "_intelli_photo_gui_8cpp.html#ac2f8320173dfaf943bb39e39cb1a23e5", null ], + [ "slotCreatePenTool", "_intelli_photo_gui_8cpp.html#a30169da42b55e0339af0d28dfc8ccd40", null ] +]; \ No newline at end of file diff --git a/docs/html/_intelli_photo_gui_8cpp__incl.dot b/docs/html/_intelli_photo_gui_8cpp__incl.dot new file mode 100644 index 0000000..872329a --- /dev/null +++ b/docs/html/_intelli_photo_gui_8cpp__incl.dot @@ -0,0 +1,69 @@ +digraph "intelliphoto/src/GUI/IntelliPhotoGui.cpp" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/GUI\l/IntelliPhotoGui.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="QtWidgets",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="QPixmap",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="IntelliPhotoGui.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_photo_gui_8h.html",tooltip=" "]; + Node4 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="QList",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node4 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="QMainWindow",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node4 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="QGridLayout",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node4 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 [label="QPushButton",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node4 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 [label="QTextEdit",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node4 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node10 [label="QLabel",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node4 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node11 [label="QLineEdit",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node12 [label="Layer/PaintingArea.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8h.html",tooltip=" "]; + Node12 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node12 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node14 [label="QImage",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node12 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node15 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node12 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node16 [label="QWidget",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node12 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node12 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node17 [label="Image/IntelliImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_image_8h.html",tooltip=" "]; + Node17 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node17 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node17 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node17 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node18 [label="QSize",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node17 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node17 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node19 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node12 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node20 [label="Image/IntelliRasterImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_raster_image_8h.html",tooltip=" "]; + Node20 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node12 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node21 [label="Image/IntelliShapedImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_shaped_image_8h.html",tooltip=" "]; + Node21 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node21 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node21 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node22 [label="IntelliHelper/IntelliHelper.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_helper_8h.html",tooltip=" "]; + Node22 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node22 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node12 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node23 [label="Tool/IntelliTool.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_8h.html",tooltip=" "]; + Node23 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node24 [label="IntelliHelper/IntelliColor\lPicker.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_color_picker_8h.html",tooltip=" "]; + Node24 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node24 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node24 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node25 [label="QColorDialog",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node23 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node12 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; +} diff --git a/docs/html/_intelli_photo_gui_8cpp_source.html b/docs/html/_intelli_photo_gui_8cpp_source.html new file mode 100644 index 0000000..cd9f204 --- /dev/null +++ b/docs/html/_intelli_photo_gui_8cpp_source.html @@ -0,0 +1,629 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/GUI/IntelliPhotoGui.cpp Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliPhotoGui.cpp
+
+
+Go to the documentation of this file.
1 // ---------- IntelliPhotoGui.cpp ----------
+
2 
+
3 #include <QtWidgets>
+
4 #include <QPixmap>
+
5 
+
6 #include "IntelliPhotoGui.h"
+
7 #include "Layer/PaintingArea.h"
+
8 
+
9 // IntelliPhotoGui constructor
+ +
11  // create Gui elements and lay them out
+
12  createGui();
+
13  // Create actions
+
14  createActions();
+
15  // create Menus
+
16  createMenus();
+
17  // set style of the gui
+
18  setIntelliStyle();
+
19  // Size the app
+
20  resize(600,600);
+
21  showMaximized();
+
22 
+
23 }
+
24 
+
25 // User tried to close the app
+
26 void IntelliPhotoGui::closeEvent(QCloseEvent*event){
+
27  // If they try to close maybeSave() returns true
+
28  // if no changes have been made and the app closes
+
29  if (maybeSave()) {
+
30  event->accept();
+
31  } else {
+
32  // If there have been changes ignore the event
+
33  event->ignore();
+
34  }
+
35 }
+
36 
+
37 // Check if the current image has been changed and then
+
38 // open a dialog to open a file
+
39 void IntelliPhotoGui::slotOpen(){
+
40  // Check if changes have been made since last save
+
41  // maybeSave() returns true if no changes have been made
+
42  if (maybeSave()) {
+
43 
+
44  // Get the file to open from a dialog
+
45  // tr sets the window title to Open File
+
46  // QDir opens the current dirctory
+
47  QString fileName = QFileDialog::getOpenFileName(this,
+
48  tr("Open File"), QDir::currentPath(), nullptr, nullptr, QFileDialog::DontUseNativeDialog);
+
49 
+
50  // If we have a file name load the image and place
+
51  // it in the paintingArea
+
52  if (!fileName.isEmpty())
+
53  paintingArea->open(fileName);
+
54  }
+
55 }
+
56 
+
57 // Called when the user clicks Save As in the menu
+
58 void IntelliPhotoGui::slotSave(){
+
59  // A QAction represents the action of the user clicking
+
60  QAction*action = qobject_cast<QAction*>(sender());
+
61 
+
62  // Stores the array of bytes of the users data
+
63  QByteArray fileFormat = action->data().toByteArray();
+
64 
+
65  // Pass it to be saved
+
66  saveFile(fileFormat);
+
67 }
+
68 
+
69 // Opens a dialog that allows the user to create a New Layer
+
70 void IntelliPhotoGui::slotCreateNewLayer(){
+
71  // Stores button value
+
72  bool ok1, ok2;
+
73 
+
74  // "New Layer" is the title of the window
+
75  // the next tr is the text to display
+
76  // Define the standard Value, min, max, step and ok button
+
77  int width = QInputDialog::getInt(this, tr("New Layer"),
+
78  tr("Width:"),
+
79  200,1, 500, 1, &ok1);
+
80  int height = QInputDialog::getInt(this, tr("New Layer"),
+
81  tr("Height:"),
+
82  200,1, 500, 1, &ok2);
+
83  // Create New Layer
+
84  if (ok1&&ok2)
+
85  {
+
86  int layer = paintingArea->addLayer(width,height,0,0);
+
87  paintingArea->slotActivateLayer(layer);
+
88  }
+
89 }
+
90 
+
91 // Opens a dialog that allows the user to delete a Layer
+
92 void IntelliPhotoGui::slotDeleteLayer(){
+
93  // Stores button value
+
94  bool ok;
+
95 
+
96  // "delete Layer" is the title of the window
+
97  // the next tr is the text to display
+
98  // Define the standard Value, min, max, step and ok button
+
99  int layerNumber = QInputDialog::getInt(this, tr("delete Layer"),
+
100  tr("Number:"),
+
101  1,0, 500, 1, &ok);
+
102  // Create New Layer
+
103  if (ok)
+
104  paintingArea->deleteLayer(layerNumber);
+
105 }
+
106 
+
107 void IntelliPhotoGui::slotSetActiveAlpha(){
+
108  // Stores button value
+
109  bool ok1, ok2;
+
110 
+
111  // "Layer to set on" is the title of the window
+
112  // the next tr is the text to display
+
113  // Define the standard Value, min, max, step and ok button
+
114  int layer = QInputDialog::getInt(this, tr("Layer to set on"),
+
115  tr("Layer:"),
+
116  -1,-1,100,1, &ok1);
+
117  // "New Alpha" is the title of the window
+
118  int alpha = QInputDialog::getInt(this, tr("New Alpha"),
+
119  tr("Alpha:"),
+
120  255,0, 255, 1, &ok2);
+
121  if (ok1&&ok2)
+
122  {
+
123  paintingArea->setAlphaOfLayer(layer,alpha);
+
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();
+
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  }
+
183 }
+
184 
+
185 void IntelliPhotoGui::slotSetActiveLayer(){
+
186  // Stores button value
+
187  bool ok1;
+
188 
+
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 = QInputDialog::getInt(this, tr("Layer to set on"),
+
193  tr("Layer:"),
+
194  -1,0,255,1, &ok1);
+
195  if (ok1)
+
196  {
+
197  paintingArea->setLayerToActive(layer);
+
198  }
+
199 }
+
200 
+
201 void IntelliPhotoGui::slotSetFirstColor(){
+
202  paintingArea->colorPickerSetFirstColor();
+
203 }
+
204 
+
205 void IntelliPhotoGui::slotSetSecondColor(){
+
206  paintingArea->colorPickerSetSecondColor();
+
207 }
+
208 
+
209 void IntelliPhotoGui::slotSwitchColor(){
+
210  paintingArea->colorPickerSwitchColor();
+
211 }
+
212 
+
213 void IntelliPhotoGui::slotCreatePenTool(){
+
214  paintingArea->createPenTool();
+
215 }
+
216 
+
217 void IntelliPhotoGui::slotCreatePlainTool(){
+
218  paintingArea->createPlainTool();
+
219 }
+
220 
+
221 void IntelliPhotoGui::slotCreateLineTool(){
+
222  paintingArea->createLineTool();
+
223 }
+
224 
+
225 void IntelliPhotoGui::slotCreateRectangleTool(){
+
226  paintingArea->createRectangleTool();
+
227 }
+
228 
+
229 void IntelliPhotoGui::slotCreateCircleTool(){
+
230  paintingArea->createCircleTool();
+
231 }
+
232 
+
233 void IntelliPhotoGui::slotCreatePolygonTool(){
+
234  paintingArea->createPolygonTool();
+
235 }
+
236 
+
237 void IntelliPhotoGui::slotCreateFloodFillTool(){
+
238  paintingArea->createFloodFillTool();
+
239 }
+
240 
+
241 // Open an about dialog
+
242 void IntelliPhotoGui::slotAboutDialog(){
+
243  // Window title and text to display
+
244  QMessageBox::about(this, tr("About Painting"),
+
245  tr("<p><b>IntelliPhoto</b>Pretty basic editor.</p>"));
+
246 }
+
247 
+
248 // Define menu actions that call functions
+
249 void IntelliPhotoGui::createActions(){
+
250  // Get a list of the supported file formats
+
251  // QImageWriter is used to write images to files
+
252  foreach (QByteArray format, QImageWriter::supportedImageFormats()) {
+
253  QString text = tr("%1...").arg(QString(format).toUpper());
+
254 
+
255  // Create an action for each file format
+
256  QAction*action = new QAction(text, this);
+
257 
+
258  // Set an action for each file format
+
259  action->setData(format);
+
260 
+
261  // When clicked call IntelliPhotoGui::save()
+
262  connect(action, SIGNAL(triggered()), this, SLOT(slotSave()));
+
263 
+
264  // Attach each file format option menu item to Save As
+
265  actionSaveAs.append(action);
+
266  }
+
267 
+
268  //set exporter to actions
+
269  QAction*pngSaveAction = new QAction("PNG-8", this);
+
270  pngSaveAction->setData("PNG");
+
271  // When clicked call IntelliPhotoGui::save()
+
272  connect(pngSaveAction, SIGNAL(triggered()), this, SLOT(slotSave()));
+
273  // Attach each PNG in save Menu
+
274  actionSaveAs.append(pngSaveAction);
+
275 
+
276  // Create exit action and tie to IntelliPhotoGui::close()
+
277  actionExit = new QAction(tr("&Exit"), this);
+
278  actionExit->setShortcuts(QKeySequence::Quit);
+
279  connect(actionExit, SIGNAL(triggered()), this, SLOT(close()));
+
280 
+
281  actionOpen = new QAction(tr("&Open"), this);
+
282  actionOpen->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_O));
+
283  connect(actionOpen, SIGNAL(triggered()), this, SLOT(slotOpen()));
+
284 
+
285  // Create New Layer action and tie to IntelliPhotoGui::newLayer()
+
286  actionCreateNewLayer = new QAction(tr("&New Layer..."), this);
+
287  actionCreateNewLayer->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_N));
+
288  connect(actionCreateNewLayer, SIGNAL(triggered()), this, SLOT(slotCreateNewLayer()));
+
289 
+
290  // Delete New Layer action and tie to IntelliPhotoGui::deleteLayer()
+
291  actionDeleteLayer = new QAction(tr("&Delete Layer..."), this);
+
292  connect(actionDeleteLayer, SIGNAL(triggered()), this, SLOT(slotDeleteLayer()));
+
293 
+
294  actionSetActiveLayer = new QAction(tr("&set Active"), this);
+
295  connect(actionSetActiveLayer, SIGNAL(triggered()), this, SLOT(slotSetActiveLayer()));
+
296 
+
297  actionSetActiveAlpha = new QAction(tr("&set Alpha"), this);
+
298  connect(actionSetActiveAlpha, SIGNAL(triggered()), this, SLOT(slotSetActiveAlpha()));
+
299 
+
300  actionMovePositionUp = new QAction(tr("&move Up"), this);
+
301  actionMovePositionUp->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Up));
+
302  connect(actionMovePositionUp, SIGNAL(triggered()), this, SLOT(slotPositionMoveUp()));
+
303 
+
304  actionMovePositionDown = new QAction(tr("&move Down"), this);
+
305  actionMovePositionDown->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Down));
+
306  connect(actionMovePositionDown, SIGNAL(triggered()), this, SLOT(slotPositionMoveDown()));
+
307 
+
308  actionMovePositionLeft = new QAction(tr("&move Left"), this);
+
309  actionMovePositionLeft->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Left));
+
310  connect(actionMovePositionLeft, SIGNAL(triggered()), this, SLOT(slotPositionMoveLeft()));
+
311 
+
312  actionMovePositionRight = new QAction(tr("&move Right"), this);
+
313  actionMovePositionRight->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Right));
+
314  connect(actionMovePositionRight, SIGNAL(triggered()), this, SLOT(slotPositionMoveRight()));
+
315 
+
316  actionMoveLayerUp = new QAction(tr("&move Layer Up"), this);
+
317  actionMoveLayerUp->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_Up));
+
318  connect(actionMoveLayerUp, SIGNAL(triggered()), this, SLOT(slotMoveLayerUp()));
+
319 
+
320  actionMoveLayerDown= new QAction(tr("&move Layer Down"), this);
+
321  actionMoveLayerDown->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_Down));
+
322  connect(actionMoveLayerDown, SIGNAL(triggered()), this, SLOT(slotMoveLayerDown()));
+
323 
+
324  //Create Color Actions here
+
325  actionColorPickerFirstColor = new QAction(tr("&Main"), this);
+
326  connect(actionColorPickerFirstColor, SIGNAL(triggered()), this, SLOT(slotSetFirstColor()));
+
327 
+
328  actionColorPickerSecondColor = new QAction(tr("&Secondary"), this);
+
329  connect(actionColorPickerSecondColor, SIGNAL(triggered()), this, SLOT(slotSetSecondColor()));
+
330 
+
331  actionColorSwitch = new QAction(tr("&Switch"), this);
+
332  actionColorSwitch->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_S));
+
333  connect(actionColorSwitch, SIGNAL(triggered()), this, SLOT(slotSwitchColor()));
+
334 
+
335  //Create Tool actions down here
+
336  actionCreatePlainTool = new QAction(tr("&Plain"), this);
+
337  connect(actionCreatePlainTool, SIGNAL(triggered()), this, SLOT(slotCreatePlainTool()));
+
338 
+
339  actionCreatePenTool = new QAction(tr("&Pen"),this);
+
340  connect(actionCreatePenTool, SIGNAL(triggered()), this, SLOT(slotCreatePenTool()));
+
341 
+
342  actionCreateLineTool = new QAction(tr("&Line"), this);
+
343  connect(actionCreateLineTool, SIGNAL(triggered()), this, SLOT(slotCreateLineTool()));
+
344 
+
345  actionCreateCircleTool = new QAction(tr("&Circle"), this);
+
346  connect(actionCreateCircleTool, SIGNAL(triggered()), this, SLOT(slotCreateCircleTool()));
+
347 
+
348  actionCreateRectangleTool = new QAction(tr("&Rectangle"), this);
+
349  connect(actionCreateRectangleTool, SIGNAL(triggered()), this, SLOT(slotCreateRectangleTool()));
+
350 
+
351  actionCreatePolygonTool = new QAction(tr("&Polygon"), this);
+
352  connect(actionCreatePolygonTool, SIGNAL(triggered()), this, SLOT(slotCreatePolygonTool()));
+
353 
+
354  actionCreateFloodFillTool = new QAction(tr("&FloodFill"), this);
+
355  connect(actionCreateFloodFillTool, SIGNAL(triggered()), this, SLOT(slotCreateFloodFillTool()));
+
356 
+
357  // Create about action and tie to IntelliPhotoGui::about()
+
358  actionAboutDialog = new QAction(tr("&About"), this);
+
359  connect(actionAboutDialog, SIGNAL(triggered()), this, SLOT(slotAboutDialog()));
+
360 
+
361  // Create about Qt action and tie to IntelliPhotoGui::aboutQt()
+
362  actionAboutQtDialog = new QAction(tr("About &Qt"), this);
+
363  connect(actionAboutQtDialog, SIGNAL(triggered()), qApp, SLOT(aboutQt()));
+
364 }
+
365 
+
366 // Create the menubar
+
367 void IntelliPhotoGui::createMenus(){
+
368  // Create Save As option and the list of file types
+
369  saveAsMenu = new QMenu(tr("&Save As"), this);
+
370  foreach (QAction *action, actionSaveAs)
+
371  saveAsMenu->addAction(action);
+
372 
+
373 
+
374  // Attach all actions to File
+
375  fileMenu = new QMenu(tr("&File"), this);
+
376  fileMenu->addAction(actionOpen);
+
377  fileMenu->addMenu(saveAsMenu);
+
378  fileMenu->addSeparator();
+
379  fileMenu->addAction(actionExit);
+
380 
+
381  // Attach all actions to Options
+
382  optionMenu = new QMenu(tr("&Options"), this);
+
383  optionMenu->addAction(actionSetActiveLayer);
+
384  optionMenu->addAction(actionSetActiveAlpha);
+
385  optionMenu->addAction(actionMovePositionUp);
+
386  optionMenu->addAction(actionMovePositionDown);
+
387  optionMenu->addAction(actionMovePositionLeft);
+
388  optionMenu->addAction(actionMovePositionRight);
+
389  optionMenu->addAction(actionMoveLayerUp);
+
390  optionMenu->addAction(actionMoveLayerDown);
+
391 
+
392  // Attach all actions to Layer
+
393  layerMenu = new QMenu(tr("&Layer"), this);
+
394  layerMenu->addAction(actionCreateNewLayer);
+
395  layerMenu->addAction(actionDeleteLayer);
+
396 
+
397  //Attach all Color Options
+
398  colorMenu = new QMenu(tr("&Color"), this);
+
399  colorMenu->addAction(actionColorPickerFirstColor);
+
400  colorMenu->addAction(actionColorPickerSecondColor);
+
401  colorMenu->addAction(actionColorSwitch);
+
402 
+
403  //Attach all Tool Options
+
404  toolMenu = new QMenu(tr("&Tools"), this);
+
405  toolMenu->addAction(actionCreatePenTool);
+
406  toolMenu->addAction(actionCreatePlainTool);
+
407  toolMenu->addAction(actionCreateLineTool);
+
408  toolMenu->addAction(actionCreateRectangleTool);
+
409  toolMenu->addAction(actionCreateCircleTool);
+
410  toolMenu->addAction(actionCreatePolygonTool);
+
411  toolMenu->addAction(actionCreateFloodFillTool);
+
412  toolMenu->addSeparator();
+
413  toolMenu->addMenu(colorMenu);
+
414 
+
415  // Attach all actions to Help
+
416  helpMenu = new QMenu(tr("&Help"), this);
+
417  helpMenu->addAction(actionAboutDialog);
+
418  helpMenu->addAction(actionAboutQtDialog);
+
419 
+
420  // Add menu items to the menubar
+
421  menuBar()->addMenu(fileMenu);
+
422  menuBar()->addMenu(optionMenu);
+
423  menuBar()->addMenu(layerMenu);
+
424  menuBar()->addMenu(toolMenu);
+
425  menuBar()->addMenu(helpMenu);
+
426 }
+
427 
+
428 void IntelliPhotoGui::createGui(){
+
429  // create a central widget to work on
+
430  centralGuiWidget = new QWidget(this);
+
431  setCentralWidget(centralGuiWidget);
+
432 
+
433  // create the grid for the layout
+
434  mainLayout = new QGridLayout(centralGuiWidget);
+
435  centralGuiWidget->setLayout(mainLayout);
+
436 
+
437  // create Gui elements
+
438  paintingArea = new PaintingArea();
+
439 
+
440  // set gui elements
+
441  mainLayout->addWidget(paintingArea);
+
442 }
+
443 
+
444 void IntelliPhotoGui::setIntelliStyle(){
+
445  // Set the title
+
446  setWindowTitle("IntelliPhoto Prototype");
+
447  // Set style sheet
+
448  this->setStyleSheet("background-color:rgb(64,64,64)");
+
449  this->centralGuiWidget->setStyleSheet("color:rgb(255,255,255)");
+
450  this->menuBar()->setStyleSheet("color:rgb(255,255,255)");
+
451 }
+
452 
+
453 bool IntelliPhotoGui::maybeSave(){
+
454  // Check for changes since last save
+
455 
+
456  // TODO insert variable for modified status here to make an save exit message
+
457  if (false) {
+
458  QMessageBox::StandardButton ret;
+
459 
+
460  // Painting is the title of the window
+
461  // Add text and the buttons
+
462  ret = QMessageBox::warning(this, tr("Painting"),
+
463  tr("The image has been modified.\n"
+
464  "Do you want to save your changes?"),
+
465  QMessageBox::Save | QMessageBox::Discard
+
466  | QMessageBox::Cancel);
+
467 
+
468  // If save button clicked call for file to be saved
+
469  if (ret == QMessageBox::Save) {
+
470  return saveFile("png");
+
471 
+
472  // If cancel do nothing
+
473  } else if (ret == QMessageBox::Cancel) {
+
474  return false;
+
475  }
+
476  }
+
477  return true;
+
478 }
+
479 
+
480 bool IntelliPhotoGui::saveFile(const QByteArray &fileFormat){
+
481  // Define path, name and default file type
+
482  QString initialPath = QDir::currentPath() + "/untitled." + fileFormat;
+
483 
+
484  // Get selected file from dialog
+
485  // Add the proper file formats and extensions
+
486  QString fileName = QFileDialog::getSaveFileName(this, tr("Save As"),
+
487  initialPath,
+
488  tr("%1 Files (*.%2);;All Files (*)")
+
489  .arg(QString::fromLatin1(fileFormat.toUpper()))
+
490  .arg(QString::fromLatin1(fileFormat)), nullptr, QFileDialog::DontUseNativeDialog);
+
491 
+
492  // If no file do nothing
+
493  if (fileName.isEmpty()) {
+
494  return false;
+
495  } else {
+
496  // Call for the file to be saved
+
497  return paintingArea->save(fileName, fileFormat.constData());
+
498  }
+
499 }
+
+
+
void createCircleTool()
+
int addLayer(int width, int height, int widthOffset=0, int heightOffset=0, ImageType type=ImageType::Raster_Image)
The addLayer adds a layer to the current project/ painting area.
+
void createRectangleTool()
+
bool open(const QString &fileName)
The open method is used for loading a picture into the current layer.
+
void setLayerToActive(int index)
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.
+
bool save(const QString &fileName, const char *fileFormat)
The save method is used for exporting the current project as one picture.
+
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:36
+
void deleteLayer(int index)
The deleteLayer method removes a layer at a given index.
+
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.
+
void colorPickerSwitchColor()
The colorPickerSwitchColor swaps the primary color with the secondary drawing color.
+ +
void closeEvent(QCloseEvent *event) override
+
void createPolygonTool()
+
void moveActiveLayer(int idx)
The moveActiveLayer moves the active layer to a specific position in the layer stack.
+ +
void createFloodFillTool()
+
void slotActivateLayer(int a)
The slotActivateLayer method handles the event of selecting one layer as active.
+
void setAlphaOfLayer(int index, int alpha)
The setAlphaOfLayer method sets the alpha value of a specific layer.
+
void movePositionActive(int x, int y)
The movePositionActive method moves the active layer to certain position.
+ + + + diff --git a/docs/html/_intelli_photo_gui_8h.html b/docs/html/_intelli_photo_gui_8h.html new file mode 100644 index 0000000..adb3c37 --- /dev/null +++ b/docs/html/_intelli_photo_gui_8h.html @@ -0,0 +1,133 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/GUI/IntelliPhotoGui.h File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
IntelliPhotoGui.h File Reference
+
+
+
#include <QList>
+#include <QMainWindow>
+#include <QGridLayout>
+#include <QPushButton>
+#include <QTextEdit>
+#include <QLabel>
+#include <QLineEdit>
+
+Include dependency graph for IntelliPhotoGui.h:
+
+
+
+
+This graph shows which files directly or indirectly include this file:
+
+
+
+
+

Go to the source code of this file.

+ + + + + +

+Classes

class  IntelliPhotoGui
 The IntelliPhotoGui class handles the graphical user interface for the intelliPhoto program. More...
 
+
+
+ + + + diff --git a/docs/html/_intelli_photo_gui_8h__dep__incl.dot b/docs/html/_intelli_photo_gui_8h__dep__incl.dot new file mode 100644 index 0000000..981de5d --- /dev/null +++ b/docs/html/_intelli_photo_gui_8h__dep__incl.dot @@ -0,0 +1,11 @@ +digraph "intelliphoto/src/GUI/IntelliPhotoGui.h" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/GUI\l/IntelliPhotoGui.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="intelliphoto/src/GUI\l/IntelliPhotoGui.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_photo_gui_8cpp.html",tooltip=" "]; + Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="intelliphoto/src/main.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$main_8cpp.html",tooltip=" "]; +} diff --git a/docs/html/_intelli_photo_gui_8h__incl.dot b/docs/html/_intelli_photo_gui_8h__incl.dot new file mode 100644 index 0000000..12ec3a9 --- /dev/null +++ b/docs/html/_intelli_photo_gui_8h__incl.dot @@ -0,0 +1,21 @@ +digraph "intelliphoto/src/GUI/IntelliPhotoGui.h" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/GUI\l/IntelliPhotoGui.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="QList",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="QMainWindow",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="QGridLayout",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="QPushButton",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="QTextEdit",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="QLabel",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 [label="QLineEdit",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; +} diff --git a/docs/html/_intelli_photo_gui_8h_source.html b/docs/html/_intelli_photo_gui_8h_source.html new file mode 100644 index 0000000..73cc16d --- /dev/null +++ b/docs/html/_intelli_photo_gui_8h_source.html @@ -0,0 +1,246 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/GUI/IntelliPhotoGui.h Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliPhotoGui.h
+
+
+Go to the documentation of this file.
1 #ifndef IntelliPhotoGui_H
+
2 #define IntelliPhotoGui_H
+
3 
+
4 #include <QList>
+
5 #include <QMainWindow>
+
6 #include <QGridLayout>
+
7 #include <QPushButton>
+
8 #include <QTextEdit>
+
9 #include <QLabel>
+
10 #include <QLineEdit>
+
11 
+
12 // PaintingArea used to paint the image
+
13 class PaintingArea;
+
14 
+
15 class IntelliTool;
+
16 
+
17 class IntelliColorPicker;
+
18 
+
22 class IntelliPhotoGui : public QMainWindow {
+
23 // Declares our class as a QObject which is the base class
+
24 // for all Qt objects
+
25 // QObjects handle events
+
26 Q_OBJECT
+
27 public:
+ +
32 
+
33 protected:
+
34 // Function used to close an event
+
35 void closeEvent(QCloseEvent*event) override;
+
36 
+
37 private slots:
+
38 // meta slots here (need further )
+
39 void slotOpen();
+
40 void slotSave();
+
41 
+
42 // layer slots here
+
43 void slotCreateNewLayer();
+
44 void slotDeleteLayer();
+
45 void slotClearActiveLayer();
+
46 void slotSetActiveLayer();
+
47 void slotSetActiveAlpha();
+
48 void slotPositionMoveUp();
+
49 void slotPositionMoveDown();
+
50 void slotPositionMoveLeft();
+
51 void slotPositionMoveRight();
+
52 void slotMoveLayerUp();
+
53 void slotMoveLayerDown();
+
54 
+
55 // color Picker slots here
+
56 void slotSetFirstColor();
+
57 void slotSetSecondColor();
+
58 void slotSwitchColor();
+
59 
+
60 // tool slots here
+
61 void slotCreatePenTool();
+
62 void slotCreatePlainTool();
+
63 void slotCreateLineTool();
+
64 void slotCreateRectangleTool();
+
65 void slotCreateCircleTool();
+
66 void slotCreatePolygonTool();
+
67 void slotCreateFloodFillTool();
+
68 
+
69 // slots for dialogs
+
70 void slotAboutDialog();
+
71 
+
72 private:
+
73 // Will tie user actions to functions
+
74 void createActions();
+
75 void createMenus();
+
76 // setup GUI elements
+
77 void createGui();
+
78 // set style of the GUI
+
79 void setIntelliStyle();
+
80 
+
81 // Will check if changes have occurred since last save
+
82 bool maybeSave();
+
83 // Opens the Save dialog and saves
+
84 bool saveFile(const QByteArray &fileFormat);
+
85 
+
86 // What we'll draw on
+
87 PaintingArea* paintingArea;
+
88 
+
89 // The menu widgets
+
90 QMenu*saveAsMenu;
+
91 QMenu*fileMenu;
+
92 QMenu*optionMenu;
+
93 QMenu*layerMenu;
+
94 QMenu*colorMenu;
+
95 QMenu*toolMenu;
+
96 QMenu*helpMenu;
+
97 
+
98 // All the actions that can occur
+
99 // meta image actions (need further modularisation)
+
100 QAction*actionOpen;
+
101 QAction*actionExit;
+
102 
+
103 // color Picker actions
+
104 QAction*actionColorPickerFirstColor;
+
105 QAction*actionColorPickerSecondColor;
+
106 QAction*actionColorSwitch;
+
107 
+
108 // tool actions
+
109 QAction*actionCreatePenTool;
+
110 QAction*actionCreatePlainTool;
+
111 QAction*actionCreateLineTool;
+
112 QAction*actionCreateRectangleTool;
+
113 QAction*actionCreateCircleTool;
+
114 QAction*actionCreatePolygonTool;
+
115 QAction*actionCreateFloodFillTool;
+
116 
+
117 // dialog actions
+
118 QAction*actionAboutDialog;
+
119 QAction*actionAboutQtDialog;
+
120 
+
121 // layer change actions
+
122 QAction*actionCreateNewLayer;
+
123 QAction*actionDeleteLayer;
+
124 QAction* actionSetActiveLayer;
+
125 QAction* actionSetActiveAlpha;
+
126 QAction* actionMovePositionUp;
+
127 QAction* actionMovePositionDown;
+
128 QAction* actionMovePositionLeft;
+
129 QAction* actionMovePositionRight;
+
130 QAction* actionMoveLayerUp;
+
131 QAction* actionMoveLayerDown;
+
132 
+
133 // Actions tied to specific file formats
+
134 QList<QAction*> actionSaveAs;
+
135 
+
136 // main GUI elements
+
137 QWidget* centralGuiWidget;
+
138 QGridLayout*mainLayout;
+
139 };
+
140 
+
141 #endif
+
+
+
The IntelliPhotoGui class handles the graphical user interface for the intelliPhoto program.
+
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:36
+
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:13
+
void closeEvent(QCloseEvent *event) override
+
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 new file mode 100644 index 0000000..180a1b7 --- /dev/null +++ b/docs/html/_intelli_raster_image_8cpp.html @@ -0,0 +1,116 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Image/IntelliRasterImage.cpp File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliRasterImage.cpp File Reference
+
+
+
#include "Image/IntelliRasterImage.h"
+#include <QPainter>
+#include <QRect>
+#include <QDebug>
+
+Include dependency graph for IntelliRasterImage.cpp:
+
+
+
+
+

Go to the source code of this file.

+
+
+ + + + diff --git a/docs/html/_intelli_raster_image_8cpp__incl.dot b/docs/html/_intelli_raster_image_8cpp__incl.dot new file mode 100644 index 0000000..c093728 --- /dev/null +++ b/docs/html/_intelli_raster_image_8cpp__incl.dot @@ -0,0 +1,29 @@ +digraph "intelliphoto/src/Image/IntelliRasterImage.cpp" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Image\l/IntelliRasterImage.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="Image/IntelliRasterImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_raster_image_8h.html",tooltip=" "]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="Image/IntelliImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_image_8h.html",tooltip=" "]; + Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="QImage",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node3 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node3 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node3 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="QSize",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node3 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 [label="QWidget",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node3 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node10 [label="QPainter",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node11 [label="QRect",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node12 [label="QDebug",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; +} diff --git a/docs/html/_intelli_raster_image_8cpp_source.html b/docs/html/_intelli_raster_image_8cpp_source.html new file mode 100644 index 0000000..44473a2 --- /dev/null +++ b/docs/html/_intelli_raster_image_8cpp_source.html @@ -0,0 +1,159 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Image/IntelliRasterImage.cpp Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliRasterImage.cpp
+
+
+Go to the documentation of this file.
+
2 #include <QPainter>
+
3 #include <QRect>
+
4 #include <QDebug>
+
5 
+ +
7  : IntelliImage(weight, height){
+
8 
+
9 }
+
10 
+ +
12 
+
13 }
+
14 
+ +
16  IntelliRasterImage* raster = new IntelliRasterImage(imageData.width(), imageData.height());
+
17  raster->imageData.fill(Qt::transparent);
+
18  return raster;
+
19 }
+
20 
+ +
22  // not used in raster image
+
23 }
+
24 
+ +
26  return getDisplayable(imageData.size(), alpha);
+
27 }
+
28 
+
29 QImage IntelliRasterImage::getDisplayable(const QSize& displaySize, int alpha){
+
30  QImage copy = imageData;
+
31  for(int y = 0; y<copy.height(); y++) {
+
32  for(int x = 0; x<copy.width(); x++) {
+
33  QColor clr = copy.pixelColor(x,y);
+
34  clr.setAlpha(std::min(alpha, clr.alpha()));
+
35  copy.setPixelColor(x,y, clr);
+
36  }
+
37  }
+
38  return copy.scaled(displaySize,Qt::IgnoreAspectRatio);
+
39 }
+
40 
+
41 void IntelliRasterImage::setPolygon(const std::vector<QPoint>& polygonData){
+
42  qDebug() << "Raster Image has no polygon data " << polygonData.size() <<"\n";
+
43  return;
+
44 }
+
+
+
virtual ~IntelliRasterImage() override
An Destructor.
+ +
virtual QImage getDisplayable(const QSize &displaySize, int alpha) override
A function returning the displayable ImageData in a requested transparence and size.
+
QImage imageData
The underlying image data.
Definition: IntelliImage.h:32
+
An abstract class which manages the basic IntelliImage operations.
Definition: IntelliImage.h:24
+
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.
+
IntelliRasterImage(int weight, int height)
The Construcor of the IntelliRasterImage. Given the Image dimensions.
+
The IntelliRasterImage manages a Rasterimage.
+ + + + diff --git a/docs/html/_intelli_raster_image_8h.html b/docs/html/_intelli_raster_image_8h.html new file mode 100644 index 0000000..f9b8aa7 --- /dev/null +++ b/docs/html/_intelli_raster_image_8h.html @@ -0,0 +1,127 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Image/IntelliRasterImage.h File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
IntelliRasterImage.h File Reference
+
+
+
+Include dependency graph for IntelliRasterImage.h:
+
+
+
+
+This graph shows which files directly or indirectly include this file:
+
+
+
+
+

Go to the source code of this file.

+ + + + + +

+Classes

class  IntelliRasterImage
 The IntelliRasterImage manages a Rasterimage. More...
 
+
+
+ + + + diff --git a/docs/html/_intelli_raster_image_8h__dep__incl.dot b/docs/html/_intelli_raster_image_8h__dep__incl.dot new file mode 100644 index 0000000..aa77306 --- /dev/null +++ b/docs/html/_intelli_raster_image_8h__dep__incl.dot @@ -0,0 +1,38 @@ +digraph "intelliphoto/src/Image/IntelliRasterImage.h" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Image\l/IntelliRasterImage.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="intelliphoto/src/Image\l/IntelliRasterImage.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_raster_image_8cpp.html",tooltip=" "]; + Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="intelliphoto/src/Image\l/IntelliShapedImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_shaped_image_8h.html",tooltip=" "]; + Node3 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="intelliphoto/src/Image\l/IntelliShapedImage.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_shaped_image_8cpp.html",tooltip=" "]; + Node3 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="intelliphoto/src/Layer\l/PaintingArea.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8h.html",tooltip=" "]; + Node5 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="intelliphoto/src/GUI\l/IntelliPhotoGui.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_photo_gui_8cpp.html",tooltip=" "]; + Node5 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="intelliphoto/src/Layer\l/PaintingArea.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8cpp.html",tooltip=" "]; + Node5 -> Node8 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 [label="intelliphoto/src/Tool\l/IntelliTool.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_8cpp.html",tooltip=" "]; + Node5 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 [label="intelliphoto/src/Tool\l/IntelliToolCircle.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_circle_8cpp.html",tooltip=" "]; + Node5 -> Node10 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node10 [label="intelliphoto/src/Tool\l/IntelliToolFloodFill.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_flood_fill_8cpp.html",tooltip=" "]; + Node5 -> Node11 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node11 [label="intelliphoto/src/Tool\l/IntelliToolLine.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_line_8cpp.html",tooltip=" "]; + Node5 -> Node12 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node12 [label="intelliphoto/src/Tool\l/IntelliToolPen.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_pen_8cpp.html",tooltip=" "]; + Node5 -> Node13 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 [label="intelliphoto/src/Tool\l/IntelliToolPlain.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_plain_8cpp.html",tooltip=" "]; + Node5 -> Node14 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node14 [label="intelliphoto/src/Tool\l/IntelliToolPolygon.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_polygon_8cpp.html",tooltip=" "]; + Node5 -> Node15 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node15 [label="intelliphoto/src/Tool\l/IntelliToolRectangle.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_rectangle_8cpp.html",tooltip=" "]; + Node3 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; +} diff --git a/docs/html/_intelli_raster_image_8h__incl.dot b/docs/html/_intelli_raster_image_8h__incl.dot new file mode 100644 index 0000000..41ae445 --- /dev/null +++ b/docs/html/_intelli_raster_image_8h__incl.dot @@ -0,0 +1,21 @@ +digraph "intelliphoto/src/Image/IntelliRasterImage.h" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Image\l/IntelliRasterImage.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="Image/IntelliImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_image_8h.html",tooltip=" "]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="QImage",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="QSize",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="QWidget",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; +} diff --git a/docs/html/_intelli_raster_image_8h_source.html b/docs/html/_intelli_raster_image_8h_source.html new file mode 100644 index 0000000..974c110 --- /dev/null +++ b/docs/html/_intelli_raster_image_8h_source.html @@ -0,0 +1,139 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Image/IntelliRasterImage.h Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliRasterImage.h
+
+
+Go to the documentation of this file.
1 #ifndef INTELLIRASTER_H
+
2 #define INTELLIRASTER_H
+
3 
+
4 #include "Image/IntelliImage.h"
+
5 
+ +
10 friend IntelliTool;
+
11 protected:
+
15 virtual void calculateVisiblity() override;
+
16 public:
+
22 IntelliRasterImage(int weight, int height);
+
23 
+
27 virtual ~IntelliRasterImage() override;
+
28 
+
35 virtual QImage getDisplayable(const QSize& displaySize,int alpha) override;
+
36 
+
42 virtual QImage getDisplayable(int alpha=255) override;
+
43 
+
48 virtual IntelliImage* getDeepCopy() override;
+
49 
+
54 virtual void setPolygon(const std::vector<QPoint>& polygonData) override;
+
55 };
+
56 
+
57 #endif
+
+
+ +
virtual ~IntelliRasterImage() override
An Destructor.
+
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:13
+
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:24
+
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.
+
IntelliRasterImage(int weight, int height)
The Construcor of the IntelliRasterImage. Given the Image dimensions.
+
The IntelliRasterImage manages a Rasterimage.
+ + + + diff --git a/docs/html/_intelli_shaped_image_8cpp.html b/docs/html/_intelli_shaped_image_8cpp.html new file mode 100644 index 0000000..6412dc2 --- /dev/null +++ b/docs/html/_intelli_shaped_image_8cpp.html @@ -0,0 +1,117 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Image/IntelliShapedImage.cpp File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliShapedImage.cpp File Reference
+
+
+
#include "Image/IntelliShapedImage.h"
+#include "IntelliHelper/IntelliHelper.h"
+#include <QPainter>
+#include <QRect>
+#include <QDebug>
+
+Include dependency graph for IntelliShapedImage.cpp:
+
+
+
+
+

Go to the source code of this file.

+
+
+ + + + diff --git a/docs/html/_intelli_shaped_image_8cpp__incl.dot b/docs/html/_intelli_shaped_image_8cpp__incl.dot new file mode 100644 index 0000000..63a34cc --- /dev/null +++ b/docs/html/_intelli_shaped_image_8cpp__incl.dot @@ -0,0 +1,37 @@ +digraph "intelliphoto/src/Image/IntelliShapedImage.cpp" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Image\l/IntelliShapedImage.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="Image/IntelliShapedImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_shaped_image_8h.html",tooltip=" "]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="Image/IntelliRasterImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_raster_image_8h.html",tooltip=" "]; + Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="Image/IntelliImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_image_8h.html",tooltip=" "]; + Node4 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="QImage",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node4 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node4 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node4 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 [label="QSize",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node4 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 [label="QWidget",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node4 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node10 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node11 [label="IntelliHelper/IntelliHelper.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_helper_8h.html",tooltip=" "]; + Node11 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node11 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node12 [label="QPainter",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 [label="QRect",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node14 [label="QDebug",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; +} diff --git a/docs/html/_intelli_shaped_image_8cpp_source.html b/docs/html/_intelli_shaped_image_8cpp_source.html new file mode 100644 index 0000000..d464d5f --- /dev/null +++ b/docs/html/_intelli_shaped_image_8cpp_source.html @@ -0,0 +1,197 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Image/IntelliShapedImage.cpp Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliShapedImage.cpp
+
+
+Go to the documentation of this file.
+ +
3 #include <QPainter>
+
4 #include <QRect>
+
5 #include <QDebug>
+
6 
+ +
8  : IntelliRasterImage(weight, height){
+
9 }
+
10 
+ +
12 
+
13 }
+
14 
+ +
16  return getDisplayable(imageData.size(),alpha);
+
17 }
+
18 
+ +
20  IntelliShapedImage* shaped = new IntelliShapedImage(imageData.width(), imageData.height());
+
21  shaped->setPolygon(this->polygonData);
+
22  shaped->imageData.fill(Qt::transparent);
+
23  return shaped;
+
24 }
+
25 
+
26 void IntelliShapedImage::calculateVisiblity(){
+
27  if(polygonData.size()<=2) {
+
28  QColor clr;
+
29  for(int y=0; y<imageData.height(); y++) {
+
30  for(int x=0; x<imageData.width(); x++) {
+
31  clr = imageData.pixel(x,y);
+
32  clr.setAlpha(255);
+
33  imageData.setPixelColor(x,y,clr);
+
34  }
+
35  }
+
36  return;
+
37  }
+
38  QColor clr;
+
39  for(int y=0; y<imageData.height(); y++) {
+
40  for(int x=0; x<imageData.width(); x++) {
+
41  QPoint ptr(x,y);
+
42  clr = imageData.pixelColor(x,y);
+
43  bool isInPolygon = IntelliHelper::isInPolygon(triangles, ptr);
+
44  if(isInPolygon) {
+
45  clr.setAlpha(std::min(255, clr.alpha()));
+
46  }else{
+
47  clr.setAlpha(0);
+
48  }
+
49  imageData.setPixelColor(x,y,clr);
+
50  }
+
51  }
+
52 }
+
53 
+
54 QImage IntelliShapedImage::getDisplayable(const QSize& displaySize, int alpha){
+
55  QImage copy = imageData;
+
56  for(int y = 0; y<copy.height(); y++) {
+
57  for(int x = 0; x<copy.width(); x++) {
+
58  QColor clr = copy.pixelColor(x,y);
+
59  clr.setAlpha(std::min(alpha,clr.alpha()));
+
60  copy.setPixelColor(x,y, clr);
+
61  }
+
62  }
+
63  return copy.scaled(displaySize,Qt::IgnoreAspectRatio);
+
64 }
+
65 
+
66 void IntelliShapedImage::setPolygon(const std::vector<QPoint>& polygonData){
+
67  if(polygonData.size()<3) {
+
68  this->polygonData.clear();
+
69  }else{
+
70  this->polygonData.clear();
+
71  for(auto element:polygonData) {
+
72  this->polygonData.push_back(QPoint(element.x(), element.y()));
+
73  }
+ +
75  }
+
76  calculateVisiblity();
+
77  return;
+
78 }
+
+
+
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.
+
bool isInPolygon(std::vector< Triangle > &triangles, QPoint &point)
A function to check if a point lies in a polygon by checking its spanning triangles.
+
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 ...
+
QImage imageData
The underlying image data.
Definition: IntelliImage.h:32
+
An abstract class which manages the basic IntelliImage operations.
Definition: IntelliImage.h:24
+
std::vector< QPoint > polygonData
The Vertices of The Polygon. Needs to be a planar Polygon.
+
IntelliShapedImage(int weight, int height)
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.
+ + + + diff --git a/docs/html/_intelli_shaped_image_8h.html b/docs/html/_intelli_shaped_image_8h.html new file mode 100644 index 0000000..c0f00a7 --- /dev/null +++ b/docs/html/_intelli_shaped_image_8h.html @@ -0,0 +1,129 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Image/IntelliShapedImage.h File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
IntelliShapedImage.h File Reference
+
+
+
#include "Image/IntelliRasterImage.h"
+#include <vector>
+#include "IntelliHelper/IntelliHelper.h"
+
+Include dependency graph for IntelliShapedImage.h:
+
+
+
+
+This graph shows which files directly or indirectly include this file:
+
+
+
+
+

Go to the source code of this file.

+ + + + + +

+Classes

class  IntelliShapedImage
 The IntelliShapedImage manages a Shapedimage. More...
 
+
+
+ + + + diff --git a/docs/html/_intelli_shaped_image_8h__dep__incl.dot b/docs/html/_intelli_shaped_image_8h__dep__incl.dot new file mode 100644 index 0000000..39ac329 --- /dev/null +++ b/docs/html/_intelli_shaped_image_8h__dep__incl.dot @@ -0,0 +1,32 @@ +digraph "intelliphoto/src/Image/IntelliShapedImage.h" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Image\l/IntelliShapedImage.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="intelliphoto/src/Image\l/IntelliShapedImage.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_shaped_image_8cpp.html",tooltip=" "]; + Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="intelliphoto/src/Layer\l/PaintingArea.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8h.html",tooltip=" "]; + Node3 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="intelliphoto/src/GUI\l/IntelliPhotoGui.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_photo_gui_8cpp.html",tooltip=" "]; + Node3 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="intelliphoto/src/Layer\l/PaintingArea.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8cpp.html",tooltip=" "]; + Node3 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="intelliphoto/src/Tool\l/IntelliTool.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_8cpp.html",tooltip=" "]; + Node3 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="intelliphoto/src/Tool\l/IntelliToolCircle.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_circle_8cpp.html",tooltip=" "]; + Node3 -> Node8 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 [label="intelliphoto/src/Tool\l/IntelliToolFloodFill.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_flood_fill_8cpp.html",tooltip=" "]; + Node3 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 [label="intelliphoto/src/Tool\l/IntelliToolLine.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_line_8cpp.html",tooltip=" "]; + Node3 -> Node10 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node10 [label="intelliphoto/src/Tool\l/IntelliToolPen.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_pen_8cpp.html",tooltip=" "]; + Node3 -> Node11 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node11 [label="intelliphoto/src/Tool\l/IntelliToolPlain.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_plain_8cpp.html",tooltip=" "]; + Node3 -> Node12 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node12 [label="intelliphoto/src/Tool\l/IntelliToolPolygon.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_polygon_8cpp.html",tooltip=" "]; + Node3 -> Node13 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 [label="intelliphoto/src/Tool\l/IntelliToolRectangle.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_rectangle_8cpp.html",tooltip=" "]; + Node1 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; +} diff --git a/docs/html/_intelli_shaped_image_8h__incl.dot b/docs/html/_intelli_shaped_image_8h__incl.dot new file mode 100644 index 0000000..fa82e58 --- /dev/null +++ b/docs/html/_intelli_shaped_image_8h__incl.dot @@ -0,0 +1,28 @@ +digraph "intelliphoto/src/Image/IntelliShapedImage.h" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Image\l/IntelliShapedImage.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="Image/IntelliRasterImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_raster_image_8h.html",tooltip=" "]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="Image/IntelliImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_image_8h.html",tooltip=" "]; + Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="QImage",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node3 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node3 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node3 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="QSize",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node3 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 [label="QWidget",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node3 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node10 [label="IntelliHelper/IntelliHelper.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_helper_8h.html",tooltip=" "]; + Node10 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node10 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; +} diff --git a/docs/html/_intelli_shaped_image_8h_source.html b/docs/html/_intelli_shaped_image_8h_source.html new file mode 100644 index 0000000..6712513 --- /dev/null +++ b/docs/html/_intelli_shaped_image_8h_source.html @@ -0,0 +1,153 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Image/IntelliShapedImage.h Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliShapedImage.h
+
+
+Go to the documentation of this file.
1 #ifndef INTELLISHAPE_H
+
2 #define INTELLISHAPE_H
+
3 
+ +
5 #include <vector>
+ +
7 
+ +
12 friend IntelliTool;
+
13 private:
+
17 std::vector<Triangle> triangles;
+
18 
+
22 virtual void calculateVisiblity() override;
+
23 protected:
+
24 
+
28 std::vector<QPoint> polygonData;
+
29 public:
+
35 IntelliShapedImage(int weight, int height);
+
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
+
+
+
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:13
+
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:24
+
std::vector< QPoint > polygonData
The Vertices of The Polygon. Needs to be a planar Polygon.
+
IntelliShapedImage(int weight, int height)
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.
+ + + + diff --git a/docs/html/_intelli_tool_8cpp.html b/docs/html/_intelli_tool_8cpp.html new file mode 100644 index 0000000..129fdfc --- /dev/null +++ b/docs/html/_intelli_tool_8cpp.html @@ -0,0 +1,114 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Tool/IntelliTool.cpp File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliTool.cpp File Reference
+
+
+
#include "IntelliTool.h"
+#include "Layer/PaintingArea.h"
+
+Include dependency graph for IntelliTool.cpp:
+
+
+
+
+

Go to the source code of this file.

+
+
+ + + + diff --git a/docs/html/_intelli_tool_8cpp__incl.dot b/docs/html/_intelli_tool_8cpp__incl.dot new file mode 100644 index 0000000..8fbbc53 --- /dev/null +++ b/docs/html/_intelli_tool_8cpp__incl.dot @@ -0,0 +1,51 @@ +digraph "intelliphoto/src/Tool/IntelliTool.cpp" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Tool\l/IntelliTool.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_8h.html",tooltip=" "]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliHelper/IntelliColor\lPicker.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_color_picker_8h.html",tooltip=" "]; + Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node3 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node3 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="QColorDialog",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 [label="Layer/PaintingArea.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8h.html",tooltip=" "]; + Node8 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 [label="QImage",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node8 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node10 [label="QWidget",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node8 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node11 [label="QList",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node8 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node12 [label="Image/IntelliImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_image_8h.html",tooltip=" "]; + Node12 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node12 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node12 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node12 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 [label="QSize",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node12 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node12 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node14 [label="Image/IntelliRasterImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_raster_image_8h.html",tooltip=" "]; + Node14 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node15 [label="Image/IntelliShapedImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_shaped_image_8h.html",tooltip=" "]; + Node15 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node15 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node15 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node16 [label="IntelliHelper/IntelliHelper.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_helper_8h.html",tooltip=" "]; + Node16 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node16 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; +} diff --git a/docs/html/_intelli_tool_8cpp_source.html b/docs/html/_intelli_tool_8cpp_source.html new file mode 100644 index 0000000..f0a418f --- /dev/null +++ b/docs/html/_intelli_tool_8cpp_source.html @@ -0,0 +1,209 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Tool/IntelliTool.cpp Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliTool.cpp
+
+
+Go to the documentation of this file.
1 #include "IntelliTool.h"
+
2 #include "Layer/PaintingArea.h"
+
3 
+ +
5  this->Area=Area;
+
6  this->colorPicker=colorPicker;
+
7 }
+
8 
+
9 
+ +
11 
+
12 }
+
13 
+ +
15  if(drawing) {
+
16  drawing=false;
+
17  this->deleteToolLayer();
+
18  }
+
19 }
+
20 
+ +
22  //optional for tool
+
23 }
+
24 
+ +
26  this->drawing=true;
+
27  //create drawing layer
+
28  this->createToolLayer();
+ +
30 }
+
31 
+ +
33  if(drawing) {
+
34  drawing=false;
+
35  this->mergeToolLayer();
+
36  this->deleteToolLayer();
+ +
38  }
+
39 }
+
40 
+
41 void IntelliTool::onMouseMoved(int x, int y){
+
42  if(drawing)
+ +
44 }
+
45 
+ +
47  //if needed for future general tasks implement in here
+
48 }
+
49 
+
50 void IntelliTool::createToolLayer(){
+
51  Area->createTempLayerAfter(Area->activeLayer);
+
52  this->Active=&Area->layerBundle[Area->activeLayer];
+
53  this->Canvas=&Area->layerBundle[Area->activeLayer+1];
+
54 }
+
55 
+
56 void IntelliTool::mergeToolLayer(){
+
57  QColor clr_0;
+
58  QColor clr_1;
+
59  for(int y=0; y<Active->height; y++) {
+
60  for(int x=0; x<Active->width; x++) {
+
61  clr_0=Active->image->imageData.pixelColor(x,y);
+
62  clr_1=Canvas->image->imageData.pixelColor(x,y);
+
63  float t = static_cast<float>(clr_1.alpha())/255.f;
+
64  int r =static_cast<int>(static_cast<float>(clr_1.red())*(t)+static_cast<float>(clr_0.red())*(1.f-t)+0.5f);
+
65  int g =static_cast<int>(static_cast<float>(clr_1.green())*(t)+static_cast<float>(clr_0.green())*(1.f-t)+0.5f);
+
66  int b =static_cast<int>(static_cast<float>(clr_1.blue())*(t)+static_cast<float>(clr_0.blue()*(1.f-t))+0.5f);
+
67  int a =std::min(clr_0.alpha()+clr_1.alpha(), 255);
+
68  clr_0.setRed(r);
+
69  clr_0.setGreen(g);
+
70  clr_0.setBlue(b);
+
71  clr_0.setAlpha(a);
+
72 
+
73  Active->image->imageData.setPixelColor(x, y, clr_0);
+
74  }
+
75  }
+
76 }
+
77 
+
78 void IntelliTool::deleteToolLayer(){
+
79  Area->deleteLayer(Area->activeLayer+1);
+
80  this->Canvas=nullptr;
+
81 }
+
+
+
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:14
+
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:32
+
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:38
+ +
virtual void onMouseLeftPressed(int x, int y)
A function managing the left click Pressed of a Mouse. Resetting the current draw....
Definition: IntelliTool.cpp:25
+
IntelliTool(PaintingArea *Area, IntelliColorPicker *colorPicker)
A constructor setting the general Painting Area and colorPicker.
Definition: IntelliTool.cpp:4
+
PaintingArea * Area
A pointer to the general PaintingArea to interact with.
Definition: IntelliTool.h:33
+
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:36
+
void deleteLayer(int index)
The deleteLayer method removes a layer at a given index.
+
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:21
+
LayerObject * Canvas
A pointer to the drawing canvas of the tool, work on this.
Definition: IntelliTool.h:48
+ +
bool drawing
A flag checking if the user is currently drawing or not.
Definition: IntelliTool.h:53
+ + +
The IntelliColorPicker manages the selected colors for one whole project.
+
QImage imageData
The underlying image data.
Definition: IntelliImage.h:32
+
IntelliImage * image
Definition: PaintingArea.h:25
+
LayerObject * Active
A pointer to the underlying active Layer, do not work on this. This is used for data grabbing or prev...
Definition: IntelliTool.h:43
+
virtual void onMouseMoved(int x, int y)
A function managing the mouse moved event. Call this in child classes!
Definition: IntelliTool.cpp:41
+
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:46
+
virtual ~IntelliTool()=0
An abstract Destructor.
Definition: IntelliTool.cpp:10
+ + + + diff --git a/docs/html/_intelli_tool_8h.html b/docs/html/_intelli_tool_8h.html new file mode 100644 index 0000000..91ddb2b --- /dev/null +++ b/docs/html/_intelli_tool_8h.html @@ -0,0 +1,128 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Tool/IntelliTool.h File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
IntelliTool.h File Reference
+
+
+
#include "IntelliHelper/IntelliColorPicker.h"
+#include <vector>
+
+Include dependency graph for IntelliTool.h:
+
+
+
+
+This graph shows which files directly or indirectly include this file:
+
+
+
+
+

Go to the source code of this file.

+ + + + + +

+Classes

class  IntelliTool
 An abstract class that manages the basic events, like mouse clicks or scrolls events. More...
 
+
+
+ + + + diff --git a/docs/html/_intelli_tool_8h__dep__incl.dot b/docs/html/_intelli_tool_8h__dep__incl.dot new file mode 100644 index 0000000..c1cead2 --- /dev/null +++ b/docs/html/_intelli_tool_8h__dep__incl.dot @@ -0,0 +1,58 @@ +digraph "intelliphoto/src/Tool/IntelliTool.h" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Tool\l/IntelliTool.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="intelliphoto/src/Layer\l/PaintingArea.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8h.html",tooltip=" "]; + Node2 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="intelliphoto/src/GUI\l/IntelliPhotoGui.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_photo_gui_8cpp.html",tooltip=" "]; + Node2 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="intelliphoto/src/Layer\l/PaintingArea.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8cpp.html",tooltip=" "]; + Node2 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="intelliphoto/src/Tool\l/IntelliTool.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_8cpp.html",tooltip=" "]; + Node2 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="intelliphoto/src/Tool\l/IntelliToolCircle.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_circle_8cpp.html",tooltip=" "]; + Node2 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="intelliphoto/src/Tool\l/IntelliToolFloodFill.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_flood_fill_8cpp.html",tooltip=" "]; + Node2 -> Node8 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 [label="intelliphoto/src/Tool\l/IntelliToolLine.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_line_8cpp.html",tooltip=" "]; + Node2 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 [label="intelliphoto/src/Tool\l/IntelliToolPen.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_pen_8cpp.html",tooltip=" "]; + Node2 -> Node10 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node10 [label="intelliphoto/src/Tool\l/IntelliToolPlain.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_plain_8cpp.html",tooltip=" "]; + Node2 -> Node11 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node11 [label="intelliphoto/src/Tool\l/IntelliToolPolygon.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_polygon_8cpp.html",tooltip=" "]; + Node2 -> Node12 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node12 [label="intelliphoto/src/Tool\l/IntelliToolRectangle.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_rectangle_8cpp.html",tooltip=" "]; + Node1 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node13 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 [label="intelliphoto/src/Tool\l/IntelliToolCircle.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_circle_8h.html",tooltip=" "]; + Node13 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node14 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node14 [label="intelliphoto/src/Tool\l/IntelliToolFloodFill.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_flood_fill_8h.html",tooltip=" "]; + Node14 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node14 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node15 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node15 [label="intelliphoto/src/Tool\l/IntelliToolLine.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_line_8h.html",tooltip=" "]; + Node15 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node15 -> Node8 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node16 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node16 [label="intelliphoto/src/Tool\l/IntelliToolPen.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_pen_8h.html",tooltip=" "]; + Node16 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node16 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node17 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node17 [label="intelliphoto/src/Tool\l/IntelliToolPlain.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_plain_8h.html",tooltip=" "]; + Node17 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node17 -> Node10 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node18 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node18 [label="intelliphoto/src/Tool\l/IntelliToolPolygon.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_polygon_8h.html",tooltip=" "]; + Node18 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node18 -> Node11 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node19 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node19 [label="intelliphoto/src/Tool\l/IntelliToolRectangle.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_rectangle_8h.html",tooltip=" "]; + Node19 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node19 -> Node12 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; +} diff --git a/docs/html/_intelli_tool_8h__incl.dot b/docs/html/_intelli_tool_8h__incl.dot new file mode 100644 index 0000000..b77c868 --- /dev/null +++ b/docs/html/_intelli_tool_8h__incl.dot @@ -0,0 +1,17 @@ +digraph "intelliphoto/src/Tool/IntelliTool.h" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Tool\l/IntelliTool.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliHelper/IntelliColor\lPicker.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_color_picker_8h.html",tooltip=" "]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="QColorDialog",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; +} diff --git a/docs/html/_intelli_tool_8h_source.html b/docs/html/_intelli_tool_8h_source.html new file mode 100644 index 0000000..541cb15 --- /dev/null +++ b/docs/html/_intelli_tool_8h_source.html @@ -0,0 +1,170 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Tool/IntelliTool.h Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliTool.h
+
+
+Go to the documentation of this file.
1 #ifndef Intelli_Tool_H
+
2 #define Intelli_Tool_H
+
3 
+ +
5 #include <vector>
+
6 
+
7 class LayerObject;
+
8 class PaintingArea;
+
9 
+
13 class IntelliTool {
+
14 private:
+
18 void createToolLayer();
+
19 
+
23 void mergeToolLayer();
+
24 
+
28 void deleteToolLayer();
+
29 protected:
+ +
34 
+ +
39 
+ +
44 
+ +
49 
+
53 bool drawing = false;
+
54 
+
55 public:
+ +
62 
+
66 virtual ~IntelliTool() = 0;
+
67 
+
73 virtual void onMouseRightPressed(int x, int y);
+
74 
+
80 virtual void onMouseRightReleased(int x, int y);
+
81 
+
87 virtual void onMouseLeftPressed(int x, int y);
+
88 
+
94 virtual void onMouseLeftReleased(int x, int y);
+
95 
+
100 virtual void onWheelScrolled(int value);
+
101 
+
107 virtual void onMouseMoved(int x, int y);
+
108 
+
109 
+
110 };
+
111 #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:14
+
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:32
+
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:38
+
virtual void onMouseLeftPressed(int x, int y)
A function managing the left click Pressed of a Mouse. Resetting the current draw....
Definition: IntelliTool.cpp:25
+
IntelliTool(PaintingArea *Area, IntelliColorPicker *colorPicker)
A constructor setting the general Painting Area and colorPicker.
Definition: IntelliTool.cpp:4
+
PaintingArea * Area
A pointer to the general PaintingArea to interact with.
Definition: IntelliTool.h:33
+
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:36
+
The LayerObject struct holds all the information needed to construct a layer.
Definition: PaintingArea.h:24
+
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:21
+ +
LayerObject * Canvas
A pointer to the drawing canvas of the tool, work on this.
Definition: IntelliTool.h:48
+
bool drawing
A flag checking if the user is currently drawing or not.
Definition: IntelliTool.h:53
+
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:13
+
The IntelliColorPicker manages the selected colors for one whole project.
+
LayerObject * Active
A pointer to the underlying active Layer, do not work on this. This is used for data grabbing or prev...
Definition: IntelliTool.h:43
+
virtual void onMouseMoved(int x, int y)
A function managing the mouse moved event. Call this in child classes!
Definition: IntelliTool.cpp:41
+
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:46
+
virtual ~IntelliTool()=0
An abstract Destructor.
Definition: IntelliTool.cpp:10
+ + + + diff --git a/docs/html/_intelli_tool_circle_8cpp.html b/docs/html/_intelli_tool_circle_8cpp.html new file mode 100644 index 0000000..f059236 --- /dev/null +++ b/docs/html/_intelli_tool_circle_8cpp.html @@ -0,0 +1,116 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Tool/IntelliToolCircle.cpp File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliToolCircle.cpp File Reference
+
+
+
#include "IntelliToolCircle.h"
+#include "Layer/PaintingArea.h"
+#include "QInputDialog"
+#include <cmath>
+
+Include dependency graph for IntelliToolCircle.cpp:
+
+
+
+
+

Go to the source code of this file.

+
+
+ + + + diff --git a/docs/html/_intelli_tool_circle_8cpp__incl.dot b/docs/html/_intelli_tool_circle_8cpp__incl.dot new file mode 100644 index 0000000..a3f9000 --- /dev/null +++ b/docs/html/_intelli_tool_circle_8cpp__incl.dot @@ -0,0 +1,59 @@ +digraph "intelliphoto/src/Tool/IntelliToolCircle.cpp" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Tool\l/IntelliToolCircle.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliToolCircle.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_circle_8h.html",tooltip=" "]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliTool.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_8h.html",tooltip=" "]; + Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="IntelliHelper/IntelliColor\lPicker.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_color_picker_8h.html",tooltip=" "]; + Node4 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node4 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node4 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="QColorDialog",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node3 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 [label="Layer/PaintingArea.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8h.html",tooltip=" "]; + Node9 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node10 [label="QImage",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node9 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node11 [label="QWidget",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node9 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node12 [label="QList",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node9 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 [label="Image/IntelliImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_image_8h.html",tooltip=" "]; + Node13 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node14 [label="QSize",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node13 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node15 [label="Image/IntelliRasterImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_raster_image_8h.html",tooltip=" "]; + Node15 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node16 [label="Image/IntelliShapedImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_shaped_image_8h.html",tooltip=" "]; + Node16 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node16 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node16 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node17 [label="IntelliHelper/IntelliHelper.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_helper_8h.html",tooltip=" "]; + Node17 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node17 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node18 [label="QInputDialog",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node19 [label="cmath",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; +} diff --git a/docs/html/_intelli_tool_circle_8cpp_source.html b/docs/html/_intelli_tool_circle_8cpp_source.html new file mode 100644 index 0000000..3406c64 --- /dev/null +++ b/docs/html/_intelli_tool_circle_8cpp_source.html @@ -0,0 +1,221 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Tool/IntelliToolCircle.cpp Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliToolCircle.cpp
+
+
+Go to the documentation of this file.
1 #include "IntelliToolCircle.h"
+
2 #include "Layer/PaintingArea.h"
+
3 #include "QInputDialog"
+
4 #include <cmath>
+
5 
+ +
7  : IntelliTool(Area, colorPicker){
+
8  this->alphaInner = QInputDialog::getInt(nullptr,"Inner Alpha Value", "Value:", 0,0,255,1);
+
9  this->edgeWidth = QInputDialog::getInt(nullptr,"Outer edge width", "Value:", 0,1,255,1);
+
10 }
+
11 
+ +
13 
+
14 }
+
15 
+
16 void IntelliToolCircle::drawCyrcle(int radius){
+
17  int outer = radius+20;
+
18  QColor inner = this->colorPicker->getSecondColor();
+
19  inner.setAlpha(alphaInner);
+
20  int yMin, yMax, xMin, xMax;
+
21  yMin = Middle.y()-radius;
+
22  yMax = Middle.y()+radius;
+
23  // x = x0+-sqrt(r2-(y-y0)2)
+
24  for(int i=yMin; i<=yMax; i++) {
+
25  xMin = Middle.x()-sqrt(pow(radius,2)-pow(i-Middle.y(),2));
+
26  xMax = Middle.x()+sqrt(pow(radius,2)-pow(i-Middle.y(),2));
+
27  this->Canvas->image->drawLine(QPoint(xMin,i), QPoint(xMax,i),inner,1);
+
28  }
+
29 
+
30  //TODO implement circle drawing algorithm bresenham
+
31  radius = radius +(this->edgeWidth/2.)-1.;
+
32  yMin = (Middle.y()-radius);
+
33  yMax = (Middle.y()+radius);
+
34  for(int i=yMin; i<=yMax; i++) {
+
35  xMin = Middle.x()-sqrt(pow(radius,2)-pow(i-Middle.y(),2));
+
36  xMax = Middle.x()+sqrt(pow(radius,2)-pow(i-Middle.y(),2));
+
37  this->Canvas->image->drawPoint(QPoint(xMin,i), colorPicker->getFirstColor(),edgeWidth);
+
38  this->Canvas->image->drawPoint(QPoint(xMax,i), colorPicker->getFirstColor(),edgeWidth);
+
39  }
+
40 
+
41  xMin = (Middle.x()-radius);
+
42  xMax = (Middle.x()+radius);
+
43  for(int i=xMin; i<=xMax; i++) {
+
44  int yMin = Middle.y()-sqrt(pow(radius,2)-pow(i-Middle.x(),2));
+
45  int yMax = Middle.y()+sqrt(pow(radius,2)-pow(i-Middle.x(),2));
+
46  this->Canvas->image->drawPoint(QPoint(i, yMin), colorPicker->getFirstColor(),edgeWidth);
+
47  this->Canvas->image->drawPoint(QPoint(i, yMax), colorPicker->getFirstColor(),edgeWidth);
+
48  }
+
49 }
+
50 
+ + +
53 }
+
54 
+ + +
57 }
+
58 
+ + +
61  this->Middle=QPoint(x,y);
+
62  int radius = 1;
+
63  drawCyrcle(radius);
+ +
65 }
+
66 
+ + +
69 }
+
70 
+ + +
73  this->edgeWidth+=value;
+
74  if(this->edgeWidth<=0) {
+
75  this->edgeWidth=1;
+
76  }
+
77 }
+
78 
+ +
80  if(this->drawing) {
+
81  this->Canvas->image->drawPlain(Qt::transparent);
+
82  QPoint next(x,y);
+
83  int radius = static_cast<int>(sqrt(pow((Middle.x()-x),2)+pow((Middle.y()-y),2)));
+
84  drawCyrcle(radius);
+
85  }
+ +
87 }
+
+
+
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:14
+
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:32
+
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:38
+
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:25
+
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:36
+
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:21
+
LayerObject * Canvas
A pointer to the drawing canvas of the tool, work on this.
Definition: IntelliTool.h:48
+
virtual ~IntelliToolCircle() override
A Destructor.
+
bool drawing
A flag checking if the user is currently drawing or not.
Definition: IntelliTool.h:53
+
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:13
+ +
QColor getFirstColor()
A function to read the primary selected color.
+
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...
+
IntelliToolCircle(PaintingArea *Area, IntelliColorPicker *colorPicker)
A constructor setting the general paintingArea and colorPicker. And reading in the inner alpha and ed...
+
IntelliImage * image
Definition: PaintingArea.h:25
+
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:41
+
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:46
+ +
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 new file mode 100644 index 0000000..30a6019 --- /dev/null +++ b/docs/html/_intelli_tool_circle_8h.html @@ -0,0 +1,129 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Tool/IntelliToolCircle.h File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
IntelliToolCircle.h File Reference
+
+
+
#include "IntelliTool.h"
+#include "QColor"
+#include "QPoint"
+
+Include dependency graph for IntelliToolCircle.h:
+
+
+
+
+This graph shows which files directly or indirectly include this file:
+
+
+
+
+

Go to the source code of this file.

+ + + + + +

+Classes

class  IntelliToolCircle
 The IntelliToolCircle class represents a tool to draw a circle. More...
 
+
+
+ + + + diff --git a/docs/html/_intelli_tool_circle_8h__dep__incl.dot b/docs/html/_intelli_tool_circle_8h__dep__incl.dot new file mode 100644 index 0000000..caf097a --- /dev/null +++ b/docs/html/_intelli_tool_circle_8h__dep__incl.dot @@ -0,0 +1,11 @@ +digraph "intelliphoto/src/Tool/IntelliToolCircle.h" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Tool\l/IntelliToolCircle.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="intelliphoto/src/Layer\l/PaintingArea.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8cpp.html",tooltip=" "]; + Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="intelliphoto/src/Tool\l/IntelliToolCircle.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_circle_8cpp.html",tooltip=" "]; +} diff --git a/docs/html/_intelli_tool_circle_8h__incl.dot b/docs/html/_intelli_tool_circle_8h__incl.dot new file mode 100644 index 0000000..0e71350 --- /dev/null +++ b/docs/html/_intelli_tool_circle_8h__incl.dot @@ -0,0 +1,21 @@ +digraph "intelliphoto/src/Tool/IntelliToolCircle.h" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Tool\l/IntelliToolCircle.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_8h.html",tooltip=" "]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliHelper/IntelliColor\lPicker.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_color_picker_8h.html",tooltip=" "]; + Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node3 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node3 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="QColorDialog",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; +} diff --git a/docs/html/_intelli_tool_circle_8h_source.html b/docs/html/_intelli_tool_circle_8h_source.html new file mode 100644 index 0000000..2860189 --- /dev/null +++ b/docs/html/_intelli_tool_circle_8h_source.html @@ -0,0 +1,153 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Tool/IntelliToolCircle.h Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliToolCircle.h
+
+
+Go to the documentation of this file.
1 #ifndef INTELLITOOLCIRCLE_H
+
2 #define INTELLITOOLCIRCLE_H
+
3 #include "IntelliTool.h"
+
4 
+
5 #include "QColor"
+
6 #include "QPoint"
+ +
15 void drawCyrcle(int radius);
+
16 
+
20 QPoint Middle;
+
21 
+
25 int alphaInner;
+
26 
+
30 int edgeWidth;
+
31 public:
+ +
38 
+
42 virtual ~IntelliToolCircle() override;
+
43 
+
49 virtual void onMouseRightPressed(int x, int y) override;
+
50 
+
56 virtual void onMouseRightReleased(int x, int y) override;
+
57 
+
63 virtual void onMouseLeftPressed(int x, int y) override;
+
64 
+
70 virtual void onMouseLeftReleased(int x, int y) override;
+
71 
+
76 virtual void onWheelScrolled(int value) override;
+
77 
+
83 virtual void onMouseMoved(int x, int y) override;
+
84 };
+
85 
+
86 #endif // INTELLITOOLCIRCLE_H
+
+
+
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:38
+ +
virtual void onWheelScrolled(int value) override
A function managing the scroll event. Changing the edge Width relative to value.
+
PaintingArea * Area
A pointer to the general PaintingArea to interact with.
Definition: IntelliTool.h:33
+
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:36
+
virtual ~IntelliToolCircle() override
A Destructor.
+
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:13
+
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...
+
IntelliToolCircle(PaintingArea *Area, IntelliColorPicker *colorPicker)
A constructor setting the general paintingArea and colorPicker. And reading in the inner alpha and ed...
+
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 new file mode 100644 index 0000000..082f627 --- /dev/null +++ b/docs/html/_intelli_tool_flood_fill_8cpp.html @@ -0,0 +1,118 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Tool/IntelliToolFloodFill.cpp File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliToolFloodFill.cpp File Reference
+
+
+
#include "IntelliToolFloodFill.h"
+#include "Layer/PaintingArea.h"
+#include "QColorDialog"
+#include "QInputDialog"
+#include <functional>
+#include <queue>
+
+Include dependency graph for IntelliToolFloodFill.cpp:
+
+
+
+
+

Go to the source code of this file.

+
+
+ + + + diff --git a/docs/html/_intelli_tool_flood_fill_8cpp__incl.dot b/docs/html/_intelli_tool_flood_fill_8cpp__incl.dot new file mode 100644 index 0000000..1b92748 --- /dev/null +++ b/docs/html/_intelli_tool_flood_fill_8cpp__incl.dot @@ -0,0 +1,61 @@ +digraph "intelliphoto/src/Tool/IntelliToolFloodFill.cpp" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Tool\l/IntelliToolFloodFill.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliToolFloodFill.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_flood_fill_8h.html",tooltip=" "]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliTool.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_8h.html",tooltip=" "]; + Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="IntelliHelper/IntelliColor\lPicker.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_color_picker_8h.html",tooltip=" "]; + Node4 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node4 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node4 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="QColorDialog",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node3 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 [label="Layer/PaintingArea.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8h.html",tooltip=" "]; + Node9 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node10 [label="QImage",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node9 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node11 [label="QWidget",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node9 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node12 [label="QList",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node9 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 [label="Image/IntelliImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_image_8h.html",tooltip=" "]; + Node13 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node14 [label="QSize",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node13 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node15 [label="Image/IntelliRasterImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_raster_image_8h.html",tooltip=" "]; + Node15 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node16 [label="Image/IntelliShapedImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_shaped_image_8h.html",tooltip=" "]; + Node16 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node16 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node16 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node17 [label="IntelliHelper/IntelliHelper.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_helper_8h.html",tooltip=" "]; + Node17 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node17 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node18 [label="QInputDialog",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node19 [label="functional",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node20 [label="queue",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; +} diff --git a/docs/html/_intelli_tool_flood_fill_8cpp_source.html b/docs/html/_intelli_tool_flood_fill_8cpp_source.html new file mode 100644 index 0000000..461a7a7 --- /dev/null +++ b/docs/html/_intelli_tool_flood_fill_8cpp_source.html @@ -0,0 +1,213 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Tool/IntelliToolFloodFill.cpp Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliToolFloodFill.cpp
+
+
+Go to the documentation of this file.
1 #include "IntelliToolFloodFill.h"
+
2 #include "Layer/PaintingArea.h"
+
3 #include "QColorDialog"
+
4 #include "QInputDialog"
+
5 #include <functional>
+
6 #include <queue>
+
7 
+ +
9  : IntelliTool(Area, colorPicker){
+
10 }
+
11 
+ +
13 
+
14 }
+
15 
+ + +
18 }
+
19 
+ + +
22 }
+
23 
+ +
25  if(!(x>=0 && x<Area->getWidthOfActive() && y>=0 && y<Area->getHeightOfActive())) {
+
26  return;
+
27  }
+ +
29 
+
30  QPoint start(x,y);
+
31  std::queue<QPoint> Q;
+
32  Q.push(start);
+
33 
+
34  QColor oldColor = this->Active->image->getPixelColor(start);
+
35  QColor newColor = this->colorPicker->getFirstColor();
+
36  Canvas->image->drawPixel(start,newColor);
+
37 
+
38  QPoint left, right, top, down;
+
39  while(!Q.empty()) {
+
40  QPoint Current = Q.front();
+
41  Q.pop();
+
42 
+
43  left = QPoint(Current.x()-1,Current.y() );
+
44  right = QPoint(Current.x()+1,Current.y() );
+
45  top = QPoint(Current.x(),Current.y()-1);
+
46  down = QPoint(Current.x(),Current.y()+1);
+
47  if((right.x() < Canvas->width) && (Canvas->image->getPixelColor(right) != newColor) && (Active->image->getPixelColor(right) == oldColor)) {
+
48  Canvas->image->drawPixel(right,newColor);
+
49  Q.push(right);
+
50  }
+
51  if((left.x() >= 0) && (Canvas->image->getPixelColor(left) != newColor) && (Active->image->getPixelColor(left) == oldColor)) {
+
52  Canvas->image->drawPixel(left,newColor);
+
53  Q.push(left);
+
54  }
+
55  if((top.y() >= 0) && (Canvas->image->getPixelColor(top) != newColor) && (Active->image->getPixelColor(top) == oldColor)) {
+
56  Canvas->image->drawPixel(top,newColor);
+
57  Q.push(top);
+
58  }
+
59  if((down.y() < Canvas->height) && (Canvas->image->getPixelColor(down) != newColor) && (Active->image->getPixelColor(down) == oldColor)) {
+
60  Canvas->image->drawPixel(down,newColor);
+
61  Q.push(down);
+
62  }
+
63  }
+
64 
+ +
66 }
+
67 
+ + +
70 }
+
71 
+ + +
74 
+
75 }
+
76 
+ + +
79 }
+
+
+
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:14
+
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:32
+
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:38
+
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:25
+
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 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:36
+
virtual ~IntelliToolFloodFill() override
A Destructor.
+
IntelliToolFloodFill(PaintingArea *Area, IntelliColorPicker *colorPicker)
A constructor setting the general paintingArea and colorPicker.
+
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:21
+
LayerObject * Canvas
A pointer to the drawing canvas of the tool, work on this.
Definition: IntelliTool.h:48
+ +
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:13
+ +
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.
+ +
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:25
+
LayerObject * Active
A pointer to the underlying active Layer, do not work on this. This is used for data grabbing or prev...
Definition: IntelliTool.h:43
+
virtual void onMouseMoved(int x, int y)
A function managing the mouse moved event. Call this in child classes!
Definition: IntelliTool.cpp:41
+
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:46
+ + + + diff --git a/docs/html/_intelli_tool_flood_fill_8h.html b/docs/html/_intelli_tool_flood_fill_8h.html new file mode 100644 index 0000000..652953c --- /dev/null +++ b/docs/html/_intelli_tool_flood_fill_8h.html @@ -0,0 +1,128 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Tool/IntelliToolFloodFill.h File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
IntelliToolFloodFill.h File Reference
+
+
+
#include "IntelliTool.h"
+#include "QColor"
+
+Include dependency graph for IntelliToolFloodFill.h:
+
+
+
+
+This graph shows which files directly or indirectly include this file:
+
+
+
+
+

Go to the source code of this file.

+ + + + + +

+Classes

class  IntelliToolFloodFill
 The IntelliToolFloodFill class represents a tool to flood FIll a certian area. More...
 
+
+
+ + + + diff --git a/docs/html/_intelli_tool_flood_fill_8h__dep__incl.dot b/docs/html/_intelli_tool_flood_fill_8h__dep__incl.dot new file mode 100644 index 0000000..a688139 --- /dev/null +++ b/docs/html/_intelli_tool_flood_fill_8h__dep__incl.dot @@ -0,0 +1,11 @@ +digraph "intelliphoto/src/Tool/IntelliToolFloodFill.h" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Tool\l/IntelliToolFloodFill.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="intelliphoto/src/Layer\l/PaintingArea.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8cpp.html",tooltip=" "]; + Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="intelliphoto/src/Tool\l/IntelliToolFloodFill.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_flood_fill_8cpp.html",tooltip=" "]; +} diff --git a/docs/html/_intelli_tool_flood_fill_8h__incl.dot b/docs/html/_intelli_tool_flood_fill_8h__incl.dot new file mode 100644 index 0000000..f6a90e4 --- /dev/null +++ b/docs/html/_intelli_tool_flood_fill_8h__incl.dot @@ -0,0 +1,20 @@ +digraph "intelliphoto/src/Tool/IntelliToolFloodFill.h" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Tool\l/IntelliToolFloodFill.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_8h.html",tooltip=" "]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliHelper/IntelliColor\lPicker.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_color_picker_8h.html",tooltip=" "]; + Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node3 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node3 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="QColorDialog",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; +} diff --git a/docs/html/_intelli_tool_flood_fill_8h_source.html b/docs/html/_intelli_tool_flood_fill_8h_source.html new file mode 100644 index 0000000..67e8e60 --- /dev/null +++ b/docs/html/_intelli_tool_flood_fill_8h_source.html @@ -0,0 +1,147 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Tool/IntelliToolFloodFill.h Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliToolFloodFill.h
+
+
+Go to the documentation of this file.
1 #ifndef INTELLITOOLFLOODFILL_H
+
2 #define INTELLITOOLFLOODFILL_H
+
3 #include "IntelliTool.h"
+
4 
+
5 #include "QColor"
+
6 
+ +
11 public:
+ +
18 
+
22 virtual ~IntelliToolFloodFill() override;
+
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
+
+
+
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:38
+
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.
+
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:33
+
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:36
+
virtual ~IntelliToolFloodFill() override
A Destructor.
+
IntelliToolFloodFill(PaintingArea *Area, IntelliColorPicker *colorPicker)
A constructor setting the general paintingArea and colorPicker.
+
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:13
+
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.
+ + + + diff --git a/docs/html/_intelli_tool_line_8cpp.html b/docs/html/_intelli_tool_line_8cpp.html new file mode 100644 index 0000000..87eed1e --- /dev/null +++ b/docs/html/_intelli_tool_line_8cpp.html @@ -0,0 +1,116 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Tool/IntelliToolLine.cpp File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliToolLine.cpp File Reference
+
+
+
#include "IntelliToolLine.h"
+#include "Layer/PaintingArea.h"
+#include "QColorDialog"
+#include "QInputDialog"
+
+Include dependency graph for IntelliToolLine.cpp:
+
+
+
+
+

Go to the source code of this file.

+
+
+ + + + diff --git a/docs/html/_intelli_tool_line_8cpp__incl.dot b/docs/html/_intelli_tool_line_8cpp__incl.dot new file mode 100644 index 0000000..4960de5 --- /dev/null +++ b/docs/html/_intelli_tool_line_8cpp__incl.dot @@ -0,0 +1,57 @@ +digraph "intelliphoto/src/Tool/IntelliToolLine.cpp" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Tool\l/IntelliToolLine.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliToolLine.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_line_8h.html",tooltip=" "]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliTool.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_8h.html",tooltip=" "]; + Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="IntelliHelper/IntelliColor\lPicker.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_color_picker_8h.html",tooltip=" "]; + Node4 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node4 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node4 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="QColorDialog",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node3 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 [label="Layer/PaintingArea.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8h.html",tooltip=" "]; + Node9 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node10 [label="QImage",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node9 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node11 [label="QWidget",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node9 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node12 [label="QList",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node9 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 [label="Image/IntelliImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_image_8h.html",tooltip=" "]; + Node13 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node14 [label="QSize",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node13 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node15 [label="Image/IntelliRasterImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_raster_image_8h.html",tooltip=" "]; + Node15 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node16 [label="Image/IntelliShapedImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_shaped_image_8h.html",tooltip=" "]; + Node16 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node16 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node16 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node17 [label="IntelliHelper/IntelliHelper.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_helper_8h.html",tooltip=" "]; + Node17 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node17 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node18 [label="QInputDialog",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; +} diff --git a/docs/html/_intelli_tool_line_8cpp_source.html b/docs/html/_intelli_tool_line_8cpp_source.html new file mode 100644 index 0000000..283cfb9 --- /dev/null +++ b/docs/html/_intelli_tool_line_8cpp_source.html @@ -0,0 +1,197 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Tool/IntelliToolLine.cpp Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliToolLine.cpp
+
+
+Go to the documentation of this file.
1 #include "IntelliToolLine.h"
+
2 #include "Layer/PaintingArea.h"
+
3 #include "QColorDialog"
+
4 #include "QInputDialog"
+
5 
+ +
7  : IntelliTool(Area, colorPicker){
+
8  this->lineWidth = QInputDialog::getInt(nullptr,"Line Width Input", "Width",1,1,50,1);
+
9  //create checkbox or scroll dialog to get line style
+
10  this->lineStyle = LineStyle::SOLID_LINE;
+
11 }
+
12 
+ +
14 
+
15 }
+
16 
+ + +
19 }
+
20 
+ + +
23 }
+
24 
+ + +
27  this->start=QPoint(x,y);
+
28  this->Canvas->image->drawPoint(start, colorPicker->getFirstColor(),lineWidth);
+ +
30 }
+
31 
+ + +
34 }
+
35 
+ + +
38  this->lineWidth+=value;
+
39  if(this->lineWidth<=0) {
+
40  this->lineWidth=1;
+
41  }
+
42 }
+
43 
+
44 void IntelliToolLine::onMouseMoved(int x, int y){
+
45  if(this->drawing) {
+
46  this->Canvas->image->drawPlain(Qt::transparent);
+
47  QPoint next(x,y);
+
48  switch(lineStyle) {
+ +
50  this->Canvas->image->drawLine(start,next,colorPicker->getFirstColor(),lineWidth);
+
51  break;
+ +
53  QPoint p1 =start.x() <= next.x() ? start : next;
+
54  QPoint p2 =start.x() < next.x() ? next : start;
+
55  int m = (float)(p2.y()-p1.y())/(float)(p2.x()-p1.x())+0.5f;
+
56  int c = start.y()-start.x()*m;
+
57 
+
58  break;
+
59  }
+
60  }
+ +
62 }
+
+
+
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:14
+
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:32
+
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:38
+
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:25
+
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.
+
IntelliToolLine(PaintingArea *Area, IntelliColorPicker *colorPicker)
A constructor setting the general paintingArea and colorPicker. And reading in the lineWidth and line...
+ +
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:36
+ +
virtual ~IntelliToolLine() override
An abstract Destructor.
+
virtual void drawPoint(const QPoint &p1, const QColor &color, const int &penWidth)
A.
+
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:21
+
LayerObject * Canvas
A pointer to the drawing canvas of the tool, work on this.
Definition: IntelliTool.h:48
+
bool drawing
A flag checking if the user is currently drawing or not.
Definition: IntelliTool.h:53
+
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:13
+ +
QColor getFirstColor()
A function to read the primary selected color.
+
The IntelliColorPicker manages the selected colors for one whole project.
+
IntelliImage * image
Definition: PaintingArea.h:25
+
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:41
+
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:46
+
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 new file mode 100644 index 0000000..12c615c --- /dev/null +++ b/docs/html/_intelli_tool_line_8h.html @@ -0,0 +1,168 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Tool/IntelliToolLine.h File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
IntelliToolLine.h File Reference
+
+
+
#include "IntelliTool.h"
+#include "QPoint"
+
+Include dependency graph for IntelliToolLine.h:
+
+
+
+
+This graph shows which files directly or indirectly include this file:
+
+
+
+
+

Go to the source code of this file.

+ + + + + +

+Classes

class  IntelliToolLine
 The IntelliToolFloodFill class represents a tool to draw a line. More...
 
+ + + + +

+Enumerations

enum  LineStyle { LineStyle::SOLID_LINE, +LineStyle::DOTTED_LINE + }
 The LineStyle enum classifing all ways of drawing a line. More...
 
+

Enumeration Type Documentation

+ +

◆ LineStyle

+ +
+
+ + + + + +
+ + + + +
enum LineStyle
+
+strong
+
+ +

The LineStyle enum classifing all ways of drawing a line.

+ + + +
Enumerator
SOLID_LINE 
DOTTED_LINE 
+ +

Definition at line 10 of file IntelliToolLine.h.

+ +
+
+
+
+ + + + diff --git a/docs/html/_intelli_tool_line_8h.js b/docs/html/_intelli_tool_line_8h.js new file mode 100644 index 0000000..dde1f78 --- /dev/null +++ b/docs/html/_intelli_tool_line_8h.js @@ -0,0 +1,8 @@ +var _intelli_tool_line_8h = +[ + [ "IntelliToolLine", "class_intelli_tool_line.html", "class_intelli_tool_line" ], + [ "LineStyle", "_intelli_tool_line_8h.html#a86e0f5648542856159bb40775c854aa7", [ + [ "SOLID_LINE", "_intelli_tool_line_8h.html#a86e0f5648542856159bb40775c854aa7ae45e1e6b2e6dde14829d057a4ef44199", null ], + [ "DOTTED_LINE", "_intelli_tool_line_8h.html#a86e0f5648542856159bb40775c854aa7a7660f396543c877e45d443f99d02bd0e", null ] + ] ] +]; \ No newline at end of file diff --git a/docs/html/_intelli_tool_line_8h__dep__incl.dot b/docs/html/_intelli_tool_line_8h__dep__incl.dot new file mode 100644 index 0000000..caaea0b --- /dev/null +++ b/docs/html/_intelli_tool_line_8h__dep__incl.dot @@ -0,0 +1,11 @@ +digraph "intelliphoto/src/Tool/IntelliToolLine.h" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Tool\l/IntelliToolLine.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="intelliphoto/src/Layer\l/PaintingArea.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8cpp.html",tooltip=" "]; + Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="intelliphoto/src/Tool\l/IntelliToolLine.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_line_8cpp.html",tooltip=" "]; +} diff --git a/docs/html/_intelli_tool_line_8h__incl.dot b/docs/html/_intelli_tool_line_8h__incl.dot new file mode 100644 index 0000000..14a5999 --- /dev/null +++ b/docs/html/_intelli_tool_line_8h__incl.dot @@ -0,0 +1,20 @@ +digraph "intelliphoto/src/Tool/IntelliToolLine.h" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Tool\l/IntelliToolLine.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_8h.html",tooltip=" "]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliHelper/IntelliColor\lPicker.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_color_picker_8h.html",tooltip=" "]; + Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node3 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node3 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="QColorDialog",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; +} diff --git a/docs/html/_intelli_tool_line_8h_source.html b/docs/html/_intelli_tool_line_8h_source.html new file mode 100644 index 0000000..4a95c19 --- /dev/null +++ b/docs/html/_intelli_tool_line_8h_source.html @@ -0,0 +1,160 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Tool/IntelliToolLine.h Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliToolLine.h
+
+
+Go to the documentation of this file.
1 #ifndef INTELLITOOLLINE_H
+
2 #define INTELLITOOLLINE_H
+
3 #include "IntelliTool.h"
+
4 
+
5 #include "QPoint"
+
6 
+
10 enum class LineStyle {
+
11  SOLID_LINE,
+ +
13 };
+
14 
+
18 class IntelliToolLine : public IntelliTool {
+
22 QPoint start;
+
23 
+
27 int lineWidth;
+
28 
+
32 LineStyle lineStyle;
+
33 public:
+
34 
+ +
41 
+
45 virtual ~IntelliToolLine() override;
+
46 
+
52 virtual void onMouseRightPressed(int x, int y) override;
+
53 
+
59 virtual void onMouseRightReleased(int x, int y) override;
+
60 
+
66 virtual void onMouseLeftPressed(int x, int y) override;
+
67 
+
73 virtual void onMouseLeftReleased(int x, int y) override;
+
74 
+
79 virtual void onWheelScrolled(int value) override;
+
80 
+
86 virtual void onMouseMoved(int x, int y) override;
+
87 };
+
88 
+
89 #endif // INTELLITOOLLINE_H
+
+
+
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:38
+ + +
LineStyle
The LineStyle enum classifing all ways of drawing a line.
+
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:33
+
IntelliToolLine(PaintingArea *Area, IntelliColorPicker *colorPicker)
A constructor setting the general paintingArea and colorPicker. And reading in the lineWidth and line...
+ +
The PaintingArea class manages the methods and stores information about the current painting area,...
Definition: PaintingArea.h:36
+
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:13
+
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.
+ + + + diff --git a/docs/html/_intelli_tool_pen_8cpp.html b/docs/html/_intelli_tool_pen_8cpp.html new file mode 100644 index 0000000..17f28db --- /dev/null +++ b/docs/html/_intelli_tool_pen_8cpp.html @@ -0,0 +1,117 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Tool/IntelliToolPen.cpp File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliToolPen.cpp File Reference
+
+
+
#include "IntelliToolPen.h"
+#include "Layer/PaintingArea.h"
+#include "QDebug"
+#include "QColorDialog"
+#include "QInputDialog"
+
+Include dependency graph for IntelliToolPen.cpp:
+
+
+
+
+

Go to the source code of this file.

+
+
+ + + + diff --git a/docs/html/_intelli_tool_pen_8cpp__incl.dot b/docs/html/_intelli_tool_pen_8cpp__incl.dot new file mode 100644 index 0000000..5ddb347 --- /dev/null +++ b/docs/html/_intelli_tool_pen_8cpp__incl.dot @@ -0,0 +1,60 @@ +digraph "intelliphoto/src/Tool/IntelliToolPen.cpp" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Tool\l/IntelliToolPen.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliToolPen.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_pen_8h.html",tooltip=" "]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliTool.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_8h.html",tooltip=" "]; + Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="IntelliHelper/IntelliColor\lPicker.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_color_picker_8h.html",tooltip=" "]; + Node4 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node4 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node4 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="QColorDialog",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node3 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 [label="Layer/PaintingArea.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8h.html",tooltip=" "]; + Node9 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node10 [label="QImage",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node9 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node11 [label="QWidget",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node9 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node12 [label="QList",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node9 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 [label="Image/IntelliImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_image_8h.html",tooltip=" "]; + Node13 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node14 [label="QSize",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node13 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node15 [label="Image/IntelliRasterImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_raster_image_8h.html",tooltip=" "]; + Node15 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node16 [label="Image/IntelliShapedImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_shaped_image_8h.html",tooltip=" "]; + Node16 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node16 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node16 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node17 [label="IntelliHelper/IntelliHelper.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_helper_8h.html",tooltip=" "]; + Node17 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node17 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node18 [label="QDebug",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node19 [label="QInputDialog",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; +} diff --git a/docs/html/_intelli_tool_pen_8cpp_source.html b/docs/html/_intelli_tool_pen_8cpp_source.html new file mode 100644 index 0000000..cdeaa43 --- /dev/null +++ b/docs/html/_intelli_tool_pen_8cpp_source.html @@ -0,0 +1,182 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Tool/IntelliToolPen.cpp Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliToolPen.cpp
+
+
+Go to the documentation of this file.
1 #include "IntelliToolPen.h"
+
2 #include "Layer/PaintingArea.h"
+
3 #include "QDebug"
+
4 #include "QColorDialog"
+
5 #include "QInputDialog"
+
6 
+ +
8  : IntelliTool(Area, colorPicker){
+
9  this->penWidth = QInputDialog::getInt(nullptr, "Pen width", "Width:", 1,0, 50, 1);
+
10 }
+
11 
+ +
13 
+
14 }
+
15 
+ + +
18 }
+
19 
+ + +
22 }
+
23 
+ + +
26  this->point=QPoint(x,y);
+
27  this->Canvas->image->drawPixel(point, colorPicker->getFirstColor());
+ +
29 }
+
30 
+ + +
33 }
+
34 
+
35 void IntelliToolPen::onMouseMoved(int x, int y){
+
36  if(this->drawing) {
+
37  QPoint newPoint(x,y);
+
38  this->Canvas->image->drawLine(this->point, newPoint, colorPicker->getFirstColor(), penWidth);
+
39  this->point=newPoint;
+
40  }
+ +
42 }
+
43 
+ + +
46  this->penWidth+=value;
+
47  if(this->penWidth<=0) {
+
48  this->penWidth=1;
+
49  }
+
50 }
+
+
+
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:14
+
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:32
+
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:38
+
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:25
+
virtual ~IntelliToolPen() override
A 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 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:36
+
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:21
+
LayerObject * Canvas
A pointer to the drawing canvas of the tool, work on this.
Definition: IntelliTool.h:48
+
virtual void onWheelScrolled(int value) override
A function managing the scroll event. Changing penWidth relativ to value.
+
bool drawing
A flag checking if the user is currently drawing or not.
Definition: IntelliTool.h:53
+
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:13
+
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.
+
The IntelliColorPicker manages the selected colors for one whole project.
+
IntelliImage * image
Definition: PaintingArea.h:25
+ +
virtual void onMouseMoved(int x, int y)
A function managing the mouse moved event. Call this in child classes!
Definition: IntelliTool.cpp:41
+
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:46
+
IntelliToolPen(PaintingArea *Area, IntelliColorPicker *colorPicker)
A constructor setting the general paintingArea and colorPicker. Reading the penWidth.
+ + + + diff --git a/docs/html/_intelli_tool_pen_8h.html b/docs/html/_intelli_tool_pen_8h.html new file mode 100644 index 0000000..8b05351 --- /dev/null +++ b/docs/html/_intelli_tool_pen_8h.html @@ -0,0 +1,129 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Tool/IntelliToolPen.h File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
IntelliToolPen.h File Reference
+
+
+
#include "IntelliTool.h"
+#include "QColor"
+#include "QPoint"
+
+Include dependency graph for IntelliToolPen.h:
+
+
+
+
+This graph shows which files directly or indirectly include this file:
+
+
+
+
+

Go to the source code of this file.

+ + + + + +

+Classes

class  IntelliToolPen
 The IntelliToolPen class represents a tool to draw a line. More...
 
+
+
+ + + + diff --git a/docs/html/_intelli_tool_pen_8h__dep__incl.dot b/docs/html/_intelli_tool_pen_8h__dep__incl.dot new file mode 100644 index 0000000..3f34edc --- /dev/null +++ b/docs/html/_intelli_tool_pen_8h__dep__incl.dot @@ -0,0 +1,11 @@ +digraph "intelliphoto/src/Tool/IntelliToolPen.h" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Tool\l/IntelliToolPen.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="intelliphoto/src/Layer\l/PaintingArea.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8cpp.html",tooltip=" "]; + Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="intelliphoto/src/Tool\l/IntelliToolPen.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_pen_8cpp.html",tooltip=" "]; +} diff --git a/docs/html/_intelli_tool_pen_8h__incl.dot b/docs/html/_intelli_tool_pen_8h__incl.dot new file mode 100644 index 0000000..105737f --- /dev/null +++ b/docs/html/_intelli_tool_pen_8h__incl.dot @@ -0,0 +1,21 @@ +digraph "intelliphoto/src/Tool/IntelliToolPen.h" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Tool\l/IntelliToolPen.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_8h.html",tooltip=" "]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliHelper/IntelliColor\lPicker.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_color_picker_8h.html",tooltip=" "]; + Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node3 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node3 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="QColorDialog",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; +} diff --git a/docs/html/_intelli_tool_pen_8h_source.html b/docs/html/_intelli_tool_pen_8h_source.html new file mode 100644 index 0000000..3687463 --- /dev/null +++ b/docs/html/_intelli_tool_pen_8h_source.html @@ -0,0 +1,147 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Tool/IntelliToolPen.h Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliToolPen.h
+
+
+Go to the documentation of this file.
1 #ifndef INTELLITOOLPEN_H
+
2 #define INTELLITOOLPEN_H
+
3 
+
4 #include "IntelliTool.h"
+
5 #include "QColor"
+
6 #include "QPoint"
+
10 class IntelliToolPen : public IntelliTool {
+
14 int penWidth;
+
18 QPoint point;
+
19 public:
+ +
29 virtual ~IntelliToolPen() override;
+
30 
+
36 virtual void onMouseRightPressed(int x, int y) override;
+
37 
+
43 virtual void onMouseRightReleased(int x, int y) override;
+
44 
+
50 virtual void onMouseLeftPressed(int x, int y) override;
+
51 
+
57 virtual void onMouseLeftReleased(int x, int y) override;
+
58 
+
63 virtual void onWheelScrolled(int value) override;
+
64 
+
70 virtual void onMouseMoved(int x, int y) override;
+
71 };
+
72 
+
73 #endif // INTELLITOOLPEN_H
+
+
+
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:38
+ +
virtual ~IntelliToolPen() override
A Destructor.
+
PaintingArea * Area
A pointer to the general PaintingArea to interact with.
Definition: IntelliTool.h:33
+
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:36
+
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:13
+
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.
+
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.
+
IntelliToolPen(PaintingArea *Area, IntelliColorPicker *colorPicker)
A constructor setting the general paintingArea and colorPicker. Reading the penWidth.
+ + + + diff --git a/docs/html/_intelli_tool_plain_8cpp.html b/docs/html/_intelli_tool_plain_8cpp.html new file mode 100644 index 0000000..ac169df --- /dev/null +++ b/docs/html/_intelli_tool_plain_8cpp.html @@ -0,0 +1,115 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Tool/IntelliToolPlain.cpp File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliToolPlain.cpp File Reference
+
+
+
#include "IntelliToolPlain.h"
+#include "Layer/PaintingArea.h"
+#include "QColorDialog"
+
+Include dependency graph for IntelliToolPlain.cpp:
+
+
+
+
+

Go to the source code of this file.

+
+
+ + + + diff --git a/docs/html/_intelli_tool_plain_8cpp__incl.dot b/docs/html/_intelli_tool_plain_8cpp__incl.dot new file mode 100644 index 0000000..7c3796f --- /dev/null +++ b/docs/html/_intelli_tool_plain_8cpp__incl.dot @@ -0,0 +1,55 @@ +digraph "intelliphoto/src/Tool/IntelliToolPlain.cpp" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Tool\l/IntelliToolPlain.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliToolPlain.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_plain_8h.html",tooltip=" "]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliTool.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_8h.html",tooltip=" "]; + Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="IntelliHelper/IntelliColor\lPicker.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_color_picker_8h.html",tooltip=" "]; + Node4 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node4 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node4 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="QColorDialog",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node3 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 [label="Layer/PaintingArea.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8h.html",tooltip=" "]; + Node9 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node10 [label="QImage",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node9 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node11 [label="QWidget",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node9 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node12 [label="QList",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node9 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 [label="Image/IntelliImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_image_8h.html",tooltip=" "]; + Node13 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node14 [label="QSize",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node13 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node15 [label="Image/IntelliRasterImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_raster_image_8h.html",tooltip=" "]; + Node15 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node16 [label="Image/IntelliShapedImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_shaped_image_8h.html",tooltip=" "]; + Node16 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node16 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node16 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node17 [label="IntelliHelper/IntelliHelper.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_helper_8h.html",tooltip=" "]; + Node17 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node17 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; +} diff --git a/docs/html/_intelli_tool_plain_8cpp_source.html b/docs/html/_intelli_tool_plain_8cpp_source.html new file mode 100644 index 0000000..ec61d45 --- /dev/null +++ b/docs/html/_intelli_tool_plain_8cpp_source.html @@ -0,0 +1,167 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Tool/IntelliToolPlain.cpp Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliToolPlain.cpp
+
+
+Go to the documentation of this file.
1 #include "IntelliToolPlain.h"
+
2 #include "Layer/PaintingArea.h"
+
3 #include "QColorDialog"
+
4 
+ +
6  : IntelliTool(Area, colorPicker){
+
7 }
+
8 
+ +
10 
+
11 }
+
12 
+ + + + +
17 }
+
18 
+ + +
21 }
+
22 
+ + +
25 }
+
26 
+ + +
29 }
+
30 
+ + +
33 }
+
34 
+ + +
37 }
+
+
+
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:14
+
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:32
+
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:38
+
virtual void onMouseLeftPressed(int x, int y)
A function managing the left click Pressed of a Mouse. Resetting the current draw....
Definition: IntelliTool.cpp:25
+
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:36
+ +
IntelliToolPlainTool(PaintingArea *Area, IntelliColorPicker *colorPicker)
A constructor setting the general paintingArea and colorPicker.
+
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:21
+
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:48
+
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:13
+ +
QColor getFirstColor()
A function to read the primary selected color.
+
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:25
+
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:41
+
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:46
+
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 new file mode 100644 index 0000000..c74044a --- /dev/null +++ b/docs/html/_intelli_tool_plain_8h.html @@ -0,0 +1,128 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Tool/IntelliToolPlain.h File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
IntelliToolPlain.h File Reference
+
+
+
#include "IntelliTool.h"
+#include "QColor"
+
+Include dependency graph for IntelliToolPlain.h:
+
+
+
+
+This graph shows which files directly or indirectly include this file:
+
+
+
+
+

Go to the source code of this file.

+ + + + + +

+Classes

class  IntelliToolPlainTool
 The IntelliToolPlainTool class represents a tool to fill the whole canvas with one color. More...
 
+
+
+ + + + diff --git a/docs/html/_intelli_tool_plain_8h__dep__incl.dot b/docs/html/_intelli_tool_plain_8h__dep__incl.dot new file mode 100644 index 0000000..7fe536a --- /dev/null +++ b/docs/html/_intelli_tool_plain_8h__dep__incl.dot @@ -0,0 +1,11 @@ +digraph "intelliphoto/src/Tool/IntelliToolPlain.h" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Tool\l/IntelliToolPlain.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="intelliphoto/src/Layer\l/PaintingArea.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8cpp.html",tooltip=" "]; + Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="intelliphoto/src/Tool\l/IntelliToolPlain.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_plain_8cpp.html",tooltip=" "]; +} diff --git a/docs/html/_intelli_tool_plain_8h__incl.dot b/docs/html/_intelli_tool_plain_8h__incl.dot new file mode 100644 index 0000000..baec559 --- /dev/null +++ b/docs/html/_intelli_tool_plain_8h__incl.dot @@ -0,0 +1,20 @@ +digraph "intelliphoto/src/Tool/IntelliToolPlain.h" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Tool\l/IntelliToolPlain.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_8h.html",tooltip=" "]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliHelper/IntelliColor\lPicker.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_color_picker_8h.html",tooltip=" "]; + Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node3 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node3 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="QColorDialog",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; +} diff --git a/docs/html/_intelli_tool_plain_8h_source.html b/docs/html/_intelli_tool_plain_8h_source.html new file mode 100644 index 0000000..7043743 --- /dev/null +++ b/docs/html/_intelli_tool_plain_8h_source.html @@ -0,0 +1,145 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Tool/IntelliToolPlain.h Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliToolPlain.h
+
+
+Go to the documentation of this file.
1 #ifndef INTELLITOOLFLOODFILLTOOL_H
+
2 #define INTELLITOOLFLOODFILLTOOL_H
+
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
+
+
+
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:38
+ +
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:33
+
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:36
+
IntelliToolPlainTool(PaintingArea *Area, IntelliColorPicker *colorPicker)
A constructor setting the general paintingArea and colorPicker.
+
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:13
+
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.
+
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 new file mode 100644 index 0000000..688311b --- /dev/null +++ b/docs/html/_intelli_tool_polygon_8cpp.html @@ -0,0 +1,117 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Tool/IntelliToolPolygon.cpp File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliToolPolygon.cpp File Reference
+
+
+
#include "IntelliToolPolygon.h"
+#include "Layer/PaintingArea.h"
+#include <QDebug>
+#include <QCursor>
+#include <QInputDialog>
+
+Include dependency graph for IntelliToolPolygon.cpp:
+
+
+
+
+

Go to the source code of this file.

+
+
+ + + + diff --git a/docs/html/_intelli_tool_polygon_8cpp__incl.dot b/docs/html/_intelli_tool_polygon_8cpp__incl.dot new file mode 100644 index 0000000..a34e276 --- /dev/null +++ b/docs/html/_intelli_tool_polygon_8cpp__incl.dot @@ -0,0 +1,62 @@ +digraph "intelliphoto/src/Tool/IntelliToolPolygon.cpp" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Tool\l/IntelliToolPolygon.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliToolPolygon.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_polygon_8h.html",tooltip=" "]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliTool.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_8h.html",tooltip=" "]; + Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="IntelliHelper/IntelliColor\lPicker.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_color_picker_8h.html",tooltip=" "]; + Node4 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node4 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node4 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="QColorDialog",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node3 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 [label="IntelliHelper/IntelliHelper.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_helper_8h.html",tooltip=" "]; + Node9 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node10 [label="Layer/PaintingArea.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8h.html",tooltip=" "]; + Node10 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node10 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node11 [label="QImage",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node10 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node10 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node12 [label="QWidget",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node10 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 [label="QList",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node10 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node14 [label="Image/IntelliImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_image_8h.html",tooltip=" "]; + Node14 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node14 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node14 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node14 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node15 [label="QSize",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node14 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node14 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node10 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node16 [label="Image/IntelliRasterImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_raster_image_8h.html",tooltip=" "]; + Node16 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node10 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node17 [label="Image/IntelliShapedImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_shaped_image_8h.html",tooltip=" "]; + Node17 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node17 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node17 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node10 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node10 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node18 [label="QDebug",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node19 [label="QCursor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node20 [label="QInputDialog",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; +} diff --git a/docs/html/_intelli_tool_polygon_8cpp_source.html b/docs/html/_intelli_tool_polygon_8cpp_source.html new file mode 100644 index 0000000..7879dc7 --- /dev/null +++ b/docs/html/_intelli_tool_polygon_8cpp_source.html @@ -0,0 +1,247 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Tool/IntelliToolPolygon.cpp Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliToolPolygon.cpp
+
+
+Go to the documentation of this file.
1 #include "IntelliToolPolygon.h"
+
2 #include "Layer/PaintingArea.h"
+
3 #include <QDebug>
+
4 #include <QCursor>
+
5 #include <QInputDialog>
+
6 
+ +
8  : IntelliTool(Area, colorPicker){
+
9  this->alphaInner = QInputDialog::getInt(nullptr,"Inner Alpha Value", "Value:", 0,0,255,1);
+
10  lineWidth = QInputDialog::getInt(nullptr,"Line Width Input", "Width",1,1,50,1);;
+
11  PointIsNearStart = false;
+
12  isDrawing = false;
+
13 }
+
14 
+ +
16 
+
17 }
+
18 
+ +
20  if(!isDrawing && x > 0 && y > 0 && x<Area->getWidthOfActive() && y<Area->getHeightOfActive()) {
+ +
22  QPoint drawingPoint = QPoint(x,y);
+
23 
+
24  isDrawing = true;
+
25  QPointList.push_back(drawingPoint);
+
26 
+
27  this->Canvas->image->drawPoint(QPointList.back(), colorPicker->getFirstColor(), lineWidth);
+ +
29  }
+
30  else if(isDrawing && isNearStart(x,y,QPointList.front())) {
+
31  PointIsNearStart = true;
+
32  this->Canvas->image->drawLine(QPointList.back(), QPointList.front(), colorPicker->getFirstColor(), lineWidth);
+ +
34  }
+
35  else if(isDrawing) {
+
36  QPoint drawingPoint(x,y);
+
37  QPointList.push_back(drawingPoint);
+
38  this->Canvas->image->drawLine(QPointList[QPointList.size() - 2], QPointList[QPointList.size() - 1], colorPicker->getFirstColor(), lineWidth);
+ +
40  }
+
41 }
+
42 
+ +
44  isDrawing = false;
+
45  PointIsNearStart = false;
+
46  QPointList.clear();
+ +
48 }
+
49 
+ +
51  if(PointIsNearStart && QPointList.size() > 1) {
+
52  PointIsNearStart = false;
+
53  isDrawing = false;
+
54  std::vector<Triangle> Triangles = IntelliHelper::calculateTriangles(QPointList);
+
55  QPoint Point;
+
56  QColor colorTwo(colorPicker->getSecondColor());
+
57  colorTwo.setAlpha(alphaInner);
+
58  for(int i = 0; i < Active->width; i++) {
+
59  for(int j = 0; j < Active->height; j++) {
+
60  Point = QPoint(i,j);
+
61  if(IntelliHelper::isInPolygon(Triangles,Point)) {
+
62  this->Canvas->image->drawPixel(Point, colorTwo);
+
63  }
+
64  }
+
65  }
+
66  for(int i=0; i<QPointList.size(); i++) {
+
67  int next = (i+1)%QPointList.size();
+
68  this->Canvas->image->drawLine(QPointList[i], QPointList[next], colorPicker->getFirstColor(), lineWidth);
+
69  }
+
70  QPointList.clear();
+ +
72  }
+
73 }
+
74 
+ + +
77 }
+
78 
+ + +
81  if(!isDrawing) {
+
82  if(lineWidth + value < 10) {
+
83  lineWidth += value;
+
84  }
+
85  if(lineWidth < 1) {
+
86  lineWidth = 1;
+
87  }
+
88  }
+
89 }
+
90 
+ + +
93 }
+
94 
+
95 bool IntelliToolPolygon::isNearStart(int x, int y, QPoint Startpoint){
+
96  bool isNear = false;
+
97  int StartX = Startpoint.x();
+
98  int StartY = Startpoint.y();
+
99  int valueToNear = 10;
+
100 
+
101  for(int i = StartX - valueToNear; i < StartX + valueToNear; i++) {
+
102  for(int j = StartY - valueToNear; j < StartY + valueToNear; j++) {
+
103  if((i == x) && (j == y)) {
+
104  isNear = true;
+
105  }
+
106  }
+
107  }
+
108  return isNear;
+
109 }
+
+
+
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:14
+
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:32
+
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:38
+
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:25
+
virtual void drawPixel(const QPoint &p1, const QColor &color)
A funtcion used to draw a pixel on the Image with the given Color.
+
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:36
+
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:21
+
LayerObject * Canvas
A pointer to the drawing canvas of the tool, work on this.
Definition: IntelliTool.h:48
+ +
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:13
+
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.
+ +
QColor getFirstColor()
A function to read the primary selected color.
+ +
The IntelliColorPicker manages the selected colors for one whole project.
+
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 ...
+
~IntelliToolPolygon() override
A Destructor.
+
IntelliImage * image
Definition: PaintingArea.h:25
+
LayerObject * Active
A pointer to the underlying active Layer, do not work on this. This is used for data grabbing or prev...
Definition: IntelliTool.h:43
+
IntelliToolPolygon(PaintingArea *Area, IntelliColorPicker *colorPicker)
A constructor setting the general paintingArea and colorPicker.
+
virtual void onMouseMoved(int x, int y)
A function managing the mouse moved event. Call this in child classes!
Definition: IntelliTool.cpp:41
+
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:46
+
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_polygon_8h.html b/docs/html/_intelli_tool_polygon_8h.html new file mode 100644 index 0000000..04f6e71 --- /dev/null +++ b/docs/html/_intelli_tool_polygon_8h.html @@ -0,0 +1,130 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Tool/IntelliToolPolygon.h File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
IntelliToolPolygon.h File Reference
+
+
+
#include "IntelliTool.h"
+#include "IntelliHelper/IntelliHelper.h"
+#include <vector>
+#include <QPoint>
+
+Include dependency graph for IntelliToolPolygon.h:
+
+
+
+
+This graph shows which files directly or indirectly include this file:
+
+
+
+
+

Go to the source code of this file.

+ + + + + +

+Classes

class  IntelliToolPolygon
 The IntelliToolPolygon managed the Drawing of Polygonforms. More...
 
+
+
+ + + + diff --git a/docs/html/_intelli_tool_polygon_8h__dep__incl.dot b/docs/html/_intelli_tool_polygon_8h__dep__incl.dot new file mode 100644 index 0000000..1093625 --- /dev/null +++ b/docs/html/_intelli_tool_polygon_8h__dep__incl.dot @@ -0,0 +1,11 @@ +digraph "intelliphoto/src/Tool/IntelliToolPolygon.h" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Tool\l/IntelliToolPolygon.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="intelliphoto/src/Layer\l/PaintingArea.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8cpp.html",tooltip=" "]; + Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="intelliphoto/src/Tool\l/IntelliToolPolygon.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_polygon_8cpp.html",tooltip=" "]; +} diff --git a/docs/html/_intelli_tool_polygon_8h__incl.dot b/docs/html/_intelli_tool_polygon_8h__incl.dot new file mode 100644 index 0000000..4577a9a --- /dev/null +++ b/docs/html/_intelli_tool_polygon_8h__incl.dot @@ -0,0 +1,25 @@ +digraph "intelliphoto/src/Tool/IntelliToolPolygon.h" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Tool\l/IntelliToolPolygon.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_8h.html",tooltip=" "]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliHelper/IntelliColor\lPicker.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_color_picker_8h.html",tooltip=" "]; + Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node3 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node3 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="QColorDialog",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 [label="IntelliHelper/IntelliHelper.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_helper_8h.html",tooltip=" "]; + Node8 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; +} diff --git a/docs/html/_intelli_tool_polygon_8h_source.html b/docs/html/_intelli_tool_polygon_8h_source.html new file mode 100644 index 0000000..0910423 --- /dev/null +++ b/docs/html/_intelli_tool_polygon_8h_source.html @@ -0,0 +1,161 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Tool/IntelliToolPolygon.h Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliToolPolygon.h
+
+
+Go to the documentation of this file.
1 #ifndef INTELLITOOLPOLYGON_H
+
2 #define INTELLITOOLPOLYGON_H
+
3 
+
4 #include "IntelliTool.h"
+ +
6 #include <vector>
+
7 #include <QPoint>
+ +
12 {
+
20 bool isNearStart(int x, int y, QPoint Startpoint);
+
21 
+
25 int lineWidth;
+
26 
+
30 bool isDrawing;
+
31 
+
35 bool PointIsNearStart;
+
36 
+
40 int alphaInner;
+
41 
+
45 std::vector<QPoint> QPointList;
+
46 public:
+ +
56 ~IntelliToolPolygon() override;
+
57 
+
63 virtual void onMouseLeftPressed(int x, int y) override;
+
64 
+
70 virtual void onMouseLeftReleased(int x, int y) override;
+
71 
+
77 virtual void onMouseRightPressed(int x, int y) override;
+
78 
+
84 virtual void onMouseRightReleased(int x, int y) override;
+
85 
+
90 virtual void onWheelScrolled(int value) override;
+
91 
+
97 virtual void onMouseMoved(int x, int y) override;
+
98 
+
99 
+
100 };
+
101 
+
102 #endif // INTELLITOOLPOLYGON_H
+
+
+
IntelliColorPicker * colorPicker
A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors.
Definition: IntelliTool.h:38
+ + +
PaintingArea * Area
A pointer to the general PaintingArea to interact with.
Definition: IntelliTool.h:33
+
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:36
+
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:13
+
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.
+
IntelliToolPolygon(PaintingArea *Area, IntelliColorPicker *colorPicker)
A constructor setting the general paintingArea and colorPicker.
+
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.
+ + + + diff --git a/docs/html/_intelli_tool_rectangle_8cpp.html b/docs/html/_intelli_tool_rectangle_8cpp.html new file mode 100644 index 0000000..08cb183 --- /dev/null +++ b/docs/html/_intelli_tool_rectangle_8cpp.html @@ -0,0 +1,115 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Tool/IntelliToolRectangle.cpp File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliToolRectangle.cpp File Reference
+
+
+
#include "IntelliToolRectangle.h"
+#include "Layer/PaintingArea.h"
+#include "QInputDialog"
+
+Include dependency graph for IntelliToolRectangle.cpp:
+
+
+
+
+

Go to the source code of this file.

+
+
+ + + + diff --git a/docs/html/_intelli_tool_rectangle_8cpp__incl.dot b/docs/html/_intelli_tool_rectangle_8cpp__incl.dot new file mode 100644 index 0000000..5303aa4 --- /dev/null +++ b/docs/html/_intelli_tool_rectangle_8cpp__incl.dot @@ -0,0 +1,57 @@ +digraph "intelliphoto/src/Tool/IntelliToolRectangle.cpp" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Tool\l/IntelliToolRectangle.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliToolRectangle.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_rectangle_8h.html",tooltip=" "]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliTool.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_8h.html",tooltip=" "]; + Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="IntelliHelper/IntelliColor\lPicker.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_color_picker_8h.html",tooltip=" "]; + Node4 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node4 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node4 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="QColorDialog",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node3 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 [label="Layer/PaintingArea.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8h.html",tooltip=" "]; + Node9 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node10 [label="QImage",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node9 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node11 [label="QWidget",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node9 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node12 [label="QList",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node9 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 [label="Image/IntelliImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_image_8h.html",tooltip=" "]; + Node13 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node14 [label="QSize",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node13 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node15 [label="Image/IntelliRasterImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_raster_image_8h.html",tooltip=" "]; + Node15 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node16 [label="Image/IntelliShapedImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_shaped_image_8h.html",tooltip=" "]; + Node16 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node16 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node16 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node17 [label="IntelliHelper/IntelliHelper.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_helper_8h.html",tooltip=" "]; + Node17 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node17 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node18 [label="QInputDialog",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; +} diff --git a/docs/html/_intelli_tool_rectangle_8cpp_source.html b/docs/html/_intelli_tool_rectangle_8cpp_source.html new file mode 100644 index 0000000..378ac21 --- /dev/null +++ b/docs/html/_intelli_tool_rectangle_8cpp_source.html @@ -0,0 +1,200 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Tool/IntelliToolRectangle.cpp Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliToolRectangle.cpp
+
+
+Go to the documentation of this file.
1 #include "IntelliToolRectangle.h"
+
2 #include "Layer/PaintingArea.h"
+
3 #include "QInputDialog"
+
4 
+ +
6  : IntelliTool(Area, colorPicker){
+
7  this->alphaInner = QInputDialog::getInt(nullptr,"Inner Alpha Value", "Value:", 0,0,255,1);
+
8  this->edgeWidth = QInputDialog::getInt(nullptr,"Outer edge width", "Value:", 0,1,255,1);
+
9 }
+
10 
+ +
12 
+
13 }
+
14 
+
15 void IntelliToolRectangle::drawRectangle(QPoint otherCornor){
+
16  int xMin = std::min(originCornor.x(), otherCornor.x());
+
17  int xMax = std::max(originCornor.x(), otherCornor.x());
+
18 
+
19  int yMin = std::min(originCornor.y(), otherCornor.y());
+
20  int yMax = std::max(originCornor.y(), otherCornor.y());
+
21 
+
22  QColor clr = colorPicker->getSecondColor();
+
23  clr.setAlpha(alphaInner);
+
24  for(int y=yMin; y<=yMax; y++) {
+
25  this->Canvas->image->drawLine(QPoint(xMin,y), QPoint(xMax, y), clr, 1);
+
26  }
+
27  this->Canvas->image->drawLine(QPoint(xMin, yMin),QPoint(xMin, yMax), this->colorPicker->getFirstColor(), edgeWidth);
+
28  this->Canvas->image->drawLine(QPoint(xMin, yMin),QPoint(xMax, yMin), this->colorPicker->getFirstColor(), edgeWidth);
+
29  this->Canvas->image->drawLine(QPoint(xMax, yMax),QPoint(xMin, yMax), this->colorPicker->getFirstColor(), edgeWidth);
+
30  this->Canvas->image->drawLine(QPoint(xMax, yMax),QPoint(xMax, yMin), this->colorPicker->getFirstColor(), edgeWidth);
+
31 }
+
32 
+ + +
35 }
+
36 
+ + +
39 }
+
40 
+ + +
43  this->originCornor=QPoint(x,y);
+
44  drawRectangle(originCornor);
+ +
46 }
+
47 
+ + +
50 }
+
51 
+ +
53  if(this->drawing) {
+
54  this->Canvas->image->drawPlain(Qt::transparent);
+
55  QPoint next(x,y);
+
56  drawRectangle(next);
+
57  }
+ +
59 }
+
60 
+ + +
63  this->edgeWidth+=value;
+
64  if(this->edgeWidth<=0) {
+
65  this->edgeWidth=1;
+
66  }
+
67 }
+
+
+
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:14
+
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:32
+
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:38
+
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:25
+
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.
+
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:36
+
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:21
+
LayerObject * Canvas
A pointer to the drawing canvas of the tool, work on this.
Definition: IntelliTool.h:48
+ +
bool drawing
A flag checking if the user is currently drawing or not.
Definition: IntelliTool.h:53
+
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:13
+ +
QColor getFirstColor()
A function to read the primary selected color.
+
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:25
+
virtual void onMouseMoved(int x, int y)
A function managing the mouse moved event. Call this in child classes!
Definition: IntelliTool.cpp:41
+
IntelliToolRectangle(PaintingArea *Area, IntelliColorPicker *colorPicker)
A constructor setting the general paintingArea and colorPicker. And reading in the alphaInner and edg...
+
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:46
+
virtual void drawPlain(const QColor &color)
A function that clears the whole image in a given Color.
+ + + + diff --git a/docs/html/_intelli_tool_rectangle_8h.html b/docs/html/_intelli_tool_rectangle_8h.html new file mode 100644 index 0000000..628c17a --- /dev/null +++ b/docs/html/_intelli_tool_rectangle_8h.html @@ -0,0 +1,129 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Tool/IntelliToolRectangle.h File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
IntelliToolRectangle.h File Reference
+
+
+
#include "IntelliTool.h"
+#include "QColor"
+#include "QPoint"
+
+Include dependency graph for IntelliToolRectangle.h:
+
+
+
+
+This graph shows which files directly or indirectly include this file:
+
+
+
+
+

Go to the source code of this file.

+ + + + + +

+Classes

class  IntelliToolRectangle
 The IntelliToolRectangle class represents a tool to draw a rectangle. More...
 
+
+
+ + + + diff --git a/docs/html/_intelli_tool_rectangle_8h__dep__incl.dot b/docs/html/_intelli_tool_rectangle_8h__dep__incl.dot new file mode 100644 index 0000000..01a2967 --- /dev/null +++ b/docs/html/_intelli_tool_rectangle_8h__dep__incl.dot @@ -0,0 +1,11 @@ +digraph "intelliphoto/src/Tool/IntelliToolRectangle.h" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Tool\l/IntelliToolRectangle.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="intelliphoto/src/Layer\l/PaintingArea.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8cpp.html",tooltip=" "]; + Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="intelliphoto/src/Tool\l/IntelliToolRectangle.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_rectangle_8cpp.html",tooltip=" "]; +} diff --git a/docs/html/_intelli_tool_rectangle_8h__incl.dot b/docs/html/_intelli_tool_rectangle_8h__incl.dot new file mode 100644 index 0000000..499f406 --- /dev/null +++ b/docs/html/_intelli_tool_rectangle_8h__incl.dot @@ -0,0 +1,21 @@ +digraph "intelliphoto/src/Tool/IntelliToolRectangle.h" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Tool\l/IntelliToolRectangle.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_8h.html",tooltip=" "]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliHelper/IntelliColor\lPicker.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_color_picker_8h.html",tooltip=" "]; + Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node3 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node3 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="QColorDialog",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; +} diff --git a/docs/html/_intelli_tool_rectangle_8h_source.html b/docs/html/_intelli_tool_rectangle_8h_source.html new file mode 100644 index 0000000..9b1c7f3 --- /dev/null +++ b/docs/html/_intelli_tool_rectangle_8h_source.html @@ -0,0 +1,151 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Tool/IntelliToolRectangle.h Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliToolRectangle.h
+
+
+Go to the documentation of this file.
1 #ifndef INTELLIRECTANGLETOOL_H
+
2 #define INTELLIRECTANGLETOOL_H
+
3 
+
4 #include "IntelliTool.h"
+
5 
+
6 #include "QColor"
+
7 #include "QPoint"
+ +
16 void drawRectangle(QPoint otherCornor);
+
17 
+
21 QPoint originCornor;
+
25 int alphaInner;
+
29 int edgeWidth;
+
30 public:
+ +
40 virtual ~IntelliToolRectangle() override;
+
41 
+
47 virtual void onMouseRightPressed(int x, int y) override;
+
48 
+
54 virtual void onMouseRightReleased(int x, int y) override;
+
55 
+
61 virtual void onMouseLeftPressed(int x, int y) override;
+
62 
+
68 virtual void onMouseLeftReleased(int x, int y) override;
+
69 
+
74 virtual void onWheelScrolled(int value) override;
+
75 
+
81 virtual void onMouseMoved(int x, int y) override;
+
82 };
+
83 
+
84 #endif // INTELLIRECTANGLETOOL_H
+
+
+
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:38
+ +
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:33
+
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:36
+
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:13
+
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.
+
IntelliToolRectangle(PaintingArea *Area, IntelliColorPicker *colorPicker)
A constructor setting the general paintingArea and colorPicker. And reading in the alphaInner and edg...
+
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.
+ + + + diff --git a/docs/html/_painting_area_8cpp.html b/docs/html/_painting_area_8cpp.html new file mode 100644 index 0000000..416bf72 --- /dev/null +++ b/docs/html/_painting_area_8cpp.html @@ -0,0 +1,127 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Layer/PaintingArea.cpp File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
PaintingArea.cpp File Reference
+
+
+
#include "string.h"
+#include <vector>
+#include <QtWidgets>
+#include <QPoint>
+#include <QRect>
+#include "PaintingArea.h"
+#include "Image/IntelliRasterImage.h"
+#include "Image/IntelliShapedImage.h"
+#include "Tool/IntelliToolPen.h"
+#include "Tool/IntelliToolPlain.h"
+#include "Tool/IntelliToolLine.h"
+#include "Tool/IntelliToolCircle.h"
+#include "Tool/IntelliToolRectangle.h"
+#include "Tool/IntelliToolFloodFill.h"
+#include "Tool/IntelliToolPolygon.h"
+
+Include dependency graph for PaintingArea.cpp:
+
+
+
+
+

Go to the source code of this file.

+
+
+ + + + diff --git a/docs/html/_painting_area_8cpp__incl.dot b/docs/html/_painting_area_8cpp__incl.dot new file mode 100644 index 0000000..74163ef --- /dev/null +++ b/docs/html/_painting_area_8cpp__incl.dot @@ -0,0 +1,93 @@ +digraph "intelliphoto/src/Layer/PaintingArea.cpp" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Layer\l/PaintingArea.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="string.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="QtWidgets",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="QRect",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="PaintingArea.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8h.html",tooltip=" "]; + Node7 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node7 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 [label="QImage",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node7 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node10 [label="QWidget",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node7 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node11 [label="QList",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node7 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node12 [label="Image/IntelliImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_image_8h.html",tooltip=" "]; + Node12 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node12 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node12 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node12 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 [label="QSize",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node12 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node12 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node14 [label="Image/IntelliRasterImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_raster_image_8h.html",tooltip=" "]; + Node14 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node15 [label="Image/IntelliShapedImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_shaped_image_8h.html",tooltip=" "]; + Node15 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node15 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node15 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node16 [label="IntelliHelper/IntelliHelper.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_helper_8h.html",tooltip=" "]; + Node16 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node16 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node17 [label="Tool/IntelliTool.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_8h.html",tooltip=" "]; + Node17 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node18 [label="IntelliHelper/IntelliColor\lPicker.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_color_picker_8h.html",tooltip=" "]; + Node18 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node18 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node18 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node19 [label="QColorDialog",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node17 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node20 [label="Tool/IntelliToolPen.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_pen_8h.html",tooltip=" "]; + Node20 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node20 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node20 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node21 [label="Tool/IntelliToolPlain.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_plain_8h.html",tooltip=" "]; + Node21 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node21 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node22 [label="Tool/IntelliToolLine.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_line_8h.html",tooltip=" "]; + Node22 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node22 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node23 [label="Tool/IntelliToolCircle.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_circle_8h.html",tooltip=" "]; + Node23 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node23 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node23 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node24 [label="Tool/IntelliToolRectangle.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_rectangle_8h.html",tooltip=" "]; + Node24 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node24 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node24 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node25 [label="Tool/IntelliToolFloodFill.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_flood_fill_8h.html",tooltip=" "]; + Node25 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node25 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node26 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node26 [label="Tool/IntelliToolPolygon.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_polygon_8h.html",tooltip=" "]; + Node26 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node26 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node26 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node26 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; +} diff --git a/docs/html/_painting_area_8cpp_source.html b/docs/html/_painting_area_8cpp_source.html new file mode 100644 index 0000000..780fcb6 --- /dev/null +++ b/docs/html/_painting_area_8cpp_source.html @@ -0,0 +1,536 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Layer/PaintingArea.cpp Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
PaintingArea.cpp
+
+
+Go to the documentation of this file.
1 // ---------- PaintingArea.cpp ----------
+
2 #include "string.h"
+
3 
+
4 #include <vector>
+
5 
+
6 #include <QtWidgets>
+
7 #include <QPoint>
+
8 #include <QRect>
+
9 
+
10 #include "PaintingArea.h"
+ + +
13 #include "Tool/IntelliToolPen.h"
+
14 #include "Tool/IntelliToolPlain.h"
+
15 #include "Tool/IntelliToolLine.h"
+
16 #include "Tool/IntelliToolCircle.h"
+ + + +
20 
+
21 PaintingArea::PaintingArea(int maxWidth, int maxHeight, QWidget*parent)
+
22  : QWidget(parent){
+
23  this->Tool = nullptr;
+
24  this->setUp(maxWidth, maxHeight);
+
25  this->addLayer(200,200,0,0,ImageType::Shaped_Image);
+
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);
+
33 
+
34  this->addLayer(200,200,150,150);
+
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::setUp(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);
+
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, ImageType type){
+
57  LayerObject newLayer;
+
58  newLayer.width = width;
+
59  newLayer.height = height;
+
60  newLayer.widthOffset = widthOffset;
+
61  newLayer.heightOffset = heightOffset;
+
62  if(type==ImageType::Raster_Image) {
+
63  newLayer.image = new IntelliRasterImage(width,height);
+
64  }else if(type==ImageType::Shaped_Image) {
+
65  newLayer.image = new IntelliShapedImage(width, height);
+
66  }
+
67  newLayer.alpha = 255;
+
68  this->layerBundle.push_back(newLayer);
+
69  return static_cast<int>(layerBundle.size())-1;
+
70 }
+
71 
+
72 
+
73 void PaintingArea::deleteLayer(int index){
+
74  if(index<static_cast<int>(layerBundle.size())) {
+
75  this->layerBundle.erase(layerBundle.begin()+index);
+
76  if(activeLayer>=index) {
+
77  activeLayer--;
+
78  }
+
79  }
+
80 }
+
81 
+ +
83  if(activeLayer>=0 && activeLayer < static_cast<int>(layerBundle.size())) {
+
84  this->layerBundle.erase(layerBundle.begin()+activeLayer);
+
85  activeLayer--;
+
86  }
+
87 }
+
88 
+ +
90  if(index>=0&&index<static_cast<int>(layerBundle.size())) {
+
91  this->activeLayer=index;
+
92  }
+
93 }
+
94 
+
95 void PaintingArea::setAlphaOfLayer(int index, int alpha){
+
96  if(index>=0&&index<static_cast<int>(layerBundle.size())) {
+
97  layerBundle[static_cast<size_t>(index)].alpha=alpha;
+
98  }
+
99 }
+
100 
+
101 // Used to load the image and place it in the widget
+
102 bool PaintingArea::open(const QString &fileName){
+
103  if(this->activeLayer==-1) {
+
104  return false;
+
105  }
+
106  IntelliImage* active = layerBundle[static_cast<size_t>(activeLayer)].image;
+
107  bool open = active->loadImage(fileName);
+
108  active->calculateVisiblity();
+
109  update();
+
110  return open;
+
111 }
+
112 
+
113 // Save the current image
+
114 bool PaintingArea::save(const QString &fileName, const char*fileFormat){
+
115  if(layerBundle.size()==0) {
+
116  return false;
+
117  }
+
118  this->assembleLayers(true);
+
119 
+
120  if(!strcmp(fileFormat,"PNG")) {
+
121  QImage visibleImage = Canvas->convertToFormat(QImage::Format_Indexed8);
+
122  fileFormat = "png";
+
123  if (visibleImage.save(fileName, fileFormat)) {
+
124  return true;
+
125  } else {
+
126  return false;
+
127  }
+
128  }
+
129 
+
130  if (Canvas->save(fileName, fileFormat)) {
+
131  return true;
+
132  } else {
+
133  return false;
+
134  }
+
135 }
+
136 
+
137 // Color the image area with white
+
138 void PaintingArea::floodFill(int r, int g, int b, int a){
+
139  if(this->activeLayer==-1) {
+
140  return;
+
141  }
+
142  IntelliImage* active = layerBundle[static_cast<size_t>(activeLayer)].image;
+
143  active->drawPlain(QColor(r, g, b, a));
+
144  update();
+
145 }
+
146 
+ +
148  layerBundle[static_cast<size_t>(activeLayer)].widthOffset += x;
+
149  layerBundle[static_cast<size_t>(activeLayer)].heightOffset += y;
+
150 }
+
151 
+ +
153  if(idx==1) {
+
154  this->activateUpperLayer();
+
155  }else if(idx==-1) {
+
156  this->activateLowerLayer();
+
157  }
+
158 }
+
159 
+ +
161  if(a>=0 && a < static_cast<int>(layerBundle.size())) {
+
162  this->setLayerToActive(a);
+
163  }
+
164 }
+
165 
+ +
167  QColor clr = QColorDialog::getColor(colorPicker.getFirstColor(), nullptr, "Main Color", QColorDialog::DontUseNativeDialog);
+
168  this->colorPicker.setFirstColor(clr);
+
169 }
+
170 
+ +
172  QColor clr = QColorDialog::getColor(colorPicker.getSecondColor(), nullptr, "Secondary Color", QColorDialog::DontUseNativeDialog);
+
173  this->colorPicker.setSecondColor(clr);
+
174 }
+
175 
+ +
177  this->colorPicker.switchColors();
+
178 }
+
179 
+ +
181  delete this->Tool;
+
182  Tool = new IntelliToolPen(this, &colorPicker);
+
183 }
+
184 
+ +
186  delete this->Tool;
+
187  Tool = new IntelliToolPlainTool(this, &colorPicker);
+
188 }
+
189 
+ +
191  delete this->Tool;
+
192  Tool = new IntelliToolLine(this, &colorPicker);
+
193 }
+
194 
+ +
196  delete this->Tool;
+
197  Tool = new IntelliToolRectangle(this, &colorPicker);
+
198 }
+
199 
+ +
201  delete this->Tool;
+
202  Tool = new IntelliToolCircle(this, &colorPicker);
+
203 }
+ +
205  delete this->Tool;
+
206  Tool = new IntelliToolPolygon(this, &colorPicker);
+
207 }
+
208 
+ +
210  delete this->Tool;
+
211  Tool = new IntelliToolFloodFill(this, &colorPicker);
+
212 }
+
213 
+ +
215  return this->layerBundle[activeLayer].width;
+
216 }
+
217 
+ +
219  return this->layerBundle[activeLayer].height;
+
220 }
+
221 
+
222 // If a mouse button is pressed check if it was the
+
223 // left button and if so store the current position
+
224 // Set that we are currently drawing
+
225 void PaintingArea::mousePressEvent(QMouseEvent*event){
+
226  if(Tool == nullptr)
+
227  return;
+
228  int x = event->x()-layerBundle[activeLayer].widthOffset;
+
229  int y = event->y()-layerBundle[activeLayer].heightOffset;
+
230  if(event->button() == Qt::LeftButton) {
+
231  Tool->onMouseLeftPressed(x, y);
+
232  }else if(event->button() == Qt::RightButton) {
+
233  Tool->onMouseRightPressed(x, y);
+
234  }
+
235  update();
+
236 }
+
237 
+
238 // When the mouse moves if the left button is clicked
+
239 // we call the drawline function which draws a line
+
240 // from the last position to the current
+
241 void PaintingArea::mouseMoveEvent(QMouseEvent*event){
+
242  if(Tool == nullptr)
+
243  return;
+
244  int x = event->x()-layerBundle[activeLayer].widthOffset;
+
245  int y = event->y()-layerBundle[activeLayer].heightOffset;
+
246  Tool->onMouseMoved(x, y);
+
247  update();
+
248 }
+
249 
+
250 // If the button is released we set variables to stop drawing
+
251 void PaintingArea::mouseReleaseEvent(QMouseEvent*event){
+
252  if(Tool == nullptr)
+
253  return;
+
254  int x = event->x()-layerBundle[activeLayer].widthOffset;
+
255  int y = event->y()-layerBundle[activeLayer].heightOffset;
+
256  if(event->button() == Qt::LeftButton) {
+
257  Tool->onMouseLeftReleased(x, y);
+
258  }else if(event->button() == Qt::RightButton) {
+
259  Tool->onMouseRightReleased(x, y);
+
260  }
+
261  update();
+
262 }
+
263 
+
264 void PaintingArea::wheelEvent(QWheelEvent*event){
+
265  QPoint numDegrees = event->angleDelta() / 8;
+
266  if(!numDegrees.isNull()) {
+
267  QPoint numSteps = numDegrees / 15;
+
268  Tool->onWheelScrolled(numSteps.y()* -1);
+
269  }
+
270 }
+
271 
+
272 // QPainter provides functions to draw on the widget
+
273 // The QPaintEvent is sent to widgets that need to
+
274 // update themselves
+
275 void PaintingArea::paintEvent(QPaintEvent*event){
+
276  this->assembleLayers();
+
277 
+
278  QPainter painter(this);
+
279  QRect dirtyRec = event->rect();
+
280  painter.drawImage(dirtyRec, *Canvas, dirtyRec);
+
281  update();
+
282 }
+
283 
+
284 // Resize the image to slightly larger then the main window
+
285 // to cut down on the need to resize the image
+
286 void PaintingArea::resizeEvent(QResizeEvent*event){
+
287  //TODO wait till tool works
+
288  update();
+
289 }
+
290 
+
291 void PaintingArea::resizeImage(QImage*image_res, const QSize &newSize){
+
292  //TODO implement
+
293 }
+
294 
+
295 void PaintingArea::activateUpperLayer(){
+
296  if(activeLayer!=-1 && activeLayer<layerBundle.size()-1) {
+
297  std::swap(layerBundle[activeLayer], layerBundle[activeLayer+1]);
+
298  activeLayer++;
+
299  }
+
300 }
+
301 
+
302 void PaintingArea::activateLowerLayer(){
+
303  if(activeLayer!=-1 && activeLayer>0) {
+
304  std::swap(layerBundle[activeLayer], layerBundle[activeLayer-1]);
+
305  activeLayer--;
+
306  }
+
307 }
+
308 
+
309 void PaintingArea::assembleLayers(bool forSaving){
+
310  if(forSaving) {
+
311  Canvas->fill(Qt::GlobalColor::transparent);
+
312  }else{
+
313  Canvas->fill(Qt::GlobalColor::black);
+
314  }
+
315  for(size_t i=0; i<layerBundle.size(); i++) {
+
316  LayerObject layer = layerBundle[i];
+
317  QImage cpy = layer.image->getDisplayable(layer.alpha);
+
318  QColor clr_0;
+
319  QColor clr_1;
+
320  for(int y=0; y<layer.height; y++) {
+
321  if(layer.heightOffset+y<0) continue;
+
322  if(layer.heightOffset+y>=maxHeight) break;
+
323  for(int x=0; x<layer.width; x++) {
+
324  if(layer.widthOffset+x<0) continue;
+
325  if(layer.widthOffset+x>=maxWidth) break;
+
326  clr_0=Canvas->pixelColor(layer.widthOffset+x, layer.heightOffset+y);
+
327  clr_1=cpy.pixelColor(x,y);
+
328  float t = static_cast<float>(clr_1.alpha())/255.f;
+
329  int r =static_cast<int>(static_cast<float>(clr_1.red())*(t)+static_cast<float>(clr_0.red())*(1.f-t)+0.5f);
+
330  int g =static_cast<int>(static_cast<float>(clr_1.green())*(t)+static_cast<float>(clr_0.green())*(1.f-t)+0.5f);
+
331  int b =static_cast<int>(static_cast<float>(clr_1.blue())*(t)+static_cast<float>(clr_0.blue()*(1.f-t))+0.5f);
+
332  int a =std::min(clr_0.alpha()+clr_1.alpha(), 255);
+
333  clr_0.setRed(r);
+
334  clr_0.setGreen(g);
+
335  clr_0.setBlue(b);
+
336  clr_0.setAlpha(a);
+
337 
+
338  Canvas->setPixelColor(layer.widthOffset+x, layer.heightOffset+y, clr_0);
+
339  }
+
340  }
+
341  }
+
342 }
+
343 
+
344 void PaintingArea::createTempLayerAfter(int idx){
+
345  if(idx>=0) {
+
346  LayerObject newLayer;
+
347  newLayer.alpha = 255;
+
348  newLayer.height = layerBundle[idx].height;
+
349  newLayer.width = layerBundle[idx].width;
+
350  newLayer.heightOffset = layerBundle[idx].heightOffset;
+
351  newLayer.widthOffset = layerBundle[idx].widthOffset;
+
352  newLayer.image = layerBundle[idx].image->getDeepCopy();
+
353  layerBundle.insert(layerBundle.begin()+idx+1,newLayer);
+
354  }
+
355 }
+
+
+
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:14
+
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:32
+
ImageType
The Types, which an Image can be.
Definition: IntelliImage.h:14
+
int addLayer(int width, int height, int widthOffset=0, int heightOffset=0, ImageType type=ImageType::Raster_Image)
The addLayer adds a layer to the current project/ painting area.
+
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:25
+ +
bool open(const QString &fileName)
The open method is used for loading a picture into the current layer.
+ +
virtual bool loadImage(const QString &fileName)
A function that loads and sclaes an image to the fitting dimensions.
+
void setLayerToActive(int index)
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:29
+
bool save(const QString &fileName, const char *fileFormat)
The save method is used for exporting the current project as one picture.
+
int getHeightOfActive()
The getHeightOfActive gets the vertical dimensions of the active layer.
+
void switchColors()
A function switching primary and secondary color.
+ +
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
+
The LayerObject struct holds all the information needed to construct a layer.
Definition: PaintingArea.h:24
+
void deleteLayer(int index)
The deleteLayer method removes a layer at a given index.
+
void createPenTool()
+ +
void mousePressEvent(QMouseEvent *event) override
+ + + +
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:21
+
void colorPickerSetFirstColor()
The colorPickerSetFirstColor calls the QTColorPicker to determine the primary drawing color.
+
void colorPickerSwitchColor()
The colorPickerSwitchColor swaps the primary color with the secondary drawing color.
+ + +
~PaintingArea() override
This deconstructor is used to clear up the memory and remove the currently active window.
+
void mouseMoveEvent(QMouseEvent *event) override
+
void setFirstColor(QColor Color)
A function to set the primary color.
+
void slotDeleteActiveLayer()
The slotDeleteActiveLayer method handles the deletion of the active layer.
+ +
void createPolygonTool()
+
void moveActiveLayer(int idx)
The moveActiveLayer moves the active layer to a specific position in the layer stack.
+
PaintingArea(int maxWidth=600, int maxHeight=600, QWidget *parent=nullptr)
PaintingArea is the constructor of the PaintingArea class, which initiates the working environment.
+ +
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
+
void setAlphaOfLayer(int index, int alpha)
The setAlphaOfLayer method sets the alpha value of a specific layer.
+
IntelliImage * image
Definition: PaintingArea.h:25
+
void resizeEvent(QResizeEvent *event) override
+
The IntelliToolFloodFill class represents a tool to flood FIll a certian area.
+ +
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:24
+
virtual void onMouseMoved(int x, int y)
A function managing the mouse moved event. Call this in child classes!
Definition: IntelliTool.cpp:41
+
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:46
+
The IntelliRasterImage manages a Rasterimage.
+ +
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.
+ + + + diff --git a/docs/html/_painting_area_8h.html b/docs/html/_painting_area_8h.html new file mode 100644 index 0000000..258489a --- /dev/null +++ b/docs/html/_painting_area_8h.html @@ -0,0 +1,139 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Layer/PaintingArea.h File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
PaintingArea.h File Reference
+
+
+
#include <QColor>
+#include <QImage>
+#include <QPoint>
+#include <QWidget>
+#include <QList>
+#include "Image/IntelliImage.h"
+#include "Image/IntelliRasterImage.h"
+#include "Image/IntelliShapedImage.h"
+#include "Tool/IntelliTool.h"
+#include "IntelliHelper/IntelliColorPicker.h"
+
+Include dependency graph for PaintingArea.h:
+
+
+
+
+This graph shows which files directly or indirectly include this file:
+
+
+
+
+

Go to the source code of this file.

+ + + + + + + + +

+Classes

struct  LayerObject
 The LayerObject struct holds all the information needed to construct a layer. More...
 
class  PaintingArea
 The PaintingArea class manages the methods and stores information about the current painting area, which is the currently opened project. More...
 
+
+
+ + + + diff --git a/docs/html/_painting_area_8h__dep__incl.dot b/docs/html/_painting_area_8h__dep__incl.dot new file mode 100644 index 0000000..5bef6e6 --- /dev/null +++ b/docs/html/_painting_area_8h__dep__incl.dot @@ -0,0 +1,27 @@ +digraph "intelliphoto/src/Layer/PaintingArea.h" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Layer\l/PaintingArea.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="intelliphoto/src/GUI\l/IntelliPhotoGui.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_photo_gui_8cpp.html",tooltip=" "]; + Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="intelliphoto/src/Layer\l/PaintingArea.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_painting_area_8cpp.html",tooltip=" "]; + Node1 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="intelliphoto/src/Tool\l/IntelliTool.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_8cpp.html",tooltip=" "]; + Node1 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="intelliphoto/src/Tool\l/IntelliToolCircle.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_circle_8cpp.html",tooltip=" "]; + Node1 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="intelliphoto/src/Tool\l/IntelliToolFloodFill.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_flood_fill_8cpp.html",tooltip=" "]; + Node1 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="intelliphoto/src/Tool\l/IntelliToolLine.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_line_8cpp.html",tooltip=" "]; + Node1 -> Node8 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 [label="intelliphoto/src/Tool\l/IntelliToolPen.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_pen_8cpp.html",tooltip=" "]; + Node1 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 [label="intelliphoto/src/Tool\l/IntelliToolPlain.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_plain_8cpp.html",tooltip=" "]; + Node1 -> Node10 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node10 [label="intelliphoto/src/Tool\l/IntelliToolPolygon.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_polygon_8cpp.html",tooltip=" "]; + Node1 -> Node11 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node11 [label="intelliphoto/src/Tool\l/IntelliToolRectangle.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_rectangle_8cpp.html",tooltip=" "]; +} diff --git a/docs/html/_painting_area_8h__incl.dot b/docs/html/_painting_area_8h__incl.dot new file mode 100644 index 0000000..8afac13 --- /dev/null +++ b/docs/html/_painting_area_8h__incl.dot @@ -0,0 +1,48 @@ +digraph "intelliphoto/src/Layer/PaintingArea.h" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Layer\l/PaintingArea.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="QImage",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="QWidget",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="QList",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="Image/IntelliImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_image_8h.html",tooltip=" "]; + Node7 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 [label="QSize",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node7 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node10 [label="Image/IntelliRasterImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_raster_image_8h.html",tooltip=" "]; + Node10 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node11 [label="Image/IntelliShapedImage.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_shaped_image_8h.html",tooltip=" "]; + Node11 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node11 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node11 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node12 [label="IntelliHelper/IntelliHelper.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_helper_8h.html",tooltip=" "]; + Node12 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node12 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 [label="Tool/IntelliTool.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_tool_8h.html",tooltip=" "]; + Node13 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node14 [label="IntelliHelper/IntelliColor\lPicker.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_color_picker_8h.html",tooltip=" "]; + Node14 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node14 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node14 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node15 [label="QColorDialog",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node13 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; +} diff --git a/docs/html/_painting_area_8h_source.html b/docs/html/_painting_area_8h_source.html new file mode 100644 index 0000000..21a5b94 --- /dev/null +++ b/docs/html/_painting_area_8h_source.html @@ -0,0 +1,264 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Layer/PaintingArea.h Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
PaintingArea.h
+
+
+Go to the documentation of this file.
1 
+
2 #ifndef PaintingArea_H
+
3 #define PaintingArea_H
+
4 
+
5 #include <QColor>
+
6 #include <QImage>
+
7 #include <QPoint>
+
8 #include <QWidget>
+
9 #include <QList>
+
10 #include "Image/IntelliImage.h"
+ + +
13 #include "Tool/IntelliTool.h"
+ +
15 
+
24 struct LayerObject{
+ +
26  int width;
+
27  int height;
+ + +
30  int alpha=255;
+
31 };
+
32 
+
36 class PaintingArea : public QWidget
+
37 {
+
38  // Declares our class as a QObject which is the base class
+
39  // for all Qt objects
+
40  // QObjects handle events
+
41  Q_OBJECT
+
42  friend IntelliTool;
+
43 public:
+
50  PaintingArea(int maxWidth=600, int maxHeight=600, QWidget *parent = nullptr);
+
51 
+
55  ~PaintingArea() override;
+
56 
+
57  // Handles all events
+
58 
+
64  bool open(const QString &fileName);
+
71  bool save(const QString &fileName, const char *fileFormat);
+
72 
+
82  int addLayer(int width, int height, int widthOffset=0, int heightOffset=0, ImageType type = ImageType::Raster_Image);
+
93  int addLayerAt(int idx, int width, int height, int widthOffset=0, int heightOffset=0, ImageType type = ImageType::Raster_Image);
+
98  void deleteLayer(int index);
+
103  void setLayerToActive(int index);
+
109  void setAlphaOfLayer(int index, int alpha);
+
117  void floodFill(int r, int g, int b, int a);
+
123  void movePositionActive(int x, int y);
+
128  void moveActiveLayer(int idx);
+
129 
+
130  //change properties of colorPicker
+ + +
142  void colorPickerSwitchColor();
+
143 
+
144  // Create tools
+
145  void createPenTool();
+
146  void createPlainTool();
+
147  void createLineTool();
+
148  void createRectangleTool();
+
149  void createCircleTool();
+
150  void createPolygonTool();
+
151  void createFloodFillTool();
+
152 
+
157  int getWidthOfActive();
+
162  int getHeightOfActive();
+
163 
+
164 public slots:
+
165  // Events to handle
+
170  void slotActivateLayer(int a);
+
174  void slotDeleteActiveLayer();
+
175 
+
176 protected:
+
177  void mousePressEvent(QMouseEvent *event) override;
+
178  void mouseMoveEvent(QMouseEvent *event) override;
+
179  void mouseReleaseEvent(QMouseEvent *event) override;
+
180 
+
181  void wheelEvent(QWheelEvent *event) override;
+
182  // Updates the painting area where we are painting
+
183  void paintEvent(QPaintEvent *event) override;
+
184 
+
185  // Makes sure the area we are drawing on remains
+
186  // as large as the widget
+
187  void resizeEvent(QResizeEvent *event) override;
+
188 
+
189 private:
+
190  void setUp(int maxWidth, int maxHeight);
+
191  void activateUpperLayer();
+
192  void activateLowerLayer();
+
193 
+
194  QImage* Canvas;
+
195  int maxWidth;
+
196  int maxHeight;
+
197 
+
198  IntelliTool* Tool;
+
199  IntelliColorPicker colorPicker;
+
200 
+
201  std::vector<LayerObject> layerBundle;
+
202  int activeLayer=-1;
+
203 
+
204  void assembleLayers(bool forSaving=false);
+
205 
+
206  void resizeImage(QImage *image_res, const QSize &newSize);
+
207 
+
208  // Helper for Tool
+
209  void createTempLayerAfter(int idx);
+
210 };
+
211 
+
212 #endif
+
+
+
int getWidthOfActive()
The getWidthOfActive gets the horizontal dimensions of the active layer.
+
void createCircleTool()
+
ImageType
The Types, which an Image can be.
Definition: IntelliImage.h:14
+
int addLayer(int width, int height, int widthOffset=0, int heightOffset=0, ImageType type=ImageType::Raster_Image)
The addLayer adds a layer to the current project/ painting area.
+
void mouseReleaseEvent(QMouseEvent *event) override
+
void createRectangleTool()
+ + + +
bool open(const QString &fileName)
The open method is used for loading a picture into the current layer.
+ +
void setLayerToActive(int index)
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.
+
int heightOffset
Definition: PaintingArea.h:29
+
bool save(const QString &fileName, const char *fileFormat)
The save method is used for exporting the current project as one picture.
+
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:36
+
The LayerObject struct holds all the information needed to construct a layer.
Definition: PaintingArea.h:24
+
void deleteLayer(int index)
The deleteLayer method removes a layer at a given index.
+
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.
+
void colorPickerSwitchColor()
The colorPickerSwitchColor swaps the primary color with the secondary drawing color.
+ + +
~PaintingArea() override
This deconstructor is used to clear up the memory and remove the currently active window.
+
void mouseMoveEvent(QMouseEvent *event) override
+
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:13
+
void slotDeleteActiveLayer()
The slotDeleteActiveLayer method handles the deletion of the active layer.
+
void createPolygonTool()
+
int addLayerAt(int idx, int width, int height, int widthOffset=0, int heightOffset=0, ImageType type=ImageType::Raster_Image)
The addLayerAt adds a layer to the current project/ painting area at a specific position in the layer...
+
void moveActiveLayer(int idx)
The moveActiveLayer moves the active layer to a specific position in the layer stack.
+
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
+
void setAlphaOfLayer(int index, int alpha)
The setAlphaOfLayer method sets the alpha value of a specific layer.
+
IntelliImage * image
Definition: PaintingArea.h:25
+
void resizeEvent(QResizeEvent *event) override
+
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:24
+ + + + diff --git a/docs/html/_tool_2_intelli_color_picker_8cpp.html b/docs/html/_tool_2_intelli_color_picker_8cpp.html new file mode 100644 index 0000000..3f8d98e --- /dev/null +++ b/docs/html/_tool_2_intelli_color_picker_8cpp.html @@ -0,0 +1,114 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Tool/IntelliColorPicker.cpp File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliColorPicker.cpp File Reference
+
+
+
#include "IntelliColorPicker.h"
+#include "QDebug"
+
+Include dependency graph for IntelliColorPicker.cpp:
+
+
+
+
+

Go to the source code of this file.

+
+
+ + + + diff --git a/docs/html/_tool_2_intelli_color_picker_8cpp__incl.dot b/docs/html/_tool_2_intelli_color_picker_8cpp__incl.dot new file mode 100644 index 0000000..1a77fa3 --- /dev/null +++ b/docs/html/_tool_2_intelli_color_picker_8cpp__incl.dot @@ -0,0 +1,17 @@ +digraph "intelliphoto/src/Tool/IntelliColorPicker.cpp" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/Tool\l/IntelliColorPicker.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliColorPicker.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_color_picker_8h.html",tooltip=" "]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="QColor",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="QColorDialog",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="QDebug",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; +} diff --git a/docs/html/_tool_2_intelli_color_picker_8cpp_source.html b/docs/html/_tool_2_intelli_color_picker_8cpp_source.html new file mode 100644 index 0000000..32c7b0d --- /dev/null +++ b/docs/html/_tool_2_intelli_color_picker_8cpp_source.html @@ -0,0 +1,148 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Tool/IntelliColorPicker.cpp Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliColorPicker.cpp
+
+
+Go to the documentation of this file.
1 #include "IntelliColorPicker.h"
+
2 #include "QDebug"
+
3 
+ +
5  : IntelliTool(Area){
+
6  firstColor = {255,0,0,255};
+
7  secondColor = {0,0,255,255};
+
8 }
+
9 
+ +
11 
+
12 }
+
13 
+
14 void IntelliColorPicker::getColorbar(int firstOrSecondColor = 1){
+
15  QString Titel;
+
16  QColor newColor;
+
17  if(firstOrSecondColor == 1) {
+
18  Titel = "Choose first Color";
+
19  newColor = QColorDialog::getColor(this->firstColor,nullptr,Titel);
+
20  this->firstColor = newColor;
+
21  qDebug() << "Firstcolor" << this->firstColor;
+
22  }
+
23  else{
+
24  Titel = "Choose second Color";
+
25  newColor = QColorDialog::getColor(this->secondColor,nullptr,Titel);
+
26  this->secondColor = newColor;
+
27  }
+
28 }
+
29 
+ +
31  return firstColor;
+
32 }
+
33 
+ +
35  return secondColor;
+
36 }
+
+
+
virtual ~IntelliColorPicker()
IntelliColorPicker destructor clears up his used memory, if there is some.
+
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:36
+ +
An abstract class that manages the basic events, like mouse clicks or scrolls events.
Definition: IntelliTool.h:13
+
QColor getFirstColor()
A function to read the primary selected color.
+
IntelliColorPicker()
IntelliColorPicker constructor, setting 2 preset colors, be careful, theese color may change in produ...
+ + + + diff --git a/docs/html/annotated.html b/docs/html/annotated.html new file mode 100644 index 0000000..817bc92 --- /dev/null +++ b/docs/html/annotated.html @@ -0,0 +1,124 @@ + + + + + + + +IntelliPhoto: Class List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Class List
+
+
+
Here are the classes, structs, unions and interfaces with brief descriptions:
+ + + + + + + + + + + + + + + + + +
 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
 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
 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
+
+
+
+ + + + diff --git a/docs/html/annotated_dup.js b/docs/html/annotated_dup.js new file mode 100644 index 0000000..a58b9a8 --- /dev/null +++ b/docs/html/annotated_dup.js @@ -0,0 +1,19 @@ +var annotated_dup = +[ + [ "IntelliColorPicker", "class_intelli_color_picker.html", "class_intelli_color_picker" ], + [ "IntelliImage", "class_intelli_image.html", "class_intelli_image" ], + [ "IntelliPhotoGui", "class_intelli_photo_gui.html", "class_intelli_photo_gui" ], + [ "IntelliRasterImage", "class_intelli_raster_image.html", "class_intelli_raster_image" ], + [ "IntelliShapedImage", "class_intelli_shaped_image.html", "class_intelli_shaped_image" ], + [ "IntelliTool", "class_intelli_tool.html", "class_intelli_tool" ], + [ "IntelliToolCircle", "class_intelli_tool_circle.html", "class_intelli_tool_circle" ], + [ "IntelliToolFloodFill", "class_intelli_tool_flood_fill.html", "class_intelli_tool_flood_fill" ], + [ "IntelliToolLine", "class_intelli_tool_line.html", "class_intelli_tool_line" ], + [ "IntelliToolPen", "class_intelli_tool_pen.html", "class_intelli_tool_pen" ], + [ "IntelliToolPlainTool", "class_intelli_tool_plain_tool.html", "class_intelli_tool_plain_tool" ], + [ "IntelliToolPolygon", "class_intelli_tool_polygon.html", "class_intelli_tool_polygon" ], + [ "IntelliToolRectangle", "class_intelli_tool_rectangle.html", "class_intelli_tool_rectangle" ], + [ "LayerObject", "struct_layer_object.html", "struct_layer_object" ], + [ "PaintingArea", "class_painting_area.html", "class_painting_area" ], + [ "Triangle", "struct_triangle.html", "struct_triangle" ] +]; \ No newline at end of file diff --git a/docs/html/bc_s.png b/docs/html/bc_s.png new file mode 100644 index 0000000..c8f3a92 Binary files /dev/null and b/docs/html/bc_s.png differ diff --git a/docs/html/bdwn.png b/docs/html/bdwn.png new file mode 100644 index 0000000..2f5233e Binary files /dev/null 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 new file mode 100644 index 0000000..3548ba9 --- /dev/null +++ b/docs/html/class_intelli_color_picker-members.html @@ -0,0 +1,114 @@ + + + + + + + +IntelliPhoto: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliColorPicker Member List
+
+ +
+ + + + diff --git a/docs/html/class_intelli_color_picker.html b/docs/html/class_intelli_color_picker.html new file mode 100644 index 0000000..087b636 --- /dev/null +++ b/docs/html/class_intelli_color_picker.html @@ -0,0 +1,344 @@ + + + + + + + +IntelliPhoto: IntelliColorPicker Class Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
IntelliColorPicker Class Reference
+
+
+ +

The IntelliColorPicker manages the selected colors for one whole project. + More...

+ +

#include <IntelliColorPicker.h>

+ + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 IntelliColorPicker ()
 IntelliColorPicker constructor, setting 2 preset colors, be careful, theese color may change in production. More...
 
virtual ~IntelliColorPicker ()
 IntelliColorPicker destructor clears up his used memory, if there is some. More...
 
void switchColors ()
 A function switching primary and secondary color. More...
 
QColor getFirstColor ()
 A function to read the primary selected color. More...
 
QColor getSecondColor ()
 A function to read the secondary selected color. More...
 
void setFirstColor (QColor Color)
 A function to set the primary color. More...
 
void setSecondColor (QColor Color)
 A function to set the secondary color. More...
 
+

Detailed Description

+

The IntelliColorPicker manages the selected colors for one whole project.

+ +

Definition at line 11 of file IntelliColorPicker.h.

+

Constructor & Destructor Documentation

+ +

◆ IntelliColorPicker()

+ +
+
+ + + + + + + +
IntelliColorPicker::IntelliColorPicker ()
+
+ +

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

+ +

Definition at line 3 of file IntelliColorPicker.cpp.

+ +
+
+ +

◆ ~IntelliColorPicker()

+ +
+
+ + + + + +
+ + + + + + + +
IntelliColorPicker::~IntelliColorPicker ()
+
+virtual
+
+ +

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

+ +

Definition at line 8 of file IntelliColorPicker.cpp.

+ +
+
+

Member Function Documentation

+ +

◆ getFirstColor()

+ +
+
+ + + + + + + +
QColor IntelliColorPicker::getFirstColor ()
+
+ +

A function to read the primary selected color.

+
Returns
Returns the primary color.
+ +

Definition at line 16 of file IntelliColorPicker.cpp.

+
+Here is the caller graph for this function:
+
+
+
+ +
+
+ +

◆ getSecondColor()

+ +
+
+ + + + + + + +
QColor IntelliColorPicker::getSecondColor ()
+
+ +

A function to read the secondary selected color.

+
Returns
Returns the secondary color.
+ +

Definition at line 20 of file IntelliColorPicker.cpp.

+
+Here is the caller graph for this function:
+
+
+
+ +
+
+ +

◆ setFirstColor()

+ +
+
+ + + + + + + + +
void IntelliColorPicker::setFirstColor (QColor Color)
+
+ +

A function to set the primary color.

+
Parameters
+ + +
Color- The color to be set as primary.
+
+
+ +

Definition at line 24 of file IntelliColorPicker.cpp.

+
+Here is the caller graph for this function:
+
+
+
+ +
+
+ +

◆ setSecondColor()

+ +
+
+ + + + + + + + +
void IntelliColorPicker::setSecondColor (QColor Color)
+
+ +

A function to set the secondary color.

+
Parameters
+ + +
Color- The color to be set as secondary.
+
+
+ +

Definition at line 28 of file IntelliColorPicker.cpp.

+
+Here is the caller graph for this function:
+
+
+
+ +
+
+ +

◆ switchColors()

+ +
+
+ + + + + + + +
void IntelliColorPicker::switchColors ()
+
+ +

A function switching primary and secondary color.

+ +

Definition at line 12 of file IntelliColorPicker.cpp.

+
+Here is the caller graph for this function:
+
+
+
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + diff --git a/docs/html/class_intelli_color_picker.js b/docs/html/class_intelli_color_picker.js new file mode 100644 index 0000000..efec690 --- /dev/null +++ b/docs/html/class_intelli_color_picker.js @@ -0,0 +1,10 @@ +var class_intelli_color_picker = +[ + [ "IntelliColorPicker", "class_intelli_color_picker.html#a0d1247bdd87add1396ea5d9acaad79ae", null ], + [ "~IntelliColorPicker", "class_intelli_color_picker.html#a40b975268a1f05249e8a49dde9a862ff", null ], + [ "getFirstColor", "class_intelli_color_picker.html#aae2eb27b928fe9388b9398b0556303b7", null ], + [ "getSecondColor", "class_intelli_color_picker.html#a55568fbf5dc783f06284b7031ffe9415", null ], + [ "setFirstColor", "class_intelli_color_picker.html#a7e2ddbbbfbed383f06b24e5bf6b27ae8", null ], + [ "setSecondColor", "class_intelli_color_picker.html#a86bf4a940e4a0e465e30cbdf28748931", null ], + [ "switchColors", "class_intelli_color_picker.html#a437a6f20bf2fc0a4cbaf4c030c2a26d9", null ] +]; \ No newline at end of file diff --git a/docs/html/class_intelli_color_picker_a437a6f20bf2fc0a4cbaf4c030c2a26d9_icgraph.dot b/docs/html/class_intelli_color_picker_a437a6f20bf2fc0a4cbaf4c030c2a26d9_icgraph.dot new file mode 100644 index 0000000..3370f98 --- /dev/null +++ b/docs/html/class_intelli_color_picker_a437a6f20bf2fc0a4cbaf4c030c2a26d9_icgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliColorPicker::switchColors" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="RL"; + Node1 [label="IntelliColorPicker\l::switchColors",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function switching primary and secondary color."]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="PaintingArea::colorPicker\lSwitchColor",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_painting_area.html#a66115307ff4a99cd7ca16423c5c8ecfb",tooltip="The colorPickerSwitchColor swaps the primary color with the secondary drawing color."]; +} diff --git a/docs/html/class_intelli_color_picker_a55568fbf5dc783f06284b7031ffe9415_icgraph.dot b/docs/html/class_intelli_color_picker_a55568fbf5dc783f06284b7031ffe9415_icgraph.dot new file mode 100644 index 0000000..7857846 --- /dev/null +++ b/docs/html/class_intelli_color_picker_a55568fbf5dc783f06284b7031ffe9415_icgraph.dot @@ -0,0 +1,12 @@ +digraph "IntelliColorPicker::getSecondColor" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="RL"; + Node1 [label="IntelliColorPicker\l::getSecondColor",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function to read the secondary selected color."]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="PaintingArea::colorPicker\lSetSecondColor",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_painting_area.html#ae261acaaa346610dfed489dbac17e789",tooltip="The colorPickerSetSecondColor calls the QTColorPicker to determine the secondary drawing color."]; + Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliToolPolygon\l::onMouseLeftReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_polygon.html#a4e1473ff408ae2e11cf6a43f6f575f21",tooltip="A function managing the left click released of a mouse. Merging the fill to the active layer."]; +} diff --git a/docs/html/class_intelli_color_picker_a7e2ddbbbfbed383f06b24e5bf6b27ae8_icgraph.dot b/docs/html/class_intelli_color_picker_a7e2ddbbbfbed383f06b24e5bf6b27ae8_icgraph.dot new file mode 100644 index 0000000..cc08d61 --- /dev/null +++ b/docs/html/class_intelli_color_picker_a7e2ddbbbfbed383f06b24e5bf6b27ae8_icgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliColorPicker::setFirstColor" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="RL"; + Node1 [label="IntelliColorPicker\l::setFirstColor",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function to set the primary color."]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="PaintingArea::colorPicker\lSetFirstColor",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_painting_area.html#a4735d4cf1dc58a9096d904e74c39c4df",tooltip="The colorPickerSetFirstColor calls the QTColorPicker to determine the primary drawing color."]; +} diff --git a/docs/html/class_intelli_color_picker_a86bf4a940e4a0e465e30cbdf28748931_icgraph.dot b/docs/html/class_intelli_color_picker_a86bf4a940e4a0e465e30cbdf28748931_icgraph.dot new file mode 100644 index 0000000..a271fd7 --- /dev/null +++ b/docs/html/class_intelli_color_picker_a86bf4a940e4a0e465e30cbdf28748931_icgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliColorPicker::setSecondColor" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="RL"; + Node1 [label="IntelliColorPicker\l::setSecondColor",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function to set the secondary color."]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="PaintingArea::colorPicker\lSetSecondColor",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_painting_area.html#ae261acaaa346610dfed489dbac17e789",tooltip="The colorPickerSetSecondColor calls the QTColorPicker to determine the secondary drawing color."]; +} diff --git a/docs/html/class_intelli_color_picker_aae2eb27b928fe9388b9398b0556303b7_icgraph.dot b/docs/html/class_intelli_color_picker_aae2eb27b928fe9388b9398b0556303b7_icgraph.dot new file mode 100644 index 0000000..26e1cc5 --- /dev/null +++ b/docs/html/class_intelli_color_picker_aae2eb27b928fe9388b9398b0556303b7_icgraph.dot @@ -0,0 +1,26 @@ +digraph "IntelliColorPicker::getFirstColor" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="RL"; + Node1 [label="IntelliColorPicker\l::getFirstColor",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function to read the primary selected color."]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="PaintingArea::colorPicker\lSetFirstColor",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_painting_area.html#a4735d4cf1dc58a9096d904e74c39c4df",tooltip="The colorPickerSetFirstColor calls the QTColorPicker to determine the primary drawing color."]; + Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliToolPlainTool\l::onMouseLeftPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_plain_tool.html#ab786dd5fa80af863246013d43c4b7ac9",tooltip="A function managing the left click pressed of a mouse. Filling the whole canvas."]; + Node1 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="IntelliToolFloodFill\l::onMouseLeftPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_flood_fill.html#ac85e3cb6233508ff9612833a8d9e3961",tooltip="A function managing the left click pressed of a mouse. Sets the point to flood fill around and does t..."]; + Node1 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="IntelliToolPen::onMouseLeft\lPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_pen.html#a8ff40aef6d38eb55af31a19322429205",tooltip="A function managing the left click pressed of a mouse. Starting the drawing procedure."]; + Node1 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="IntelliToolPolygon\l::onMouseLeftPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_polygon.html#ad5d3b741be6d0647a9cdc9da2cb8bc3d",tooltip="A function managing the left click pressed of a mouse. Setting polygon points."]; + Node1 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="IntelliToolLine::onMouse\lLeftPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_line.html#a155d676a5f98311217eb095be4759846",tooltip="A function managing the left click pressed of a mouse. Sets the starting point of the line."]; + Node1 -> Node8 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 [label="IntelliToolPolygon\l::onMouseLeftReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_polygon.html#a4e1473ff408ae2e11cf6a43f6f575f21",tooltip="A function managing the left click released of a mouse. Merging the fill to the active layer."]; + Node1 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 [label="IntelliToolPen::onMouseMoved",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_pen.html#a58d1d636497b630647ce0c4d652737c2",tooltip="A function managing the mouse moved event. To draw the line."]; + Node1 -> Node10 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node10 [label="IntelliToolLine::onMouse\lMoved",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_line.html#abc6324ef0778823fe7e35aef8ae37f9b",tooltip="A function managing the mouse moved event. Drawing a Line from the startpoint to the current mouse po..."]; +} diff --git a/docs/html/class_intelli_helper-members.html b/docs/html/class_intelli_helper-members.html new file mode 100644 index 0000000..363478b --- /dev/null +++ b/docs/html/class_intelli_helper-members.html @@ -0,0 +1,109 @@ + + + + + + + +IntelliPhoto: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.4 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliHelper Member List
+
+
+ +

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

+ + + +
isInTriangle(QPoint &A, QPoint &B, QPoint &C, QPoint &P)IntelliHelperinlinestatic
sign(QPoint &p1, QPoint &p2, QPoint &p3)IntelliHelperinlinestatic
+
+ + + + diff --git a/docs/html/class_intelli_helper.html b/docs/html/class_intelli_helper.html new file mode 100644 index 0000000..1160554 --- /dev/null +++ b/docs/html/class_intelli_helper.html @@ -0,0 +1,234 @@ + + + + + + + +IntelliPhoto: IntelliHelper Class Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.4 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
IntelliHelper Class Reference
+
+
+ +

#include <IntelliHelper.h>

+ + + + + + +

+Static Public Member Functions

static float sign (QPoint &p1, QPoint &p2, QPoint &p3)
 
static bool isInTriangle (QPoint &A, QPoint &B, QPoint &C, QPoint &P)
 
+

Detailed Description

+
+

Definition at line 7 of file IntelliHelper.h.

+

Member Function Documentation

+ +

◆ isInTriangle()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool IntelliHelper::isInTriangle (QPoint & A,
QPoint & B,
QPoint & C,
QPoint & P 
)
+
+inlinestatic
+
+ +

Definition at line 15 of file IntelliHelper.h.

+
+Here is the call graph for this function:
+
+
+
+
+Here is the caller graph for this function:
+
+
+
+ +
+
+ +

◆ sign()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static float IntelliHelper::sign (QPoint & p1,
QPoint & p2,
QPoint & p3 
)
+
+inlinestatic
+
+ +

Definition at line 11 of file IntelliHelper.h.

+
+Here is the caller graph for this function:
+
+
+
+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/docs/html/class_intelli_helper_a04bdb4f53b89dded693ba6e896f4c63f_cgraph.dot b/docs/html/class_intelli_helper_a04bdb4f53b89dded693ba6e896f4c63f_cgraph.dot new file mode 100644 index 0000000..7be3942 --- /dev/null +++ b/docs/html/class_intelli_helper_a04bdb4f53b89dded693ba6e896f4c63f_cgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliHelper::isInTriangle" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliHelper::isInTriangle",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliHelper::sign",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_helper.html#a67fc007dda64187f6cef7fba3fcd9e40",tooltip=" "]; +} diff --git a/docs/html/class_intelli_helper_a04bdb4f53b89dded693ba6e896f4c63f_icgraph.dot b/docs/html/class_intelli_helper_a04bdb4f53b89dded693ba6e896f4c63f_icgraph.dot new file mode 100644 index 0000000..54d1362 --- /dev/null +++ b/docs/html/class_intelli_helper_a04bdb4f53b89dded693ba6e896f4c63f_icgraph.dot @@ -0,0 +1,14 @@ +digraph "IntelliHelper::isInTriangle" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="RL"; + Node1 [label="IntelliHelper::isInTriangle",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliShapedImage\l::calculateVisiblity",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_shaped_image.html#a0221d93c3c8990f7dab332454cc21f50",tooltip=" "]; + Node2 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliShapedImage\l::setPolygon",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_shaped_image.html#a4b69d75de7a3b85032482982f249458e",tooltip=" "]; + Node3 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="IntelliShapedImage\l::getDeepCopy",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_shaped_image.html#aed0b31e0fa771104399d1f5ff39a0337",tooltip=" "]; +} diff --git a/docs/html/class_intelli_helper_a67fc007dda64187f6cef7fba3fcd9e40_icgraph.dot b/docs/html/class_intelli_helper_a67fc007dda64187f6cef7fba3fcd9e40_icgraph.dot new file mode 100644 index 0000000..617951d --- /dev/null +++ b/docs/html/class_intelli_helper_a67fc007dda64187f6cef7fba3fcd9e40_icgraph.dot @@ -0,0 +1,16 @@ +digraph "IntelliHelper::sign" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="RL"; + Node1 [label="IntelliHelper::sign",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliHelper::isInTriangle",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_helper.html#a04bdb4f53b89dded693ba6e896f4c63f",tooltip=" "]; + Node2 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliShapedImage\l::calculateVisiblity",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_shaped_image.html#a0221d93c3c8990f7dab332454cc21f50",tooltip=" "]; + Node3 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="IntelliShapedImage\l::setPolygon",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_shaped_image.html#a4b69d75de7a3b85032482982f249458e",tooltip=" "]; + Node4 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="IntelliShapedImage\l::getDeepCopy",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_shaped_image.html#aed0b31e0fa771104399d1f5ff39a0337",tooltip=" "]; +} diff --git a/docs/html/class_intelli_image-members.html b/docs/html/class_intelli_image-members.html new file mode 100644 index 0000000..1381841 --- /dev/null +++ b/docs/html/class_intelli_image-members.html @@ -0,0 +1,123 @@ + + + + + + + +IntelliPhoto: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliImage Member List
+
+
+ +

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

+ + + + + + + + + + + + + + + + + +
calculateVisiblity()=0IntelliImagepure virtual
drawLine(const QPoint &p1, const QPoint &p2, const QColor &color, const int &penWidth)IntelliImagevirtual
drawPixel(const QPoint &p1, const QColor &color)IntelliImagevirtual
drawPlain(const QColor &color)IntelliImagevirtual
drawPoint(const QPoint &p1, const QColor &color, const int &penWidth)IntelliImagevirtual
getDeepCopy()=0IntelliImagepure virtual
getDisplayable(const QSize &displaySize, int alpha)=0IntelliImagepure virtual
getDisplayable(int alpha=255)=0IntelliImagepure virtual
getPixelColor(QPoint &point)IntelliImagevirtual
getPolygonData()IntelliImageinlinevirtual
imageDataIntelliImageprotected
IntelliImage(int weight, int height)IntelliImage
loadImage(const QString &fileName)IntelliImagevirtual
resizeImage(QImage *image, const QSize &newSize)IntelliImageprotected
setPolygon(const std::vector< QPoint > &polygonData)=0IntelliImagepure virtual
~IntelliImage()=0IntelliImagepure virtual
+
+ + + + diff --git a/docs/html/class_intelli_image.html b/docs/html/class_intelli_image.html new file mode 100644 index 0000000..db8463b --- /dev/null +++ b/docs/html/class_intelli_image.html @@ -0,0 +1,839 @@ + + + + + + + +IntelliPhoto: IntelliImage Class Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ +

An abstract class which manages the basic IntelliImage operations. + More...

+ +

#include <IntelliImage.h>

+
+Inheritance diagram for IntelliImage:
+
+
Inheritance graph
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 IntelliImage (int weight, int height)
 The Construcor of the IntelliImage. Given the Image dimensions. More...
 
virtual ~IntelliImage ()=0
 An Abstract Destructor. More...
 
virtual void drawPixel (const QPoint &p1, const QColor &color)
 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...
 
virtual void drawPoint (const QPoint &p1, const QColor &color, const int &penWidth)
 A. More...
 
virtual void drawPlain (const QColor &color)
 A function that clears the whole image in a given Color. More...
 
virtual QImage getDisplayable (const QSize &displaySize, int alpha)=0
 A function returning the displayable ImageData in a requested transparence and size. More...
 
virtual QImage getDisplayable (int alpha=255)=0
 A function returning the displayable ImageData in a requested transparence and it's standart size. More...
 
virtual IntelliImagegetDeepCopy ()=0
 A function that copys all that returns a [allocated] Image. More...
 
virtual void calculateVisiblity ()=0
 An abstract function that calculates the visiblity of the Image data if needed. More...
 
virtual void setPolygon (const std::vector< QPoint > &polygonData)=0
 An abstract function that sets the data of the visible Polygon, if needed. More...
 
virtual std::vector< QPoint > getPolygonData ()
 A function that returns the Polygondata if existent. More...
 
virtual bool loadImage (const QString &fileName)
 A function that loads and sclaes an image to the fitting dimensions. More...
 
virtual QColor getPixelColor (QPoint &point)
 A function that returns the pixelcolor at a certain point. More...
 
+ + + +

+Protected Member Functions

void resizeImage (QImage *image, const QSize &newSize)
 
+ + + + +

+Protected Attributes

QImage imageData
 The underlying image data. More...
 
+

Detailed Description

+

An abstract class which manages the basic IntelliImage operations.

+ +

Definition at line 24 of file IntelliImage.h.

+

Constructor & Destructor Documentation

+ +

◆ IntelliImage()

+ +
+
+ + + + + + + + + + + + + + + + + + +
IntelliImage::IntelliImage (int weight,
int height 
)
+
+ +

The Construcor of the IntelliImage. Given the Image dimensions.

+
Parameters
+ + + +
weight- The weight of the Image.
height- The height of the Image.
+
+
+ +

Definition at line 5 of file IntelliImage.cpp.

+ +
+
+ +

◆ ~IntelliImage()

+ +
+
+ + + + + +
+ + + + + + + +
IntelliImage::~IntelliImage ()
+
+pure virtual
+
+ +

An Abstract Destructor.

+ +

Definition at line 10 of file IntelliImage.cpp.

+ +
+
+

Member Function Documentation

+ +

◆ calculateVisiblity()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void IntelliImage::calculateVisiblity ()
+
+pure virtual
+
+ +

An abstract function that calculates the visiblity of the Image data if needed.

+ +

Implemented in IntelliRasterImage.

+
+Here is the caller graph for this function:
+
+
+
+ +
+
+ +

◆ drawLine()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void IntelliImage::drawLine (const QPoint & p1,
const QPoint & p2,
const QColor & color,
const int & penWidth 
)
+
+virtual
+
+ +

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

+
Parameters
+ + + + + +
p1- The coordinates of the first Point.
p2- The coordinates of the second Point.
color- The color of the line.
penWidth- The width of the line.
+
+
+ +

Definition at line 65 of file IntelliImage.cpp.

+
+Here is the caller graph for this function:
+
+
+
+ +
+
+ +

◆ drawPixel()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliImage::drawPixel (const QPoint & p1,
const QColor & color 
)
+
+virtual
+
+ +

A funtcion used to draw a pixel on the Image with the given Color.

+
Parameters
+ + + +
p1- The coordinates of the pixel, which should be drawn. [Top-Left-System]
color- The color of the pixel.
+
+
+ +

Definition at line 44 of file IntelliImage.cpp.

+
+Here is the caller graph for this function:
+
+
+
+ +
+
+ +

◆ drawPlain()

+ +
+
+ + + + + +
+ + + + + + + + +
void IntelliImage::drawPlain (const QColor & color)
+
+virtual
+
+ +

A function that clears the whole image in a given Color.

+
Parameters
+ + +
color- The color, in which the image will be filled.
+
+
+ +

Definition at line 76 of file IntelliImage.cpp.

+
+Here is the caller graph for this function:
+
+
+
+ +
+
+ +

◆ drawPoint()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void IntelliImage::drawPoint (const QPoint & p1,
const QColor & color,
const int & penWidth 
)
+
+virtual
+
+ +

A.

+
Parameters
+ + + + +
p1
color
penWidth
+
+
+ +

Definition at line 55 of file IntelliImage.cpp.

+
+Here is the caller graph for this function:
+
+
+
+ +
+
+ +

◆ getDeepCopy()

+ +
+
+ + + + + +
+ + + + + + + +
virtual IntelliImage* IntelliImage::getDeepCopy ()
+
+pure virtual
+
+ +

A function that copys all that returns a [allocated] Image.

+
Returns
A [allocated] Image with all the properties of the instance.
+ +

Implemented in IntelliShapedImage, and IntelliRasterImage.

+ +
+
+ +

◆ getDisplayable() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual QImage IntelliImage::getDisplayable (const QSize & displaySize,
int alpha 
)
+
+pure virtual
+
+ +

A function returning the displayable ImageData in a requested transparence and size.

+
Parameters
+ + + +
displaySize- The size, in whcih the Image should be displayed.
alpha- The maximum alpha value, a pixel can have.
+
+
+
Returns
A QImage which is ready to be displayed.
+ +

Implemented in IntelliShapedImage, and IntelliRasterImage.

+ +
+
+ +

◆ getDisplayable() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
virtual QImage IntelliImage::getDisplayable (int alpha = 255)
+
+pure virtual
+
+ +

A function returning the displayable ImageData in a requested transparence and it's standart size.

+
Parameters
+ + +
alpha- The maximum alpha value, a pixel can have.
+
+
+
Returns
A QImage which is ready to be displayed.
+ +

Implemented in IntelliShapedImage, and IntelliRasterImage.

+ +
+
+ +

◆ getPixelColor()

+ +
+
+ + + + + +
+ + + + + + + + +
QColor IntelliImage::getPixelColor (QPoint & point)
+
+virtual
+
+ +

A function that returns the pixelcolor at a certain point.

+
Parameters
+ + +
point- The point from whcih to get the coordinates.
+
+
+
Returns
The color of the Pixel as QColor.
+ +

Definition at line 80 of file IntelliImage.cpp.

+
+Here is the caller graph for this function:
+
+
+
+ +
+
+ +

◆ getPolygonData()

+ +
+
+ + + + + +
+ + + + + + + +
virtual std::vector<QPoint> IntelliImage::getPolygonData ()
+
+inlinevirtual
+
+ +

A function that returns the Polygondata if existent.

+
Returns
The Polygondata if existent.
+ +

Reimplemented in IntelliShapedImage.

+ +

Definition at line 113 of file IntelliImage.h.

+ +
+
+ +

◆ loadImage()

+ +
+
+ + + + + +
+ + + + + + + + +
bool IntelliImage::loadImage (const QString & fileName)
+
+virtual
+
+ +

A function that loads and sclaes an image to the fitting dimensions.

+
Parameters
+ + +
fileName- The path+name of the image which to loaded.
+
+
+
Returns
True if the image could be loaded, false otherwise.
+ +

Definition at line 14 of file IntelliImage.cpp.

+
+Here is the caller graph for this function:
+
+
+
+ +
+
+ +

◆ resizeImage()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliImage::resizeImage (QImage * image,
const QSize & newSize 
)
+
+protected
+
+ +

Definition at line 29 of file IntelliImage.cpp.

+ +
+
+ +

◆ setPolygon()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual void IntelliImage::setPolygon (const std::vector< QPoint > & polygonData)
+
+pure virtual
+
+ +

An abstract function that sets the data of the visible Polygon, if needed.

+
Parameters
+ + +
polygonData- The Vertices of the Polygon. Just Planar Polygons are allowed.
+
+
+ +

Implemented in IntelliShapedImage, and IntelliRasterImage.

+ +
+
+

Member Data Documentation

+ +

◆ imageData

+ +
+
+ + + + + +
+ + + + +
QImage IntelliImage::imageData
+
+protected
+
+ +

The underlying image data.

+ +

Definition at line 32 of file IntelliImage.h.

+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + diff --git a/docs/html/class_intelli_image.js b/docs/html/class_intelli_image.js new file mode 100644 index 0000000..2f5a6ea --- /dev/null +++ b/docs/html/class_intelli_image.js @@ -0,0 +1,19 @@ +var class_intelli_image = +[ + [ "IntelliImage", "class_intelli_image.html#a47084f1cb668ea0242ab95162cf9e902", null ], + [ "~IntelliImage", "class_intelli_image.html#ac398bfa9ddd3185508a1e36ee15d80cc", null ], + [ "calculateVisiblity", "class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2", null ], + [ "drawLine", "class_intelli_image.html#af8eddbd9aa54c8d37590d1d4bf8dce31", null ], + [ "drawPixel", "class_intelli_image.html#af3c859f5c409e37051edfd9e9fbca056", null ], + [ "drawPlain", "class_intelli_image.html#a6be622810dc2bc756054bb5769becb06", null ], + [ "drawPoint", "class_intelli_image.html#a2e787f1b333b59401643936ebb3dcfe1", null ], + [ "getDeepCopy", "class_intelli_image.html#af6381067bdf565669f856bb589008ae9", null ], + [ "getDisplayable", "class_intelli_image.html#a21c7e65b59a26db45aac3880133ef21d", null ], + [ "getDisplayable", "class_intelli_image.html#a9d4daf3c48c64695105689f61c21bae0", null ], + [ "getPixelColor", "class_intelli_image.html#a4576ebb6d863321c816293d7b7f9fd3f", null ], + [ "getPolygonData", "class_intelli_image.html#aaf9f3e8db8666850024bee9aad9966ba", null ], + [ "loadImage", "class_intelli_image.html#aec0e9c8184d89dee33fd9adefbd2f8aa", null ], + [ "resizeImage", "class_intelli_image.html#a177403ab9585d4ba31984a644c54d310", null ], + [ "setPolygon", "class_intelli_image.html#aa4b3f4631bd972456917275afb9fd309", null ], + [ "imageData", "class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2", null ] +]; \ No newline at end of file diff --git a/docs/html/class_intelli_image__inherit__graph.dot b/docs/html/class_intelli_image__inherit__graph.dot new file mode 100644 index 0000000..229af0f --- /dev/null +++ b/docs/html/class_intelli_image__inherit__graph.dot @@ -0,0 +1,11 @@ +digraph "IntelliImage" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="IntelliImage",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="An abstract class which manages the basic IntelliImage operations."]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliRasterImage",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_raster_image.html",tooltip="The IntelliRasterImage manages a Rasterimage."]; + Node2 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliShapedImage",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_shaped_image.html",tooltip="The IntelliShapedImage manages a Shapedimage."]; +} diff --git a/docs/html/class_intelli_image_a2e787f1b333b59401643936ebb3dcfe1_icgraph.dot b/docs/html/class_intelli_image_a2e787f1b333b59401643936ebb3dcfe1_icgraph.dot new file mode 100644 index 0000000..40e51a4 --- /dev/null +++ b/docs/html/class_intelli_image_a2e787f1b333b59401643936ebb3dcfe1_icgraph.dot @@ -0,0 +1,12 @@ +digraph "IntelliImage::drawPoint" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="RL"; + Node1 [label="IntelliImage::drawPoint",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A."]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliToolPolygon\l::onMouseLeftPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_polygon.html#ad5d3b741be6d0647a9cdc9da2cb8bc3d",tooltip="A function managing the left click pressed of a mouse. Setting polygon points."]; + Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliToolLine::onMouse\lLeftPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_line.html#a155d676a5f98311217eb095be4759846",tooltip="A function managing the left click pressed of a mouse. Sets the starting point of the line."]; +} diff --git a/docs/html/class_intelli_image_a4576ebb6d863321c816293d7b7f9fd3f_icgraph.dot b/docs/html/class_intelli_image_a4576ebb6d863321c816293d7b7f9fd3f_icgraph.dot new file mode 100644 index 0000000..c27fd6d --- /dev/null +++ b/docs/html/class_intelli_image_a4576ebb6d863321c816293d7b7f9fd3f_icgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliImage::getPixelColor" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="RL"; + Node1 [label="IntelliImage::getPixelColor",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function that returns the pixelcolor at a certain point."]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliToolFloodFill\l::onMouseLeftPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_flood_fill.html#ac85e3cb6233508ff9612833a8d9e3961",tooltip="A function managing the left click pressed of a mouse. Sets the point to flood fill around and does t..."]; +} diff --git a/docs/html/class_intelli_image_a6be622810dc2bc756054bb5769becb06_icgraph.dot b/docs/html/class_intelli_image_a6be622810dc2bc756054bb5769becb06_icgraph.dot new file mode 100644 index 0000000..ac57cc0 --- /dev/null +++ b/docs/html/class_intelli_image_a6be622810dc2bc756054bb5769becb06_icgraph.dot @@ -0,0 +1,18 @@ +digraph "IntelliImage::drawPlain" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="RL"; + Node1 [label="IntelliImage::drawPlain",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function that clears the whole image in a given Color."]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="PaintingArea::floodFill",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_painting_area.html#aeb5eb394b979ea90f2be9849fdda1774",tooltip="The floodFill method fills a the active layer with a given color."]; + Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliToolPlainTool\l::onMouseLeftPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_plain_tool.html#ab786dd5fa80af863246013d43c4b7ac9",tooltip="A function managing the left click pressed of a mouse. Filling the whole canvas."]; + Node1 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="IntelliToolRectangle\l::onMouseMoved",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_rectangle.html#a4b5931071e21eb6949ffe357315e408b",tooltip="A function managing the mouse moved event.Drawing a rectangle to currrent mouse position."]; + Node1 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="IntelliToolCircle::\lonMouseMoved",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_circle.html#a90ee58c5390a86afc75c14ca79b91d7b",tooltip="A function managing the mouse moved event. Draws a circle with radius of eulerian norm of mouse posit..."]; + Node1 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="IntelliToolLine::onMouse\lMoved",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_line.html#abc6324ef0778823fe7e35aef8ae37f9b",tooltip="A function managing the mouse moved event. Drawing a Line from the startpoint to the current mouse po..."]; +} diff --git a/docs/html/class_intelli_image_aebbced93f4744fad81b7f141b21f4ab2_icgraph.dot b/docs/html/class_intelli_image_aebbced93f4744fad81b7f141b21f4ab2_icgraph.dot new file mode 100644 index 0000000..8765154 --- /dev/null +++ b/docs/html/class_intelli_image_aebbced93f4744fad81b7f141b21f4ab2_icgraph.dot @@ -0,0 +1,71 @@ +digraph "IntelliImage::calculateVisiblity" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="RL"; + Node1 [label="IntelliImage::calculateVisiblity",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="An abstract function that calculates the visiblity of the Image data if needed."]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliToolPlainTool\l::onMouseLeftPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_plain_tool.html#ab786dd5fa80af863246013d43c4b7ac9",tooltip="A function managing the left click pressed of a mouse. Filling the whole canvas."]; + Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliToolFloodFill\l::onMouseLeftPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_flood_fill.html#ac85e3cb6233508ff9612833a8d9e3961",tooltip="A function managing the left click pressed of a mouse. Sets the point to flood fill around and does t..."]; + Node1 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="IntelliToolPen::onMouseLeft\lPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_pen.html#a8ff40aef6d38eb55af31a19322429205",tooltip="A function managing the left click pressed of a mouse. Starting the drawing procedure."]; + Node1 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="IntelliToolRectangle\l::onMouseLeftPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_rectangle.html#ae03c307ccf66cbe3fd59e3657712368d",tooltip="A function managing the left click pressed of a mouse. Setting the originCorner and draws a rectangle..."]; + Node1 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="IntelliToolPolygon\l::onMouseLeftPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_polygon.html#ad5d3b741be6d0647a9cdc9da2cb8bc3d",tooltip="A function managing the left click pressed of a mouse. Setting polygon points."]; + Node1 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="IntelliToolCircle::\lonMouseLeftPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_circle.html#ae883b8ae833c78a8867e626c600f9639",tooltip="A function managing the left click pressed of a mouse. Sets the middle point of the cricle."]; + Node1 -> Node8 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 [label="IntelliToolLine::onMouse\lLeftPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_line.html#a155d676a5f98311217eb095be4759846",tooltip="A function managing the left click pressed of a mouse. Sets the starting point of the line."]; + Node1 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 [label="IntelliTool::onMouseLeft\lPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a34b7ef1dde96b94a0ce450a25ae1778c",tooltip="A function managing the left click Pressed of a Mouse. Resetting the current draw...."]; + Node9 -> Node10 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node10 [label="PaintingArea::mousePress\lEvent",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_painting_area.html#abfe445f8d9b70ae42bfeda874127dd15",tooltip=" "]; + Node9 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 -> Node8 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 -> Node11 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node11 [label="IntelliTool::onMouseLeft\lReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a906a2575c16c8a33cb2a5197f8d8cc5b",tooltip="A function managing the left click Released of a Mouse. Call this in child classes!"]; + Node11 -> Node12 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node12 [label="PaintingArea::mouseRelease\lEvent",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_painting_area.html#a35b5df914acb608cc29717659793359c",tooltip=" "]; + Node11 -> Node13 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 [label="IntelliToolPlainTool\l::onMouseLeftReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_plain_tool.html#ac23f5d0f07e42fd7c2ea3fc1347da400",tooltip="A function managing the left click released of a mouse. Merging the fill to the active layer."]; + Node11 -> Node14 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node14 [label="IntelliToolFloodFill\l::onMouseLeftReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_flood_fill.html#a7438ef96c6c36068bce76e2364e8594c",tooltip="A function managing the left click released of a mouse."]; + Node11 -> Node15 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node15 [label="IntelliToolPen::onMouseLeft\lReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_pen.html#abda7a22b9766fa4ad254324a53cab94d",tooltip="A function managing the left click released of a mouse. Merging the drawing to the active layer."]; + Node11 -> Node16 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node16 [label="IntelliToolRectangle\l::onMouseLeftReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_rectangle.html#a94460e3ff1c19e80bde922c55f53cc43",tooltip="A function managing the left click released of a mouse. Merging the draw to the active layer."]; + Node11 -> Node17 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node17 [label="IntelliToolCircle::\lonMouseLeftReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_circle.html#ad8e438ec997c57262b5efc2db4cee1a3",tooltip="A function managing the left click released of a mouse."]; + Node11 -> Node18 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node18 [label="IntelliToolPolygon\l::onMouseLeftReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_polygon.html#a4e1473ff408ae2e11cf6a43f6f575f21",tooltip="A function managing the left click released of a mouse. Merging the fill to the active layer."]; + Node11 -> Node19 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node19 [label="IntelliToolLine::onMouse\lLeftReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_line.html#ac93f76ff20a1c111a403b298bab02482",tooltip="A function managing the left click released of a mouse."]; + Node1 -> Node20 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node20 [label="IntelliTool::onMouseMoved",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#ac10e20414cd8855a2f9b103fb6408639",tooltip="A function managing the mouse moved event. Call this in child classes!"]; + Node20 -> Node21 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node21 [label="PaintingArea::mouseMoveEvent",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_painting_area.html#aa22e274b6094a9619f196cd7b49526b5",tooltip=" "]; + Node20 -> Node22 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node22 [label="IntelliToolPlainTool\l::onMouseMoved",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_plain_tool.html#ad7546a6335bb3bb4cbf0e1883788d41c",tooltip="A function managing the mouse moved event."]; + Node20 -> Node23 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node23 [label="IntelliToolFloodFill\l::onMouseMoved",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_flood_fill.html#a3cd42cea99bc7583875abcc0c274c668",tooltip="A function managing the mouse moved event."]; + Node20 -> Node24 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node24 [label="IntelliToolPen::onMouseMoved",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_pen.html#a58d1d636497b630647ce0c4d652737c2",tooltip="A function managing the mouse moved event. To draw the line."]; + Node20 -> Node25 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node25 [label="IntelliToolRectangle\l::onMouseMoved",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_rectangle.html#a4b5931071e21eb6949ffe357315e408b",tooltip="A function managing the mouse moved event.Drawing a rectangle to currrent mouse position."]; + Node20 -> Node26 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node26 [label="IntelliToolCircle::\lonMouseMoved",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_circle.html#a90ee58c5390a86afc75c14ca79b91d7b",tooltip="A function managing the mouse moved event. Draws a circle with radius of eulerian norm of mouse posit..."]; + Node20 -> Node27 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node27 [label="IntelliToolLine::onMouse\lMoved",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_line.html#abc6324ef0778823fe7e35aef8ae37f9b",tooltip="A function managing the mouse moved event. Drawing a Line from the startpoint to the current mouse po..."]; + Node20 -> Node28 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node28 [label="IntelliToolPolygon\l::onMouseMoved",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_polygon.html#a0e3a1135f04c73c159137ae219a38922",tooltip="A function managing the mouse moved event."]; + Node1 -> Node29 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node29 [label="PaintingArea::open",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_painting_area.html#a1f597740b4d7b4bc2e24c51f8cb0b6eb",tooltip="The open method is used for loading a picture into the current layer."]; +} diff --git a/docs/html/class_intelli_image_aec0e9c8184d89dee33fd9adefbd2f8aa_icgraph.dot b/docs/html/class_intelli_image_aec0e9c8184d89dee33fd9adefbd2f8aa_icgraph.dot new file mode 100644 index 0000000..4e1d41c --- /dev/null +++ b/docs/html/class_intelli_image_aec0e9c8184d89dee33fd9adefbd2f8aa_icgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliImage::loadImage" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="RL"; + Node1 [label="IntelliImage::loadImage",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function that loads and sclaes an image to the fitting dimensions."]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="PaintingArea::open",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_painting_area.html#a1f597740b4d7b4bc2e24c51f8cb0b6eb",tooltip="The open method is used for loading a picture into the current layer."]; +} diff --git a/docs/html/class_intelli_image_af3c859f5c409e37051edfd9e9fbca056_icgraph.dot b/docs/html/class_intelli_image_af3c859f5c409e37051edfd9e9fbca056_icgraph.dot new file mode 100644 index 0000000..09a88c6 --- /dev/null +++ b/docs/html/class_intelli_image_af3c859f5c409e37051edfd9e9fbca056_icgraph.dot @@ -0,0 +1,14 @@ +digraph "IntelliImage::drawPixel" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="RL"; + Node1 [label="IntelliImage::drawPixel",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A funtcion used to draw a pixel on the Image with the given Color."]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliToolFloodFill\l::onMouseLeftPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_flood_fill.html#ac85e3cb6233508ff9612833a8d9e3961",tooltip="A function managing the left click pressed of a mouse. Sets the point to flood fill around and does t..."]; + Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliToolPen::onMouseLeft\lPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_pen.html#a8ff40aef6d38eb55af31a19322429205",tooltip="A function managing the left click pressed of a mouse. Starting the drawing procedure."]; + Node1 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="IntelliToolPolygon\l::onMouseLeftReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_polygon.html#a4e1473ff408ae2e11cf6a43f6f575f21",tooltip="A function managing the left click released of a mouse. Merging the fill to the active layer."]; +} diff --git a/docs/html/class_intelli_image_af8eddbd9aa54c8d37590d1d4bf8dce31_icgraph.dot b/docs/html/class_intelli_image_af8eddbd9aa54c8d37590d1d4bf8dce31_icgraph.dot new file mode 100644 index 0000000..1ba597e --- /dev/null +++ b/docs/html/class_intelli_image_af8eddbd9aa54c8d37590d1d4bf8dce31_icgraph.dot @@ -0,0 +1,16 @@ +digraph "IntelliImage::drawLine" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="RL"; + Node1 [label="IntelliImage::drawLine",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function that draws A Line between two given Points in a given color."]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliToolPolygon\l::onMouseLeftPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_polygon.html#ad5d3b741be6d0647a9cdc9da2cb8bc3d",tooltip="A function managing the left click pressed of a mouse. Setting polygon points."]; + Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliToolPolygon\l::onMouseLeftReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_polygon.html#a4e1473ff408ae2e11cf6a43f6f575f21",tooltip="A function managing the left click released of a mouse. Merging the fill to the active layer."]; + Node1 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="IntelliToolPen::onMouseMoved",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_pen.html#a58d1d636497b630647ce0c4d652737c2",tooltip="A function managing the mouse moved event. To draw the line."]; + Node1 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="IntelliToolLine::onMouse\lMoved",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_line.html#abc6324ef0778823fe7e35aef8ae37f9b",tooltip="A function managing the mouse moved event. Drawing a Line from the startpoint to the current mouse po..."]; +} diff --git a/docs/html/class_intelli_photo_gui-members.html b/docs/html/class_intelli_photo_gui-members.html new file mode 100644 index 0000000..bbb5fa7 --- /dev/null +++ b/docs/html/class_intelli_photo_gui-members.html @@ -0,0 +1,109 @@ + + + + + + + +IntelliPhoto: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliPhotoGui Member List
+
+
+ +

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

+ + + +
closeEvent(QCloseEvent *event) overrideIntelliPhotoGuiprotected
IntelliPhotoGui()IntelliPhotoGui
+
+ + + + diff --git a/docs/html/class_intelli_photo_gui.html b/docs/html/class_intelli_photo_gui.html new file mode 100644 index 0000000..1ea221b --- /dev/null +++ b/docs/html/class_intelli_photo_gui.html @@ -0,0 +1,195 @@ + + + + + + + +IntelliPhoto: IntelliPhotoGui Class Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
IntelliPhotoGui Class Reference
+
+
+ +

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

+ +

#include <IntelliPhotoGui.h>

+
+Inheritance diagram for IntelliPhotoGui:
+
+
Inheritance graph
+
[legend]
+
+Collaboration diagram for IntelliPhotoGui:
+
+
Collaboration graph
+
[legend]
+ + + + + +

+Public Member Functions

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

+Protected Member Functions

void closeEvent (QCloseEvent *event) override
 
+

Detailed Description

+

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

+ +

Definition at line 22 of file IntelliPhotoGui.h.

+

Constructor & Destructor Documentation

+ +

◆ IntelliPhotoGui()

+ +
+
+ + + + + + + +
IntelliPhotoGui::IntelliPhotoGui ()
+
+ +

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

+ +

Definition at line 10 of file IntelliPhotoGui.cpp.

+ +
+
+

Member Function Documentation

+ +

◆ closeEvent()

+ +
+
+ + + + + +
+ + + + + + + + +
void IntelliPhotoGui::closeEvent (QCloseEvent * event)
+
+overrideprotected
+
+ +

Definition at line 26 of file IntelliPhotoGui.cpp.

+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + diff --git a/docs/html/class_intelli_photo_gui.js b/docs/html/class_intelli_photo_gui.js new file mode 100644 index 0000000..2c41940 --- /dev/null +++ b/docs/html/class_intelli_photo_gui.js @@ -0,0 +1,5 @@ +var class_intelli_photo_gui = +[ + [ "IntelliPhotoGui", "class_intelli_photo_gui.html#ad2aaec3c1517a9aaa461b54e341b97e0", null ], + [ "closeEvent", "class_intelli_photo_gui.html#a2cf48070236ae8b35245e7f30482ef13", null ] +]; \ No newline at end of file diff --git a/docs/html/class_intelli_photo_gui__coll__graph.dot b/docs/html/class_intelli_photo_gui__coll__graph.dot new file mode 100644 index 0000000..3aec454 --- /dev/null +++ b/docs/html/class_intelli_photo_gui__coll__graph.dot @@ -0,0 +1,9 @@ +digraph "IntelliPhotoGui" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="IntelliPhotoGui",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="The IntelliPhotoGui class handles the graphical user interface for the intelliPhoto program."]; + Node2 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="QMainWindow",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; +} diff --git a/docs/html/class_intelli_photo_gui__inherit__graph.dot b/docs/html/class_intelli_photo_gui__inherit__graph.dot new file mode 100644 index 0000000..3aec454 --- /dev/null +++ b/docs/html/class_intelli_photo_gui__inherit__graph.dot @@ -0,0 +1,9 @@ +digraph "IntelliPhotoGui" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="IntelliPhotoGui",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="The IntelliPhotoGui class handles the graphical user interface for the intelliPhoto program."]; + Node2 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="QMainWindow",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; +} diff --git a/docs/html/class_intelli_raster_image-members.html b/docs/html/class_intelli_raster_image-members.html new file mode 100644 index 0000000..b029ead --- /dev/null +++ b/docs/html/class_intelli_raster_image-members.html @@ -0,0 +1,125 @@ + + + + + + + +IntelliPhoto: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliRasterImage Member List
+
+
+ +

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

+ + + + + + + + + + + + + + + + + + + +
calculateVisiblity() overrideIntelliRasterImageprotectedvirtual
drawLine(const QPoint &p1, const QPoint &p2, const QColor &color, const int &penWidth)IntelliImagevirtual
drawPixel(const QPoint &p1, const QColor &color)IntelliImagevirtual
drawPlain(const QColor &color)IntelliImagevirtual
drawPoint(const QPoint &p1, const QColor &color, const int &penWidth)IntelliImagevirtual
getDeepCopy() overrideIntelliRasterImagevirtual
getDisplayable(const QSize &displaySize, int alpha) overrideIntelliRasterImagevirtual
getDisplayable(int alpha=255) overrideIntelliRasterImagevirtual
getPixelColor(QPoint &point)IntelliImagevirtual
getPolygonData()IntelliImageinlinevirtual
imageDataIntelliImageprotected
IntelliImage(int weight, int height)IntelliImage
IntelliRasterImage(int weight, int height)IntelliRasterImage
loadImage(const QString &fileName)IntelliImagevirtual
resizeImage(QImage *image, const QSize &newSize)IntelliImageprotected
setPolygon(const std::vector< QPoint > &polygonData) overrideIntelliRasterImagevirtual
~IntelliImage()=0IntelliImagepure virtual
~IntelliRasterImage() overrideIntelliRasterImagevirtual
+
+ + + + diff --git a/docs/html/class_intelli_raster_image.html b/docs/html/class_intelli_raster_image.html new file mode 100644 index 0000000..010eecb --- /dev/null +++ b/docs/html/class_intelli_raster_image.html @@ -0,0 +1,486 @@ + + + + + + + +IntelliPhoto: IntelliRasterImage Class Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
IntelliRasterImage Class Reference
+
+
+ +

The IntelliRasterImage manages a Rasterimage. + More...

+ +

#include <IntelliRasterImage.h>

+
+Inheritance diagram for IntelliRasterImage:
+
+
Inheritance graph
+
[legend]
+
+Collaboration diagram for IntelliRasterImage:
+
+
Collaboration graph
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 IntelliRasterImage (int weight, int height)
 The Construcor of the IntelliRasterImage. Given the Image dimensions. More...
 
virtual ~IntelliRasterImage () override
 An Destructor. More...
 
virtual QImage getDisplayable (const QSize &displaySize, int alpha) override
 A function returning the displayable ImageData in a requested transparence and size. More...
 
virtual QImage getDisplayable (int alpha=255) override
 A function returning the displayable ImageData in a requested transparence and it's standart size. More...
 
virtual IntelliImagegetDeepCopy () override
 A function that copys all that returns a [allocated] Image. More...
 
virtual void setPolygon (const std::vector< QPoint > &polygonData) override
 An abstract function that sets the data of the visible Polygon, if needed. More...
 
- Public Member Functions inherited from IntelliImage
 IntelliImage (int weight, int height)
 The Construcor of the IntelliImage. Given the Image dimensions. More...
 
virtual ~IntelliImage ()=0
 An Abstract Destructor. More...
 
virtual void drawPixel (const QPoint &p1, const QColor &color)
 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...
 
virtual void drawPoint (const QPoint &p1, const QColor &color, const int &penWidth)
 A. More...
 
virtual void drawPlain (const QColor &color)
 A function that clears the whole image in a given Color. More...
 
virtual std::vector< QPoint > getPolygonData ()
 A function that returns the Polygondata if existent. More...
 
virtual bool loadImage (const QString &fileName)
 A function that loads and sclaes an image to the fitting dimensions. More...
 
virtual QColor getPixelColor (QPoint &point)
 A function that returns the pixelcolor at a certain point. More...
 
+ + + + + + + +

+Protected Member Functions

virtual void calculateVisiblity () override
 A function that calculates the visibility of the image if a polygon is given. [does nothing in Rasterimage]. More...
 
- Protected Member Functions inherited from IntelliImage
void resizeImage (QImage *image, const QSize &newSize)
 
+ + + + + +

+Additional Inherited Members

- Protected Attributes inherited from IntelliImage
QImage imageData
 The underlying image data. More...
 
+

Detailed Description

+

The IntelliRasterImage manages a Rasterimage.

+ +

Definition at line 9 of file IntelliRasterImage.h.

+

Constructor & Destructor Documentation

+ +

◆ IntelliRasterImage()

+ +
+
+ + + + + + + + + + + + + + + + + + +
IntelliRasterImage::IntelliRasterImage (int weight,
int height 
)
+
+ +

The Construcor of the IntelliRasterImage. Given the Image dimensions.

+
Parameters
+ + + +
weight- The weight of the Image.
height- The height of the Image.
+
+
+ +

Definition at line 6 of file IntelliRasterImage.cpp.

+
+Here is the caller graph for this function:
+
+
+
+ +
+
+ +

◆ ~IntelliRasterImage()

+ +
+
+ + + + + +
+ + + + + + + +
IntelliRasterImage::~IntelliRasterImage ()
+
+overridevirtual
+
+ +

An Destructor.

+ +

Definition at line 11 of file IntelliRasterImage.cpp.

+ +
+
+

Member Function Documentation

+ +

◆ calculateVisiblity()

+ +
+
+ + + + + +
+ + + + + + + +
void IntelliRasterImage::calculateVisiblity ()
+
+overrideprotectedvirtual
+
+ +

A function that calculates the visibility of the image if a polygon is given. [does nothing in Rasterimage].

+ +

Implements IntelliImage.

+ +

Definition at line 21 of file IntelliRasterImage.cpp.

+ +
+
+ +

◆ getDeepCopy()

+ +
+
+ + + + + +
+ + + + + + + +
IntelliImage * IntelliRasterImage::getDeepCopy ()
+
+overridevirtual
+
+ +

A function that copys all that returns a [allocated] Image.

+
Returns
A [allocated] Image with all the properties of the instance.
+ +

Implements IntelliImage.

+ +

Reimplemented in IntelliShapedImage.

+ +

Definition at line 15 of file IntelliRasterImage.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ getDisplayable() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
QImage IntelliRasterImage::getDisplayable (const QSize & displaySize,
int alpha 
)
+
+overridevirtual
+
+ +

A function returning the displayable ImageData in a requested transparence and size.

+
Parameters
+ + + +
displaySize- The size, in whcih the Image should be displayed.
alpha- The maximum alpha value, a pixel can have.
+
+
+
Returns
A QImage which is ready to be displayed.
+ +

Implements IntelliImage.

+ +

Reimplemented in IntelliShapedImage.

+ +

Definition at line 29 of file IntelliRasterImage.cpp.

+
+Here is the caller graph for this function:
+
+
+
+ +
+
+ +

◆ getDisplayable() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
QImage IntelliRasterImage::getDisplayable (int alpha = 255)
+
+overridevirtual
+
+ +

A function returning the displayable ImageData in a requested transparence and it's standart size.

+
Parameters
+ + +
alpha- The maximum alpha value, a pixel can have.
+
+
+
Returns
A QImage which is ready to be displayed.
+ +

Implements IntelliImage.

+ +

Reimplemented in IntelliShapedImage.

+ +

Definition at line 25 of file IntelliRasterImage.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ setPolygon()

+ +
+
+ + + + + +
+ + + + + + + + +
void IntelliRasterImage::setPolygon (const std::vector< QPoint > & polygonData)
+
+overridevirtual
+
+ +

An abstract function that sets the data of the visible Polygon, if needed.

+
Parameters
+ + +
polygonData- The Vertices of the Polygon. Nothing happens.
+
+
+ +

Implements IntelliImage.

+ +

Reimplemented in IntelliShapedImage.

+ +

Definition at line 41 of file IntelliRasterImage.cpp.

+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + diff --git a/docs/html/class_intelli_raster_image.js b/docs/html/class_intelli_raster_image.js new file mode 100644 index 0000000..10b0061 --- /dev/null +++ b/docs/html/class_intelli_raster_image.js @@ -0,0 +1,10 @@ +var class_intelli_raster_image = +[ + [ "IntelliRasterImage", "class_intelli_raster_image.html#aad9b561fe499a4da3c6ef98971aa3468", null ], + [ "~IntelliRasterImage", "class_intelli_raster_image.html#a844a2b58c43f7e01f2ca116286371bc8", null ], + [ "calculateVisiblity", "class_intelli_raster_image.html#a87cf2d360c129d64a5db0db85818eb60", null ], + [ "getDeepCopy", "class_intelli_raster_image.html#a8f901301b106504de3c27308ade897dc", null ], + [ "getDisplayable", "class_intelli_raster_image.html#ae43393397b0141a8033fe34d3a1b1884", null ], + [ "getDisplayable", "class_intelli_raster_image.html#a612d79124f0e2c158a4f0abbe4b5f97f", null ], + [ "setPolygon", "class_intelli_raster_image.html#a6462fa5f94c5e64e9e1f0c4658e0507b", null ] +]; \ No newline at end of file diff --git a/docs/html/class_intelli_raster_image__coll__graph.dot b/docs/html/class_intelli_raster_image__coll__graph.dot new file mode 100644 index 0000000..2a1af2b --- /dev/null +++ b/docs/html/class_intelli_raster_image__coll__graph.dot @@ -0,0 +1,9 @@ +digraph "IntelliRasterImage" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="IntelliRasterImage",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="The IntelliRasterImage manages a Rasterimage."]; + Node2 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliImage",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html",tooltip="An abstract class which manages the basic IntelliImage operations."]; +} diff --git a/docs/html/class_intelli_raster_image__inherit__graph.dot b/docs/html/class_intelli_raster_image__inherit__graph.dot new file mode 100644 index 0000000..c758aae --- /dev/null +++ b/docs/html/class_intelli_raster_image__inherit__graph.dot @@ -0,0 +1,11 @@ +digraph "IntelliRasterImage" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="IntelliRasterImage",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="The IntelliRasterImage manages a Rasterimage."]; + Node2 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliImage",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html",tooltip="An abstract class which manages the basic IntelliImage operations."]; + Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliShapedImage",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_shaped_image.html",tooltip="The IntelliShapedImage manages a Shapedimage."]; +} diff --git a/docs/html/class_intelli_raster_image_a612d79124f0e2c158a4f0abbe4b5f97f_cgraph.dot b/docs/html/class_intelli_raster_image_a612d79124f0e2c158a4f0abbe4b5f97f_cgraph.dot new file mode 100644 index 0000000..6e31bb0 --- /dev/null +++ b/docs/html/class_intelli_raster_image_a612d79124f0e2c158a4f0abbe4b5f97f_cgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliRasterImage::getDisplayable" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliRasterImage\l::getDisplayable",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function returning the displayable ImageData in a requested transparence and it's standart size."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliRasterImage\l::getDisplayable",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_raster_image.html#ae43393397b0141a8033fe34d3a1b1884",tooltip="A function returning the displayable ImageData in a requested transparence and size."]; +} diff --git a/docs/html/class_intelli_raster_image_a8f901301b106504de3c27308ade897dc_cgraph.dot b/docs/html/class_intelli_raster_image_a8f901301b106504de3c27308ade897dc_cgraph.dot new file mode 100644 index 0000000..72001d8 --- /dev/null +++ b/docs/html/class_intelli_raster_image_a8f901301b106504de3c27308ade897dc_cgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliRasterImage::getDeepCopy" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliRasterImage\l::getDeepCopy",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function that copys all that returns a [allocated] Image."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliRasterImage\l::IntelliRasterImage",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_raster_image.html#aad9b561fe499a4da3c6ef98971aa3468",tooltip="The Construcor of the IntelliRasterImage. Given the Image dimensions."]; +} diff --git a/docs/html/class_intelli_raster_image_aad9b561fe499a4da3c6ef98971aa3468_icgraph.dot b/docs/html/class_intelli_raster_image_aad9b561fe499a4da3c6ef98971aa3468_icgraph.dot new file mode 100644 index 0000000..0fdfdea --- /dev/null +++ b/docs/html/class_intelli_raster_image_aad9b561fe499a4da3c6ef98971aa3468_icgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliRasterImage::IntelliRasterImage" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="RL"; + Node1 [label="IntelliRasterImage\l::IntelliRasterImage",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="The Construcor of the IntelliRasterImage. Given the Image dimensions."]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliRasterImage\l::getDeepCopy",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_raster_image.html#a8f901301b106504de3c27308ade897dc",tooltip="A function that copys all that returns a [allocated] Image."]; +} diff --git a/docs/html/class_intelli_raster_image_ae43393397b0141a8033fe34d3a1b1884_icgraph.dot b/docs/html/class_intelli_raster_image_ae43393397b0141a8033fe34d3a1b1884_icgraph.dot new file mode 100644 index 0000000..ab3c96f --- /dev/null +++ b/docs/html/class_intelli_raster_image_ae43393397b0141a8033fe34d3a1b1884_icgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliRasterImage::getDisplayable" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="RL"; + Node1 [label="IntelliRasterImage\l::getDisplayable",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function returning the displayable ImageData in a requested transparence and size."]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliRasterImage\l::getDisplayable",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_raster_image.html#a612d79124f0e2c158a4f0abbe4b5f97f",tooltip="A function returning the displayable ImageData in a requested transparence and it's standart size."]; +} diff --git a/docs/html/class_intelli_shaped_image-members.html b/docs/html/class_intelli_shaped_image-members.html new file mode 100644 index 0000000..b2a018f --- /dev/null +++ b/docs/html/class_intelli_shaped_image-members.html @@ -0,0 +1,127 @@ + + + + + + + +IntelliPhoto: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliShapedImage Member List
+
+
+ +

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

+ + + + + + + + + + + + + + + + + + + + + +
drawLine(const QPoint &p1, const QPoint &p2, const QColor &color, const int &penWidth)IntelliImagevirtual
drawPixel(const QPoint &p1, const QColor &color)IntelliImagevirtual
drawPlain(const QColor &color)IntelliImagevirtual
drawPoint(const QPoint &p1, const QColor &color, const int &penWidth)IntelliImagevirtual
getDeepCopy() overrideIntelliShapedImagevirtual
getDisplayable(const QSize &displaySize, int alpha=255) overrideIntelliShapedImagevirtual
getDisplayable(int alpha=255) overrideIntelliShapedImagevirtual
getPixelColor(QPoint &point)IntelliImagevirtual
getPolygonData() overrideIntelliShapedImageinlinevirtual
imageDataIntelliImageprotected
IntelliImage(int weight, int height)IntelliImage
IntelliRasterImage(int weight, int height)IntelliRasterImage
IntelliShapedImage(int weight, int height)IntelliShapedImage
loadImage(const QString &fileName)IntelliImagevirtual
polygonDataIntelliShapedImageprotected
resizeImage(QImage *image, const QSize &newSize)IntelliImageprotected
setPolygon(const std::vector< QPoint > &polygonData) overrideIntelliShapedImagevirtual
~IntelliImage()=0IntelliImagepure virtual
~IntelliRasterImage() overrideIntelliRasterImagevirtual
~IntelliShapedImage() overrideIntelliShapedImagevirtual
+
+ + + + diff --git a/docs/html/class_intelli_shaped_image.html b/docs/html/class_intelli_shaped_image.html new file mode 100644 index 0000000..6fed452 --- /dev/null +++ b/docs/html/class_intelli_shaped_image.html @@ -0,0 +1,523 @@ + + + + + + + +IntelliPhoto: IntelliShapedImage Class Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
IntelliShapedImage Class Reference
+
+
+ +

The IntelliShapedImage manages a Shapedimage. + More...

+ +

#include <IntelliShapedImage.h>

+
+Inheritance diagram for IntelliShapedImage:
+
+
Inheritance graph
+
[legend]
+
+Collaboration diagram for IntelliShapedImage:
+
+
Collaboration graph
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 IntelliShapedImage (int weight, int height)
 The Construcor of the IntelliShapedImage. Given the Image dimensions. More...
 
virtual ~IntelliShapedImage () override
 An Destructor. More...
 
virtual QImage getDisplayable (const QSize &displaySize, int alpha=255) override
 A function returning the displayable ImageData in a requested transparence and size. More...
 
virtual QImage getDisplayable (int alpha=255) override
 A function returning the displayable ImageData in a requested transparence and it's standart size. More...
 
virtual IntelliImagegetDeepCopy () override
 A function that copys all that returns a [allocated] Image. More...
 
virtual std::vector< QPoint > getPolygonData () override
 A function that returns the Polygondata if existent. More...
 
virtual void setPolygon (const std::vector< QPoint > &polygonData) override
 A function that sets the data of the visible Polygon. More...
 
- Public Member Functions inherited from IntelliRasterImage
 IntelliRasterImage (int weight, int height)
 The Construcor of the IntelliRasterImage. Given the Image dimensions. More...
 
virtual ~IntelliRasterImage () override
 An Destructor. More...
 
- Public Member Functions inherited from IntelliImage
 IntelliImage (int weight, int height)
 The Construcor of the IntelliImage. Given the Image dimensions. More...
 
virtual ~IntelliImage ()=0
 An Abstract Destructor. More...
 
virtual void drawPixel (const QPoint &p1, const QColor &color)
 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...
 
virtual void drawPoint (const QPoint &p1, const QColor &color, const int &penWidth)
 A. More...
 
virtual void drawPlain (const QColor &color)
 A function that clears the whole image in a given Color. More...
 
virtual bool loadImage (const QString &fileName)
 A function that loads and sclaes an image to the fitting dimensions. More...
 
virtual QColor getPixelColor (QPoint &point)
 A function that returns the pixelcolor at a certain point. More...
 
+ + + + + + + + +

+Protected Attributes

std::vector< QPoint > polygonData
 The Vertices of The Polygon. Needs to be a planar Polygon. More...
 
- Protected Attributes inherited from IntelliImage
QImage imageData
 The underlying image data. More...
 
+ + + + +

+Additional Inherited Members

- Protected Member Functions inherited from IntelliImage
void resizeImage (QImage *image, const QSize &newSize)
 
+

Detailed Description

+

The IntelliShapedImage manages a Shapedimage.

+ +

Definition at line 11 of file IntelliShapedImage.h.

+

Constructor & Destructor Documentation

+ +

◆ IntelliShapedImage()

+ +
+
+ + + + + + + + + + + + + + + + + + +
IntelliShapedImage::IntelliShapedImage (int weight,
int height 
)
+
+ +

The Construcor of the IntelliShapedImage. Given the Image dimensions.

+
Parameters
+ + + +
weight- The weight of the Image.
height- The height of the Image.
+
+
+ +

Definition at line 7 of file IntelliShapedImage.cpp.

+
+Here is the caller graph for this function:
+
+
+
+ +
+
+ +

◆ ~IntelliShapedImage()

+ +
+
+ + + + + +
+ + + + + + + +
IntelliShapedImage::~IntelliShapedImage ()
+
+overridevirtual
+
+ +

An Destructor.

+ +

Definition at line 11 of file IntelliShapedImage.cpp.

+ +
+
+

Member Function Documentation

+ +

◆ getDeepCopy()

+ +
+
+ + + + + +
+ + + + + + + +
IntelliImage * IntelliShapedImage::getDeepCopy ()
+
+overridevirtual
+
+ +

A function that copys all that returns a [allocated] Image.

+
Returns
A [allocated] Image with all the properties of the instance.
+ +

Reimplemented from IntelliRasterImage.

+ +

Definition at line 19 of file IntelliShapedImage.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ getDisplayable() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
QImage IntelliShapedImage::getDisplayable (const QSize & displaySize,
int alpha = 255 
)
+
+overridevirtual
+
+ +

A function returning the displayable ImageData in a requested transparence and size.

+
Parameters
+ + + +
displaySize- The size, in whcih the Image should be displayed.
alpha- The maximum alpha value, a pixel can have.
+
+
+
Returns
A QImage which is ready to be displayed.
+ +

Reimplemented from IntelliRasterImage.

+ +

Definition at line 54 of file IntelliShapedImage.cpp.

+
+Here is the caller graph for this function:
+
+
+
+ +
+
+ +

◆ getDisplayable() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
QImage IntelliShapedImage::getDisplayable (int alpha = 255)
+
+overridevirtual
+
+ +

A function returning the displayable ImageData in a requested transparence and it's standart size.

+
Parameters
+ + +
alpha- The maximum alpha value, a pixel can have.
+
+
+
Returns
A QImage which is ready to be displayed.
+ +

Reimplemented from IntelliRasterImage.

+ +

Definition at line 15 of file IntelliShapedImage.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ getPolygonData()

+ +
+
+ + + + + +
+ + + + + + + +
virtual std::vector<QPoint> IntelliShapedImage::getPolygonData ()
+
+inlineoverridevirtual
+
+ +

A function that returns the Polygondata if existent.

+
Returns
The Polygondata if existent.
+ +

Reimplemented from IntelliImage.

+ +

Definition at line 67 of file IntelliShapedImage.h.

+ +
+
+ +

◆ setPolygon()

+ +
+
+ + + + + +
+ + + + + + + + +
void IntelliShapedImage::setPolygon (const std::vector< QPoint > & polygonData)
+
+overridevirtual
+
+ +

A function that sets the data of the visible Polygon.

+
Parameters
+ + +
polygonData- The Vertices of the Polygon. Just Planar Polygons are allowed.
+
+
+ +

Reimplemented from IntelliRasterImage.

+ +

Definition at line 66 of file IntelliShapedImage.cpp.

+
+Here is the call graph for this function:
+
+
+
+
+Here is the caller graph for this function:
+
+
+
+ +
+
+

Member Data Documentation

+ +

◆ polygonData

+ +
+
+ + + + + +
+ + + + +
std::vector<QPoint> IntelliShapedImage::polygonData
+
+protected
+
+ +

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

+ +

Definition at line 28 of file IntelliShapedImage.h.

+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + diff --git a/docs/html/class_intelli_shaped_image.js b/docs/html/class_intelli_shaped_image.js new file mode 100644 index 0000000..dead858 --- /dev/null +++ b/docs/html/class_intelli_shaped_image.js @@ -0,0 +1,11 @@ +var class_intelli_shaped_image = +[ + [ "IntelliShapedImage", "class_intelli_shaped_image.html#a0f834c3f255baeb50c98ef335a6d0ea9", null ], + [ "~IntelliShapedImage", "class_intelli_shaped_image.html#a43d63d8a814852d377ee2030658fbab9", null ], + [ "getDeepCopy", "class_intelli_shaped_image.html#aed0b31e0fa771104399d1f5ff39a0337", null ], + [ "getDisplayable", "class_intelli_shaped_image.html#a68cf374247c16f07fd84d50e4cd05630", null ], + [ "getDisplayable", "class_intelli_shaped_image.html#ac6a99e1a96134073bceea252b37636cc", null ], + [ "getPolygonData", "class_intelli_shaped_image.html#ae4518c7f5a105cc4f33fabb60c794a93", null ], + [ "setPolygon", "class_intelli_shaped_image.html#a4b69d75de7a3b85032482982f249458e", null ], + [ "polygonData", "class_intelli_shaped_image.html#a727d19ce314c0874be6b0633a3a603c8", null ] +]; \ No newline at end of file diff --git a/docs/html/class_intelli_shaped_image__coll__graph.dot b/docs/html/class_intelli_shaped_image__coll__graph.dot new file mode 100644 index 0000000..580bcac --- /dev/null +++ b/docs/html/class_intelli_shaped_image__coll__graph.dot @@ -0,0 +1,11 @@ +digraph "IntelliShapedImage" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="IntelliShapedImage",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="The IntelliShapedImage manages a Shapedimage."]; + Node2 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliRasterImage",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_raster_image.html",tooltip="The IntelliRasterImage manages a Rasterimage."]; + Node3 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliImage",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html",tooltip="An abstract class which manages the basic IntelliImage operations."]; +} diff --git a/docs/html/class_intelli_shaped_image__inherit__graph.dot b/docs/html/class_intelli_shaped_image__inherit__graph.dot new file mode 100644 index 0000000..580bcac --- /dev/null +++ b/docs/html/class_intelli_shaped_image__inherit__graph.dot @@ -0,0 +1,11 @@ +digraph "IntelliShapedImage" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="IntelliShapedImage",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="The IntelliShapedImage manages a Shapedimage."]; + Node2 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliRasterImage",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_raster_image.html",tooltip="The IntelliRasterImage manages a Rasterimage."]; + Node3 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliImage",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html",tooltip="An abstract class which manages the basic IntelliImage operations."]; +} diff --git a/docs/html/class_intelli_shaped_image_a0221d93c3c8990f7dab332454cc21f50_cgraph.dot b/docs/html/class_intelli_shaped_image_a0221d93c3c8990f7dab332454cc21f50_cgraph.dot new file mode 100644 index 0000000..553d9f3 --- /dev/null +++ b/docs/html/class_intelli_shaped_image_a0221d93c3c8990f7dab332454cc21f50_cgraph.dot @@ -0,0 +1,12 @@ +digraph "IntelliShapedImage::calculateVisiblity" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliShapedImage\l::calculateVisiblity",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliHelper::isInTriangle",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_helper.html#a04bdb4f53b89dded693ba6e896f4c63f",tooltip=" "]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliHelper::sign",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_helper.html#a67fc007dda64187f6cef7fba3fcd9e40",tooltip=" "]; +} diff --git a/docs/html/class_intelli_shaped_image_a0221d93c3c8990f7dab332454cc21f50_icgraph.dot b/docs/html/class_intelli_shaped_image_a0221d93c3c8990f7dab332454cc21f50_icgraph.dot new file mode 100644 index 0000000..e5e7eb6 --- /dev/null +++ b/docs/html/class_intelli_shaped_image_a0221d93c3c8990f7dab332454cc21f50_icgraph.dot @@ -0,0 +1,12 @@ +digraph "IntelliShapedImage::calculateVisiblity" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="RL"; + Node1 [label="IntelliShapedImage\l::calculateVisiblity",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliShapedImage\l::setPolygon",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_shaped_image.html#a4b69d75de7a3b85032482982f249458e",tooltip=" "]; + Node2 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliShapedImage\l::getDeepCopy",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_shaped_image.html#aed0b31e0fa771104399d1f5ff39a0337",tooltip=" "]; +} diff --git a/docs/html/class_intelli_shaped_image_a0f834c3f255baeb50c98ef335a6d0ea9_icgraph.dot b/docs/html/class_intelli_shaped_image_a0f834c3f255baeb50c98ef335a6d0ea9_icgraph.dot new file mode 100644 index 0000000..8d5448d --- /dev/null +++ b/docs/html/class_intelli_shaped_image_a0f834c3f255baeb50c98ef335a6d0ea9_icgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliShapedImage::IntelliShapedImage" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="RL"; + Node1 [label="IntelliShapedImage\l::IntelliShapedImage",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="The Construcor of the IntelliShapedImage. Given the Image dimensions."]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliShapedImage\l::getDeepCopy",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_shaped_image.html#aed0b31e0fa771104399d1f5ff39a0337",tooltip="A function that copys all that returns a [allocated] Image."]; +} diff --git a/docs/html/class_intelli_shaped_image_a4b69d75de7a3b85032482982f249458e_cgraph.dot b/docs/html/class_intelli_shaped_image_a4b69d75de7a3b85032482982f249458e_cgraph.dot new file mode 100644 index 0000000..2523308 --- /dev/null +++ b/docs/html/class_intelli_shaped_image_a4b69d75de7a3b85032482982f249458e_cgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliShapedImage::setPolygon" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliShapedImage\l::setPolygon",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function that sets the data of the visible Polygon."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliHelper::calculate\lTriangles",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$namespace_intelli_helper.html#a214dc3624ba4562a03dc922e3dd7b617",tooltip="A function to split a polygon in its spanning traingles by using Meisters Theorem of graph theory by ..."]; +} diff --git a/docs/html/class_intelli_shaped_image_a4b69d75de7a3b85032482982f249458e_icgraph.dot b/docs/html/class_intelli_shaped_image_a4b69d75de7a3b85032482982f249458e_icgraph.dot new file mode 100644 index 0000000..d26d6f0 --- /dev/null +++ b/docs/html/class_intelli_shaped_image_a4b69d75de7a3b85032482982f249458e_icgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliShapedImage::setPolygon" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="RL"; + Node1 [label="IntelliShapedImage\l::setPolygon",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function that sets the data of the visible Polygon."]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliShapedImage\l::getDeepCopy",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_shaped_image.html#aed0b31e0fa771104399d1f5ff39a0337",tooltip="A function that copys all that returns a [allocated] Image."]; +} diff --git a/docs/html/class_intelli_shaped_image_a68cf374247c16f07fd84d50e4cd05630_icgraph.dot b/docs/html/class_intelli_shaped_image_a68cf374247c16f07fd84d50e4cd05630_icgraph.dot new file mode 100644 index 0000000..9992e60 --- /dev/null +++ b/docs/html/class_intelli_shaped_image_a68cf374247c16f07fd84d50e4cd05630_icgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliShapedImage::getDisplayable" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="RL"; + Node1 [label="IntelliShapedImage\l::getDisplayable",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function returning the displayable ImageData in a requested transparence and size."]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliShapedImage\l::getDisplayable",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_shaped_image.html#ac6a99e1a96134073bceea252b37636cc",tooltip="A function returning the displayable ImageData in a requested transparence and it's standart size."]; +} diff --git a/docs/html/class_intelli_shaped_image_ac6a99e1a96134073bceea252b37636cc_cgraph.dot b/docs/html/class_intelli_shaped_image_ac6a99e1a96134073bceea252b37636cc_cgraph.dot new file mode 100644 index 0000000..fedf662 --- /dev/null +++ b/docs/html/class_intelli_shaped_image_ac6a99e1a96134073bceea252b37636cc_cgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliShapedImage::getDisplayable" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliShapedImage\l::getDisplayable",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function returning the displayable ImageData in a requested transparence and it's standart size."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliShapedImage\l::getDisplayable",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_shaped_image.html#a68cf374247c16f07fd84d50e4cd05630",tooltip="A function returning the displayable ImageData in a requested transparence and size."]; +} diff --git a/docs/html/class_intelli_shaped_image_aed0b31e0fa771104399d1f5ff39a0337_cgraph.dot b/docs/html/class_intelli_shaped_image_aed0b31e0fa771104399d1f5ff39a0337_cgraph.dot new file mode 100644 index 0000000..37121ac --- /dev/null +++ b/docs/html/class_intelli_shaped_image_aed0b31e0fa771104399d1f5ff39a0337_cgraph.dot @@ -0,0 +1,14 @@ +digraph "IntelliShapedImage::getDeepCopy" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliShapedImage\l::getDeepCopy",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function that copys all that returns a [allocated] Image."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliShapedImage\l::IntelliShapedImage",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_shaped_image.html#a0f834c3f255baeb50c98ef335a6d0ea9",tooltip="The Construcor of the IntelliShapedImage. Given the Image dimensions."]; + Node1 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliShapedImage\l::setPolygon",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_shaped_image.html#a4b69d75de7a3b85032482982f249458e",tooltip="A function that sets the data of the visible Polygon."]; + Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="IntelliHelper::calculate\lTriangles",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$namespace_intelli_helper.html#a214dc3624ba4562a03dc922e3dd7b617",tooltip="A function to split a polygon in its spanning traingles by using Meisters Theorem of graph theory by ..."]; +} diff --git a/docs/html/class_intelli_tool-members.html b/docs/html/class_intelli_tool-members.html new file mode 100644 index 0000000..8072345 --- /dev/null +++ b/docs/html/class_intelli_tool-members.html @@ -0,0 +1,120 @@ + + + + + + + +IntelliPhoto: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliTool Member List
+
+
+ +

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

+ + + + + + + + + + + + + + +
ActiveIntelliToolprotected
AreaIntelliToolprotected
CanvasIntelliToolprotected
colorPickerIntelliToolprotected
drawingIntelliToolprotected
IntelliTool(PaintingArea *Area, IntelliColorPicker *colorPicker)IntelliTool
onMouseLeftPressed(int x, int y)IntelliToolvirtual
onMouseLeftReleased(int x, int y)IntelliToolvirtual
onMouseMoved(int x, int y)IntelliToolvirtual
onMouseRightPressed(int x, int y)IntelliToolvirtual
onMouseRightReleased(int x, int y)IntelliToolvirtual
onWheelScrolled(int value)IntelliToolvirtual
~IntelliTool()=0IntelliToolpure virtual
+
+ + + + diff --git a/docs/html/class_intelli_tool.html b/docs/html/class_intelli_tool.html new file mode 100644 index 0000000..a5f8194 --- /dev/null +++ b/docs/html/class_intelli_tool.html @@ -0,0 +1,707 @@ + + + + + + + +IntelliPhoto: IntelliTool Class Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
IntelliTool Class Referenceabstract
+
+
+ +

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

+ +

#include <IntelliTool.h>

+
+Inheritance diagram for IntelliTool:
+
+
Inheritance graph
+
[legend]
+
+Collaboration diagram for IntelliTool:
+
+
Collaboration graph
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 IntelliTool (PaintingArea *Area, IntelliColorPicker *colorPicker)
 A constructor setting the general Painting Area and colorPicker. More...
 
virtual ~IntelliTool ()=0
 An abstract Destructor. More...
 
virtual void onMouseRightPressed (int x, int y)
 A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on. Call this in child classes! More...
 
virtual void onMouseRightReleased (int x, int y)
 A function managing the right click Released of a Mouse. Merging the Canvas to Active. Call this in child classes! More...
 
virtual void onMouseLeftPressed (int x, int y)
 A function managing the left click Pressed of a Mouse. Resetting the current draw. Call this in child classes! More...
 
virtual void onMouseLeftReleased (int x, int y)
 A function managing the left click Released of a Mouse. Call this in child classes! More...
 
virtual void onWheelScrolled (int value)
 A function managing the scroll event. A positive value means scrolling outwards. Call this in child classes! More...
 
virtual void onMouseMoved (int x, int y)
 A function managing the mouse moved event. Call this in child classes! More...
 
+ + + + + + + + + + + + + + + + +

+Protected Attributes

PaintingAreaArea
 A pointer to the general PaintingArea to interact with. More...
 
IntelliColorPickercolorPicker
 A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors. More...
 
LayerObjectActive
 A pointer to the underlying active Layer, do not work on this. This is used for data grabbing or previews. More...
 
LayerObjectCanvas
 A pointer to the drawing canvas of the tool, work on this. More...
 
bool drawing = false
 A flag checking if the user is currently drawing or not. More...
 
+

Detailed Description

+

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

+ +

Definition at line 13 of file IntelliTool.h.

+

Constructor & Destructor Documentation

+ +

◆ IntelliTool()

+ +
+
+ + + + + + + + + + + + + + + + + + +
IntelliTool::IntelliTool (PaintingAreaArea,
IntelliColorPickercolorPicker 
)
+
+ +

A constructor setting the general Painting Area and colorPicker.

+
Parameters
+ + + +
Area- The general PaintingArea used by the project.
colorPicker- The general colorPicker used by the project.
+
+
+ +

Definition at line 4 of file IntelliTool.cpp.

+ +
+
+ +

◆ ~IntelliTool()

+ +
+
+ + + + + +
+ + + + + + + +
IntelliTool::~IntelliTool ()
+
+pure virtual
+
+ +

An abstract Destructor.

+ +

Definition at line 10 of file IntelliTool.cpp.

+ +
+
+

Member Function Documentation

+ +

◆ onMouseLeftPressed()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliTool::onMouseLeftPressed (int x,
int y 
)
+
+virtual
+
+ +

A function managing the left click Pressed of a Mouse. Resetting the current draw. Call this in child classes!

+
Parameters
+ + + +
x- The x coordinate relative to the active/canvas layer.
y- The y coordinate relative to the active/canvas layer.
+
+
+ +

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

+ +

Definition at line 25 of file IntelliTool.cpp.

+
+Here is the call graph for this function:
+
+
+
+
+Here is the caller graph for this function:
+
+
+
+ +
+
+ +

◆ onMouseLeftReleased()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliTool::onMouseLeftReleased (int x,
int y 
)
+
+virtual
+
+ +

A function managing the left click Released of a Mouse. Call this in child classes!

+
Parameters
+ + + +
x- The x coordinate relative to the active/canvas layer.
y- The y coordinate relative to the active/canvas layer.
+
+
+ +

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

+ +

Definition at line 32 of file IntelliTool.cpp.

+
+Here is the call graph for this function:
+
+
+
+
+Here is the caller graph for this function:
+
+
+
+ +
+
+ +

◆ onMouseMoved()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliTool::onMouseMoved (int x,
int y 
)
+
+virtual
+
+ +

A function managing the mouse moved event. Call this in child classes!

+
Parameters
+ + + +
x- The x coordinate of the new mouse position.
y- The y coordinate of the new mouse position.
+
+
+ +

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

+ +

Definition at line 41 of file IntelliTool.cpp.

+
+Here is the call graph for this function:
+
+
+
+
+Here is the caller graph for this function:
+
+
+
+ +
+
+ +

◆ onMouseRightPressed()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliTool::onMouseRightPressed (int x,
int y 
)
+
+virtual
+
+ +

A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on. Call this in child classes!

+
Parameters
+ + + +
x- The x coordinate relative to the active/canvas layer.
y- The y coordinate relative to the active/canvas layer.
+
+
+ +

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

+ +

Definition at line 14 of file IntelliTool.cpp.

+
+Here is the caller graph for this function:
+
+
+
+ +
+
+ +

◆ onMouseRightReleased()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliTool::onMouseRightReleased (int x,
int y 
)
+
+virtual
+
+ +

A function managing the right click Released of a Mouse. Merging the Canvas to Active. Call this in child classes!

+
Parameters
+ + + +
x- The x coordinate relative to the active/canvas layer.
y- The y coordinate relative to the active/canvas layer.
+
+
+ +

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

+ +

Definition at line 21 of file IntelliTool.cpp.

+
+Here is the caller graph for this function:
+
+
+
+ +
+
+ +

◆ onWheelScrolled()

+ +
+
+ + + + + +
+ + + + + + + + +
void IntelliTool::onWheelScrolled (int value)
+
+virtual
+
+ +

A function managing the scroll event. A positive value means scrolling outwards. Call this in child classes!

+
Parameters
+ + +
value- The absolute the scroll has changed.
+
+
+ +

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

+ +

Definition at line 46 of file IntelliTool.cpp.

+
+Here is the caller graph for this function:
+
+
+
+ +
+
+

Member Data Documentation

+ +

◆ Active

+ +
+
+ + + + + +
+ + + + +
LayerObject* IntelliTool::Active
+
+protected
+
+ +

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

+ +

Definition at line 43 of file IntelliTool.h.

+ +
+
+ +

◆ Area

+ +
+
+ + + + + +
+ + + + +
PaintingArea* IntelliTool::Area
+
+protected
+
+ +

A pointer to the general PaintingArea to interact with.

+ +

Definition at line 33 of file IntelliTool.h.

+ +
+
+ +

◆ Canvas

+ +
+
+ + + + + +
+ + + + +
LayerObject* IntelliTool::Canvas
+
+protected
+
+ +

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

+ +

Definition at line 48 of file IntelliTool.h.

+ +
+
+ +

◆ colorPicker

+ +
+
+ + + + + +
+ + + + +
IntelliColorPicker* IntelliTool::colorPicker
+
+protected
+
+ +

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

+ +

Definition at line 38 of file IntelliTool.h.

+ +
+
+ +

◆ drawing

+ +
+
+ + + + + +
+ + + + +
bool IntelliTool::drawing = false
+
+protected
+
+ +

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

+ +

Definition at line 53 of file IntelliTool.h.

+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + diff --git a/docs/html/class_intelli_tool.js b/docs/html/class_intelli_tool.js new file mode 100644 index 0000000..66bfe15 --- /dev/null +++ b/docs/html/class_intelli_tool.js @@ -0,0 +1,16 @@ +var class_intelli_tool = +[ + [ "IntelliTool", "class_intelli_tool.html#a346dd55d489fced38e7bb46f9168af91", null ], + [ "~IntelliTool", "class_intelli_tool.html#a57fb1b27d364c9e3696eb928b75fa9f2", null ], + [ "onMouseLeftPressed", "class_intelli_tool.html#a34b7ef1dde96b94a0ce450a25ae1778c", null ], + [ "onMouseLeftReleased", "class_intelli_tool.html#a906a2575c16c8a33cb2a5197f8d8cc5b", null ], + [ "onMouseMoved", "class_intelli_tool.html#ac10e20414cd8855a2f9b103fb6408639", null ], + [ "onMouseRightPressed", "class_intelli_tool.html#a1e6aa68ac5f3c2ca02319e5ef3f0c966", null ], + [ "onMouseRightReleased", "class_intelli_tool.html#a16189b00307c6d7e89f28198f54404b0", null ], + [ "onWheelScrolled", "class_intelli_tool.html#a4dccfd4460255ccb866f336406a33574", null ], + [ "Active", "class_intelli_tool.html#a13512e95d21a9934ecb36d73b118c25f", null ], + [ "Area", "class_intelli_tool.html#ab4c2698a0f9f25fb6639ec760d2d0289", null ], + [ "Canvas", "class_intelli_tool.html#a144d469cc03584f501194529a1b53c77", null ], + [ "colorPicker", "class_intelli_tool.html#ae2e0ac394611a361ab4ef2fe55c03fef", null ], + [ "drawing", "class_intelli_tool.html#af256de16e9825922d20a23d11617b51b", null ] +]; \ No newline at end of file diff --git a/docs/html/class_intelli_tool__coll__graph.dot b/docs/html/class_intelli_tool__coll__graph.dot new file mode 100644 index 0000000..39aefd0 --- /dev/null +++ b/docs/html/class_intelli_tool__coll__graph.dot @@ -0,0 +1,17 @@ +digraph "IntelliTool" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="IntelliTool",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="An abstract class that manages the basic events, like mouse clicks or scrolls events."]; + Node2 -> Node1 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" Area" ,fontname="Helvetica"]; + Node2 [label="PaintingArea",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_painting_area.html",tooltip="The PaintingArea class manages the methods and stores information about the current painting area,..."]; + Node3 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="QWidget",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node4 -> Node1 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" colorPicker" ,fontname="Helvetica"]; + Node4 [label="IntelliColorPicker",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_color_picker.html",tooltip="The IntelliColorPicker manages the selected colors for one whole project."]; + Node5 -> Node1 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" Canvas\nActive" ,fontname="Helvetica"]; + Node5 [label="LayerObject",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$struct_layer_object.html",tooltip="The LayerObject struct holds all the information needed to construct a layer."]; + Node6 -> Node5 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" image" ,fontname="Helvetica"]; + Node6 [label="IntelliImage",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html",tooltip="An abstract class which manages the basic IntelliImage operations."]; +} diff --git a/docs/html/class_intelli_tool__inherit__graph.dot b/docs/html/class_intelli_tool__inherit__graph.dot new file mode 100644 index 0000000..9f14209 --- /dev/null +++ b/docs/html/class_intelli_tool__inherit__graph.dot @@ -0,0 +1,22 @@ +digraph "IntelliTool" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliTool",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="An abstract class that manages the basic events, like mouse clicks or scrolls events."]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliToolCircle",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_circle.html",tooltip="The IntelliToolCircle class represents a tool to draw a circle."]; + Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliToolFloodFill",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_flood_fill.html",tooltip="The IntelliToolFloodFill class represents a tool to flood FIll a certian area."]; + Node1 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="IntelliToolLine",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_line.html",tooltip="The IntelliToolFloodFill class represents a tool to draw a line."]; + Node1 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="IntelliToolPen",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_pen.html",tooltip="The IntelliToolPen class represents a tool to draw a line."]; + Node1 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="IntelliToolPlainTool",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_plain_tool.html",tooltip="The IntelliToolPlainTool class represents a tool to fill the whole canvas with one color."]; + Node1 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="IntelliToolPolygon",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_polygon.html",tooltip="The IntelliToolPolygon managed the Drawing of Polygonforms."]; + Node1 -> Node8 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 [label="IntelliToolRectangle",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_rectangle.html",tooltip="The IntelliToolRectangle class represents a tool to draw a rectangle."]; +} diff --git a/docs/html/class_intelli_tool_a16189b00307c6d7e89f28198f54404b0_icgraph.dot b/docs/html/class_intelli_tool_a16189b00307c6d7e89f28198f54404b0_icgraph.dot new file mode 100644 index 0000000..f5999ab --- /dev/null +++ b/docs/html/class_intelli_tool_a16189b00307c6d7e89f28198f54404b0_icgraph.dot @@ -0,0 +1,24 @@ +digraph "IntelliTool::onMouseRightReleased" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="RL"; + Node1 [label="IntelliTool::onMouseRight\lReleased",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the right click Released of a Mouse. Merging the Canvas to Active...."]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="PaintingArea::mouseRelease\lEvent",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_painting_area.html#a35b5df914acb608cc29717659793359c",tooltip=" "]; + Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliToolPlainTool\l::onMouseRightReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_plain_tool.html#a2ae458f1b04eb77a47f6dca5e91e33b8",tooltip="A function managing the right click released of a mouse."]; + Node1 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="IntelliToolFloodFill\l::onMouseRightReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_flood_fill.html#a39cf49c0ce46f96be3510f0b70c9d892",tooltip="A function managing the right click released of a mouse."]; + Node1 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="IntelliToolPen::onMouseRight\lReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_pen.html#abf8562e8cd2da586afdf4d47b3a4ff13",tooltip="A function managing the right click released of a mouse."]; + Node1 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="IntelliToolRectangle\l::onMouseRightReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_rectangle.html#ad43f653256a6516b9398f82054be0d7f",tooltip="A function managing the right click released of a mouse."]; + Node1 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="IntelliToolCircle::\lonMouseRightReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_circle.html#aca07540f2f7ccb3d2c0b84890c1afc4c",tooltip="A function managing the right click released of a mouse."]; + Node1 -> Node8 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 [label="IntelliToolLine::onMouse\lRightReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_line.html#a6214918cba5753f89d97de4559a2b9b2",tooltip="A function managing the right click released of a mouse."]; + Node1 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 [label="IntelliToolPolygon\l::onMouseRightReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_polygon.html#a47cad87cd02b128b02dc929713bd1d1b",tooltip="A function managing the right click released of a mouse."]; +} diff --git a/docs/html/class_intelli_tool_a1e6aa68ac5f3c2ca02319e5ef3f0c966_icgraph.dot b/docs/html/class_intelli_tool_a1e6aa68ac5f3c2ca02319e5ef3f0c966_icgraph.dot new file mode 100644 index 0000000..d2bf790 --- /dev/null +++ b/docs/html/class_intelli_tool_a1e6aa68ac5f3c2ca02319e5ef3f0c966_icgraph.dot @@ -0,0 +1,24 @@ +digraph "IntelliTool::onMouseRightPressed" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="RL"; + Node1 [label="IntelliTool::onMouseRight\lPressed",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on...."]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="PaintingArea::mousePress\lEvent",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_painting_area.html#abfe445f8d9b70ae42bfeda874127dd15",tooltip=" "]; + Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliToolPlainTool\l::onMouseRightPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_plain_tool.html#acb0c46e16d2c09370a2244a936de38b1",tooltip="A function managing the right click pressed of a mouse. Resetting the current fill."]; + Node1 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="IntelliToolFloodFill\l::onMouseRightPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_flood_fill.html#ada0f7154d119102410a55038763a17e4",tooltip="A function managing the right click pressed of a mouse. Clearing the canvas."]; + Node1 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="IntelliToolPen::onMouseRight\lPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_pen.html#a1751e3864a0d36ef42ca55021cae73ce",tooltip="A function managing the right click pressed of a mouse. Resetting the current draw."]; + Node1 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="IntelliToolRectangle\l::onMouseRightPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_rectangle.html#a480c6804a4963c5a1c3f7ef84b63c1a8",tooltip="A function managing the right click pressed of a mouse.Resetting the current draw."]; + Node1 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="IntelliToolCircle::\lonMouseRightPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_circle.html#a29d7b9ed4960e6fe1f31ff620363e429",tooltip="A function managing the right click pressed of a mouse. Clearing the canvas layer."]; + Node1 -> Node8 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 [label="IntelliToolLine::onMouse\lRightPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_line.html#a6cce59f3017936214b10b47252a898a3",tooltip="A function managing the right click pressed of a mouse. Clearing the canvas."]; + Node1 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 [label="IntelliToolPolygon\l::onMouseRightPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_polygon.html#aa36b012b48311c36e7cd6771a5081427",tooltip="A function managing the right click pressed of a mouse. Resetting the current fill."]; +} diff --git a/docs/html/class_intelli_tool_a34b7ef1dde96b94a0ce450a25ae1778c_cgraph.dot b/docs/html/class_intelli_tool_a34b7ef1dde96b94a0ce450a25ae1778c_cgraph.dot new file mode 100644 index 0000000..fdaba4f --- /dev/null +++ b/docs/html/class_intelli_tool_a34b7ef1dde96b94a0ce450a25ae1778c_cgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliTool::onMouseLeftPressed" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliTool::onMouseLeft\lPressed",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the left click Pressed of a Mouse. Resetting the current draw...."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliImage::calculateVisiblity",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2",tooltip="An abstract function that calculates the visiblity of the Image data if needed."]; +} diff --git a/docs/html/class_intelli_tool_a34b7ef1dde96b94a0ce450a25ae1778c_icgraph.dot b/docs/html/class_intelli_tool_a34b7ef1dde96b94a0ce450a25ae1778c_icgraph.dot new file mode 100644 index 0000000..2c9eec4 --- /dev/null +++ b/docs/html/class_intelli_tool_a34b7ef1dde96b94a0ce450a25ae1778c_icgraph.dot @@ -0,0 +1,24 @@ +digraph "IntelliTool::onMouseLeftPressed" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="RL"; + Node1 [label="IntelliTool::onMouseLeft\lPressed",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the left click Pressed of a Mouse. Resetting the current draw...."]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="PaintingArea::mousePress\lEvent",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_painting_area.html#abfe445f8d9b70ae42bfeda874127dd15",tooltip=" "]; + Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliToolPlainTool\l::onMouseLeftPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_plain_tool.html#ab786dd5fa80af863246013d43c4b7ac9",tooltip="A function managing the left click pressed of a mouse. Filling the whole canvas."]; + Node1 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="IntelliToolFloodFill\l::onMouseLeftPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_flood_fill.html#ac85e3cb6233508ff9612833a8d9e3961",tooltip="A function managing the left click pressed of a mouse. Sets the point to flood fill around and does t..."]; + Node1 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="IntelliToolPen::onMouseLeft\lPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_pen.html#a8ff40aef6d38eb55af31a19322429205",tooltip="A function managing the left click pressed of a mouse. Starting the drawing procedure."]; + Node1 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="IntelliToolRectangle\l::onMouseLeftPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_rectangle.html#ae03c307ccf66cbe3fd59e3657712368d",tooltip="A function managing the left click pressed of a mouse. Setting the originCorner and draws a rectangle..."]; + Node1 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="IntelliToolCircle::\lonMouseLeftPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_circle.html#ae883b8ae833c78a8867e626c600f9639",tooltip="A function managing the left click pressed of a mouse. Sets the middle point of the cricle."]; + Node1 -> Node8 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 [label="IntelliToolPolygon\l::onMouseLeftPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_polygon.html#ad5d3b741be6d0647a9cdc9da2cb8bc3d",tooltip="A function managing the left click pressed of a mouse. Setting polygon points."]; + Node1 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 [label="IntelliToolLine::onMouse\lLeftPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_line.html#a155d676a5f98311217eb095be4759846",tooltip="A function managing the left click pressed of a mouse. Sets the starting point of the line."]; +} diff --git a/docs/html/class_intelli_tool_a4dccfd4460255ccb866f336406a33574_icgraph.dot b/docs/html/class_intelli_tool_a4dccfd4460255ccb866f336406a33574_icgraph.dot new file mode 100644 index 0000000..5120fd4 --- /dev/null +++ b/docs/html/class_intelli_tool_a4dccfd4460255ccb866f336406a33574_icgraph.dot @@ -0,0 +1,24 @@ +digraph "IntelliTool::onWheelScrolled" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="RL"; + Node1 [label="IntelliTool::onWheelScrolled",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the scroll event. A positive value means scrolling outwards. Call this in child c..."]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliToolPlainTool\l::onWheelScrolled",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_plain_tool.html#adc004ea421e2cc0ac39cc7a6b6d43d0d",tooltip="A function managing the scroll event."]; + Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliToolFloodFill\l::onWheelScrolled",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_flood_fill.html#ad58cc7c065123beb6b0270f99e99b991",tooltip="A function managing the scroll event."]; + Node1 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="IntelliToolPen::onWheelScrolled",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_pen.html#afe3626ddff440ab125f4a2465c45427a",tooltip="A function managing the scroll event. Changing penWidth relativ to value."]; + Node1 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="IntelliToolRectangle\l::onWheelScrolled",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_rectangle.html#a445c53a56e859f970e59f5036e221e0c",tooltip="A function managing the scroll event.Changing edgeWidth relativ to value."]; + Node1 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="IntelliToolCircle::\lonWheelScrolled",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_circle.html#ae2d9b0fb6695c184c4cb507a5fb75506",tooltip="A function managing the scroll event. Changing the edge Width relative to value."]; + Node1 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="IntelliToolLine::onWheel\lScrolled",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_line.html#aaf1d686e1ec43f41b5186ccfd806b125",tooltip="A function managing the scroll event. Changing the lineWidth relative to value."]; + Node1 -> Node8 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 [label="IntelliToolPolygon\l::onWheelScrolled",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_polygon.html#a713103300c9f023d64d9eec5ac05dd17",tooltip="A function managing the scroll event. CHanging the lineWidth relative to value."]; + Node1 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 [label="PaintingArea::wheelEvent",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_painting_area.html#a632848d99f44d33d7da2618fbc6775a4",tooltip=" "]; +} diff --git a/docs/html/class_intelli_tool_a906a2575c16c8a33cb2a5197f8d8cc5b_cgraph.dot b/docs/html/class_intelli_tool_a906a2575c16c8a33cb2a5197f8d8cc5b_cgraph.dot new file mode 100644 index 0000000..6ede39e --- /dev/null +++ b/docs/html/class_intelli_tool_a906a2575c16c8a33cb2a5197f8d8cc5b_cgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliTool::onMouseLeftReleased" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliTool::onMouseLeft\lReleased",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the left click Released of a Mouse. Call this in child classes!"]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliImage::calculateVisiblity",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2",tooltip="An abstract function that calculates the visiblity of the Image data if needed."]; +} diff --git a/docs/html/class_intelli_tool_a906a2575c16c8a33cb2a5197f8d8cc5b_icgraph.dot b/docs/html/class_intelli_tool_a906a2575c16c8a33cb2a5197f8d8cc5b_icgraph.dot new file mode 100644 index 0000000..a8fd3c5 --- /dev/null +++ b/docs/html/class_intelli_tool_a906a2575c16c8a33cb2a5197f8d8cc5b_icgraph.dot @@ -0,0 +1,24 @@ +digraph "IntelliTool::onMouseLeftReleased" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="RL"; + Node1 [label="IntelliTool::onMouseLeft\lReleased",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the left click Released of a Mouse. Call this in child classes!"]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="PaintingArea::mouseRelease\lEvent",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_painting_area.html#a35b5df914acb608cc29717659793359c",tooltip=" "]; + Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliToolPlainTool\l::onMouseLeftReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_plain_tool.html#ac23f5d0f07e42fd7c2ea3fc1347da400",tooltip="A function managing the left click released of a mouse. Merging the fill to the active layer."]; + Node1 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="IntelliToolFloodFill\l::onMouseLeftReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_flood_fill.html#a7438ef96c6c36068bce76e2364e8594c",tooltip="A function managing the left click released of a mouse."]; + Node1 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="IntelliToolPen::onMouseLeft\lReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_pen.html#abda7a22b9766fa4ad254324a53cab94d",tooltip="A function managing the left click released of a mouse. Merging the drawing to the active layer."]; + Node1 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="IntelliToolRectangle\l::onMouseLeftReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_rectangle.html#a94460e3ff1c19e80bde922c55f53cc43",tooltip="A function managing the left click released of a mouse. Merging the draw to the active layer."]; + Node1 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="IntelliToolCircle::\lonMouseLeftReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_circle.html#ad8e438ec997c57262b5efc2db4cee1a3",tooltip="A function managing the left click released of a mouse."]; + Node1 -> Node8 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 [label="IntelliToolPolygon\l::onMouseLeftReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_polygon.html#a4e1473ff408ae2e11cf6a43f6f575f21",tooltip="A function managing the left click released of a mouse. Merging the fill to the active layer."]; + Node1 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 [label="IntelliToolLine::onMouse\lLeftReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_line.html#ac93f76ff20a1c111a403b298bab02482",tooltip="A function managing the left click released of a mouse."]; +} diff --git a/docs/html/class_intelli_tool_ac10e20414cd8855a2f9b103fb6408639_cgraph.dot b/docs/html/class_intelli_tool_ac10e20414cd8855a2f9b103fb6408639_cgraph.dot new file mode 100644 index 0000000..15d8a44 --- /dev/null +++ b/docs/html/class_intelli_tool_ac10e20414cd8855a2f9b103fb6408639_cgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliTool::onMouseMoved" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliTool::onMouseMoved",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the mouse moved event. Call this in child classes!"]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliImage::calculateVisiblity",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2",tooltip="An abstract function that calculates the visiblity of the Image data if needed."]; +} diff --git a/docs/html/class_intelli_tool_ac10e20414cd8855a2f9b103fb6408639_icgraph.dot b/docs/html/class_intelli_tool_ac10e20414cd8855a2f9b103fb6408639_icgraph.dot new file mode 100644 index 0000000..965ae9b --- /dev/null +++ b/docs/html/class_intelli_tool_ac10e20414cd8855a2f9b103fb6408639_icgraph.dot @@ -0,0 +1,24 @@ +digraph "IntelliTool::onMouseMoved" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="RL"; + Node1 [label="IntelliTool::onMouseMoved",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the mouse moved event. Call this in child classes!"]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="PaintingArea::mouseMoveEvent",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_painting_area.html#aa22e274b6094a9619f196cd7b49526b5",tooltip=" "]; + Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliToolPlainTool\l::onMouseMoved",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_plain_tool.html#ad7546a6335bb3bb4cbf0e1883788d41c",tooltip="A function managing the mouse moved event."]; + Node1 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="IntelliToolFloodFill\l::onMouseMoved",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_flood_fill.html#a3cd42cea99bc7583875abcc0c274c668",tooltip="A function managing the mouse moved event."]; + Node1 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="IntelliToolPen::onMouseMoved",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_pen.html#a58d1d636497b630647ce0c4d652737c2",tooltip="A function managing the mouse moved event. To draw the line."]; + Node1 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="IntelliToolRectangle\l::onMouseMoved",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_rectangle.html#a4b5931071e21eb6949ffe357315e408b",tooltip="A function managing the mouse moved event.Drawing a rectangle to currrent mouse position."]; + Node1 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="IntelliToolCircle::\lonMouseMoved",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_circle.html#a90ee58c5390a86afc75c14ca79b91d7b",tooltip="A function managing the mouse moved event. Draws a circle with radius of eulerian norm of mouse posit..."]; + Node1 -> Node8 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 [label="IntelliToolLine::onMouse\lMoved",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_line.html#abc6324ef0778823fe7e35aef8ae37f9b",tooltip="A function managing the mouse moved event. Drawing a Line from the startpoint to the current mouse po..."]; + Node1 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 [label="IntelliToolPolygon\l::onMouseMoved",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_polygon.html#a0e3a1135f04c73c159137ae219a38922",tooltip="A function managing the mouse moved event."]; +} diff --git a/docs/html/class_intelli_tool_circle-members.html b/docs/html/class_intelli_tool_circle-members.html new file mode 100644 index 0000000..b783ca6 --- /dev/null +++ b/docs/html/class_intelli_tool_circle-members.html @@ -0,0 +1,122 @@ + + + + + + + +IntelliPhoto: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliToolCircle Member List
+
+
+ +

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

+ + + + + + + + + + + + + + + + +
ActiveIntelliToolprotected
AreaIntelliToolprotected
CanvasIntelliToolprotected
colorPickerIntelliToolprotected
drawingIntelliToolprotected
IntelliTool(PaintingArea *Area, IntelliColorPicker *colorPicker)IntelliTool
IntelliToolCircle(PaintingArea *Area, IntelliColorPicker *colorPicker)IntelliToolCircle
onMouseLeftPressed(int x, int y) overrideIntelliToolCirclevirtual
onMouseLeftReleased(int x, int y) overrideIntelliToolCirclevirtual
onMouseMoved(int x, int y) overrideIntelliToolCirclevirtual
onMouseRightPressed(int x, int y) overrideIntelliToolCirclevirtual
onMouseRightReleased(int x, int y) overrideIntelliToolCirclevirtual
onWheelScrolled(int value) overrideIntelliToolCirclevirtual
~IntelliTool()=0IntelliToolpure virtual
~IntelliToolCircle() overrideIntelliToolCirclevirtual
+
+ + + + diff --git a/docs/html/class_intelli_tool_circle.html b/docs/html/class_intelli_tool_circle.html new file mode 100644 index 0000000..9462b65 --- /dev/null +++ b/docs/html/class_intelli_tool_circle.html @@ -0,0 +1,568 @@ + + + + + + + +IntelliPhoto: IntelliToolCircle Class Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
IntelliToolCircle Class Reference
+
+
+ +

The IntelliToolCircle class represents a tool to draw a circle. + More...

+ +

#include <IntelliToolCircle.h>

+
+Inheritance diagram for IntelliToolCircle:
+
+
Inheritance graph
+
[legend]
+
+Collaboration diagram for IntelliToolCircle:
+
+
Collaboration graph
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 IntelliToolCircle (PaintingArea *Area, IntelliColorPicker *colorPicker)
 A constructor setting the general paintingArea and colorPicker. And reading in the inner alpha and edgeWidth. More...
 
virtual ~IntelliToolCircle () override
 A Destructor. More...
 
virtual void onMouseRightPressed (int x, int y) override
 A function managing the right click pressed of a mouse. Clearing the canvas layer. More...
 
virtual void onMouseRightReleased (int x, int y) override
 A function managing the right click released of a mouse. More...
 
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. More...
 
virtual void onMouseLeftReleased (int x, int y) override
 A function managing the left click released of a mouse. More...
 
virtual void onWheelScrolled (int value) override
 A function managing the scroll event. Changing the edge Width relative to value. More...
 
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 position and the middle point. More...
 
- Public Member Functions inherited from IntelliTool
 IntelliTool (PaintingArea *Area, IntelliColorPicker *colorPicker)
 A constructor setting the general Painting Area and colorPicker. More...
 
virtual ~IntelliTool ()=0
 An abstract Destructor. More...
 
+ + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from IntelliTool
PaintingAreaArea
 A pointer to the general PaintingArea to interact with. More...
 
IntelliColorPickercolorPicker
 A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors. More...
 
LayerObjectActive
 A pointer to the underlying active Layer, do not work on this. This is used for data grabbing or previews. More...
 
LayerObjectCanvas
 A pointer to the drawing canvas of the tool, work on this. More...
 
bool drawing = false
 A flag checking if the user is currently drawing or not. More...
 
+

Detailed Description

+

The IntelliToolCircle class represents a tool to draw a circle.

+ +

Definition at line 10 of file IntelliToolCircle.h.

+

Constructor & Destructor Documentation

+ +

◆ IntelliToolCircle()

+ +
+
+ + + + + + + + + + + + + + + + + + +
IntelliToolCircle::IntelliToolCircle (PaintingAreaArea,
IntelliColorPickercolorPicker 
)
+
+ +

A constructor setting the general paintingArea and colorPicker. And reading in the inner alpha and edgeWidth.

+
Parameters
+ + + +
Area- The general paintingArea used by the project.
colorPicker- The general colorPicker used by the project.
+
+
+ +

Definition at line 6 of file IntelliToolCircle.cpp.

+ +
+
+ +

◆ ~IntelliToolCircle()

+ +
+
+ + + + + +
+ + + + + + + +
IntelliToolCircle::~IntelliToolCircle ()
+
+overridevirtual
+
+ +

A Destructor.

+ +

Definition at line 12 of file IntelliToolCircle.cpp.

+ +
+
+

Member Function Documentation

+ +

◆ onMouseLeftPressed()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliToolCircle::onMouseLeftPressed (int x,
int y 
)
+
+overridevirtual
+
+ +

A function managing the left click pressed of a mouse. Sets the middle point of the cricle.

+
Parameters
+ + + +
x- The x coordinate relative to the active/canvas layer.
y- The y coordinate relative to the active/canvas layer.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 59 of file IntelliToolCircle.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ onMouseLeftReleased()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliToolCircle::onMouseLeftReleased (int x,
int y 
)
+
+overridevirtual
+
+ +

A function managing the left click released of a mouse.

+
Parameters
+ + + +
x- The x coordinate relative to the active/canvas layer.
y- The y coordinate relative to the active/canvas layer.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 67 of file IntelliToolCircle.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ onMouseMoved()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliToolCircle::onMouseMoved (int x,
int y 
)
+
+overridevirtual
+
+ +

A function managing the mouse moved event. Draws a circle with radius of eulerian norm of mouse position and the middle point.

+
Parameters
+ + + +
x- The x coordinate of the new mouse position.
y- The y coordinate of the new mouse position.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 79 of file IntelliToolCircle.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ onMouseRightPressed()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliToolCircle::onMouseRightPressed (int x,
int y 
)
+
+overridevirtual
+
+ +

A function managing the right click pressed of a mouse. Clearing the canvas layer.

+
Parameters
+ + + +
x- The x coordinate relative to the active/canvas layer.
y- The y coordinate relative to the active/canvas layer.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 51 of file IntelliToolCircle.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ onMouseRightReleased()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliToolCircle::onMouseRightReleased (int x,
int y 
)
+
+overridevirtual
+
+ +

A function managing the right click released of a mouse.

+
Parameters
+ + + +
x- The x coordinate relative to the active/canvas layer.
y- The y coordinate relative to the active/canvas layer.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 55 of file IntelliToolCircle.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ onWheelScrolled()

+ +
+
+ + + + + +
+ + + + + + + + +
void IntelliToolCircle::onWheelScrolled (int value)
+
+overridevirtual
+
+ +

A function managing the scroll event. Changing the edge Width relative to value.

+
Parameters
+ + +
value- The absolute the scroll has changed.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 71 of file IntelliToolCircle.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + diff --git a/docs/html/class_intelli_tool_circle.js b/docs/html/class_intelli_tool_circle.js new file mode 100644 index 0000000..bf59fab --- /dev/null +++ b/docs/html/class_intelli_tool_circle.js @@ -0,0 +1,11 @@ +var class_intelli_tool_circle = +[ + [ "IntelliToolCircle", "class_intelli_tool_circle.html#a9b185b9d327f8602d0b7f667b8d1d32a", null ], + [ "~IntelliToolCircle", "class_intelli_tool_circle.html#a7a03b65b95d7b5d72e6a92c95f068954", null ], + [ "onMouseLeftPressed", "class_intelli_tool_circle.html#ae883b8ae833c78a8867e626c600f9639", null ], + [ "onMouseLeftReleased", "class_intelli_tool_circle.html#ad8e438ec997c57262b5efc2db4cee1a3", null ], + [ "onMouseMoved", "class_intelli_tool_circle.html#a90ee58c5390a86afc75c14ca79b91d7b", null ], + [ "onMouseRightPressed", "class_intelli_tool_circle.html#a29d7b9ed4960e6fe1f31ff620363e429", null ], + [ "onMouseRightReleased", "class_intelli_tool_circle.html#aca07540f2f7ccb3d2c0b84890c1afc4c", null ], + [ "onWheelScrolled", "class_intelli_tool_circle.html#ae2d9b0fb6695c184c4cb507a5fb75506", null ] +]; \ No newline at end of file diff --git a/docs/html/class_intelli_tool_circle__coll__graph.dot b/docs/html/class_intelli_tool_circle__coll__graph.dot new file mode 100644 index 0000000..bc26aef --- /dev/null +++ b/docs/html/class_intelli_tool_circle__coll__graph.dot @@ -0,0 +1,19 @@ +digraph "IntelliToolCircle" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="IntelliToolCircle",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="The IntelliToolCircle class represents a tool to draw a circle."]; + Node2 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html",tooltip="An abstract class that manages the basic events, like mouse clicks or scrolls events."]; + Node3 -> Node2 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" Area" ,fontname="Helvetica"]; + Node3 [label="PaintingArea",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_painting_area.html",tooltip="The PaintingArea class manages the methods and stores information about the current painting area,..."]; + Node4 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="QWidget",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node5 -> Node2 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" colorPicker" ,fontname="Helvetica"]; + Node5 [label="IntelliColorPicker",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_color_picker.html",tooltip="The IntelliColorPicker manages the selected colors for one whole project."]; + Node6 -> Node2 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" Canvas\nActive" ,fontname="Helvetica"]; + Node6 [label="LayerObject",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$struct_layer_object.html",tooltip="The LayerObject struct holds all the information needed to construct a layer."]; + Node7 -> Node6 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" image" ,fontname="Helvetica"]; + Node7 [label="IntelliImage",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html",tooltip="An abstract class which manages the basic IntelliImage operations."]; +} diff --git a/docs/html/class_intelli_tool_circle__inherit__graph.dot b/docs/html/class_intelli_tool_circle__inherit__graph.dot new file mode 100644 index 0000000..67ada15 --- /dev/null +++ b/docs/html/class_intelli_tool_circle__inherit__graph.dot @@ -0,0 +1,9 @@ +digraph "IntelliToolCircle" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="IntelliToolCircle",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="The IntelliToolCircle class represents a tool to draw a circle."]; + Node2 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html",tooltip="An abstract class that manages the basic events, like mouse clicks or scrolls events."]; +} diff --git a/docs/html/class_intelli_tool_circle_a29d7b9ed4960e6fe1f31ff620363e429_cgraph.dot b/docs/html/class_intelli_tool_circle_a29d7b9ed4960e6fe1f31ff620363e429_cgraph.dot new file mode 100644 index 0000000..0e5b463 --- /dev/null +++ b/docs/html/class_intelli_tool_circle_a29d7b9ed4960e6fe1f31ff620363e429_cgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliToolCircle::onMouseRightPressed" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolCircle::\lonMouseRightPressed",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the right click pressed of a mouse. Clearing the canvas layer."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool::onMouseRight\lPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a1e6aa68ac5f3c2ca02319e5ef3f0c966",tooltip="A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on...."]; +} diff --git a/docs/html/class_intelli_tool_circle_a90ee58c5390a86afc75c14ca79b91d7b_cgraph.dot b/docs/html/class_intelli_tool_circle_a90ee58c5390a86afc75c14ca79b91d7b_cgraph.dot new file mode 100644 index 0000000..3410c6b --- /dev/null +++ b/docs/html/class_intelli_tool_circle_a90ee58c5390a86afc75c14ca79b91d7b_cgraph.dot @@ -0,0 +1,14 @@ +digraph "IntelliToolCircle::onMouseMoved" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolCircle::\lonMouseMoved",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the mouse moved event. Draws a circle with radius of eulerian norm of mouse posit..."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliImage::drawPlain",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#a6be622810dc2bc756054bb5769becb06",tooltip="A function that clears the whole image in a given Color."]; + Node1 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliTool::onMouseMoved",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#ac10e20414cd8855a2f9b103fb6408639",tooltip="A function managing the mouse moved event. Call this in child classes!"]; + Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="IntelliImage::calculateVisiblity",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2",tooltip="An abstract function that calculates the visiblity of the Image data if needed."]; +} diff --git a/docs/html/class_intelli_tool_circle_aca07540f2f7ccb3d2c0b84890c1afc4c_cgraph.dot b/docs/html/class_intelli_tool_circle_aca07540f2f7ccb3d2c0b84890c1afc4c_cgraph.dot new file mode 100644 index 0000000..f7c2d9c --- /dev/null +++ b/docs/html/class_intelli_tool_circle_aca07540f2f7ccb3d2c0b84890c1afc4c_cgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliToolCircle::onMouseRightReleased" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolCircle::\lonMouseRightReleased",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the right click released of a mouse."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool::onMouseRight\lReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a16189b00307c6d7e89f28198f54404b0",tooltip="A function managing the right click Released of a Mouse. Merging the Canvas to Active...."]; +} diff --git a/docs/html/class_intelli_tool_circle_ad8e438ec997c57262b5efc2db4cee1a3_cgraph.dot b/docs/html/class_intelli_tool_circle_ad8e438ec997c57262b5efc2db4cee1a3_cgraph.dot new file mode 100644 index 0000000..44d094e --- /dev/null +++ b/docs/html/class_intelli_tool_circle_ad8e438ec997c57262b5efc2db4cee1a3_cgraph.dot @@ -0,0 +1,12 @@ +digraph "IntelliToolCircle::onMouseLeftReleased" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolCircle::\lonMouseLeftReleased",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the left click released of a mouse."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool::onMouseLeft\lReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a906a2575c16c8a33cb2a5197f8d8cc5b",tooltip="A function managing the left click Released of a Mouse. Call this in child classes!"]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliImage::calculateVisiblity",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2",tooltip="An abstract function that calculates the visiblity of the Image data if needed."]; +} diff --git a/docs/html/class_intelli_tool_circle_ae2d9b0fb6695c184c4cb507a5fb75506_cgraph.dot b/docs/html/class_intelli_tool_circle_ae2d9b0fb6695c184c4cb507a5fb75506_cgraph.dot new file mode 100644 index 0000000..b82aca3 --- /dev/null +++ b/docs/html/class_intelli_tool_circle_ae2d9b0fb6695c184c4cb507a5fb75506_cgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliToolCircle::onWheelScrolled" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolCircle::\lonWheelScrolled",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the scroll event. Changing the edge Width relative to value."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool::onWheelScrolled",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a4dccfd4460255ccb866f336406a33574",tooltip="A function managing the scroll event. A positive value means scrolling outwards. Call this in child c..."]; +} diff --git a/docs/html/class_intelli_tool_circle_ae883b8ae833c78a8867e626c600f9639_cgraph.dot b/docs/html/class_intelli_tool_circle_ae883b8ae833c78a8867e626c600f9639_cgraph.dot new file mode 100644 index 0000000..2578e46 --- /dev/null +++ b/docs/html/class_intelli_tool_circle_ae883b8ae833c78a8867e626c600f9639_cgraph.dot @@ -0,0 +1,13 @@ +digraph "IntelliToolCircle::onMouseLeftPressed" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolCircle::\lonMouseLeftPressed",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the left click pressed of a mouse. Sets the middle point of the cricle."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliImage::calculateVisiblity",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2",tooltip="An abstract function that calculates the visiblity of the Image data if needed."]; + Node1 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliTool::onMouseLeft\lPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a34b7ef1dde96b94a0ce450a25ae1778c",tooltip="A function managing the left click Pressed of a Mouse. Resetting the current draw...."]; + Node3 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; +} diff --git a/docs/html/class_intelli_tool_flood_fill-members.html b/docs/html/class_intelli_tool_flood_fill-members.html new file mode 100644 index 0000000..a3929a0 --- /dev/null +++ b/docs/html/class_intelli_tool_flood_fill-members.html @@ -0,0 +1,122 @@ + + + + + + + +IntelliPhoto: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliToolFloodFill Member List
+
+
+ +

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

+ + + + + + + + + + + + + + + + +
ActiveIntelliToolprotected
AreaIntelliToolprotected
CanvasIntelliToolprotected
colorPickerIntelliToolprotected
drawingIntelliToolprotected
IntelliTool(PaintingArea *Area, IntelliColorPicker *colorPicker)IntelliTool
IntelliToolFloodFill(PaintingArea *Area, IntelliColorPicker *colorPicker)IntelliToolFloodFill
onMouseLeftPressed(int x, int y) overrideIntelliToolFloodFillvirtual
onMouseLeftReleased(int x, int y) overrideIntelliToolFloodFillvirtual
onMouseMoved(int x, int y) overrideIntelliToolFloodFillvirtual
onMouseRightPressed(int x, int y) overrideIntelliToolFloodFillvirtual
onMouseRightReleased(int x, int y) overrideIntelliToolFloodFillvirtual
onWheelScrolled(int value) overrideIntelliToolFloodFillvirtual
~IntelliTool()=0IntelliToolpure virtual
~IntelliToolFloodFill() overrideIntelliToolFloodFillvirtual
+
+ + + + diff --git a/docs/html/class_intelli_tool_flood_fill.html b/docs/html/class_intelli_tool_flood_fill.html new file mode 100644 index 0000000..b2f7ad6 --- /dev/null +++ b/docs/html/class_intelli_tool_flood_fill.html @@ -0,0 +1,568 @@ + + + + + + + +IntelliPhoto: IntelliToolFloodFill Class Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
IntelliToolFloodFill Class Reference
+
+
+ +

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

+ +

#include <IntelliToolFloodFill.h>

+
+Inheritance diagram for IntelliToolFloodFill:
+
+
Inheritance graph
+
[legend]
+
+Collaboration diagram for IntelliToolFloodFill:
+
+
Collaboration graph
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 IntelliToolFloodFill (PaintingArea *Area, IntelliColorPicker *colorPicker)
 A constructor setting the general paintingArea and colorPicker. More...
 
virtual ~IntelliToolFloodFill () override
 A Destructor. More...
 
virtual void onMouseRightPressed (int x, int y) override
 A function managing the right click pressed of a mouse. Clearing the canvas. More...
 
virtual void onMouseRightReleased (int x, int y) override
 A function managing the right click released of a mouse. More...
 
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 this. More...
 
virtual void onMouseLeftReleased (int x, int y) override
 A function managing the left click released of a mouse. More...
 
virtual void onWheelScrolled (int value) override
 A function managing the scroll event. More...
 
virtual void onMouseMoved (int x, int y) override
 A function managing the mouse moved event. More...
 
- Public Member Functions inherited from IntelliTool
 IntelliTool (PaintingArea *Area, IntelliColorPicker *colorPicker)
 A constructor setting the general Painting Area and colorPicker. More...
 
virtual ~IntelliTool ()=0
 An abstract Destructor. More...
 
+ + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from IntelliTool
PaintingAreaArea
 A pointer to the general PaintingArea to interact with. More...
 
IntelliColorPickercolorPicker
 A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors. More...
 
LayerObjectActive
 A pointer to the underlying active Layer, do not work on this. This is used for data grabbing or previews. More...
 
LayerObjectCanvas
 A pointer to the drawing canvas of the tool, work on this. More...
 
bool drawing = false
 A flag checking if the user is currently drawing or not. More...
 
+

Detailed Description

+

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

+ +

Definition at line 10 of file IntelliToolFloodFill.h.

+

Constructor & Destructor Documentation

+ +

◆ IntelliToolFloodFill()

+ +
+
+ + + + + + + + + + + + + + + + + + +
IntelliToolFloodFill::IntelliToolFloodFill (PaintingAreaArea,
IntelliColorPickercolorPicker 
)
+
+ +

A constructor setting the general paintingArea and colorPicker.

+
Parameters
+ + + +
Area- The general paintingArea used by the project.
colorPicker- The general colorPicker used by the project.
+
+
+ +

Definition at line 8 of file IntelliToolFloodFill.cpp.

+ +
+
+ +

◆ ~IntelliToolFloodFill()

+ +
+
+ + + + + +
+ + + + + + + +
IntelliToolFloodFill::~IntelliToolFloodFill ()
+
+overridevirtual
+
+ +

A Destructor.

+ +

Definition at line 12 of file IntelliToolFloodFill.cpp.

+ +
+
+

Member Function Documentation

+ +

◆ onMouseLeftPressed()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliToolFloodFill::onMouseLeftPressed (int x,
int y 
)
+
+overridevirtual
+
+ +

A function managing the left click pressed of a mouse. Sets the point to flood fill around and does this.

+
Parameters
+ + + +
x- The x coordinate relative to the active/canvas layer.
y- The y coordinate relative to the active/canvas layer.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 24 of file IntelliToolFloodFill.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ onMouseLeftReleased()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliToolFloodFill::onMouseLeftReleased (int x,
int y 
)
+
+overridevirtual
+
+ +

A function managing the left click released of a mouse.

+
Parameters
+ + + +
x- The x coordinate relative to the active/canvas layer.
y- The y coordinate relative to the active/canvas layer.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 68 of file IntelliToolFloodFill.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ onMouseMoved()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliToolFloodFill::onMouseMoved (int x,
int y 
)
+
+overridevirtual
+
+ +

A function managing the mouse moved event.

+
Parameters
+ + + +
x- The x coordinate of the new mouse position.
y- The y coordinate of the new mouse position.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 77 of file IntelliToolFloodFill.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ onMouseRightPressed()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliToolFloodFill::onMouseRightPressed (int x,
int y 
)
+
+overridevirtual
+
+ +

A function managing the right click pressed of a mouse. Clearing the canvas.

+
Parameters
+ + + +
x- The x coordinate relative to the active/canvas layer.
y- The y coordinate relative to the active/canvas layer.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 16 of file IntelliToolFloodFill.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ onMouseRightReleased()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliToolFloodFill::onMouseRightReleased (int x,
int y 
)
+
+overridevirtual
+
+ +

A function managing the right click released of a mouse.

+
Parameters
+ + + +
x- The x coordinate relative to the active/canvas layer.
y- The y coordinate relative to the active/canvas layer.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 20 of file IntelliToolFloodFill.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ onWheelScrolled()

+ +
+
+ + + + + +
+ + + + + + + + +
void IntelliToolFloodFill::onWheelScrolled (int value)
+
+overridevirtual
+
+ +

A function managing the scroll event.

+
Parameters
+ + +
value- The absolute the scroll has changed.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 72 of file IntelliToolFloodFill.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + diff --git a/docs/html/class_intelli_tool_flood_fill.js b/docs/html/class_intelli_tool_flood_fill.js new file mode 100644 index 0000000..b410d56 --- /dev/null +++ b/docs/html/class_intelli_tool_flood_fill.js @@ -0,0 +1,11 @@ +var class_intelli_tool_flood_fill = +[ + [ "IntelliToolFloodFill", "class_intelli_tool_flood_fill.html#a83b51838da304e274bf866cf2fd5407a", null ], + [ "~IntelliToolFloodFill", "class_intelli_tool_flood_fill.html#a83b1bd8be0cbb32cdf61a9597ec849ba", null ], + [ "onMouseLeftPressed", "class_intelli_tool_flood_fill.html#ac85e3cb6233508ff9612833a8d9e3961", null ], + [ "onMouseLeftReleased", "class_intelli_tool_flood_fill.html#a7438ef96c6c36068bce76e2364e8594c", null ], + [ "onMouseMoved", "class_intelli_tool_flood_fill.html#a3cd42cea99bc7583875abcc0c274c668", null ], + [ "onMouseRightPressed", "class_intelli_tool_flood_fill.html#ada0f7154d119102410a55038763a17e4", null ], + [ "onMouseRightReleased", "class_intelli_tool_flood_fill.html#a39cf49c0ce46f96be3510f0b70c9d892", null ], + [ "onWheelScrolled", "class_intelli_tool_flood_fill.html#ad58cc7c065123beb6b0270f99e99b991", null ] +]; \ No newline at end of file diff --git a/docs/html/class_intelli_tool_flood_fill__coll__graph.dot b/docs/html/class_intelli_tool_flood_fill__coll__graph.dot new file mode 100644 index 0000000..93a8abc --- /dev/null +++ b/docs/html/class_intelli_tool_flood_fill__coll__graph.dot @@ -0,0 +1,19 @@ +digraph "IntelliToolFloodFill" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="IntelliToolFloodFill",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="The IntelliToolFloodFill class represents a tool to flood FIll a certian area."]; + Node2 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html",tooltip="An abstract class that manages the basic events, like mouse clicks or scrolls events."]; + Node3 -> Node2 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" Area" ,fontname="Helvetica"]; + Node3 [label="PaintingArea",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_painting_area.html",tooltip="The PaintingArea class manages the methods and stores information about the current painting area,..."]; + Node4 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="QWidget",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node5 -> Node2 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" colorPicker" ,fontname="Helvetica"]; + Node5 [label="IntelliColorPicker",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_color_picker.html",tooltip="The IntelliColorPicker manages the selected colors for one whole project."]; + Node6 -> Node2 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" Canvas\nActive" ,fontname="Helvetica"]; + Node6 [label="LayerObject",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$struct_layer_object.html",tooltip="The LayerObject struct holds all the information needed to construct a layer."]; + Node7 -> Node6 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" image" ,fontname="Helvetica"]; + Node7 [label="IntelliImage",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html",tooltip="An abstract class which manages the basic IntelliImage operations."]; +} diff --git a/docs/html/class_intelli_tool_flood_fill__inherit__graph.dot b/docs/html/class_intelli_tool_flood_fill__inherit__graph.dot new file mode 100644 index 0000000..b32d6bb --- /dev/null +++ b/docs/html/class_intelli_tool_flood_fill__inherit__graph.dot @@ -0,0 +1,9 @@ +digraph "IntelliToolFloodFill" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="IntelliToolFloodFill",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="The IntelliToolFloodFill class represents a tool to flood FIll a certian area."]; + Node2 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html",tooltip="An abstract class that manages the basic events, like mouse clicks or scrolls events."]; +} diff --git a/docs/html/class_intelli_tool_flood_fill_a39cf49c0ce46f96be3510f0b70c9d892_cgraph.dot b/docs/html/class_intelli_tool_flood_fill_a39cf49c0ce46f96be3510f0b70c9d892_cgraph.dot new file mode 100644 index 0000000..c719c47 --- /dev/null +++ b/docs/html/class_intelli_tool_flood_fill_a39cf49c0ce46f96be3510f0b70c9d892_cgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliToolFloodFill::onMouseRightReleased" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolFloodFill\l::onMouseRightReleased",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the right click released of a mouse."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool::onMouseRight\lReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a16189b00307c6d7e89f28198f54404b0",tooltip="A function managing the right click Released of a Mouse. Merging the Canvas to Active...."]; +} diff --git a/docs/html/class_intelli_tool_flood_fill_a3cd42cea99bc7583875abcc0c274c668_cgraph.dot b/docs/html/class_intelli_tool_flood_fill_a3cd42cea99bc7583875abcc0c274c668_cgraph.dot new file mode 100644 index 0000000..d7c52e5 --- /dev/null +++ b/docs/html/class_intelli_tool_flood_fill_a3cd42cea99bc7583875abcc0c274c668_cgraph.dot @@ -0,0 +1,12 @@ +digraph "IntelliToolFloodFill::onMouseMoved" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolFloodFill\l::onMouseMoved",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the mouse moved event."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool::onMouseMoved",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#ac10e20414cd8855a2f9b103fb6408639",tooltip="A function managing the mouse moved event. Call this in child classes!"]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliImage::calculateVisiblity",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2",tooltip="An abstract function that calculates the visiblity of the Image data if needed."]; +} diff --git a/docs/html/class_intelli_tool_flood_fill_a7438ef96c6c36068bce76e2364e8594c_cgraph.dot b/docs/html/class_intelli_tool_flood_fill_a7438ef96c6c36068bce76e2364e8594c_cgraph.dot new file mode 100644 index 0000000..2196f01 --- /dev/null +++ b/docs/html/class_intelli_tool_flood_fill_a7438ef96c6c36068bce76e2364e8594c_cgraph.dot @@ -0,0 +1,12 @@ +digraph "IntelliToolFloodFill::onMouseLeftReleased" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolFloodFill\l::onMouseLeftReleased",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the left click released of a mouse."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool::onMouseLeft\lReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a906a2575c16c8a33cb2a5197f8d8cc5b",tooltip="A function managing the left click Released of a Mouse. Call this in child classes!"]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliImage::calculateVisiblity",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2",tooltip="An abstract function that calculates the visiblity of the Image data if needed."]; +} diff --git a/docs/html/class_intelli_tool_flood_fill_ac85e3cb6233508ff9612833a8d9e3961_cgraph.dot b/docs/html/class_intelli_tool_flood_fill_ac85e3cb6233508ff9612833a8d9e3961_cgraph.dot new file mode 100644 index 0000000..6b637f9 --- /dev/null +++ b/docs/html/class_intelli_tool_flood_fill_ac85e3cb6233508ff9612833a8d9e3961_cgraph.dot @@ -0,0 +1,19 @@ +digraph "IntelliToolFloodFill::onMouseLeftPressed" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolFloodFill\l::onMouseLeftPressed",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the left click pressed of a mouse. Sets the point to flood fill around and does t..."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliImage::calculateVisiblity",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2",tooltip="An abstract function that calculates the visiblity of the Image data if needed."]; + Node1 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliImage::drawPixel",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#af3c859f5c409e37051edfd9e9fbca056",tooltip="A funtcion used to draw a pixel on the Image with the given Color."]; + Node1 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="IntelliColorPicker\l::getFirstColor",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_color_picker.html#aae2eb27b928fe9388b9398b0556303b7",tooltip="A function to read the primary selected color."]; + Node1 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="IntelliImage::getPixelColor",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#a4576ebb6d863321c816293d7b7f9fd3f",tooltip="A function that returns the pixelcolor at a certain point."]; + Node1 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="IntelliTool::onMouseLeft\lPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a34b7ef1dde96b94a0ce450a25ae1778c",tooltip="A function managing the left click Pressed of a Mouse. Resetting the current draw...."]; + Node6 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; +} diff --git a/docs/html/class_intelli_tool_flood_fill_ad58cc7c065123beb6b0270f99e99b991_cgraph.dot b/docs/html/class_intelli_tool_flood_fill_ad58cc7c065123beb6b0270f99e99b991_cgraph.dot new file mode 100644 index 0000000..fdd94f9 --- /dev/null +++ b/docs/html/class_intelli_tool_flood_fill_ad58cc7c065123beb6b0270f99e99b991_cgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliToolFloodFill::onWheelScrolled" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolFloodFill\l::onWheelScrolled",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the scroll event."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool::onWheelScrolled",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a4dccfd4460255ccb866f336406a33574",tooltip="A function managing the scroll event. A positive value means scrolling outwards. Call this in child c..."]; +} diff --git a/docs/html/class_intelli_tool_flood_fill_ada0f7154d119102410a55038763a17e4_cgraph.dot b/docs/html/class_intelli_tool_flood_fill_ada0f7154d119102410a55038763a17e4_cgraph.dot new file mode 100644 index 0000000..7105699 --- /dev/null +++ b/docs/html/class_intelli_tool_flood_fill_ada0f7154d119102410a55038763a17e4_cgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliToolFloodFill::onMouseRightPressed" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolFloodFill\l::onMouseRightPressed",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the right click pressed of a mouse. Clearing the canvas."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool::onMouseRight\lPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a1e6aa68ac5f3c2ca02319e5ef3f0c966",tooltip="A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on...."]; +} diff --git a/docs/html/class_intelli_tool_line-members.html b/docs/html/class_intelli_tool_line-members.html new file mode 100644 index 0000000..af26209 --- /dev/null +++ b/docs/html/class_intelli_tool_line-members.html @@ -0,0 +1,122 @@ + + + + + + + +IntelliPhoto: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliToolLine Member List
+
+
+ +

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

+ + + + + + + + + + + + + + + + +
ActiveIntelliToolprotected
AreaIntelliToolprotected
CanvasIntelliToolprotected
colorPickerIntelliToolprotected
drawingIntelliToolprotected
IntelliTool(PaintingArea *Area, IntelliColorPicker *colorPicker)IntelliTool
IntelliToolLine(PaintingArea *Area, IntelliColorPicker *colorPicker)IntelliToolLine
onMouseLeftPressed(int x, int y) overrideIntelliToolLinevirtual
onMouseLeftReleased(int x, int y) overrideIntelliToolLinevirtual
onMouseMoved(int x, int y) overrideIntelliToolLinevirtual
onMouseRightPressed(int x, int y) overrideIntelliToolLinevirtual
onMouseRightReleased(int x, int y) overrideIntelliToolLinevirtual
onWheelScrolled(int value) overrideIntelliToolLinevirtual
~IntelliTool()=0IntelliToolpure virtual
~IntelliToolLine() overrideIntelliToolLinevirtual
+
+ + + + diff --git a/docs/html/class_intelli_tool_line.html b/docs/html/class_intelli_tool_line.html new file mode 100644 index 0000000..6f85211 --- /dev/null +++ b/docs/html/class_intelli_tool_line.html @@ -0,0 +1,568 @@ + + + + + + + +IntelliPhoto: IntelliToolLine Class Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
IntelliToolLine Class Reference
+
+
+ +

The IntelliToolFloodFill class represents a tool to draw a line. + More...

+ +

#include <IntelliToolLine.h>

+
+Inheritance diagram for IntelliToolLine:
+
+
Inheritance graph
+
[legend]
+
+Collaboration diagram for IntelliToolLine:
+
+
Collaboration graph
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 IntelliToolLine (PaintingArea *Area, IntelliColorPicker *colorPicker)
 A constructor setting the general paintingArea and colorPicker. And reading in the lineWidth and lineStyle. More...
 
virtual ~IntelliToolLine () override
 An abstract Destructor. More...
 
virtual void onMouseRightPressed (int x, int y) override
 A function managing the right click pressed of a mouse. Clearing the canvas. More...
 
virtual void onMouseRightReleased (int x, int y) override
 A function managing the right click released of a mouse. More...
 
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. More...
 
virtual void onMouseLeftReleased (int x, int y) override
 A function managing the left click released of a mouse. More...
 
virtual void onWheelScrolled (int value) override
 A function managing the scroll event. Changing the lineWidth relative to value. More...
 
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 position. More...
 
- Public Member Functions inherited from IntelliTool
 IntelliTool (PaintingArea *Area, IntelliColorPicker *colorPicker)
 A constructor setting the general Painting Area and colorPicker. More...
 
virtual ~IntelliTool ()=0
 An abstract Destructor. More...
 
+ + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from IntelliTool
PaintingAreaArea
 A pointer to the general PaintingArea to interact with. More...
 
IntelliColorPickercolorPicker
 A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors. More...
 
LayerObjectActive
 A pointer to the underlying active Layer, do not work on this. This is used for data grabbing or previews. More...
 
LayerObjectCanvas
 A pointer to the drawing canvas of the tool, work on this. More...
 
bool drawing = false
 A flag checking if the user is currently drawing or not. More...
 
+

Detailed Description

+

The IntelliToolFloodFill class represents a tool to draw a line.

+ +

Definition at line 18 of file IntelliToolLine.h.

+

Constructor & Destructor Documentation

+ +

◆ IntelliToolLine()

+ +
+
+ + + + + + + + + + + + + + + + + + +
IntelliToolLine::IntelliToolLine (PaintingAreaArea,
IntelliColorPickercolorPicker 
)
+
+ +

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

+
Parameters
+ + + +
Area- The general paintingArea used by the project.
colorPicker- The general colorPicker used by the project.
+
+
+ +

Definition at line 6 of file IntelliToolLine.cpp.

+ +
+
+ +

◆ ~IntelliToolLine()

+ +
+
+ + + + + +
+ + + + + + + +
IntelliToolLine::~IntelliToolLine ()
+
+overridevirtual
+
+ +

An abstract Destructor.

+ +

Definition at line 13 of file IntelliToolLine.cpp.

+ +
+
+

Member Function Documentation

+ +

◆ onMouseLeftPressed()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliToolLine::onMouseLeftPressed (int x,
int y 
)
+
+overridevirtual
+
+ +

A function managing the left click pressed of a mouse. Sets the starting point of the line.

+
Parameters
+ + + +
x- The x coordinate relative to the active/canvas layer.
y- The y coordinate relative to the active/canvas layer.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 25 of file IntelliToolLine.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ onMouseLeftReleased()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliToolLine::onMouseLeftReleased (int x,
int y 
)
+
+overridevirtual
+
+ +

A function managing the left click released of a mouse.

+
Parameters
+ + + +
x- The x coordinate relative to the active/canvas layer.
y- The y coordinate relative to the active/canvas layer.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 32 of file IntelliToolLine.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ onMouseMoved()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliToolLine::onMouseMoved (int x,
int y 
)
+
+overridevirtual
+
+ +

A function managing the mouse moved event. Drawing a Line from the startpoint to the current mouse position.

+
Parameters
+ + + +
x- The x coordinate of the new mouse position.
y- The y coordinate of the new mouse position.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 44 of file IntelliToolLine.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ onMouseRightPressed()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliToolLine::onMouseRightPressed (int x,
int y 
)
+
+overridevirtual
+
+ +

A function managing the right click pressed of a mouse. Clearing the canvas.

+
Parameters
+ + + +
x- The x coordinate relative to the active/canvas layer.
y- The y coordinate relative to the active/canvas layer.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 17 of file IntelliToolLine.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ onMouseRightReleased()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliToolLine::onMouseRightReleased (int x,
int y 
)
+
+overridevirtual
+
+ +

A function managing the right click released of a mouse.

+
Parameters
+ + + +
x- The x coordinate relative to the active/canvas layer.
y- The y coordinate relative to the active/canvas layer.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 21 of file IntelliToolLine.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ onWheelScrolled()

+ +
+
+ + + + + +
+ + + + + + + + +
void IntelliToolLine::onWheelScrolled (int value)
+
+overridevirtual
+
+ +

A function managing the scroll event. Changing the lineWidth relative to value.

+
Parameters
+ + +
value- The absolute the scroll has changed.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 36 of file IntelliToolLine.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + diff --git a/docs/html/class_intelli_tool_line.js b/docs/html/class_intelli_tool_line.js new file mode 100644 index 0000000..30bab7f --- /dev/null +++ b/docs/html/class_intelli_tool_line.js @@ -0,0 +1,11 @@ +var class_intelli_tool_line = +[ + [ "IntelliToolLine", "class_intelli_tool_line.html#a9b2d4bcd69409a21f6080edfea4ae2a2", null ], + [ "~IntelliToolLine", "class_intelli_tool_line.html#acb600b0f4e9225ebce2937c2b7abb4c2", null ], + [ "onMouseLeftPressed", "class_intelli_tool_line.html#a155d676a5f98311217eb095be4759846", null ], + [ "onMouseLeftReleased", "class_intelli_tool_line.html#ac93f76ff20a1c111a403b298bab02482", null ], + [ "onMouseMoved", "class_intelli_tool_line.html#abc6324ef0778823fe7e35aef8ae37f9b", null ], + [ "onMouseRightPressed", "class_intelli_tool_line.html#a6cce59f3017936214b10b47252a898a3", null ], + [ "onMouseRightReleased", "class_intelli_tool_line.html#a6214918cba5753f89d97de4559a2b9b2", null ], + [ "onWheelScrolled", "class_intelli_tool_line.html#aaf1d686e1ec43f41b5186ccfd806b125", null ] +]; \ No newline at end of file diff --git a/docs/html/class_intelli_tool_line__coll__graph.dot b/docs/html/class_intelli_tool_line__coll__graph.dot new file mode 100644 index 0000000..be334ec --- /dev/null +++ b/docs/html/class_intelli_tool_line__coll__graph.dot @@ -0,0 +1,19 @@ +digraph "IntelliToolLine" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="IntelliToolLine",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="The IntelliToolFloodFill class represents a tool to draw a line."]; + Node2 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html",tooltip="An abstract class that manages the basic events, like mouse clicks or scrolls events."]; + Node3 -> Node2 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" Area" ,fontname="Helvetica"]; + Node3 [label="PaintingArea",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_painting_area.html",tooltip="The PaintingArea class manages the methods and stores information about the current painting area,..."]; + Node4 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="QWidget",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node5 -> Node2 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" colorPicker" ,fontname="Helvetica"]; + Node5 [label="IntelliColorPicker",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_color_picker.html",tooltip="The IntelliColorPicker manages the selected colors for one whole project."]; + Node6 -> Node2 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" Canvas\nActive" ,fontname="Helvetica"]; + Node6 [label="LayerObject",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$struct_layer_object.html",tooltip="The LayerObject struct holds all the information needed to construct a layer."]; + Node7 -> Node6 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" image" ,fontname="Helvetica"]; + Node7 [label="IntelliImage",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html",tooltip="An abstract class which manages the basic IntelliImage operations."]; +} diff --git a/docs/html/class_intelli_tool_line__inherit__graph.dot b/docs/html/class_intelli_tool_line__inherit__graph.dot new file mode 100644 index 0000000..9c7435d --- /dev/null +++ b/docs/html/class_intelli_tool_line__inherit__graph.dot @@ -0,0 +1,9 @@ +digraph "IntelliToolLine" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="IntelliToolLine",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="The IntelliToolFloodFill class represents a tool to draw a line."]; + Node2 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html",tooltip="An abstract class that manages the basic events, like mouse clicks or scrolls events."]; +} diff --git a/docs/html/class_intelli_tool_line_a155d676a5f98311217eb095be4759846_cgraph.dot b/docs/html/class_intelli_tool_line_a155d676a5f98311217eb095be4759846_cgraph.dot new file mode 100644 index 0000000..58d157e --- /dev/null +++ b/docs/html/class_intelli_tool_line_a155d676a5f98311217eb095be4759846_cgraph.dot @@ -0,0 +1,17 @@ +digraph "IntelliToolLine::onMouseLeftPressed" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolLine::onMouse\lLeftPressed",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the left click pressed of a mouse. Sets the starting point of the line."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliImage::calculateVisiblity",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2",tooltip="An abstract function that calculates the visiblity of the Image data if needed."]; + Node1 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliImage::drawPoint",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#a2e787f1b333b59401643936ebb3dcfe1",tooltip="A."]; + Node1 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="IntelliColorPicker\l::getFirstColor",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_color_picker.html#aae2eb27b928fe9388b9398b0556303b7",tooltip="A function to read the primary selected color."]; + Node1 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="IntelliTool::onMouseLeft\lPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a34b7ef1dde96b94a0ce450a25ae1778c",tooltip="A function managing the left click Pressed of a Mouse. Resetting the current draw...."]; + Node5 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; +} diff --git a/docs/html/class_intelli_tool_line_a6214918cba5753f89d97de4559a2b9b2_cgraph.dot b/docs/html/class_intelli_tool_line_a6214918cba5753f89d97de4559a2b9b2_cgraph.dot new file mode 100644 index 0000000..e5ef946 --- /dev/null +++ b/docs/html/class_intelli_tool_line_a6214918cba5753f89d97de4559a2b9b2_cgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliToolLine::onMouseRightReleased" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolLine::onMouse\lRightReleased",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the right click released of a mouse."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool::onMouseRight\lReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a16189b00307c6d7e89f28198f54404b0",tooltip="A function managing the right click Released of a Mouse. Merging the Canvas to Active...."]; +} diff --git a/docs/html/class_intelli_tool_line_a6cce59f3017936214b10b47252a898a3_cgraph.dot b/docs/html/class_intelli_tool_line_a6cce59f3017936214b10b47252a898a3_cgraph.dot new file mode 100644 index 0000000..15f12e5 --- /dev/null +++ b/docs/html/class_intelli_tool_line_a6cce59f3017936214b10b47252a898a3_cgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliToolLine::onMouseRightPressed" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolLine::onMouse\lRightPressed",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the right click pressed of a mouse. Clearing the canvas."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool::onMouseRight\lPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a1e6aa68ac5f3c2ca02319e5ef3f0c966",tooltip="A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on...."]; +} diff --git a/docs/html/class_intelli_tool_line_aaf1d686e1ec43f41b5186ccfd806b125_cgraph.dot b/docs/html/class_intelli_tool_line_aaf1d686e1ec43f41b5186ccfd806b125_cgraph.dot new file mode 100644 index 0000000..4946e13 --- /dev/null +++ b/docs/html/class_intelli_tool_line_aaf1d686e1ec43f41b5186ccfd806b125_cgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliToolLine::onWheelScrolled" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolLine::onWheel\lScrolled",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the scroll event. Changing the lineWidth relative to value."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool::onWheelScrolled",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a4dccfd4460255ccb866f336406a33574",tooltip="A function managing the scroll event. A positive value means scrolling outwards. Call this in child c..."]; +} diff --git a/docs/html/class_intelli_tool_line_abc6324ef0778823fe7e35aef8ae37f9b_cgraph.dot b/docs/html/class_intelli_tool_line_abc6324ef0778823fe7e35aef8ae37f9b_cgraph.dot new file mode 100644 index 0000000..aaf6ac9 --- /dev/null +++ b/docs/html/class_intelli_tool_line_abc6324ef0778823fe7e35aef8ae37f9b_cgraph.dot @@ -0,0 +1,18 @@ +digraph "IntelliToolLine::onMouseMoved" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolLine::onMouse\lMoved",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the mouse moved event. Drawing a Line from the startpoint to the current mouse po..."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliImage::drawLine",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#af8eddbd9aa54c8d37590d1d4bf8dce31",tooltip="A function that draws A Line between two given Points in a given color."]; + Node1 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliImage::drawPlain",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#a6be622810dc2bc756054bb5769becb06",tooltip="A function that clears the whole image in a given Color."]; + Node1 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="IntelliColorPicker\l::getFirstColor",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_color_picker.html#aae2eb27b928fe9388b9398b0556303b7",tooltip="A function to read the primary selected color."]; + Node1 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="IntelliTool::onMouseMoved",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#ac10e20414cd8855a2f9b103fb6408639",tooltip="A function managing the mouse moved event. Call this in child classes!"]; + Node5 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="IntelliImage::calculateVisiblity",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2",tooltip="An abstract function that calculates the visiblity of the Image data if needed."]; +} diff --git a/docs/html/class_intelli_tool_line_ac93f76ff20a1c111a403b298bab02482_cgraph.dot b/docs/html/class_intelli_tool_line_ac93f76ff20a1c111a403b298bab02482_cgraph.dot new file mode 100644 index 0000000..c49cf1c --- /dev/null +++ b/docs/html/class_intelli_tool_line_ac93f76ff20a1c111a403b298bab02482_cgraph.dot @@ -0,0 +1,12 @@ +digraph "IntelliToolLine::onMouseLeftReleased" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolLine::onMouse\lLeftReleased",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the left click released of a mouse."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool::onMouseLeft\lReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a906a2575c16c8a33cb2a5197f8d8cc5b",tooltip="A function managing the left click Released of a Mouse. Call this in child classes!"]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliImage::calculateVisiblity",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2",tooltip="An abstract function that calculates the visiblity of the Image data if needed."]; +} diff --git a/docs/html/class_intelli_tool_pen-members.html b/docs/html/class_intelli_tool_pen-members.html new file mode 100644 index 0000000..1f749b0 --- /dev/null +++ b/docs/html/class_intelli_tool_pen-members.html @@ -0,0 +1,122 @@ + + + + + + + +IntelliPhoto: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliToolPen Member List
+
+
+ +

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

+ + + + + + + + + + + + + + + + +
ActiveIntelliToolprotected
AreaIntelliToolprotected
CanvasIntelliToolprotected
colorPickerIntelliToolprotected
drawingIntelliToolprotected
IntelliTool(PaintingArea *Area, IntelliColorPicker *colorPicker)IntelliTool
IntelliToolPen(PaintingArea *Area, IntelliColorPicker *colorPicker)IntelliToolPen
onMouseLeftPressed(int x, int y) overrideIntelliToolPenvirtual
onMouseLeftReleased(int x, int y) overrideIntelliToolPenvirtual
onMouseMoved(int x, int y) overrideIntelliToolPenvirtual
onMouseRightPressed(int x, int y) overrideIntelliToolPenvirtual
onMouseRightReleased(int x, int y) overrideIntelliToolPenvirtual
onWheelScrolled(int value) overrideIntelliToolPenvirtual
~IntelliTool()=0IntelliToolpure virtual
~IntelliToolPen() overrideIntelliToolPenvirtual
+
+ + + + diff --git a/docs/html/class_intelli_tool_pen.html b/docs/html/class_intelli_tool_pen.html new file mode 100644 index 0000000..70b6112 --- /dev/null +++ b/docs/html/class_intelli_tool_pen.html @@ -0,0 +1,568 @@ + + + + + + + +IntelliPhoto: IntelliToolPen Class Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
IntelliToolPen Class Reference
+
+
+ +

The IntelliToolPen class represents a tool to draw a line. + More...

+ +

#include <IntelliToolPen.h>

+
+Inheritance diagram for IntelliToolPen:
+
+
Inheritance graph
+
[legend]
+
+Collaboration diagram for IntelliToolPen:
+
+
Collaboration graph
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 IntelliToolPen (PaintingArea *Area, IntelliColorPicker *colorPicker)
 A constructor setting the general paintingArea and colorPicker. Reading the penWidth. More...
 
virtual ~IntelliToolPen () override
 A Destructor. More...
 
virtual void onMouseRightPressed (int x, int y) override
 A function managing the right click pressed of a mouse. Resetting the current draw. More...
 
virtual void onMouseRightReleased (int x, int y) override
 A function managing the right click released of a mouse. More...
 
virtual void onMouseLeftPressed (int x, int y) override
 A function managing the left click pressed of a mouse. Starting the drawing procedure. More...
 
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. More...
 
virtual void onWheelScrolled (int value) override
 A function managing the scroll event. Changing penWidth relativ to value. More...
 
virtual void onMouseMoved (int x, int y) override
 A function managing the mouse moved event. To draw the line. More...
 
- Public Member Functions inherited from IntelliTool
 IntelliTool (PaintingArea *Area, IntelliColorPicker *colorPicker)
 A constructor setting the general Painting Area and colorPicker. More...
 
virtual ~IntelliTool ()=0
 An abstract Destructor. More...
 
+ + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from IntelliTool
PaintingAreaArea
 A pointer to the general PaintingArea to interact with. More...
 
IntelliColorPickercolorPicker
 A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors. More...
 
LayerObjectActive
 A pointer to the underlying active Layer, do not work on this. This is used for data grabbing or previews. More...
 
LayerObjectCanvas
 A pointer to the drawing canvas of the tool, work on this. More...
 
bool drawing = false
 A flag checking if the user is currently drawing or not. More...
 
+

Detailed Description

+

The IntelliToolPen class represents a tool to draw a line.

+ +

Definition at line 10 of file IntelliToolPen.h.

+

Constructor & Destructor Documentation

+ +

◆ IntelliToolPen()

+ +
+
+ + + + + + + + + + + + + + + + + + +
IntelliToolPen::IntelliToolPen (PaintingAreaArea,
IntelliColorPickercolorPicker 
)
+
+ +

A constructor setting the general paintingArea and colorPicker. Reading the penWidth.

+
Parameters
+ + + +
Area- The general PaintingArea used by the project.
colorPicker- The general colorPicker used by the project.
+
+
+ +

Definition at line 7 of file IntelliToolPen.cpp.

+ +
+
+ +

◆ ~IntelliToolPen()

+ +
+
+ + + + + +
+ + + + + + + +
IntelliToolPen::~IntelliToolPen ()
+
+overridevirtual
+
+ +

A Destructor.

+ +

Definition at line 12 of file IntelliToolPen.cpp.

+ +
+
+

Member Function Documentation

+ +

◆ onMouseLeftPressed()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliToolPen::onMouseLeftPressed (int x,
int y 
)
+
+overridevirtual
+
+ +

A function managing the left click pressed of a mouse. Starting the drawing procedure.

+
Parameters
+ + + +
x- The x coordinate relative to the active/canvas layer.
y- The y coordinate relative to the active/canvas layer.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 24 of file IntelliToolPen.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ onMouseLeftReleased()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliToolPen::onMouseLeftReleased (int x,
int y 
)
+
+overridevirtual
+
+ +

A function managing the left click released of a mouse. Merging the drawing to the active layer.

+
Parameters
+ + + +
x- The x coordinate relative to the active/canvas layer.
y- The y coordinate relative to the active/canvas layer.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 31 of file IntelliToolPen.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ onMouseMoved()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliToolPen::onMouseMoved (int x,
int y 
)
+
+overridevirtual
+
+ +

A function managing the mouse moved event. To draw the line.

+
Parameters
+ + + +
x- The x coordinate of the new mouse position.
y- The y coordinate of the new mouse position.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 35 of file IntelliToolPen.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ onMouseRightPressed()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliToolPen::onMouseRightPressed (int x,
int y 
)
+
+overridevirtual
+
+ +

A function managing the right click pressed of a mouse. Resetting the current draw.

+
Parameters
+ + + +
x- The x coordinate relative to the active/canvas layer.
y- The y coordinate relative to the active/canvas layer.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 16 of file IntelliToolPen.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ onMouseRightReleased()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliToolPen::onMouseRightReleased (int x,
int y 
)
+
+overridevirtual
+
+ +

A function managing the right click released of a mouse.

+
Parameters
+ + + +
x- The x coordinate relative to the active/canvas layer.
y- The y coordinate relative to the active/canvas layer.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 20 of file IntelliToolPen.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ onWheelScrolled()

+ +
+
+ + + + + +
+ + + + + + + + +
void IntelliToolPen::onWheelScrolled (int value)
+
+overridevirtual
+
+ +

A function managing the scroll event. Changing penWidth relativ to value.

+
Parameters
+ + +
value- The absolute the scroll has changed.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 44 of file IntelliToolPen.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + diff --git a/docs/html/class_intelli_tool_pen.js b/docs/html/class_intelli_tool_pen.js new file mode 100644 index 0000000..011662d --- /dev/null +++ b/docs/html/class_intelli_tool_pen.js @@ -0,0 +1,11 @@ +var class_intelli_tool_pen = +[ + [ "IntelliToolPen", "class_intelli_tool_pen.html#a889891b3ae7cdefb881aed2e7fff9b47", null ], + [ "~IntelliToolPen", "class_intelli_tool_pen.html#ac77a025515d0fed6954556fe2b444818", null ], + [ "onMouseLeftPressed", "class_intelli_tool_pen.html#a8ff40aef6d38eb55af31a19322429205", null ], + [ "onMouseLeftReleased", "class_intelli_tool_pen.html#abda7a22b9766fa4ad254324a53cab94d", null ], + [ "onMouseMoved", "class_intelli_tool_pen.html#a58d1d636497b630647ce0c4d652737c2", null ], + [ "onMouseRightPressed", "class_intelli_tool_pen.html#a1751e3864a0d36ef42ca55021cae73ce", null ], + [ "onMouseRightReleased", "class_intelli_tool_pen.html#abf8562e8cd2da586afdf4d47b3a4ff13", null ], + [ "onWheelScrolled", "class_intelli_tool_pen.html#afe3626ddff440ab125f4a2465c45427a", null ] +]; \ No newline at end of file diff --git a/docs/html/class_intelli_tool_pen__coll__graph.dot b/docs/html/class_intelli_tool_pen__coll__graph.dot new file mode 100644 index 0000000..c70e465 --- /dev/null +++ b/docs/html/class_intelli_tool_pen__coll__graph.dot @@ -0,0 +1,19 @@ +digraph "IntelliToolPen" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="IntelliToolPen",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="The IntelliToolPen class represents a tool to draw a line."]; + Node2 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html",tooltip="An abstract class that manages the basic events, like mouse clicks or scrolls events."]; + Node3 -> Node2 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" Area" ,fontname="Helvetica"]; + Node3 [label="PaintingArea",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_painting_area.html",tooltip="The PaintingArea class manages the methods and stores information about the current painting area,..."]; + Node4 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="QWidget",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node5 -> Node2 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" colorPicker" ,fontname="Helvetica"]; + Node5 [label="IntelliColorPicker",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_color_picker.html",tooltip="The IntelliColorPicker manages the selected colors for one whole project."]; + Node6 -> Node2 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" Canvas\nActive" ,fontname="Helvetica"]; + Node6 [label="LayerObject",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$struct_layer_object.html",tooltip="The LayerObject struct holds all the information needed to construct a layer."]; + Node7 -> Node6 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" image" ,fontname="Helvetica"]; + Node7 [label="IntelliImage",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html",tooltip="An abstract class which manages the basic IntelliImage operations."]; +} diff --git a/docs/html/class_intelli_tool_pen__inherit__graph.dot b/docs/html/class_intelli_tool_pen__inherit__graph.dot new file mode 100644 index 0000000..406b281 --- /dev/null +++ b/docs/html/class_intelli_tool_pen__inherit__graph.dot @@ -0,0 +1,9 @@ +digraph "IntelliToolPen" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="IntelliToolPen",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="The IntelliToolPen class represents a tool to draw a line."]; + Node2 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html",tooltip="An abstract class that manages the basic events, like mouse clicks or scrolls events."]; +} diff --git a/docs/html/class_intelli_tool_pen_a1751e3864a0d36ef42ca55021cae73ce_cgraph.dot b/docs/html/class_intelli_tool_pen_a1751e3864a0d36ef42ca55021cae73ce_cgraph.dot new file mode 100644 index 0000000..693f9a8 --- /dev/null +++ b/docs/html/class_intelli_tool_pen_a1751e3864a0d36ef42ca55021cae73ce_cgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliToolPen::onMouseRightPressed" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolPen::onMouseRight\lPressed",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the right click pressed of a mouse. Resetting the current draw."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool::onMouseRight\lPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a1e6aa68ac5f3c2ca02319e5ef3f0c966",tooltip="A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on...."]; +} diff --git a/docs/html/class_intelli_tool_pen_a58d1d636497b630647ce0c4d652737c2_cgraph.dot b/docs/html/class_intelli_tool_pen_a58d1d636497b630647ce0c4d652737c2_cgraph.dot new file mode 100644 index 0000000..4451173 --- /dev/null +++ b/docs/html/class_intelli_tool_pen_a58d1d636497b630647ce0c4d652737c2_cgraph.dot @@ -0,0 +1,16 @@ +digraph "IntelliToolPen::onMouseMoved" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolPen::onMouseMoved",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the mouse moved event. To draw the line."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliImage::drawLine",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#af8eddbd9aa54c8d37590d1d4bf8dce31",tooltip="A function that draws A Line between two given Points in a given color."]; + Node1 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliColorPicker\l::getFirstColor",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_color_picker.html#aae2eb27b928fe9388b9398b0556303b7",tooltip="A function to read the primary selected color."]; + Node1 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="IntelliTool::onMouseMoved",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#ac10e20414cd8855a2f9b103fb6408639",tooltip="A function managing the mouse moved event. Call this in child classes!"]; + Node4 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="IntelliImage::calculateVisiblity",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2",tooltip="An abstract function that calculates the visiblity of the Image data if needed."]; +} diff --git a/docs/html/class_intelli_tool_pen_a8ff40aef6d38eb55af31a19322429205_cgraph.dot b/docs/html/class_intelli_tool_pen_a8ff40aef6d38eb55af31a19322429205_cgraph.dot new file mode 100644 index 0000000..bcb3d63 --- /dev/null +++ b/docs/html/class_intelli_tool_pen_a8ff40aef6d38eb55af31a19322429205_cgraph.dot @@ -0,0 +1,17 @@ +digraph "IntelliToolPen::onMouseLeftPressed" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolPen::onMouseLeft\lPressed",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the left click pressed of a mouse. Starting the drawing procedure."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliImage::calculateVisiblity",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2",tooltip="An abstract function that calculates the visiblity of the Image data if needed."]; + Node1 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliImage::drawPixel",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#af3c859f5c409e37051edfd9e9fbca056",tooltip="A funtcion used to draw a pixel on the Image with the given Color."]; + Node1 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="IntelliColorPicker\l::getFirstColor",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_color_picker.html#aae2eb27b928fe9388b9398b0556303b7",tooltip="A function to read the primary selected color."]; + Node1 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="IntelliTool::onMouseLeft\lPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a34b7ef1dde96b94a0ce450a25ae1778c",tooltip="A function managing the left click Pressed of a Mouse. Resetting the current draw...."]; + Node5 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; +} diff --git a/docs/html/class_intelli_tool_pen_abda7a22b9766fa4ad254324a53cab94d_cgraph.dot b/docs/html/class_intelli_tool_pen_abda7a22b9766fa4ad254324a53cab94d_cgraph.dot new file mode 100644 index 0000000..6b84745 --- /dev/null +++ b/docs/html/class_intelli_tool_pen_abda7a22b9766fa4ad254324a53cab94d_cgraph.dot @@ -0,0 +1,12 @@ +digraph "IntelliToolPen::onMouseLeftReleased" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolPen::onMouseLeft\lReleased",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the left click released of a mouse. Merging the drawing to the active layer."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool::onMouseLeft\lReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a906a2575c16c8a33cb2a5197f8d8cc5b",tooltip="A function managing the left click Released of a Mouse. Call this in child classes!"]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliImage::calculateVisiblity",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2",tooltip="An abstract function that calculates the visiblity of the Image data if needed."]; +} diff --git a/docs/html/class_intelli_tool_pen_abf8562e8cd2da586afdf4d47b3a4ff13_cgraph.dot b/docs/html/class_intelli_tool_pen_abf8562e8cd2da586afdf4d47b3a4ff13_cgraph.dot new file mode 100644 index 0000000..a3e01c7 --- /dev/null +++ b/docs/html/class_intelli_tool_pen_abf8562e8cd2da586afdf4d47b3a4ff13_cgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliToolPen::onMouseRightReleased" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolPen::onMouseRight\lReleased",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the right click released of a mouse."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool::onMouseRight\lReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a16189b00307c6d7e89f28198f54404b0",tooltip="A function managing the right click Released of a Mouse. Merging the Canvas to Active...."]; +} diff --git a/docs/html/class_intelli_tool_pen_afe3626ddff440ab125f4a2465c45427a_cgraph.dot b/docs/html/class_intelli_tool_pen_afe3626ddff440ab125f4a2465c45427a_cgraph.dot new file mode 100644 index 0000000..44ced84 --- /dev/null +++ b/docs/html/class_intelli_tool_pen_afe3626ddff440ab125f4a2465c45427a_cgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliToolPen::onWheelScrolled" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolPen::onWheelScrolled",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the scroll event. Changing penWidth relativ to value."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool::onWheelScrolled",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a4dccfd4460255ccb866f336406a33574",tooltip="A function managing the scroll event. A positive value means scrolling outwards. Call this in child c..."]; +} diff --git a/docs/html/class_intelli_tool_plain_tool-members.html b/docs/html/class_intelli_tool_plain_tool-members.html new file mode 100644 index 0000000..7ef7717 --- /dev/null +++ b/docs/html/class_intelli_tool_plain_tool-members.html @@ -0,0 +1,122 @@ + + + + + + + +IntelliPhoto: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliToolPlainTool Member List
+
+
+ +

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

+ + + + + + + + + + + + + + + + +
ActiveIntelliToolprotected
AreaIntelliToolprotected
CanvasIntelliToolprotected
colorPickerIntelliToolprotected
drawingIntelliToolprotected
IntelliTool(PaintingArea *Area, IntelliColorPicker *colorPicker)IntelliTool
IntelliToolPlainTool(PaintingArea *Area, IntelliColorPicker *colorPicker)IntelliToolPlainTool
onMouseLeftPressed(int x, int y) overrideIntelliToolPlainToolvirtual
onMouseLeftReleased(int x, int y) overrideIntelliToolPlainToolvirtual
onMouseMoved(int x, int y) overrideIntelliToolPlainToolvirtual
onMouseRightPressed(int x, int y) overrideIntelliToolPlainToolvirtual
onMouseRightReleased(int x, int y) overrideIntelliToolPlainToolvirtual
onWheelScrolled(int value) overrideIntelliToolPlainToolvirtual
~IntelliTool()=0IntelliToolpure virtual
~IntelliToolPlainTool() overrideIntelliToolPlainToolvirtual
+
+ + + + diff --git a/docs/html/class_intelli_tool_plain_tool.html b/docs/html/class_intelli_tool_plain_tool.html new file mode 100644 index 0000000..4de1bac --- /dev/null +++ b/docs/html/class_intelli_tool_plain_tool.html @@ -0,0 +1,568 @@ + + + + + + + +IntelliPhoto: IntelliToolPlainTool Class Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
IntelliToolPlainTool Class Reference
+
+
+ +

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

+ +

#include <IntelliToolPlain.h>

+
+Inheritance diagram for IntelliToolPlainTool:
+
+
Inheritance graph
+
[legend]
+
+Collaboration diagram for IntelliToolPlainTool:
+
+
Collaboration graph
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 IntelliToolPlainTool (PaintingArea *Area, IntelliColorPicker *colorPicker)
 A constructor setting the general paintingArea and colorPicker. More...
 
virtual ~IntelliToolPlainTool () override
 A Destructor. More...
 
virtual void onMouseRightPressed (int x, int y) override
 A function managing the right click pressed of a mouse. Resetting the current fill. More...
 
virtual void onMouseRightReleased (int x, int y) override
 A function managing the right click released of a mouse. More...
 
virtual void onMouseLeftPressed (int x, int y) override
 A function managing the left click pressed of a mouse. Filling the whole canvas. More...
 
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. More...
 
virtual void onWheelScrolled (int value) override
 A function managing the scroll event. More...
 
virtual void onMouseMoved (int x, int y) override
 A function managing the mouse moved event. More...
 
- Public Member Functions inherited from IntelliTool
 IntelliTool (PaintingArea *Area, IntelliColorPicker *colorPicker)
 A constructor setting the general Painting Area and colorPicker. More...
 
virtual ~IntelliTool ()=0
 An abstract Destructor. More...
 
+ + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from IntelliTool
PaintingAreaArea
 A pointer to the general PaintingArea to interact with. More...
 
IntelliColorPickercolorPicker
 A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors. More...
 
LayerObjectActive
 A pointer to the underlying active Layer, do not work on this. This is used for data grabbing or previews. More...
 
LayerObjectCanvas
 A pointer to the drawing canvas of the tool, work on this. More...
 
bool drawing = false
 A flag checking if the user is currently drawing or not. More...
 
+

Detailed Description

+

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

+ +

Definition at line 9 of file IntelliToolPlain.h.

+

Constructor & Destructor Documentation

+ +

◆ IntelliToolPlainTool()

+ +
+
+ + + + + + + + + + + + + + + + + + +
IntelliToolPlainTool::IntelliToolPlainTool (PaintingAreaArea,
IntelliColorPickercolorPicker 
)
+
+ +

A constructor setting the general paintingArea and colorPicker.

+
Parameters
+ + + +
Area- The general paintingArea used by the project.
colorPicker- The general colorPicker used by the project.
+
+
+ +

Definition at line 5 of file IntelliToolPlain.cpp.

+ +
+
+ +

◆ ~IntelliToolPlainTool()

+ +
+
+ + + + + +
+ + + + + + + +
IntelliToolPlainTool::~IntelliToolPlainTool ()
+
+overridevirtual
+
+ +

A Destructor.

+ +

Definition at line 9 of file IntelliToolPlain.cpp.

+ +
+
+

Member Function Documentation

+ +

◆ onMouseLeftPressed()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliToolPlainTool::onMouseLeftPressed (int x,
int y 
)
+
+overridevirtual
+
+ +

A function managing the left click pressed of a mouse. Filling the whole canvas.

+
Parameters
+ + + +
x- The x coordinate relative to the active/canvas layer.
y- The y coordinate relative to the active/canvas layer.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 13 of file IntelliToolPlain.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ onMouseLeftReleased()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliToolPlainTool::onMouseLeftReleased (int x,
int y 
)
+
+overridevirtual
+
+ +

A function managing the left click released of a mouse. Merging the fill to the active layer.

+
Parameters
+ + + +
x- The x coordinate relative to the active/canvas layer.
y- The y coordinate relative to the active/canvas layer.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 19 of file IntelliToolPlain.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ onMouseMoved()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliToolPlainTool::onMouseMoved (int x,
int y 
)
+
+overridevirtual
+
+ +

A function managing the mouse moved event.

+
Parameters
+ + + +
x- The x coordinate of the new mouse position.
y- The y coordinate of the new mouse position.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 31 of file IntelliToolPlain.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ onMouseRightPressed()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliToolPlainTool::onMouseRightPressed (int x,
int y 
)
+
+overridevirtual
+
+ +

A function managing the right click pressed of a mouse. Resetting the current fill.

+
Parameters
+ + + +
x- The x coordinate relative to the active/canvas layer.
y- The y coordinate relative to the active/canvas layer.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 23 of file IntelliToolPlain.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ onMouseRightReleased()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliToolPlainTool::onMouseRightReleased (int x,
int y 
)
+
+overridevirtual
+
+ +

A function managing the right click released of a mouse.

+
Parameters
+ + + +
x- The x coordinate relative to the active/canvas layer.
y- The y coordinate relative to the active/canvas layer.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 27 of file IntelliToolPlain.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ onWheelScrolled()

+ +
+
+ + + + + +
+ + + + + + + + +
void IntelliToolPlainTool::onWheelScrolled (int value)
+
+overridevirtual
+
+ +

A function managing the scroll event.

+
Parameters
+ + +
value- The absolute the scroll has changed.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 35 of file IntelliToolPlain.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + diff --git a/docs/html/class_intelli_tool_plain_tool.js b/docs/html/class_intelli_tool_plain_tool.js new file mode 100644 index 0000000..a3b2395 --- /dev/null +++ b/docs/html/class_intelli_tool_plain_tool.js @@ -0,0 +1,11 @@ +var class_intelli_tool_plain_tool = +[ + [ "IntelliToolPlainTool", "class_intelli_tool_plain_tool.html#a0ff0b9f7b78b763683076e4417236859", null ], + [ "~IntelliToolPlainTool", "class_intelli_tool_plain_tool.html#a91fe568be05c075814d67440472bb658", null ], + [ "onMouseLeftPressed", "class_intelli_tool_plain_tool.html#ab786dd5fa80af863246013d43c4b7ac9", null ], + [ "onMouseLeftReleased", "class_intelli_tool_plain_tool.html#ac23f5d0f07e42fd7c2ea3fc1347da400", null ], + [ "onMouseMoved", "class_intelli_tool_plain_tool.html#ad7546a6335bb3bb4cbf0e1883788d41c", null ], + [ "onMouseRightPressed", "class_intelli_tool_plain_tool.html#acb0c46e16d2c09370a2244a936de38b1", null ], + [ "onMouseRightReleased", "class_intelli_tool_plain_tool.html#a2ae458f1b04eb77a47f6dca5e91e33b8", null ], + [ "onWheelScrolled", "class_intelli_tool_plain_tool.html#adc004ea421e2cc0ac39cc7a6b6d43d0d", null ] +]; \ No newline at end of file diff --git a/docs/html/class_intelli_tool_plain_tool__coll__graph.dot b/docs/html/class_intelli_tool_plain_tool__coll__graph.dot new file mode 100644 index 0000000..414c45b --- /dev/null +++ b/docs/html/class_intelli_tool_plain_tool__coll__graph.dot @@ -0,0 +1,19 @@ +digraph "IntelliToolPlainTool" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="IntelliToolPlainTool",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="The IntelliToolPlainTool class represents a tool to fill the whole canvas with one color."]; + Node2 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html",tooltip="An abstract class that manages the basic events, like mouse clicks or scrolls events."]; + Node3 -> Node2 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" Area" ,fontname="Helvetica"]; + Node3 [label="PaintingArea",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_painting_area.html",tooltip="The PaintingArea class manages the methods and stores information about the current painting area,..."]; + Node4 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="QWidget",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node5 -> Node2 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" colorPicker" ,fontname="Helvetica"]; + Node5 [label="IntelliColorPicker",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_color_picker.html",tooltip="The IntelliColorPicker manages the selected colors for one whole project."]; + Node6 -> Node2 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" Canvas\nActive" ,fontname="Helvetica"]; + Node6 [label="LayerObject",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$struct_layer_object.html",tooltip="The LayerObject struct holds all the information needed to construct a layer."]; + Node7 -> Node6 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" image" ,fontname="Helvetica"]; + Node7 [label="IntelliImage",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html",tooltip="An abstract class which manages the basic IntelliImage operations."]; +} diff --git a/docs/html/class_intelli_tool_plain_tool__inherit__graph.dot b/docs/html/class_intelli_tool_plain_tool__inherit__graph.dot new file mode 100644 index 0000000..962d72e --- /dev/null +++ b/docs/html/class_intelli_tool_plain_tool__inherit__graph.dot @@ -0,0 +1,9 @@ +digraph "IntelliToolPlainTool" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="IntelliToolPlainTool",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="The IntelliToolPlainTool class represents a tool to fill the whole canvas with one color."]; + Node2 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html",tooltip="An abstract class that manages the basic events, like mouse clicks or scrolls events."]; +} diff --git a/docs/html/class_intelli_tool_plain_tool_a2ae458f1b04eb77a47f6dca5e91e33b8_cgraph.dot b/docs/html/class_intelli_tool_plain_tool_a2ae458f1b04eb77a47f6dca5e91e33b8_cgraph.dot new file mode 100644 index 0000000..ed1530c --- /dev/null +++ b/docs/html/class_intelli_tool_plain_tool_a2ae458f1b04eb77a47f6dca5e91e33b8_cgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliToolPlainTool::onMouseRightReleased" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolPlainTool\l::onMouseRightReleased",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the right click released of a mouse."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool::onMouseRight\lReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a16189b00307c6d7e89f28198f54404b0",tooltip="A function managing the right click Released of a Mouse. Merging the Canvas to Active...."]; +} diff --git a/docs/html/class_intelli_tool_plain_tool_ab786dd5fa80af863246013d43c4b7ac9_cgraph.dot b/docs/html/class_intelli_tool_plain_tool_ab786dd5fa80af863246013d43c4b7ac9_cgraph.dot new file mode 100644 index 0000000..11c6f8c --- /dev/null +++ b/docs/html/class_intelli_tool_plain_tool_ab786dd5fa80af863246013d43c4b7ac9_cgraph.dot @@ -0,0 +1,17 @@ +digraph "IntelliToolPlainTool::onMouseLeftPressed" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolPlainTool\l::onMouseLeftPressed",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the left click pressed of a mouse. Filling the whole canvas."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliImage::calculateVisiblity",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2",tooltip="An abstract function that calculates the visiblity of the Image data if needed."]; + Node1 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliImage::drawPlain",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#a6be622810dc2bc756054bb5769becb06",tooltip="A function that clears the whole image in a given Color."]; + Node1 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="IntelliColorPicker\l::getFirstColor",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_color_picker.html#aae2eb27b928fe9388b9398b0556303b7",tooltip="A function to read the primary selected color."]; + Node1 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="IntelliTool::onMouseLeft\lPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a34b7ef1dde96b94a0ce450a25ae1778c",tooltip="A function managing the left click Pressed of a Mouse. Resetting the current draw...."]; + Node5 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; +} diff --git a/docs/html/class_intelli_tool_plain_tool_ac23f5d0f07e42fd7c2ea3fc1347da400_cgraph.dot b/docs/html/class_intelli_tool_plain_tool_ac23f5d0f07e42fd7c2ea3fc1347da400_cgraph.dot new file mode 100644 index 0000000..4e3de1f --- /dev/null +++ b/docs/html/class_intelli_tool_plain_tool_ac23f5d0f07e42fd7c2ea3fc1347da400_cgraph.dot @@ -0,0 +1,12 @@ +digraph "IntelliToolPlainTool::onMouseLeftReleased" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolPlainTool\l::onMouseLeftReleased",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the left click released of a mouse. Merging the fill to the active layer."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool::onMouseLeft\lReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a906a2575c16c8a33cb2a5197f8d8cc5b",tooltip="A function managing the left click Released of a Mouse. Call this in child classes!"]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliImage::calculateVisiblity",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2",tooltip="An abstract function that calculates the visiblity of the Image data if needed."]; +} diff --git a/docs/html/class_intelli_tool_plain_tool_acb0c46e16d2c09370a2244a936de38b1_cgraph.dot b/docs/html/class_intelli_tool_plain_tool_acb0c46e16d2c09370a2244a936de38b1_cgraph.dot new file mode 100644 index 0000000..92d51ca --- /dev/null +++ b/docs/html/class_intelli_tool_plain_tool_acb0c46e16d2c09370a2244a936de38b1_cgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliToolPlainTool::onMouseRightPressed" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolPlainTool\l::onMouseRightPressed",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the right click pressed of a mouse. Resetting the current fill."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool::onMouseRight\lPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a1e6aa68ac5f3c2ca02319e5ef3f0c966",tooltip="A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on...."]; +} diff --git a/docs/html/class_intelli_tool_plain_tool_ad7546a6335bb3bb4cbf0e1883788d41c_cgraph.dot b/docs/html/class_intelli_tool_plain_tool_ad7546a6335bb3bb4cbf0e1883788d41c_cgraph.dot new file mode 100644 index 0000000..fff8436 --- /dev/null +++ b/docs/html/class_intelli_tool_plain_tool_ad7546a6335bb3bb4cbf0e1883788d41c_cgraph.dot @@ -0,0 +1,12 @@ +digraph "IntelliToolPlainTool::onMouseMoved" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolPlainTool\l::onMouseMoved",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the mouse moved event."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool::onMouseMoved",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#ac10e20414cd8855a2f9b103fb6408639",tooltip="A function managing the mouse moved event. Call this in child classes!"]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliImage::calculateVisiblity",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2",tooltip="An abstract function that calculates the visiblity of the Image data if needed."]; +} diff --git a/docs/html/class_intelli_tool_plain_tool_adc004ea421e2cc0ac39cc7a6b6d43d0d_cgraph.dot b/docs/html/class_intelli_tool_plain_tool_adc004ea421e2cc0ac39cc7a6b6d43d0d_cgraph.dot new file mode 100644 index 0000000..4352f5d --- /dev/null +++ b/docs/html/class_intelli_tool_plain_tool_adc004ea421e2cc0ac39cc7a6b6d43d0d_cgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliToolPlainTool::onWheelScrolled" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolPlainTool\l::onWheelScrolled",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the scroll event."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool::onWheelScrolled",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a4dccfd4460255ccb866f336406a33574",tooltip="A function managing the scroll event. A positive value means scrolling outwards. Call this in child c..."]; +} diff --git a/docs/html/class_intelli_tool_polygon-members.html b/docs/html/class_intelli_tool_polygon-members.html new file mode 100644 index 0000000..975fc52 --- /dev/null +++ b/docs/html/class_intelli_tool_polygon-members.html @@ -0,0 +1,122 @@ + + + + + + + +IntelliPhoto: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliToolPolygon Member List
+
+
+ +

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

+ + + + + + + + + + + + + + + + +
ActiveIntelliToolprotected
AreaIntelliToolprotected
CanvasIntelliToolprotected
colorPickerIntelliToolprotected
drawingIntelliToolprotected
IntelliTool(PaintingArea *Area, IntelliColorPicker *colorPicker)IntelliTool
IntelliToolPolygon(PaintingArea *Area, IntelliColorPicker *colorPicker)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
~IntelliTool()=0IntelliToolpure virtual
~IntelliToolPolygon() overrideIntelliToolPolygon
+
+ + + + diff --git a/docs/html/class_intelli_tool_polygon.html b/docs/html/class_intelli_tool_polygon.html new file mode 100644 index 0000000..f9de686 --- /dev/null +++ b/docs/html/class_intelli_tool_polygon.html @@ -0,0 +1,568 @@ + + + + + + + +IntelliPhoto: IntelliToolPolygon Class Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
IntelliToolPolygon Class Reference
+
+
+ +

The IntelliToolPolygon managed the Drawing of Polygonforms. + More...

+ +

#include <IntelliToolPolygon.h>

+
+Inheritance diagram for IntelliToolPolygon:
+
+
Inheritance graph
+
[legend]
+
+Collaboration diagram for IntelliToolPolygon:
+
+
Collaboration graph
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 IntelliToolPolygon (PaintingArea *Area, IntelliColorPicker *colorPicker)
 A constructor setting the general paintingArea and colorPicker. More...
 
 ~IntelliToolPolygon () override
 A Destructor. More...
 
virtual void onMouseLeftPressed (int x, int y) override
 A function managing the left click pressed of a mouse. Setting polygon points. More...
 
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. More...
 
virtual void onMouseRightPressed (int x, int y) override
 A function managing the right click pressed of a mouse. Resetting the current fill. More...
 
virtual void onMouseRightReleased (int x, int y) override
 A function managing the right click released of a mouse. More...
 
virtual void onWheelScrolled (int value) override
 A function managing the scroll event. CHanging the lineWidth relative to value. More...
 
virtual void onMouseMoved (int x, int y) override
 A function managing the mouse moved event. More...
 
- Public Member Functions inherited from IntelliTool
 IntelliTool (PaintingArea *Area, IntelliColorPicker *colorPicker)
 A constructor setting the general Painting Area and colorPicker. More...
 
virtual ~IntelliTool ()=0
 An abstract Destructor. More...
 
+ + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from IntelliTool
PaintingAreaArea
 A pointer to the general PaintingArea to interact with. More...
 
IntelliColorPickercolorPicker
 A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors. More...
 
LayerObjectActive
 A pointer to the underlying active Layer, do not work on this. This is used for data grabbing or previews. More...
 
LayerObjectCanvas
 A pointer to the drawing canvas of the tool, work on this. More...
 
bool drawing = false
 A flag checking if the user is currently drawing or not. More...
 
+

Detailed Description

+

The IntelliToolPolygon managed the Drawing of Polygonforms.

+ +

Definition at line 11 of file IntelliToolPolygon.h.

+

Constructor & Destructor Documentation

+ +

◆ IntelliToolPolygon()

+ +
+
+ + + + + + + + + + + + + + + + + + +
IntelliToolPolygon::IntelliToolPolygon (PaintingAreaArea,
IntelliColorPickercolorPicker 
)
+
+ +

A constructor setting the general paintingArea and colorPicker.

+
Parameters
+ + + +
Area- The general paintingArea used by the project.
colorPicker- The general colorPicker used by the project.
+
+
+ +

Definition at line 7 of file IntelliToolPolygon.cpp.

+ +
+
+ +

◆ ~IntelliToolPolygon()

+ +
+
+ + + + + +
+ + + + + + + +
IntelliToolPolygon::~IntelliToolPolygon ()
+
+override
+
+ +

A Destructor.

+ +

Definition at line 15 of file IntelliToolPolygon.cpp.

+ +
+
+

Member Function Documentation

+ +

◆ onMouseLeftPressed()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliToolPolygon::onMouseLeftPressed (int x,
int y 
)
+
+overridevirtual
+
+ +

A function managing the left click pressed of a mouse. Setting polygon points.

+
Parameters
+ + + +
x- The x coordinate relative to the active/canvas layer.
y- The y coordinate relative to the active/canvas layer.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 19 of file IntelliToolPolygon.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ onMouseLeftReleased()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliToolPolygon::onMouseLeftReleased (int x,
int y 
)
+
+overridevirtual
+
+ +

A function managing the left click released of a mouse. Merging the fill to the active layer.

+
Parameters
+ + + +
x- The x coordinate relative to the active/canvas layer.
y- The y coordinate relative to the active/canvas layer.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 50 of file IntelliToolPolygon.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ onMouseMoved()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliToolPolygon::onMouseMoved (int x,
int y 
)
+
+overridevirtual
+
+ +

A function managing the mouse moved event.

+
Parameters
+ + + +
x- The x coordinate of the new mouse position.
y- The y coordinate of the new mouse position.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 91 of file IntelliToolPolygon.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ onMouseRightPressed()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliToolPolygon::onMouseRightPressed (int x,
int y 
)
+
+overridevirtual
+
+ +

A function managing the right click pressed of a mouse. Resetting the current fill.

+
Parameters
+ + + +
x- The x coordinate relative to the active/canvas layer.
y- The y coordinate relative to the active/canvas layer.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 43 of file IntelliToolPolygon.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ onMouseRightReleased()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliToolPolygon::onMouseRightReleased (int x,
int y 
)
+
+overridevirtual
+
+ +

A function managing the right click released of a mouse.

+
Parameters
+ + + +
x- The x coordinate relative to the active/canvas layer.
y- The y coordinate relative to the active/canvas layer.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 75 of file IntelliToolPolygon.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ onWheelScrolled()

+ +
+
+ + + + + +
+ + + + + + + + +
void IntelliToolPolygon::onWheelScrolled (int value)
+
+overridevirtual
+
+ +

A function managing the scroll event. CHanging the lineWidth relative to value.

+
Parameters
+ + +
value- The absolute the scroll has changed.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 79 of file IntelliToolPolygon.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + diff --git a/docs/html/class_intelli_tool_polygon.js b/docs/html/class_intelli_tool_polygon.js new file mode 100644 index 0000000..b8a0c43 --- /dev/null +++ b/docs/html/class_intelli_tool_polygon.js @@ -0,0 +1,11 @@ +var class_intelli_tool_polygon = +[ + [ "IntelliToolPolygon", "class_intelli_tool_polygon.html#ae6e5f07fdf88d12029410a032dc4921d", 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 ], + [ "onMouseMoved", "class_intelli_tool_polygon.html#a0e3a1135f04c73c159137ae219a38922", null ], + [ "onMouseRightPressed", "class_intelli_tool_polygon.html#aa36b012b48311c36e7cd6771a5081427", null ], + [ "onMouseRightReleased", "class_intelli_tool_polygon.html#a47cad87cd02b128b02dc929713bd1d1b", null ], + [ "onWheelScrolled", "class_intelli_tool_polygon.html#a713103300c9f023d64d9eec5ac05dd17", null ] +]; \ No newline at end of file diff --git a/docs/html/class_intelli_tool_polygon__coll__graph.dot b/docs/html/class_intelli_tool_polygon__coll__graph.dot new file mode 100644 index 0000000..6faf754 --- /dev/null +++ b/docs/html/class_intelli_tool_polygon__coll__graph.dot @@ -0,0 +1,19 @@ +digraph "IntelliToolPolygon" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="IntelliToolPolygon",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="The IntelliToolPolygon managed the Drawing of Polygonforms."]; + Node2 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html",tooltip="An abstract class that manages the basic events, like mouse clicks or scrolls events."]; + Node3 -> Node2 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" Area" ,fontname="Helvetica"]; + Node3 [label="PaintingArea",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_painting_area.html",tooltip="The PaintingArea class manages the methods and stores information about the current painting area,..."]; + Node4 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="QWidget",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node5 -> Node2 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" colorPicker" ,fontname="Helvetica"]; + Node5 [label="IntelliColorPicker",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_color_picker.html",tooltip="The IntelliColorPicker manages the selected colors for one whole project."]; + Node6 -> Node2 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" Canvas\nActive" ,fontname="Helvetica"]; + Node6 [label="LayerObject",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$struct_layer_object.html",tooltip="The LayerObject struct holds all the information needed to construct a layer."]; + Node7 -> Node6 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" image" ,fontname="Helvetica"]; + Node7 [label="IntelliImage",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html",tooltip="An abstract class which manages the basic IntelliImage operations."]; +} diff --git a/docs/html/class_intelli_tool_polygon__inherit__graph.dot b/docs/html/class_intelli_tool_polygon__inherit__graph.dot new file mode 100644 index 0000000..1dc9f96 --- /dev/null +++ b/docs/html/class_intelli_tool_polygon__inherit__graph.dot @@ -0,0 +1,9 @@ +digraph "IntelliToolPolygon" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="IntelliToolPolygon",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="The IntelliToolPolygon managed the Drawing of Polygonforms."]; + Node2 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html",tooltip="An abstract class that manages the basic events, like mouse clicks or scrolls events."]; +} diff --git a/docs/html/class_intelli_tool_polygon_a0e3a1135f04c73c159137ae219a38922_cgraph.dot b/docs/html/class_intelli_tool_polygon_a0e3a1135f04c73c159137ae219a38922_cgraph.dot new file mode 100644 index 0000000..123d693 --- /dev/null +++ b/docs/html/class_intelli_tool_polygon_a0e3a1135f04c73c159137ae219a38922_cgraph.dot @@ -0,0 +1,12 @@ +digraph "IntelliToolPolygon::onMouseMoved" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolPolygon\l::onMouseMoved",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the mouse moved event."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool::onMouseMoved",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#ac10e20414cd8855a2f9b103fb6408639",tooltip="A function managing the mouse moved event. Call this in child classes!"]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliImage::calculateVisiblity",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2",tooltip="An abstract function that calculates the visiblity of the Image data if needed."]; +} diff --git a/docs/html/class_intelli_tool_polygon_a47cad87cd02b128b02dc929713bd1d1b_cgraph.dot b/docs/html/class_intelli_tool_polygon_a47cad87cd02b128b02dc929713bd1d1b_cgraph.dot new file mode 100644 index 0000000..f55be23 --- /dev/null +++ b/docs/html/class_intelli_tool_polygon_a47cad87cd02b128b02dc929713bd1d1b_cgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliToolPolygon::onMouseRightReleased" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolPolygon\l::onMouseRightReleased",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the right click released of a mouse."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool::onMouseRight\lReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a16189b00307c6d7e89f28198f54404b0",tooltip="A function managing the right click Released of a Mouse. Merging the Canvas to Active...."]; +} diff --git a/docs/html/class_intelli_tool_polygon_a4e1473ff408ae2e11cf6a43f6f575f21_cgraph.dot b/docs/html/class_intelli_tool_polygon_a4e1473ff408ae2e11cf6a43f6f575f21_cgraph.dot new file mode 100644 index 0000000..f8717dc --- /dev/null +++ b/docs/html/class_intelli_tool_polygon_a4e1473ff408ae2e11cf6a43f6f575f21_cgraph.dot @@ -0,0 +1,28 @@ +digraph "IntelliToolPolygon::onMouseLeftReleased" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolPolygon\l::onMouseLeftReleased",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the left click released of a mouse. Merging the fill to the active layer."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliHelper::calculate\lTriangles",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$namespace_intelli_helper.html#a214dc3624ba4562a03dc922e3dd7b617",tooltip="A function to split a polygon in its spanning traingles by using Meisters Theorem of graph theory by ..."]; + Node1 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliImage::drawLine",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#af8eddbd9aa54c8d37590d1d4bf8dce31",tooltip="A function that draws A Line between two given Points in a given color."]; + Node1 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="IntelliImage::drawPixel",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#af3c859f5c409e37051edfd9e9fbca056",tooltip="A funtcion used to draw a pixel on the Image with the given Color."]; + Node1 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="IntelliColorPicker\l::getFirstColor",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_color_picker.html#aae2eb27b928fe9388b9398b0556303b7",tooltip="A function to read the primary selected color."]; + Node1 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="IntelliColorPicker\l::getSecondColor",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_color_picker.html#a55568fbf5dc783f06284b7031ffe9415",tooltip="A function to read the secondary selected color."]; + Node1 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="IntelliHelper::isInPolygon",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$namespace_intelli_helper.html#a44d516b3e619e2a743e9c98dd75cf901",tooltip="A function to check if a point lies in a polygon by checking its spanning triangles."]; + Node7 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 [label="IntelliHelper::isInTriangle",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$namespace_intelli_helper.html#a9fcfe72f00e870be4a8ab9f2e17483c9",tooltip="A function to check if a given point is in a triangle."]; + Node8 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 [label="IntelliHelper::sign",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$namespace_intelli_helper.html#afdd9fe78cc5d21b59642910220768149",tooltip="A function to get the 2*area of a traingle, using its determinat."]; + Node1 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node10 [label="IntelliTool::onMouseLeft\lReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a906a2575c16c8a33cb2a5197f8d8cc5b",tooltip="A function managing the left click Released of a Mouse. Call this in child classes!"]; + Node10 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node11 [label="IntelliImage::calculateVisiblity",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2",tooltip="An abstract function that calculates the visiblity of the Image data if needed."]; +} diff --git a/docs/html/class_intelli_tool_polygon_a713103300c9f023d64d9eec5ac05dd17_cgraph.dot b/docs/html/class_intelli_tool_polygon_a713103300c9f023d64d9eec5ac05dd17_cgraph.dot new file mode 100644 index 0000000..ecdef01 --- /dev/null +++ b/docs/html/class_intelli_tool_polygon_a713103300c9f023d64d9eec5ac05dd17_cgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliToolPolygon::onWheelScrolled" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolPolygon\l::onWheelScrolled",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the scroll event. CHanging the lineWidth relative to value."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool::onWheelScrolled",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a4dccfd4460255ccb866f336406a33574",tooltip="A function managing the scroll event. A positive value means scrolling outwards. Call this in child c..."]; +} diff --git a/docs/html/class_intelli_tool_polygon_aa36b012b48311c36e7cd6771a5081427_cgraph.dot b/docs/html/class_intelli_tool_polygon_aa36b012b48311c36e7cd6771a5081427_cgraph.dot new file mode 100644 index 0000000..0639fba --- /dev/null +++ b/docs/html/class_intelli_tool_polygon_aa36b012b48311c36e7cd6771a5081427_cgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliToolPolygon::onMouseRightPressed" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolPolygon\l::onMouseRightPressed",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the right click pressed of a mouse. Resetting the current fill."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool::onMouseRight\lPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a1e6aa68ac5f3c2ca02319e5ef3f0c966",tooltip="A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on...."]; +} diff --git a/docs/html/class_intelli_tool_polygon_ad5d3b741be6d0647a9cdc9da2cb8bc3d_cgraph.dot b/docs/html/class_intelli_tool_polygon_ad5d3b741be6d0647a9cdc9da2cb8bc3d_cgraph.dot new file mode 100644 index 0000000..20f9501 --- /dev/null +++ b/docs/html/class_intelli_tool_polygon_ad5d3b741be6d0647a9cdc9da2cb8bc3d_cgraph.dot @@ -0,0 +1,19 @@ +digraph "IntelliToolPolygon::onMouseLeftPressed" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolPolygon\l::onMouseLeftPressed",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the left click pressed of a mouse. Setting polygon points."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliImage::calculateVisiblity",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2",tooltip="An abstract function that calculates the visiblity of the Image data if needed."]; + Node1 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliImage::drawLine",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#af8eddbd9aa54c8d37590d1d4bf8dce31",tooltip="A function that draws A Line between two given Points in a given color."]; + Node1 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="IntelliImage::drawPoint",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#a2e787f1b333b59401643936ebb3dcfe1",tooltip="A."]; + Node1 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="IntelliColorPicker\l::getFirstColor",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_color_picker.html#aae2eb27b928fe9388b9398b0556303b7",tooltip="A function to read the primary selected color."]; + Node1 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="IntelliTool::onMouseLeft\lPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a34b7ef1dde96b94a0ce450a25ae1778c",tooltip="A function managing the left click Pressed of a Mouse. Resetting the current draw...."]; + Node6 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; +} diff --git a/docs/html/class_intelli_tool_rectangle-members.html b/docs/html/class_intelli_tool_rectangle-members.html new file mode 100644 index 0000000..b532908 --- /dev/null +++ b/docs/html/class_intelli_tool_rectangle-members.html @@ -0,0 +1,122 @@ + + + + + + + +IntelliPhoto: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliToolRectangle Member List
+
+
+ +

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

+ + + + + + + + + + + + + + + + +
ActiveIntelliToolprotected
AreaIntelliToolprotected
CanvasIntelliToolprotected
colorPickerIntelliToolprotected
drawingIntelliToolprotected
IntelliTool(PaintingArea *Area, IntelliColorPicker *colorPicker)IntelliTool
IntelliToolRectangle(PaintingArea *Area, IntelliColorPicker *colorPicker)IntelliToolRectangle
onMouseLeftPressed(int x, int y) overrideIntelliToolRectanglevirtual
onMouseLeftReleased(int x, int y) overrideIntelliToolRectanglevirtual
onMouseMoved(int x, int y) overrideIntelliToolRectanglevirtual
onMouseRightPressed(int x, int y) overrideIntelliToolRectanglevirtual
onMouseRightReleased(int x, int y) overrideIntelliToolRectanglevirtual
onWheelScrolled(int value) overrideIntelliToolRectanglevirtual
~IntelliTool()=0IntelliToolpure virtual
~IntelliToolRectangle() overrideIntelliToolRectanglevirtual
+
+ + + + diff --git a/docs/html/class_intelli_tool_rectangle.html b/docs/html/class_intelli_tool_rectangle.html new file mode 100644 index 0000000..1b57256 --- /dev/null +++ b/docs/html/class_intelli_tool_rectangle.html @@ -0,0 +1,568 @@ + + + + + + + +IntelliPhoto: IntelliToolRectangle Class Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
IntelliToolRectangle Class Reference
+
+
+ +

The IntelliToolRectangle class represents a tool to draw a rectangle. + More...

+ +

#include <IntelliToolRectangle.h>

+
+Inheritance diagram for IntelliToolRectangle:
+
+
Inheritance graph
+
[legend]
+
+Collaboration diagram for IntelliToolRectangle:
+
+
Collaboration graph
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 IntelliToolRectangle (PaintingArea *Area, IntelliColorPicker *colorPicker)
 A constructor setting the general paintingArea and colorPicker. And reading in the alphaInner and edgeWidth. More...
 
virtual ~IntelliToolRectangle () override
 A Destructor. More...
 
virtual void onMouseRightPressed (int x, int y) override
 A function managing the right click pressed of a mouse.Resetting the current draw. More...
 
virtual void onMouseRightReleased (int x, int y) override
 A function managing the right click released of a mouse. More...
 
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. More...
 
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. More...
 
virtual void onWheelScrolled (int value) override
 A function managing the scroll event.Changing edgeWidth relativ to value. More...
 
virtual void onMouseMoved (int x, int y) override
 A function managing the mouse moved event.Drawing a rectangle to currrent mouse position. More...
 
- Public Member Functions inherited from IntelliTool
 IntelliTool (PaintingArea *Area, IntelliColorPicker *colorPicker)
 A constructor setting the general Painting Area and colorPicker. More...
 
virtual ~IntelliTool ()=0
 An abstract Destructor. More...
 
+ + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from IntelliTool
PaintingAreaArea
 A pointer to the general PaintingArea to interact with. More...
 
IntelliColorPickercolorPicker
 A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors. More...
 
LayerObjectActive
 A pointer to the underlying active Layer, do not work on this. This is used for data grabbing or previews. More...
 
LayerObjectCanvas
 A pointer to the drawing canvas of the tool, work on this. More...
 
bool drawing = false
 A flag checking if the user is currently drawing or not. More...
 
+

Detailed Description

+

The IntelliToolRectangle class represents a tool to draw a rectangle.

+ +

Definition at line 11 of file IntelliToolRectangle.h.

+

Constructor & Destructor Documentation

+ +

◆ IntelliToolRectangle()

+ +
+
+ + + + + + + + + + + + + + + + + + +
IntelliToolRectangle::IntelliToolRectangle (PaintingAreaArea,
IntelliColorPickercolorPicker 
)
+
+ +

A constructor setting the general paintingArea and colorPicker. And reading in the alphaInner and edgeWidth.

+
Parameters
+ + + +
Area- The general paintingArea used by the project.
colorPicker- The general colorPicker used by the project.
+
+
+ +

Definition at line 5 of file IntelliToolRectangle.cpp.

+ +
+
+ +

◆ ~IntelliToolRectangle()

+ +
+
+ + + + + +
+ + + + + + + +
IntelliToolRectangle::~IntelliToolRectangle ()
+
+overridevirtual
+
+ +

A Destructor.

+ +

Definition at line 11 of file IntelliToolRectangle.cpp.

+ +
+
+

Member Function Documentation

+ +

◆ onMouseLeftPressed()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliToolRectangle::onMouseLeftPressed (int x,
int y 
)
+
+overridevirtual
+
+ +

A function managing the left click pressed of a mouse. Setting the originCorner and draws a rectangle.

+
Parameters
+ + + +
x- The x coordinate relative to the active/canvas layer.
y- The y coordinate relative to the active/canvas layer.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 41 of file IntelliToolRectangle.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ onMouseLeftReleased()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliToolRectangle::onMouseLeftReleased (int x,
int y 
)
+
+overridevirtual
+
+ +

A function managing the left click released of a mouse. Merging the draw to the active layer.

+
Parameters
+ + + +
x- The x coordinate relative to the active/canvas layer.
y- The y coordinate relative to the active/canvas layer.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 48 of file IntelliToolRectangle.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ onMouseMoved()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliToolRectangle::onMouseMoved (int x,
int y 
)
+
+overridevirtual
+
+ +

A function managing the mouse moved event.Drawing a rectangle to currrent mouse position.

+
Parameters
+ + + +
x- The x coordinate of the new mouse position.
y- The y coordinate of the new mouse position.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 52 of file IntelliToolRectangle.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ onMouseRightPressed()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliToolRectangle::onMouseRightPressed (int x,
int y 
)
+
+overridevirtual
+
+ +

A function managing the right click pressed of a mouse.Resetting the current draw.

+
Parameters
+ + + +
x- The x coordinate relative to the active/canvas layer.
y- The y coordinate relative to the active/canvas layer.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 33 of file IntelliToolRectangle.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ onMouseRightReleased()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void IntelliToolRectangle::onMouseRightReleased (int x,
int y 
)
+
+overridevirtual
+
+ +

A function managing the right click released of a mouse.

+
Parameters
+ + + +
x- The x coordinate relative to the active/canvas layer.
y- The y coordinate relative to the active/canvas layer.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 37 of file IntelliToolRectangle.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ onWheelScrolled()

+ +
+
+ + + + + +
+ + + + + + + + +
void IntelliToolRectangle::onWheelScrolled (int value)
+
+overridevirtual
+
+ +

A function managing the scroll event.Changing edgeWidth relativ to value.

+
Parameters
+ + +
value- The absolute the scroll has changed.
+
+
+ +

Reimplemented from IntelliTool.

+ +

Definition at line 61 of file IntelliToolRectangle.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + diff --git a/docs/html/class_intelli_tool_rectangle.js b/docs/html/class_intelli_tool_rectangle.js new file mode 100644 index 0000000..591c3aa --- /dev/null +++ b/docs/html/class_intelli_tool_rectangle.js @@ -0,0 +1,11 @@ +var class_intelli_tool_rectangle = +[ + [ "IntelliToolRectangle", "class_intelli_tool_rectangle.html#aa9823939a8b8924520a2943cf6335c11", null ], + [ "~IntelliToolRectangle", "class_intelli_tool_rectangle.html#a7dc1463e726a21255e6297241dc71fb1", null ], + [ "onMouseLeftPressed", "class_intelli_tool_rectangle.html#ae03c307ccf66cbe3fd59e3657712368d", null ], + [ "onMouseLeftReleased", "class_intelli_tool_rectangle.html#a94460e3ff1c19e80bde922c55f53cc43", null ], + [ "onMouseMoved", "class_intelli_tool_rectangle.html#a4b5931071e21eb6949ffe357315e408b", null ], + [ "onMouseRightPressed", "class_intelli_tool_rectangle.html#a480c6804a4963c5a1c3f7ef84b63c1a8", null ], + [ "onMouseRightReleased", "class_intelli_tool_rectangle.html#ad43f653256a6516b9398f82054be0d7f", null ], + [ "onWheelScrolled", "class_intelli_tool_rectangle.html#a445c53a56e859f970e59f5036e221e0c", null ] +]; \ No newline at end of file diff --git a/docs/html/class_intelli_tool_rectangle__coll__graph.dot b/docs/html/class_intelli_tool_rectangle__coll__graph.dot new file mode 100644 index 0000000..7695fd2 --- /dev/null +++ b/docs/html/class_intelli_tool_rectangle__coll__graph.dot @@ -0,0 +1,19 @@ +digraph "IntelliToolRectangle" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="IntelliToolRectangle",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="The IntelliToolRectangle class represents a tool to draw a rectangle."]; + Node2 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html",tooltip="An abstract class that manages the basic events, like mouse clicks or scrolls events."]; + Node3 -> Node2 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" Area" ,fontname="Helvetica"]; + Node3 [label="PaintingArea",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_painting_area.html",tooltip="The PaintingArea class manages the methods and stores information about the current painting area,..."]; + Node4 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="QWidget",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node5 -> Node2 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" colorPicker" ,fontname="Helvetica"]; + Node5 [label="IntelliColorPicker",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_color_picker.html",tooltip="The IntelliColorPicker manages the selected colors for one whole project."]; + Node6 -> Node2 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" Canvas\nActive" ,fontname="Helvetica"]; + Node6 [label="LayerObject",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$struct_layer_object.html",tooltip="The LayerObject struct holds all the information needed to construct a layer."]; + Node7 -> Node6 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" image" ,fontname="Helvetica"]; + Node7 [label="IntelliImage",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html",tooltip="An abstract class which manages the basic IntelliImage operations."]; +} diff --git a/docs/html/class_intelli_tool_rectangle__inherit__graph.dot b/docs/html/class_intelli_tool_rectangle__inherit__graph.dot new file mode 100644 index 0000000..1db5251 --- /dev/null +++ b/docs/html/class_intelli_tool_rectangle__inherit__graph.dot @@ -0,0 +1,9 @@ +digraph "IntelliToolRectangle" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="IntelliToolRectangle",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="The IntelliToolRectangle class represents a tool to draw a rectangle."]; + Node2 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html",tooltip="An abstract class that manages the basic events, like mouse clicks or scrolls events."]; +} diff --git a/docs/html/class_intelli_tool_rectangle_a445c53a56e859f970e59f5036e221e0c_cgraph.dot b/docs/html/class_intelli_tool_rectangle_a445c53a56e859f970e59f5036e221e0c_cgraph.dot new file mode 100644 index 0000000..9af030b --- /dev/null +++ b/docs/html/class_intelli_tool_rectangle_a445c53a56e859f970e59f5036e221e0c_cgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliToolRectangle::onWheelScrolled" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolRectangle\l::onWheelScrolled",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the scroll event.Changing edgeWidth relativ to value."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool::onWheelScrolled",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a4dccfd4460255ccb866f336406a33574",tooltip="A function managing the scroll event. A positive value means scrolling outwards. Call this in child c..."]; +} diff --git a/docs/html/class_intelli_tool_rectangle_a480c6804a4963c5a1c3f7ef84b63c1a8_cgraph.dot b/docs/html/class_intelli_tool_rectangle_a480c6804a4963c5a1c3f7ef84b63c1a8_cgraph.dot new file mode 100644 index 0000000..e8913f6 --- /dev/null +++ b/docs/html/class_intelli_tool_rectangle_a480c6804a4963c5a1c3f7ef84b63c1a8_cgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliToolRectangle::onMouseRightPressed" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolRectangle\l::onMouseRightPressed",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the right click pressed of a mouse.Resetting the current draw."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool::onMouseRight\lPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a1e6aa68ac5f3c2ca02319e5ef3f0c966",tooltip="A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on...."]; +} diff --git a/docs/html/class_intelli_tool_rectangle_a4b5931071e21eb6949ffe357315e408b_cgraph.dot b/docs/html/class_intelli_tool_rectangle_a4b5931071e21eb6949ffe357315e408b_cgraph.dot new file mode 100644 index 0000000..845cacb --- /dev/null +++ b/docs/html/class_intelli_tool_rectangle_a4b5931071e21eb6949ffe357315e408b_cgraph.dot @@ -0,0 +1,14 @@ +digraph "IntelliToolRectangle::onMouseMoved" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolRectangle\l::onMouseMoved",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the mouse moved event.Drawing a rectangle to currrent mouse position."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliImage::drawPlain",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#a6be622810dc2bc756054bb5769becb06",tooltip="A function that clears the whole image in a given Color."]; + Node1 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliTool::onMouseMoved",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#ac10e20414cd8855a2f9b103fb6408639",tooltip="A function managing the mouse moved event. Call this in child classes!"]; + Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="IntelliImage::calculateVisiblity",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2",tooltip="An abstract function that calculates the visiblity of the Image data if needed."]; +} diff --git a/docs/html/class_intelli_tool_rectangle_a94460e3ff1c19e80bde922c55f53cc43_cgraph.dot b/docs/html/class_intelli_tool_rectangle_a94460e3ff1c19e80bde922c55f53cc43_cgraph.dot new file mode 100644 index 0000000..3addb3f --- /dev/null +++ b/docs/html/class_intelli_tool_rectangle_a94460e3ff1c19e80bde922c55f53cc43_cgraph.dot @@ -0,0 +1,12 @@ +digraph "IntelliToolRectangle::onMouseLeftReleased" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolRectangle\l::onMouseLeftReleased",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the left click released of a mouse. Merging the draw to the active layer."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool::onMouseLeft\lReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a906a2575c16c8a33cb2a5197f8d8cc5b",tooltip="A function managing the left click Released of a Mouse. Call this in child classes!"]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliImage::calculateVisiblity",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2",tooltip="An abstract function that calculates the visiblity of the Image data if needed."]; +} diff --git a/docs/html/class_intelli_tool_rectangle_ad43f653256a6516b9398f82054be0d7f_cgraph.dot b/docs/html/class_intelli_tool_rectangle_ad43f653256a6516b9398f82054be0d7f_cgraph.dot new file mode 100644 index 0000000..daac2ca --- /dev/null +++ b/docs/html/class_intelli_tool_rectangle_ad43f653256a6516b9398f82054be0d7f_cgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliToolRectangle::onMouseRightReleased" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolRectangle\l::onMouseRightReleased",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the right click released of a mouse."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool::onMouseRight\lReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a16189b00307c6d7e89f28198f54404b0",tooltip="A function managing the right click Released of a Mouse. Merging the Canvas to Active...."]; +} diff --git a/docs/html/class_intelli_tool_rectangle_ae03c307ccf66cbe3fd59e3657712368d_cgraph.dot b/docs/html/class_intelli_tool_rectangle_ae03c307ccf66cbe3fd59e3657712368d_cgraph.dot new file mode 100644 index 0000000..21405cb --- /dev/null +++ b/docs/html/class_intelli_tool_rectangle_ae03c307ccf66cbe3fd59e3657712368d_cgraph.dot @@ -0,0 +1,13 @@ +digraph "IntelliToolRectangle::onMouseLeftPressed" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliToolRectangle\l::onMouseLeftPressed",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function managing the left click pressed of a mouse. Setting the originCorner and draws a rectangle..."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliImage::calculateVisiblity",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2",tooltip="An abstract function that calculates the visiblity of the Image data if needed."]; + Node1 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliTool::onMouseLeft\lPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a34b7ef1dde96b94a0ce450a25ae1778c",tooltip="A function managing the left click Pressed of a Mouse. Resetting the current draw...."]; + Node3 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; +} diff --git a/docs/html/class_painting_area-members.html b/docs/html/class_painting_area-members.html new file mode 100644 index 0000000..c5dd00b --- /dev/null +++ b/docs/html/class_painting_area-members.html @@ -0,0 +1,139 @@ + + + + + + + +IntelliPhoto: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
PaintingArea Member List
+
+
+ +

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
addLayer(int width, int height, int widthOffset=0, int heightOffset=0, ImageType type=ImageType::Raster_Image)PaintingArea
addLayerAt(int idx, int width, int height, int widthOffset=0, int heightOffset=0, ImageType type=ImageType::Raster_Image)PaintingArea
colorPickerSetFirstColor()PaintingArea
colorPickerSetSecondColor()PaintingArea
colorPickerSwitchColor()PaintingArea
createCircleTool()PaintingArea
createFloodFillTool()PaintingArea
createLineTool()PaintingArea
createPenTool()PaintingArea
createPlainTool()PaintingArea
createPolygonTool()PaintingArea
createRectangleTool()PaintingArea
deleteLayer(int index)PaintingArea
floodFill(int r, int g, int b, int a)PaintingArea
getHeightOfActive()PaintingArea
getWidthOfActive()PaintingArea
mouseMoveEvent(QMouseEvent *event) overridePaintingAreaprotected
mousePressEvent(QMouseEvent *event) overridePaintingAreaprotected
mouseReleaseEvent(QMouseEvent *event) overridePaintingAreaprotected
moveActiveLayer(int idx)PaintingArea
movePositionActive(int x, int y)PaintingArea
open(const QString &fileName)PaintingArea
paintEvent(QPaintEvent *event) overridePaintingAreaprotected
PaintingArea(int maxWidth=600, int maxHeight=600, QWidget *parent=nullptr)PaintingArea
resizeEvent(QResizeEvent *event) overridePaintingAreaprotected
save(const QString &fileName, const char *fileFormat)PaintingArea
setAlphaOfLayer(int index, int alpha)PaintingArea
setLayerToActive(int index)PaintingArea
slotActivateLayer(int a)PaintingAreaslot
slotDeleteActiveLayer()PaintingAreaslot
wheelEvent(QWheelEvent *event) overridePaintingAreaprotected
~PaintingArea() overridePaintingArea
+
+ + + + diff --git a/docs/html/class_painting_area.html b/docs/html/class_painting_area.html new file mode 100644 index 0000000..312e51c --- /dev/null +++ b/docs/html/class_painting_area.html @@ -0,0 +1,1252 @@ + + + + + + + +IntelliPhoto: PaintingArea Class Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ +

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

+ +

#include <PaintingArea.h>

+
+Inheritance diagram for PaintingArea:
+
+
Inheritance graph
+
[legend]
+
+Collaboration diagram for PaintingArea:
+
+
Collaboration graph
+
[legend]
+ + + + + + + + +

+Public Slots

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

+Public Member Functions

 PaintingArea (int maxWidth=600, int maxHeight=600, QWidget *parent=nullptr)
 PaintingArea is the constructor of the PaintingArea class, which initiates the working environment. More...
 
 ~PaintingArea () override
 This deconstructor is used to clear up the memory and remove the currently active window. More...
 
bool open (const QString &fileName)
 The open method is used for loading a picture into the current layer. More...
 
bool save (const QString &fileName, const char *fileFormat)
 The save method is used for exporting the current project as one picture. More...
 
int addLayer (int width, int height, int widthOffset=0, int heightOffset=0, ImageType type=ImageType::Raster_Image)
 The addLayer adds a layer to the current project/ painting area. More...
 
int addLayerAt (int idx, int width, int height, int widthOffset=0, int heightOffset=0, ImageType type=ImageType::Raster_Image)
 The addLayerAt adds a layer to the current project/ painting area at a specific position in the layer stack. More...
 
void deleteLayer (int index)
 The deleteLayer method removes a layer at a given index. More...
 
void setLayerToActive (int index)
 The setLayerToActive method marks a specific layer as active. More...
 
void setAlphaOfLayer (int index, 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 movePositionActive (int x, int y)
 The movePositionActive method moves the active layer to certain position. More...
 
void moveActiveLayer (int idx)
 The moveActiveLayer moves the active layer to a specific position in the layer stack. More...
 
void colorPickerSetFirstColor ()
 The colorPickerSetFirstColor calls the QTColorPicker to determine the primary drawing color. More...
 
void colorPickerSetSecondColor ()
 The colorPickerSetSecondColor calls the QTColorPicker to determine the secondary drawing color. More...
 
void colorPickerSwitchColor ()
 The colorPickerSwitchColor swaps the primary color with the secondary drawing color. More...
 
void createPenTool ()
 
void createPlainTool ()
 
void createLineTool ()
 
void createRectangleTool ()
 
void createCircleTool ()
 
void createPolygonTool ()
 
void createFloodFillTool ()
 
int getWidthOfActive ()
 The getWidthOfActive gets the horizontal dimensions of the active layer. More...
 
int getHeightOfActive ()
 The getHeightOfActive gets the vertical dimensions of the active layer. More...
 
+ + + + + + + + + + + + + +

+Protected Member Functions

void mousePressEvent (QMouseEvent *event) override
 
void mouseMoveEvent (QMouseEvent *event) override
 
void mouseReleaseEvent (QMouseEvent *event) override
 
void wheelEvent (QWheelEvent *event) override
 
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 36 of file PaintingArea.h.

+

Constructor & Destructor Documentation

+ +

◆ PaintingArea()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
PaintingArea::PaintingArea (int maxWidth = 600,
int maxHeight = 600,
QWidget * parent = nullptr 
)
+
+ +

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

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

Definition at line 21 of file PaintingArea.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ ~PaintingArea()

+ +
+
+ + + + + +
+ + + + + + + +
PaintingArea::~PaintingArea ()
+
+override
+
+ +

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

+ +

Definition at line 41 of file PaintingArea.cpp.

+ +
+
+

Member Function Documentation

+ +

◆ addLayer()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int PaintingArea::addLayer (int width,
int height,
int widthOffset = 0,
int heightOffset = 0,
ImageType type = ImageType::Raster_Image 
)
+
+ +

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

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

Definition at line 56 of file PaintingArea.cpp.

+
+Here is the caller graph for this function:
+
+
+
+ +
+
+ +

◆ addLayerAt()

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

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

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

◆ colorPickerSetFirstColor()

+ +
+
+ + + + + + + +
void PaintingArea::colorPickerSetFirstColor ()
+
+ +

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

+ +

Definition at line 166 of file PaintingArea.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ colorPickerSetSecondColor()

+ +
+
+ + + + + + + +
void PaintingArea::colorPickerSetSecondColor ()
+
+ +

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

+ +

Definition at line 171 of file PaintingArea.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ colorPickerSwitchColor()

+ +
+
+ + + + + + + +
void PaintingArea::colorPickerSwitchColor ()
+
+ +

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

+ +

Definition at line 176 of file PaintingArea.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ createCircleTool()

+ +
+
+ + + + + + + +
void PaintingArea::createCircleTool ()
+
+ +

Definition at line 200 of file PaintingArea.cpp.

+ +
+
+ +

◆ createFloodFillTool()

+ +
+
+ + + + + + + +
void PaintingArea::createFloodFillTool ()
+
+ +

Definition at line 209 of file PaintingArea.cpp.

+ +
+
+ +

◆ createLineTool()

+ +
+
+ + + + + + + +
void PaintingArea::createLineTool ()
+
+ +

Definition at line 190 of file PaintingArea.cpp.

+ +
+
+ +

◆ createPenTool()

+ +
+
+ + + + + + + +
void PaintingArea::createPenTool ()
+
+ +

Definition at line 180 of file PaintingArea.cpp.

+ +
+
+ +

◆ createPlainTool()

+ +
+
+ + + + + + + +
void PaintingArea::createPlainTool ()
+
+ +

Definition at line 185 of file PaintingArea.cpp.

+ +
+
+ +

◆ createPolygonTool()

+ +
+
+ + + + + + + +
void PaintingArea::createPolygonTool ()
+
+ +

Definition at line 204 of file PaintingArea.cpp.

+ +
+
+ +

◆ createRectangleTool()

+ +
+
+ + + + + + + +
void PaintingArea::createRectangleTool ()
+
+ +

Definition at line 195 of file PaintingArea.cpp.

+ +
+
+ +

◆ deleteLayer()

+ +
+
+ + + + + + + + +
void PaintingArea::deleteLayer (int index)
+
+ +

The deleteLayer method removes a layer at a given index.

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

Definition at line 73 of file PaintingArea.cpp.

+ +
+
+ +

◆ floodFill()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void PaintingArea::floodFill (int r,
int g,
int b,
int a 
)
+
+ +

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

+
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
+
+
+ +

Definition at line 138 of file PaintingArea.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ getHeightOfActive()

+ +
+
+ + + + + + + +
int PaintingArea::getHeightOfActive ()
+
+ +

The getHeightOfActive gets the vertical dimensions of the active layer.

+
Returns
Returns the vertical pixle count of the active layer
+ +

Definition at line 218 of file PaintingArea.cpp.

+ +
+
+ +

◆ getWidthOfActive()

+ +
+
+ + + + + + + +
int PaintingArea::getWidthOfActive ()
+
+ +

The getWidthOfActive gets the horizontal dimensions of the active layer.

+
Returns
Returns the horizontal pixle count of the active layer
+ +

Definition at line 214 of file PaintingArea.cpp.

+ +
+
+ +

◆ mouseMoveEvent()

+ +
+
+ + + + + +
+ + + + + + + + +
void PaintingArea::mouseMoveEvent (QMouseEvent * event)
+
+overrideprotected
+
+ +

Definition at line 241 of file PaintingArea.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ mousePressEvent()

+ +
+
+ + + + + +
+ + + + + + + + +
void PaintingArea::mousePressEvent (QMouseEvent * event)
+
+overrideprotected
+
+ +

Definition at line 225 of file PaintingArea.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ mouseReleaseEvent()

+ +
+
+ + + + + +
+ + + + + + + + +
void PaintingArea::mouseReleaseEvent (QMouseEvent * event)
+
+overrideprotected
+
+ +

Definition at line 251 of file PaintingArea.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ moveActiveLayer()

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

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

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

Definition at line 152 of file PaintingArea.cpp.

+ +
+
+ +

◆ movePositionActive()

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

The movePositionActive method moves the active layer to certain position.

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

Definition at line 147 of file PaintingArea.cpp.

+ +
+
+ +

◆ open()

+ +
+
+ + + + + + + + +
bool PaintingArea::open (const QString & fileName)
+
+ +

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
+
+
+
Returns
Returns a boolean variable whether the file was successfully opened or not
+ +

Definition at line 102 of file PaintingArea.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ paintEvent()

+ +
+
+ + + + + +
+ + + + + + + + +
void PaintingArea::paintEvent (QPaintEvent * event)
+
+overrideprotected
+
+ +

Definition at line 275 of file PaintingArea.cpp.

+ +
+
+ +

◆ resizeEvent()

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

Definition at line 286 of file PaintingArea.cpp.

+ +
+
+ +

◆ save()

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

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

+
Parameters
+ + + +
fileName
fileFormat
+
+
+
Returns
Returns a boolean variable, true if the file was saved successfully, false if not
+ +

Definition at line 114 of file PaintingArea.cpp.

+ +
+
+ +

◆ setAlphaOfLayer()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void PaintingArea::setAlphaOfLayer (int index,
int alpha 
)
+
+ +

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

+
Parameters
+ + + +
index- Index of the layer where the change should be applied
alpha- New alpha value of the layer
+
+
+ +

Definition at line 95 of file PaintingArea.cpp.

+ +
+
+ +

◆ setLayerToActive()

+ +
+
+ + + + + + + + +
void PaintingArea::setLayerToActive (int index)
+
+ +

The setLayerToActive method marks a specific layer as active.

+
Parameters
+ + +
index- Index of the layer to be active
+
+
+ +

Definition at line 89 of file PaintingArea.cpp.

+
+Here is the caller graph for this function:
+
+
+
+ +
+
+ +

◆ slotActivateLayer

+ +
+
+ + + + + +
+ + + + + + + + +
void PaintingArea::slotActivateLayer (int a)
+
+slot
+
+ +

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

+
Parameters
+ + +
a- Index of the layer to be active
+
+
+ +

Definition at line 160 of file PaintingArea.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ slotDeleteActiveLayer

+ +
+
+ + + + + +
+ + + + + + + +
void PaintingArea::slotDeleteActiveLayer ()
+
+slot
+
+ +

The slotDeleteActiveLayer method handles the deletion of the active layer.

+ +

Definition at line 82 of file PaintingArea.cpp.

+ +
+
+ +

◆ wheelEvent()

+ +
+
+ + + + + +
+ + + + + + + + +
void PaintingArea::wheelEvent (QWheelEvent * event)
+
+overrideprotected
+
+ +

Definition at line 264 of file PaintingArea.cpp.

+
+Here is the call graph for this function:
+
+
+
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + diff --git a/docs/html/class_painting_area.js b/docs/html/class_painting_area.js new file mode 100644 index 0000000..8a0e1aa --- /dev/null +++ b/docs/html/class_painting_area.js @@ -0,0 +1,35 @@ +var class_painting_area = +[ + [ "PaintingArea", "class_painting_area.html#a4fa0ec23e78cc59f28c823584c721460", null ], + [ "~PaintingArea", "class_painting_area.html#aa32adc113f77031945f73e33051931e8", null ], + [ "addLayer", "class_painting_area.html#a39ad76e1319659bfa38eee88ef33d395", null ], + [ "addLayerAt", "class_painting_area.html#ae756003b49aead863b49616ea7a44cc0", null ], + [ "colorPickerSetFirstColor", "class_painting_area.html#a4735d4cf1dc58a9096d904e74c39c4df", null ], + [ "colorPickerSetSecondColor", "class_painting_area.html#ae261acaaa346610dfed489dbac17e789", null ], + [ "colorPickerSwitchColor", "class_painting_area.html#a66115307ff4a99cd7ca16423c5c8ecfb", null ], + [ "createCircleTool", "class_painting_area.html#a2d9f4b3585f7dd1acb11f432ca503466", null ], + [ "createFloodFillTool", "class_painting_area.html#a0b22e18069b524f3e75857d203baf256", null ], + [ "createLineTool", "class_painting_area.html#a240c33a7875addac86080cdfb0db036a", null ], + [ "createPenTool", "class_painting_area.html#a96c6248e343e44b61cf2625cb6d21353", null ], + [ "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#a6efad6f8ea060674b157b42b431cd173", null ], + [ "floodFill", "class_painting_area.html#aeb5eb394b979ea90f2be9849fdda1774", null ], + [ "getHeightOfActive", "class_painting_area.html#ac576f58aad03b4dcd47611b6a4b9abb4", null ], + [ "getWidthOfActive", "class_painting_area.html#a675ee91b26b1c58be6d833f279d81597", null ], + [ "mouseMoveEvent", "class_painting_area.html#aa22e274b6094a9619f196cd7b49526b5", null ], + [ "mousePressEvent", "class_painting_area.html#abfe445f8d9b70ae42bfeda874127dd15", null ], + [ "mouseReleaseEvent", "class_painting_area.html#a35b5df914acb608cc29717659793359c", null ], + [ "moveActiveLayer", "class_painting_area.html#ae05f6893fb44bfcb34018573a609cd1a", null ], + [ "movePositionActive", "class_painting_area.html#ac6d089f4357b22d9a9906fd4771de3e7", null ], + [ "open", "class_painting_area.html#a1f597740b4d7b4bc2e24c51f8cb0b6eb", null ], + [ "paintEvent", "class_painting_area.html#a4a8138b9508ee4ec87a7fca9160368a7", null ], + [ "resizeEvent", "class_painting_area.html#ab57e8ccda60fff7187463a90e65c5335", null ], + [ "save", "class_painting_area.html#a612176cc9d629d22fd3fe1a746cce564", null ], + [ "setAlphaOfLayer", "class_painting_area.html#aec59be20f1c27135700754882dd6383d", null ], + [ "setLayerToActive", "class_painting_area.html#a1d6d86c25efdce9fe9031a9cd01c74c8", null ], + [ "slotActivateLayer", "class_painting_area.html#a71ac281e0de263208d4a3b9de74258ec", null ], + [ "slotDeleteActiveLayer", "class_painting_area.html#a1ff0b9c1227531943c9cec2c546fae5e", null ], + [ "wheelEvent", "class_painting_area.html#a632848d99f44d33d7da2618fbc6775a4", null ] +]; \ No newline at end of file diff --git a/docs/html/class_painting_area__coll__graph.dot b/docs/html/class_painting_area__coll__graph.dot new file mode 100644 index 0000000..17b1cda --- /dev/null +++ b/docs/html/class_painting_area__coll__graph.dot @@ -0,0 +1,9 @@ +digraph "PaintingArea" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="PaintingArea",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="The PaintingArea class manages the methods and stores information about the current painting area,..."]; + Node2 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="QWidget",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; +} diff --git a/docs/html/class_painting_area__inherit__graph.dot b/docs/html/class_painting_area__inherit__graph.dot new file mode 100644 index 0000000..17b1cda --- /dev/null +++ b/docs/html/class_painting_area__inherit__graph.dot @@ -0,0 +1,9 @@ +digraph "PaintingArea" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="PaintingArea",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="The PaintingArea class manages the methods and stores information about the current painting area,..."]; + Node2 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="QWidget",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; +} diff --git a/docs/html/class_painting_area_a1511a534e206089fff1d325e7ec7a8eb_icgraph.dot b/docs/html/class_painting_area_a1511a534e206089fff1d325e7ec7a8eb_icgraph.dot new file mode 100644 index 0000000..786a371 --- /dev/null +++ b/docs/html/class_painting_area_a1511a534e206089fff1d325e7ec7a8eb_icgraph.dot @@ -0,0 +1,10 @@ +digraph "PaintingArea::getHeightActiveLayer" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="RL"; + Node1 [label="PaintingArea::getHeightActive\lLayer",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliToolPolygon\l::onMouseLeftPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_polygon.html#ad5d3b741be6d0647a9cdc9da2cb8bc3d",tooltip="A function managing the left click Pressed of a Mouse. Resetting the current draw...."]; +} diff --git a/docs/html/class_painting_area_a1d6d86c25efdce9fe9031a9cd01c74c8_icgraph.dot b/docs/html/class_painting_area_a1d6d86c25efdce9fe9031a9cd01c74c8_icgraph.dot new file mode 100644 index 0000000..3f0d948 --- /dev/null +++ b/docs/html/class_painting_area_a1d6d86c25efdce9fe9031a9cd01c74c8_icgraph.dot @@ -0,0 +1,10 @@ +digraph "PaintingArea::setLayerToActive" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="RL"; + Node1 [label="PaintingArea::setLayerTo\lActive",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="The setLayerToActive method marks a specific layer as active."]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="PaintingArea::slotActivate\lLayer",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_painting_area.html#a71ac281e0de263208d4a3b9de74258ec",tooltip="The slotActivateLayer method handles the event of selecting one layer as active."]; +} diff --git a/docs/html/class_painting_area_a1f597740b4d7b4bc2e24c51f8cb0b6eb_cgraph.dot b/docs/html/class_painting_area_a1f597740b4d7b4bc2e24c51f8cb0b6eb_cgraph.dot new file mode 100644 index 0000000..9be7a8f --- /dev/null +++ b/docs/html/class_painting_area_a1f597740b4d7b4bc2e24c51f8cb0b6eb_cgraph.dot @@ -0,0 +1,12 @@ +digraph "PaintingArea::open" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="PaintingArea::open",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="The open method is used for loading a picture into the current layer."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliImage::calculateVisiblity",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2",tooltip="An abstract function that calculates the visiblity of the Image data if needed."]; + Node1 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliImage::loadImage",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#aec0e9c8184d89dee33fd9adefbd2f8aa",tooltip="A function that loads and sclaes an image to the fitting dimensions."]; +} diff --git a/docs/html/class_painting_area_a35b5df914acb608cc29717659793359c_cgraph.dot b/docs/html/class_painting_area_a35b5df914acb608cc29717659793359c_cgraph.dot new file mode 100644 index 0000000..38440e6 --- /dev/null +++ b/docs/html/class_painting_area_a35b5df914acb608cc29717659793359c_cgraph.dot @@ -0,0 +1,14 @@ +digraph "PaintingArea::mouseReleaseEvent" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="PaintingArea::mouseRelease\lEvent",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool::onMouseLeft\lReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a906a2575c16c8a33cb2a5197f8d8cc5b",tooltip="A function managing the left click Released of a Mouse. Call this in child classes!"]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliImage::calculateVisiblity",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2",tooltip="An abstract function that calculates the visiblity of the Image data if needed."]; + Node1 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="IntelliTool::onMouseRight\lReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a16189b00307c6d7e89f28198f54404b0",tooltip="A function managing the right click Released of a Mouse. Merging the Canvas to Active...."]; +} diff --git a/docs/html/class_painting_area_a39ad76e1319659bfa38eee88ef33d395_icgraph.dot b/docs/html/class_painting_area_a39ad76e1319659bfa38eee88ef33d395_icgraph.dot new file mode 100644 index 0000000..5bc9f21 --- /dev/null +++ b/docs/html/class_painting_area_a39ad76e1319659bfa38eee88ef33d395_icgraph.dot @@ -0,0 +1,10 @@ +digraph "PaintingArea::addLayer" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="RL"; + Node1 [label="PaintingArea::addLayer",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="The addLayer adds a layer to the current project/ painting area."]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="PaintingArea::PaintingArea",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_painting_area.html#a4fa0ec23e78cc59f28c823584c721460",tooltip="PaintingArea is the constructor of the PaintingArea class, which initiates the working environment."]; +} diff --git a/docs/html/class_painting_area_a427c5fc26480c7ae80b3480e85510bda_icgraph.dot b/docs/html/class_painting_area_a427c5fc26480c7ae80b3480e85510bda_icgraph.dot new file mode 100644 index 0000000..1add7b7 --- /dev/null +++ b/docs/html/class_painting_area_a427c5fc26480c7ae80b3480e85510bda_icgraph.dot @@ -0,0 +1,10 @@ +digraph "PaintingArea::getWidthActiveLayer" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="RL"; + Node1 [label="PaintingArea::getWidthActive\lLayer",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliToolPolygon\l::onMouseLeftPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_polygon.html#ad5d3b741be6d0647a9cdc9da2cb8bc3d",tooltip="A function managing the left click Pressed of a Mouse. Resetting the current draw...."]; +} diff --git a/docs/html/class_painting_area_a4735d4cf1dc58a9096d904e74c39c4df_cgraph.dot b/docs/html/class_painting_area_a4735d4cf1dc58a9096d904e74c39c4df_cgraph.dot new file mode 100644 index 0000000..5f9be65 --- /dev/null +++ b/docs/html/class_painting_area_a4735d4cf1dc58a9096d904e74c39c4df_cgraph.dot @@ -0,0 +1,12 @@ +digraph "PaintingArea::colorPickerSetFirstColor" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="PaintingArea::colorPicker\lSetFirstColor",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="The colorPickerSetFirstColor calls the QTColorPicker to determine the primary drawing color."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliColorPicker\l::getFirstColor",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_color_picker.html#aae2eb27b928fe9388b9398b0556303b7",tooltip="A function to read the primary selected color."]; + Node1 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliColorPicker\l::setFirstColor",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_color_picker.html#a7e2ddbbbfbed383f06b24e5bf6b27ae8",tooltip="A function to set the primary color."]; +} diff --git a/docs/html/class_painting_area_a4fa0ec23e78cc59f28c823584c721460_cgraph.dot b/docs/html/class_painting_area_a4fa0ec23e78cc59f28c823584c721460_cgraph.dot new file mode 100644 index 0000000..2e73c54 --- /dev/null +++ b/docs/html/class_painting_area_a4fa0ec23e78cc59f28c823584c721460_cgraph.dot @@ -0,0 +1,10 @@ +digraph "PaintingArea::PaintingArea" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="PaintingArea::PaintingArea",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="PaintingArea is the constructor of the PaintingArea class, which initiates the working environment."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="PaintingArea::addLayer",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_painting_area.html#a39ad76e1319659bfa38eee88ef33d395",tooltip="The addLayer adds a layer to the current project/ painting area."]; +} diff --git a/docs/html/class_painting_area_a632848d99f44d33d7da2618fbc6775a4_cgraph.dot b/docs/html/class_painting_area_a632848d99f44d33d7da2618fbc6775a4_cgraph.dot new file mode 100644 index 0000000..abb7a14 --- /dev/null +++ b/docs/html/class_painting_area_a632848d99f44d33d7da2618fbc6775a4_cgraph.dot @@ -0,0 +1,10 @@ +digraph "PaintingArea::wheelEvent" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="PaintingArea::wheelEvent",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool::onWheelScrolled",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a4dccfd4460255ccb866f336406a33574",tooltip="A function managing the scroll event. A positive value means scrolling outwards. Call this in child c..."]; +} diff --git a/docs/html/class_painting_area_a66115307ff4a99cd7ca16423c5c8ecfb_cgraph.dot b/docs/html/class_painting_area_a66115307ff4a99cd7ca16423c5c8ecfb_cgraph.dot new file mode 100644 index 0000000..8d4eb30 --- /dev/null +++ b/docs/html/class_painting_area_a66115307ff4a99cd7ca16423c5c8ecfb_cgraph.dot @@ -0,0 +1,10 @@ +digraph "PaintingArea::colorPickerSwitchColor" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="PaintingArea::colorPicker\lSwitchColor",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="The colorPickerSwitchColor swaps the primary color with the secondary drawing color."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliColorPicker\l::switchColors",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_color_picker.html#a437a6f20bf2fc0a4cbaf4c030c2a26d9",tooltip="A function switching primary and secondary color."]; +} diff --git a/docs/html/class_painting_area_a71ac281e0de263208d4a3b9de74258ec_cgraph.dot b/docs/html/class_painting_area_a71ac281e0de263208d4a3b9de74258ec_cgraph.dot new file mode 100644 index 0000000..ebfbcb4 --- /dev/null +++ b/docs/html/class_painting_area_a71ac281e0de263208d4a3b9de74258ec_cgraph.dot @@ -0,0 +1,10 @@ +digraph "PaintingArea::slotActivateLayer" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="PaintingArea::slotActivate\lLayer",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="The slotActivateLayer method handles the event of selecting one layer as active."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="PaintingArea::setLayerTo\lActive",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_painting_area.html#a1d6d86c25efdce9fe9031a9cd01c74c8",tooltip="The setLayerToActive method marks a specific layer as active."]; +} diff --git a/docs/html/class_painting_area_aa22e274b6094a9619f196cd7b49526b5_cgraph.dot b/docs/html/class_painting_area_aa22e274b6094a9619f196cd7b49526b5_cgraph.dot new file mode 100644 index 0000000..343ab56 --- /dev/null +++ b/docs/html/class_painting_area_aa22e274b6094a9619f196cd7b49526b5_cgraph.dot @@ -0,0 +1,12 @@ +digraph "PaintingArea::mouseMoveEvent" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="PaintingArea::mouseMoveEvent",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool::onMouseMoved",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#ac10e20414cd8855a2f9b103fb6408639",tooltip="A function managing the mouse moved event. Call this in child classes!"]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliImage::calculateVisiblity",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2",tooltip="An abstract function that calculates the visiblity of the Image data if needed."]; +} diff --git a/docs/html/class_painting_area_abfe445f8d9b70ae42bfeda874127dd15_cgraph.dot b/docs/html/class_painting_area_abfe445f8d9b70ae42bfeda874127dd15_cgraph.dot new file mode 100644 index 0000000..a9f63bd --- /dev/null +++ b/docs/html/class_painting_area_abfe445f8d9b70ae42bfeda874127dd15_cgraph.dot @@ -0,0 +1,14 @@ +digraph "PaintingArea::mousePressEvent" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="PaintingArea::mousePress\lEvent",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliTool::onMouseLeft\lPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a34b7ef1dde96b94a0ce450a25ae1778c",tooltip="A function managing the left click Pressed of a Mouse. Resetting the current draw...."]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliImage::calculateVisiblity",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2",tooltip="An abstract function that calculates the visiblity of the Image data if needed."]; + Node1 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="IntelliTool::onMouseRight\lPressed",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html#a1e6aa68ac5f3c2ca02319e5ef3f0c966",tooltip="A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on...."]; +} diff --git a/docs/html/class_painting_area_ae261acaaa346610dfed489dbac17e789_cgraph.dot b/docs/html/class_painting_area_ae261acaaa346610dfed489dbac17e789_cgraph.dot new file mode 100644 index 0000000..1325336 --- /dev/null +++ b/docs/html/class_painting_area_ae261acaaa346610dfed489dbac17e789_cgraph.dot @@ -0,0 +1,12 @@ +digraph "PaintingArea::colorPickerSetSecondColor" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="PaintingArea::colorPicker\lSetSecondColor",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="The colorPickerSetSecondColor calls the QTColorPicker to determine the secondary drawing color."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliColorPicker\l::getSecondColor",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_color_picker.html#a55568fbf5dc783f06284b7031ffe9415",tooltip="A function to read the secondary selected color."]; + Node1 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliColorPicker\l::setSecondColor",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_color_picker.html#a86bf4a940e4a0e465e30cbdf28748931",tooltip="A function to set the secondary color."]; +} diff --git a/docs/html/class_painting_area_aeb5eb394b979ea90f2be9849fdda1774_cgraph.dot b/docs/html/class_painting_area_aeb5eb394b979ea90f2be9849fdda1774_cgraph.dot new file mode 100644 index 0000000..862e21e --- /dev/null +++ b/docs/html/class_painting_area_aeb5eb394b979ea90f2be9849fdda1774_cgraph.dot @@ -0,0 +1,10 @@ +digraph "PaintingArea::floodFill" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="PaintingArea::floodFill",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="The floodFill method fills a the active layer with a given color."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliImage::drawPlain",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html#a6be622810dc2bc756054bb5769becb06",tooltip="A function that clears the whole image in a given Color."]; +} diff --git a/docs/html/classes.html b/docs/html/classes.html new file mode 100644 index 0000000..6b48435 --- /dev/null +++ b/docs/html/classes.html @@ -0,0 +1,139 @@ + + + + + + + +IntelliPhoto: Class Index + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Class Index
+
+
+
i | l | p | t
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  i  
+
IntelliRasterImage   IntelliToolLine   
  l  
+
  t  
+
IntelliShapedImage   IntelliToolPen   
IntelliColorPicker   IntelliTool   IntelliToolPlainTool   LayerObject   Triangle   
IntelliImage   IntelliToolCircle   IntelliToolPolygon   
  p  
+
IntelliPhotoGui   IntelliToolFloodFill   IntelliToolRectangle   
PaintingArea   
+
i | l | p | t
+
+
+ + + + diff --git a/docs/html/closed.png b/docs/html/closed.png new file mode 100644 index 0000000..fdc04ac Binary files /dev/null and b/docs/html/closed.png differ diff --git a/docs/html/dir_000000_000001.html b/docs/html/dir_000000_000001.html new file mode 100644 index 0000000..a7f0093 --- /dev/null +++ b/docs/html/dir_000000_000001.html @@ -0,0 +1,101 @@ + + + + + + + +IntelliPhoto: src -> GUI Relation + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.4 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+

src → GUI Relation

File in srcIncludes file in src/GUI
main.cppIntelliPhotoGui.h
+
+ + + + diff --git a/docs/html/dir_000001_000002.html b/docs/html/dir_000001_000002.html new file mode 100644 index 0000000..db127b7 --- /dev/null +++ b/docs/html/dir_000001_000002.html @@ -0,0 +1,101 @@ + + + + + + + +IntelliPhoto: intelliphoto/src -> GUI Relation + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+

src → GUI Relation

File in intelliphoto/srcIncludes file in intelliphoto/src/GUI
main.cppIntelliPhotoGui.h
+
+ + + + diff --git a/docs/html/dir_000001_000005.html b/docs/html/dir_000001_000005.html new file mode 100644 index 0000000..ca025a1 --- /dev/null +++ b/docs/html/dir_000001_000005.html @@ -0,0 +1,101 @@ + + + + + + + +IntelliPhoto: src/GUI -> Layer Relation + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.4 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+

GUI → Layer Relation

File in src/GUIIncludes file in src/Layer
IntelliPhotoGui.cppPaintingArea.h
+
+ + + + diff --git a/docs/html/dir_000002_000003.html b/docs/html/dir_000002_000003.html new file mode 100644 index 0000000..a5fe18e --- /dev/null +++ b/docs/html/dir_000002_000003.html @@ -0,0 +1,101 @@ + + + + + + + +IntelliPhoto: src/Image -> IntelliHelper Relation + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.4 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+

Image → IntelliHelper Relation

File in src/ImageIncludes file in src/IntelliHelper
IntelliShapedImage.cppIntelliHelper.h
+
+ + + + diff --git a/docs/html/dir_000002_000006.html b/docs/html/dir_000002_000006.html new file mode 100644 index 0000000..1d9a22f --- /dev/null +++ b/docs/html/dir_000002_000006.html @@ -0,0 +1,101 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/GUI -> Layer Relation + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+

GUI → Layer Relation

File in intelliphoto/src/GUIIncludes file in intelliphoto/src/Layer
IntelliPhotoGui.cppPaintingArea.h
+
+ + + + diff --git a/docs/html/dir_000003_000004.html b/docs/html/dir_000003_000004.html new file mode 100644 index 0000000..e873f5c --- /dev/null +++ b/docs/html/dir_000003_000004.html @@ -0,0 +1,101 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Image -> IntelliHelper Relation + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+

Image → IntelliHelper Relation

File in intelliphoto/src/ImageIncludes file in intelliphoto/src/IntelliHelper
IntelliShapedImage.cppIntelliHelper.h
IntelliShapedImage.hIntelliHelper.h
+
+ + + + diff --git a/docs/html/dir_000004_000003.html b/docs/html/dir_000004_000003.html new file mode 100644 index 0000000..d810518 --- /dev/null +++ b/docs/html/dir_000004_000003.html @@ -0,0 +1,101 @@ + + + + + + + +IntelliPhoto: src/Tool -> IntelliHelper Relation + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.4 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+

Tool → IntelliHelper Relation

File in src/ToolIncludes file in src/IntelliHelper
IntelliColorPicker.cppIntelliColorPicker.h
IntelliTool.hIntelliColorPicker.h
+
+ + + + diff --git a/docs/html/dir_000004_000005.html b/docs/html/dir_000004_000005.html new file mode 100644 index 0000000..eeb3369 --- /dev/null +++ b/docs/html/dir_000004_000005.html @@ -0,0 +1,101 @@ + + + + + + + +IntelliPhoto: src/Tool -> Layer Relation + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.4 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ + + + diff --git a/docs/html/dir_000005_000002.html b/docs/html/dir_000005_000002.html new file mode 100644 index 0000000..47fa0a6 --- /dev/null +++ b/docs/html/dir_000005_000002.html @@ -0,0 +1,101 @@ + + + + + + + +IntelliPhoto: src/Layer -> Image Relation + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.4 +
+
+
+ + + + + + + +
+
+ +
+
+
+ + + + + + diff --git a/docs/html/dir_000005_000003.html b/docs/html/dir_000005_000003.html new file mode 100644 index 0000000..69be38a --- /dev/null +++ b/docs/html/dir_000005_000003.html @@ -0,0 +1,101 @@ + + + + + + + +IntelliPhoto: src/Layer -> IntelliHelper Relation + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.4 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+

Layer → IntelliHelper Relation

File in src/LayerIncludes file in src/IntelliHelper
PaintingArea.hIntelliColorPicker.h
+
+ + + + diff --git a/docs/html/dir_000005_000004.html b/docs/html/dir_000005_000004.html new file mode 100644 index 0000000..5e6c776 --- /dev/null +++ b/docs/html/dir_000005_000004.html @@ -0,0 +1,101 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Tool -> IntelliHelper Relation + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+

Tool → IntelliHelper Relation

File in intelliphoto/src/ToolIncludes file in intelliphoto/src/IntelliHelper
IntelliColorPicker.cppIntelliColorPicker.h
IntelliTool.hIntelliColorPicker.h
IntelliToolPolygon.hIntelliHelper.h
+
+ + + + diff --git a/docs/html/dir_000005_000006.html b/docs/html/dir_000005_000006.html new file mode 100644 index 0000000..787fe4e --- /dev/null +++ b/docs/html/dir_000005_000006.html @@ -0,0 +1,101 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Tool -> Layer Relation + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ + + + + + diff --git a/docs/html/dir_000006_000003.html b/docs/html/dir_000006_000003.html new file mode 100644 index 0000000..3614e26 --- /dev/null +++ b/docs/html/dir_000006_000003.html @@ -0,0 +1,101 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Layer -> Image Relation + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ + + + diff --git a/docs/html/dir_000006_000004.html b/docs/html/dir_000006_000004.html new file mode 100644 index 0000000..ce51023 --- /dev/null +++ b/docs/html/dir_000006_000004.html @@ -0,0 +1,101 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Layer -> IntelliHelper Relation + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+

Layer → IntelliHelper Relation

File in intelliphoto/src/LayerIncludes file in intelliphoto/src/IntelliHelper
PaintingArea.hIntelliColorPicker.h
+
+ + + + diff --git a/docs/html/dir_000006_000005.html b/docs/html/dir_000006_000005.html new file mode 100644 index 0000000..ab452cc --- /dev/null +++ b/docs/html/dir_000006_000005.html @@ -0,0 +1,101 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Layer -> Tool Relation + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ + + + + + diff --git a/docs/html/dir_13830bfc3dd6736fe878600c9081919f.html b/docs/html/dir_13830bfc3dd6736fe878600c9081919f.html new file mode 100644 index 0000000..58957e7 --- /dev/null +++ b/docs/html/dir_13830bfc3dd6736fe878600c9081919f.html @@ -0,0 +1,118 @@ + + + + + + + +IntelliPhoto: src/Layer Directory Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.4 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Layer Directory Reference
+
+
+
+Directory dependency graph for Layer:
+
+
src/Layer
+
+ + + + + + +

+Files

file  PaintingArea.cpp [code]
 
file  PaintingArea.h [code]
 
+
+
+ + + + diff --git a/docs/html/dir_13830bfc3dd6736fe878600c9081919f.js b/docs/html/dir_13830bfc3dd6736fe878600c9081919f.js new file mode 100644 index 0000000..d438ee7 --- /dev/null +++ b/docs/html/dir_13830bfc3dd6736fe878600c9081919f.js @@ -0,0 +1,8 @@ +var dir_13830bfc3dd6736fe878600c9081919f = +[ + [ "PaintingArea.cpp", "_painting_area_8cpp.html", null ], + [ "PaintingArea.h", "_painting_area_8h.html", [ + [ "LayerObject", "struct_layer_object.html", "struct_layer_object" ], + [ "PaintingArea", "class_painting_area.html", "class_painting_area" ] + ] ] +]; \ No newline at end of file diff --git a/docs/html/dir_13830bfc3dd6736fe878600c9081919f_dep.dot b/docs/html/dir_13830bfc3dd6736fe878600c9081919f_dep.dot new file mode 100644 index 0000000..1ae7e6b --- /dev/null +++ b/docs/html/dir_13830bfc3dd6736fe878600c9081919f_dep.dot @@ -0,0 +1,18 @@ +digraph "src/Layer" { + compound=true + node [ fontsize="10", fontname="Helvetica"]; + edge [ labelfontsize="10", labelfontname="Helvetica"]; + subgraph clusterdir_68267d1309a1af8e8297ef4c3efbcdba { + graph [ bgcolor="#ddddee", pencolor="black", label="src" fontname="Helvetica", fontsize="10", URL="dir_68267d1309a1af8e8297ef4c3efbcdba.html"] + dir_13830bfc3dd6736fe878600c9081919f [shape=box, label="Layer", style="filled", fillcolor="#eeeeff", pencolor="black", URL="dir_13830bfc3dd6736fe878600c9081919f.html"]; + } + dir_fdbdd9841f9a730f284bb666ff3d8cfe [shape=box label="Image" URL="dir_fdbdd9841f9a730f284bb666ff3d8cfe.html"]; + dir_858355f3357c73763e566ff49d1e6a7a [shape=box label="Tool" URL="dir_858355f3357c73763e566ff49d1e6a7a.html"]; + dir_8de6078cba2a961961818cf80b28fd4f [shape=box label="IntelliHelper" URL="dir_8de6078cba2a961961818cf80b28fd4f.html"]; + dir_fdbdd9841f9a730f284bb666ff3d8cfe->dir_8de6078cba2a961961818cf80b28fd4f [headlabel="1", labeldistance=1.5 headhref="dir_000002_000003.html"]; + dir_13830bfc3dd6736fe878600c9081919f->dir_fdbdd9841f9a730f284bb666ff3d8cfe [headlabel="5", labeldistance=1.5 headhref="dir_000005_000002.html"]; + dir_13830bfc3dd6736fe878600c9081919f->dir_858355f3357c73763e566ff49d1e6a7a [headlabel="4", labeldistance=1.5 headhref="dir_000005_000004.html"]; + dir_13830bfc3dd6736fe878600c9081919f->dir_8de6078cba2a961961818cf80b28fd4f [headlabel="1", labeldistance=1.5 headhref="dir_000005_000003.html"]; + dir_858355f3357c73763e566ff49d1e6a7a->dir_13830bfc3dd6736fe878600c9081919f [headlabel="4", labeldistance=1.5 headhref="dir_000004_000005.html"]; + dir_858355f3357c73763e566ff49d1e6a7a->dir_8de6078cba2a961961818cf80b28fd4f [headlabel="2", labeldistance=1.5 headhref="dir_000004_000003.html"]; +} diff --git a/docs/html/dir_4e4e2e75df7fa6971448b424c011c8b5.html b/docs/html/dir_4e4e2e75df7fa6971448b424c011c8b5.html new file mode 100644 index 0000000..95fda27 --- /dev/null +++ b/docs/html/dir_4e4e2e75df7fa6971448b424c011c8b5.html @@ -0,0 +1,118 @@ + + + + + + + +IntelliPhoto: src/GUI Directory Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.4 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
GUI Directory Reference
+
+
+
+Directory dependency graph for GUI:
+
+
src/GUI
+
+ + + + + + +

+Files

file  IntelliPhotoGui.cpp [code]
 
file  IntelliPhotoGui.h [code]
 
+
+
+ + + + diff --git a/docs/html/dir_4e4e2e75df7fa6971448b424c011c8b5.js b/docs/html/dir_4e4e2e75df7fa6971448b424c011c8b5.js new file mode 100644 index 0000000..004f844 --- /dev/null +++ b/docs/html/dir_4e4e2e75df7fa6971448b424c011c8b5.js @@ -0,0 +1,7 @@ +var dir_4e4e2e75df7fa6971448b424c011c8b5 = +[ + [ "IntelliPhotoGui.cpp", "_intelli_photo_gui_8cpp.html", "_intelli_photo_gui_8cpp" ], + [ "IntelliPhotoGui.h", "_intelli_photo_gui_8h.html", [ + [ "IntelliPhotoGui", "class_intelli_photo_gui.html", "class_intelli_photo_gui" ] + ] ] +]; \ No newline at end of file diff --git a/docs/html/dir_4e4e2e75df7fa6971448b424c011c8b5_dep.dot b/docs/html/dir_4e4e2e75df7fa6971448b424c011c8b5_dep.dot new file mode 100644 index 0000000..ba0fbf9 --- /dev/null +++ b/docs/html/dir_4e4e2e75df7fa6971448b424c011c8b5_dep.dot @@ -0,0 +1,11 @@ +digraph "src/GUI" { + compound=true + node [ fontsize="10", fontname="Helvetica"]; + edge [ labelfontsize="10", labelfontname="Helvetica"]; + subgraph clusterdir_68267d1309a1af8e8297ef4c3efbcdba { + graph [ bgcolor="#ddddee", pencolor="black", label="src" fontname="Helvetica", fontsize="10", URL="dir_68267d1309a1af8e8297ef4c3efbcdba.html"] + dir_4e4e2e75df7fa6971448b424c011c8b5 [shape=box, label="GUI", style="filled", fillcolor="#eeeeff", pencolor="black", URL="dir_4e4e2e75df7fa6971448b424c011c8b5.html"]; + } + dir_13830bfc3dd6736fe878600c9081919f [shape=box label="Layer" URL="dir_13830bfc3dd6736fe878600c9081919f.html"]; + dir_4e4e2e75df7fa6971448b424c011c8b5->dir_13830bfc3dd6736fe878600c9081919f [headlabel="1", labeldistance=1.5 headhref="dir_000001_000005.html"]; +} diff --git a/docs/html/dir_544f9dcb748f922e4bb3be2540380bf2.html b/docs/html/dir_544f9dcb748f922e4bb3be2540380bf2.html new file mode 100644 index 0000000..131776e --- /dev/null +++ b/docs/html/dir_544f9dcb748f922e4bb3be2540380bf2.html @@ -0,0 +1,126 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Image Directory Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Image Directory Reference
+
+
+
+Directory dependency graph for Image:
+
+
intelliphoto/src/Image
+
+ + + + + + + + + + + + + + +

+Files

file  IntelliImage.cpp [code]
 
file  IntelliImage.h [code]
 
file  IntelliRasterImage.cpp [code]
 
file  IntelliRasterImage.h [code]
 
file  IntelliShapedImage.cpp [code]
 
file  IntelliShapedImage.h [code]
 
+
+
+ + + + diff --git a/docs/html/dir_544f9dcb748f922e4bb3be2540380bf2.js b/docs/html/dir_544f9dcb748f922e4bb3be2540380bf2.js new file mode 100644 index 0000000..a3d97dc --- /dev/null +++ b/docs/html/dir_544f9dcb748f922e4bb3be2540380bf2.js @@ -0,0 +1,13 @@ +var dir_544f9dcb748f922e4bb3be2540380bf2 = +[ + [ "IntelliImage.cpp", "_intelli_image_8cpp.html", null ], + [ "IntelliImage.h", "_intelli_image_8h.html", "_intelli_image_8h" ], + [ "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" ] + ] ], + [ "IntelliShapedImage.cpp", "_intelli_shaped_image_8cpp.html", null ], + [ "IntelliShapedImage.h", "_intelli_shaped_image_8h.html", [ + [ "IntelliShapedImage", "class_intelli_shaped_image.html", "class_intelli_shaped_image" ] + ] ] +]; \ No newline at end of file diff --git a/docs/html/dir_544f9dcb748f922e4bb3be2540380bf2_dep.dot b/docs/html/dir_544f9dcb748f922e4bb3be2540380bf2_dep.dot new file mode 100644 index 0000000..b32b5f7 --- /dev/null +++ b/docs/html/dir_544f9dcb748f922e4bb3be2540380bf2_dep.dot @@ -0,0 +1,11 @@ +digraph "intelliphoto/src/Image" { + compound=true + node [ fontsize="10", fontname="Helvetica"]; + edge [ labelfontsize="10", labelfontname="Helvetica"]; + subgraph clusterdir_83a4347d11f2ba6343d546ab133722d2 { + graph [ bgcolor="#ddddee", pencolor="black", label="src" fontname="Helvetica", fontsize="10", URL="dir_83a4347d11f2ba6343d546ab133722d2.html"] + dir_544f9dcb748f922e4bb3be2540380bf2 [shape=box, label="Image", style="filled", fillcolor="#eeeeff", pencolor="black", URL="dir_544f9dcb748f922e4bb3be2540380bf2.html"]; + } + dir_f50aa5156fe016a259583c412dbf440c [shape=box label="IntelliHelper" URL="dir_f50aa5156fe016a259583c412dbf440c.html"]; + dir_544f9dcb748f922e4bb3be2540380bf2->dir_f50aa5156fe016a259583c412dbf440c [headlabel="2", labeldistance=1.5 headhref="dir_000003_000004.html"]; +} diff --git a/docs/html/dir_5dabb14988a75c922e285f444641a133.html b/docs/html/dir_5dabb14988a75c922e285f444641a133.html new file mode 100644 index 0000000..aef6509 --- /dev/null +++ b/docs/html/dir_5dabb14988a75c922e285f444641a133.html @@ -0,0 +1,118 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/GUI Directory Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
GUI Directory Reference
+
+
+
+Directory dependency graph for GUI:
+
+
intelliphoto/src/GUI
+
+ + + + + + +

+Files

file  IntelliPhotoGui.cpp [code]
 
file  IntelliPhotoGui.h [code]
 
+
+
+ + + + diff --git a/docs/html/dir_5dabb14988a75c922e285f444641a133.js b/docs/html/dir_5dabb14988a75c922e285f444641a133.js new file mode 100644 index 0000000..95b2021 --- /dev/null +++ b/docs/html/dir_5dabb14988a75c922e285f444641a133.js @@ -0,0 +1,7 @@ +var dir_5dabb14988a75c922e285f444641a133 = +[ + [ "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" ] + ] ] +]; \ No newline at end of file diff --git a/docs/html/dir_5dabb14988a75c922e285f444641a133_dep.dot b/docs/html/dir_5dabb14988a75c922e285f444641a133_dep.dot new file mode 100644 index 0000000..d4cfd7f --- /dev/null +++ b/docs/html/dir_5dabb14988a75c922e285f444641a133_dep.dot @@ -0,0 +1,11 @@ +digraph "intelliphoto/src/GUI" { + compound=true + node [ fontsize="10", fontname="Helvetica"]; + edge [ labelfontsize="10", labelfontname="Helvetica"]; + subgraph clusterdir_83a4347d11f2ba6343d546ab133722d2 { + graph [ bgcolor="#ddddee", pencolor="black", label="src" fontname="Helvetica", fontsize="10", URL="dir_83a4347d11f2ba6343d546ab133722d2.html"] + dir_5dabb14988a75c922e285f444641a133 [shape=box, label="GUI", style="filled", fillcolor="#eeeeff", pencolor="black", URL="dir_5dabb14988a75c922e285f444641a133.html"]; + } + dir_e6d96184223881d115efa44ca0dfa844 [shape=box label="Layer" URL="dir_e6d96184223881d115efa44ca0dfa844.html"]; + dir_5dabb14988a75c922e285f444641a133->dir_e6d96184223881d115efa44ca0dfa844 [headlabel="1", labeldistance=1.5 headhref="dir_000002_000006.html"]; +} diff --git a/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html new file mode 100644 index 0000000..da78dd7 --- /dev/null +++ b/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -0,0 +1,129 @@ + + + + + + + +IntelliPhoto: src Directory Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.4 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
src Directory Reference
+
+
+
+Directory dependency graph for src:
+
+
src
+
+ + + + + + + + + + + + +

+Directories

directory  GUI
 
directory  Image
 
directory  IntelliHelper
 
directory  Layer
 
directory  Tool
 
+ + + +

+Files

file  main.cpp [code]
 
+
+
+ + + + diff --git a/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.js b/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.js new file mode 100644 index 0000000..eee6b10 --- /dev/null +++ b/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.js @@ -0,0 +1,9 @@ +var dir_68267d1309a1af8e8297ef4c3efbcdba = +[ + [ "GUI", "dir_4e4e2e75df7fa6971448b424c011c8b5.html", "dir_4e4e2e75df7fa6971448b424c011c8b5" ], + [ "Image", "dir_fdbdd9841f9a730f284bb666ff3d8cfe.html", "dir_fdbdd9841f9a730f284bb666ff3d8cfe" ], + [ "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" ] +]; \ No newline at end of file diff --git a/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.dot b/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.dot new file mode 100644 index 0000000..7a39786 --- /dev/null +++ b/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.dot @@ -0,0 +1,22 @@ +digraph "src" { + compound=true + node [ fontsize="10", fontname="Helvetica"]; + edge [ labelfontsize="10", labelfontname="Helvetica"]; + subgraph clusterdir_68267d1309a1af8e8297ef4c3efbcdba { + graph [ bgcolor="#eeeeff", pencolor="black", label="" URL="dir_68267d1309a1af8e8297ef4c3efbcdba.html"]; + dir_68267d1309a1af8e8297ef4c3efbcdba [shape=plaintext label="src"]; + dir_4e4e2e75df7fa6971448b424c011c8b5 [shape=box label="GUI" color="black" fillcolor="white" style="filled" URL="dir_4e4e2e75df7fa6971448b424c011c8b5.html"]; + dir_fdbdd9841f9a730f284bb666ff3d8cfe [shape=box label="Image" color="black" fillcolor="white" style="filled" URL="dir_fdbdd9841f9a730f284bb666ff3d8cfe.html"]; + dir_8de6078cba2a961961818cf80b28fd4f [shape=box label="IntelliHelper" color="black" fillcolor="white" style="filled" URL="dir_8de6078cba2a961961818cf80b28fd4f.html"]; + dir_13830bfc3dd6736fe878600c9081919f [shape=box label="Layer" color="black" fillcolor="white" style="filled" URL="dir_13830bfc3dd6736fe878600c9081919f.html"]; + dir_858355f3357c73763e566ff49d1e6a7a [shape=box label="Tool" color="black" fillcolor="white" style="filled" URL="dir_858355f3357c73763e566ff49d1e6a7a.html"]; + } + dir_68267d1309a1af8e8297ef4c3efbcdba->dir_4e4e2e75df7fa6971448b424c011c8b5 [headlabel="1", labeldistance=1.5 headhref="dir_000000_000001.html"]; + dir_fdbdd9841f9a730f284bb666ff3d8cfe->dir_8de6078cba2a961961818cf80b28fd4f [headlabel="1", labeldistance=1.5 headhref="dir_000002_000003.html"]; + dir_13830bfc3dd6736fe878600c9081919f->dir_fdbdd9841f9a730f284bb666ff3d8cfe [headlabel="5", labeldistance=1.5 headhref="dir_000005_000002.html"]; + dir_13830bfc3dd6736fe878600c9081919f->dir_858355f3357c73763e566ff49d1e6a7a [headlabel="4", labeldistance=1.5 headhref="dir_000005_000004.html"]; + dir_13830bfc3dd6736fe878600c9081919f->dir_8de6078cba2a961961818cf80b28fd4f [headlabel="1", labeldistance=1.5 headhref="dir_000005_000003.html"]; + dir_858355f3357c73763e566ff49d1e6a7a->dir_13830bfc3dd6736fe878600c9081919f [headlabel="4", labeldistance=1.5 headhref="dir_000004_000005.html"]; + dir_858355f3357c73763e566ff49d1e6a7a->dir_8de6078cba2a961961818cf80b28fd4f [headlabel="2", labeldistance=1.5 headhref="dir_000004_000003.html"]; + dir_4e4e2e75df7fa6971448b424c011c8b5->dir_13830bfc3dd6736fe878600c9081919f [headlabel="1", labeldistance=1.5 headhref="dir_000001_000005.html"]; +} diff --git a/docs/html/dir_83a4347d11f2ba6343d546ab133722d2.html b/docs/html/dir_83a4347d11f2ba6343d546ab133722d2.html new file mode 100644 index 0000000..25ae04d --- /dev/null +++ b/docs/html/dir_83a4347d11f2ba6343d546ab133722d2.html @@ -0,0 +1,129 @@ + + + + + + + +IntelliPhoto: intelliphoto/src Directory Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
src Directory Reference
+
+
+
+Directory dependency graph for src:
+
+
intelliphoto/src
+
+ + + + + + + + + + + + +

+Directories

directory  GUI
 
directory  Image
 
directory  IntelliHelper
 
directory  Layer
 
directory  Tool
 
+ + + +

+Files

file  main.cpp [code]
 
+
+
+ + + + diff --git a/docs/html/dir_83a4347d11f2ba6343d546ab133722d2.js b/docs/html/dir_83a4347d11f2ba6343d546ab133722d2.js new file mode 100644 index 0000000..1b4702f --- /dev/null +++ b/docs/html/dir_83a4347d11f2ba6343d546ab133722d2.js @@ -0,0 +1,9 @@ +var dir_83a4347d11f2ba6343d546ab133722d2 = +[ + [ "GUI", "dir_5dabb14988a75c922e285f444641a133.html", "dir_5dabb14988a75c922e285f444641a133" ], + [ "Image", "dir_544f9dcb748f922e4bb3be2540380bf2.html", "dir_544f9dcb748f922e4bb3be2540380bf2" ], + [ "IntelliHelper", "dir_f50aa5156fe016a259583c412dbf440c.html", "dir_f50aa5156fe016a259583c412dbf440c" ], + [ "Layer", "dir_e6d96184223881d115efa44ca0dfa844.html", "dir_e6d96184223881d115efa44ca0dfa844" ], + [ "Tool", "dir_941490de56ac122cf77df9922cbcc750.html", "dir_941490de56ac122cf77df9922cbcc750" ], + [ "main.cpp", "main_8cpp.html", "main_8cpp" ] +]; \ No newline at end of file diff --git a/docs/html/dir_83a4347d11f2ba6343d546ab133722d2_dep.dot b/docs/html/dir_83a4347d11f2ba6343d546ab133722d2_dep.dot new file mode 100644 index 0000000..d03004d --- /dev/null +++ b/docs/html/dir_83a4347d11f2ba6343d546ab133722d2_dep.dot @@ -0,0 +1,25 @@ +digraph "intelliphoto/src" { + compound=true + node [ fontsize="10", fontname="Helvetica"]; + edge [ labelfontsize="10", labelfontname="Helvetica"]; + subgraph clusterdir_8db5f55022e7670536cbc9a6a1d6f01c { + graph [ bgcolor="#ddddee", pencolor="black", label="intelliphoto" fontname="Helvetica", fontsize="10", URL="dir_8db5f55022e7670536cbc9a6a1d6f01c.html"] + subgraph clusterdir_83a4347d11f2ba6343d546ab133722d2 { + graph [ bgcolor="#eeeeff", pencolor="black", label="" URL="dir_83a4347d11f2ba6343d546ab133722d2.html"]; + dir_83a4347d11f2ba6343d546ab133722d2 [shape=plaintext label="src"]; + dir_5dabb14988a75c922e285f444641a133 [shape=box label="GUI" color="black" fillcolor="white" style="filled" URL="dir_5dabb14988a75c922e285f444641a133.html"]; + dir_544f9dcb748f922e4bb3be2540380bf2 [shape=box label="Image" color="black" fillcolor="white" style="filled" URL="dir_544f9dcb748f922e4bb3be2540380bf2.html"]; + dir_f50aa5156fe016a259583c412dbf440c [shape=box label="IntelliHelper" color="black" fillcolor="white" style="filled" URL="dir_f50aa5156fe016a259583c412dbf440c.html"]; + dir_e6d96184223881d115efa44ca0dfa844 [shape=box label="Layer" color="black" fillcolor="white" style="filled" URL="dir_e6d96184223881d115efa44ca0dfa844.html"]; + dir_941490de56ac122cf77df9922cbcc750 [shape=box label="Tool" color="black" fillcolor="white" style="filled" URL="dir_941490de56ac122cf77df9922cbcc750.html"]; + } + } + dir_544f9dcb748f922e4bb3be2540380bf2->dir_f50aa5156fe016a259583c412dbf440c [headlabel="2", labeldistance=1.5 headhref="dir_000003_000004.html"]; + dir_e6d96184223881d115efa44ca0dfa844->dir_544f9dcb748f922e4bb3be2540380bf2 [headlabel="5", labeldistance=1.5 headhref="dir_000006_000003.html"]; + dir_e6d96184223881d115efa44ca0dfa844->dir_f50aa5156fe016a259583c412dbf440c [headlabel="1", labeldistance=1.5 headhref="dir_000006_000004.html"]; + dir_e6d96184223881d115efa44ca0dfa844->dir_941490de56ac122cf77df9922cbcc750 [headlabel="8", labeldistance=1.5 headhref="dir_000006_000005.html"]; + dir_5dabb14988a75c922e285f444641a133->dir_e6d96184223881d115efa44ca0dfa844 [headlabel="1", labeldistance=1.5 headhref="dir_000002_000006.html"]; + dir_83a4347d11f2ba6343d546ab133722d2->dir_5dabb14988a75c922e285f444641a133 [headlabel="1", labeldistance=1.5 headhref="dir_000001_000002.html"]; + dir_941490de56ac122cf77df9922cbcc750->dir_e6d96184223881d115efa44ca0dfa844 [headlabel="8", labeldistance=1.5 headhref="dir_000005_000006.html"]; + dir_941490de56ac122cf77df9922cbcc750->dir_f50aa5156fe016a259583c412dbf440c [headlabel="3", labeldistance=1.5 headhref="dir_000005_000004.html"]; +} diff --git a/docs/html/dir_858355f3357c73763e566ff49d1e6a7a.html b/docs/html/dir_858355f3357c73763e566ff49d1e6a7a.html new file mode 100644 index 0000000..736c158 --- /dev/null +++ b/docs/html/dir_858355f3357c73763e566ff49d1e6a7a.html @@ -0,0 +1,132 @@ + + + + + + + +IntelliPhoto: src/Tool Directory Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.4 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Tool Directory Reference
+
+
+
+Directory dependency graph for Tool:
+
+
src/Tool
+
+ + + + + + + + + + + + + + + + + + + + +

+Files

file  IntelliColorPicker.cpp [code]
 
file  IntelliTool.cpp [code]
 
file  IntelliTool.h [code]
 
file  IntelliToolLine.cpp [code]
 
file  IntelliToolLine.h [code]
 
file  IntelliToolPen.cpp [code]
 
file  IntelliToolPen.h [code]
 
file  IntelliToolPlain.cpp [code]
 
file  IntelliToolPlain.h [code]
 
+
+
+ + + + diff --git a/docs/html/dir_858355f3357c73763e566ff49d1e6a7a.js b/docs/html/dir_858355f3357c73763e566ff49d1e6a7a.js new file mode 100644 index 0000000..0d86815 --- /dev/null +++ b/docs/html/dir_858355f3357c73763e566ff49d1e6a7a.js @@ -0,0 +1,18 @@ +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" ] + ] ], + [ "IntelliToolLine.cpp", "_intelli_tool_line_8cpp.html", null ], + [ "IntelliToolLine.h", "_intelli_tool_line_8h.html", "_intelli_tool_line_8h" ], + [ "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" ] + ] ], + [ "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" ] + ] ] +]; \ No newline at end of file diff --git a/docs/html/dir_858355f3357c73763e566ff49d1e6a7a_dep.dot b/docs/html/dir_858355f3357c73763e566ff49d1e6a7a_dep.dot new file mode 100644 index 0000000..7b3fd36 --- /dev/null +++ b/docs/html/dir_858355f3357c73763e566ff49d1e6a7a_dep.dot @@ -0,0 +1,15 @@ +digraph "src/Tool" { + compound=true + node [ fontsize="10", fontname="Helvetica"]; + edge [ labelfontsize="10", labelfontname="Helvetica"]; + subgraph clusterdir_68267d1309a1af8e8297ef4c3efbcdba { + graph [ bgcolor="#ddddee", pencolor="black", label="src" fontname="Helvetica", fontsize="10", URL="dir_68267d1309a1af8e8297ef4c3efbcdba.html"] + dir_858355f3357c73763e566ff49d1e6a7a [shape=box, label="Tool", style="filled", fillcolor="#eeeeff", pencolor="black", URL="dir_858355f3357c73763e566ff49d1e6a7a.html"]; + } + dir_13830bfc3dd6736fe878600c9081919f [shape=box label="Layer" URL="dir_13830bfc3dd6736fe878600c9081919f.html"]; + dir_8de6078cba2a961961818cf80b28fd4f [shape=box label="IntelliHelper" URL="dir_8de6078cba2a961961818cf80b28fd4f.html"]; + dir_13830bfc3dd6736fe878600c9081919f->dir_858355f3357c73763e566ff49d1e6a7a [headlabel="4", labeldistance=1.5 headhref="dir_000005_000004.html"]; + dir_13830bfc3dd6736fe878600c9081919f->dir_8de6078cba2a961961818cf80b28fd4f [headlabel="1", labeldistance=1.5 headhref="dir_000005_000003.html"]; + dir_858355f3357c73763e566ff49d1e6a7a->dir_13830bfc3dd6736fe878600c9081919f [headlabel="4", labeldistance=1.5 headhref="dir_000004_000005.html"]; + dir_858355f3357c73763e566ff49d1e6a7a->dir_8de6078cba2a961961818cf80b28fd4f [headlabel="2", labeldistance=1.5 headhref="dir_000004_000003.html"]; +} diff --git a/docs/html/dir_8db5f55022e7670536cbc9a6a1d6f01c.html b/docs/html/dir_8db5f55022e7670536cbc9a6a1d6f01c.html new file mode 100644 index 0000000..d5a13c5 --- /dev/null +++ b/docs/html/dir_8db5f55022e7670536cbc9a6a1d6f01c.html @@ -0,0 +1,116 @@ + + + + + + + +IntelliPhoto: intelliphoto Directory Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
intelliphoto Directory Reference
+
+
+
+Directory dependency graph for intelliphoto:
+
+
intelliphoto
+
+ + + + +

+Directories

directory  src
 
+
+
+ + + + diff --git a/docs/html/dir_8db5f55022e7670536cbc9a6a1d6f01c.js b/docs/html/dir_8db5f55022e7670536cbc9a6a1d6f01c.js new file mode 100644 index 0000000..ba36692 --- /dev/null +++ b/docs/html/dir_8db5f55022e7670536cbc9a6a1d6f01c.js @@ -0,0 +1,4 @@ +var dir_8db5f55022e7670536cbc9a6a1d6f01c = +[ + [ "src", "dir_83a4347d11f2ba6343d546ab133722d2.html", "dir_83a4347d11f2ba6343d546ab133722d2" ] +]; \ No newline at end of file diff --git a/docs/html/dir_8db5f55022e7670536cbc9a6a1d6f01c_dep.dot b/docs/html/dir_8db5f55022e7670536cbc9a6a1d6f01c_dep.dot new file mode 100644 index 0000000..35e43de --- /dev/null +++ b/docs/html/dir_8db5f55022e7670536cbc9a6a1d6f01c_dep.dot @@ -0,0 +1,10 @@ +digraph "intelliphoto" { + compound=true + node [ fontsize="10", fontname="Helvetica"]; + edge [ labelfontsize="10", labelfontname="Helvetica"]; + subgraph clusterdir_8db5f55022e7670536cbc9a6a1d6f01c { + graph [ bgcolor="#eeeeff", pencolor="black", label="" URL="dir_8db5f55022e7670536cbc9a6a1d6f01c.html"]; + dir_8db5f55022e7670536cbc9a6a1d6f01c [shape=plaintext label="intelliphoto"]; + dir_83a4347d11f2ba6343d546ab133722d2 [shape=box label="src" color="red" fillcolor="white" style="filled" URL="dir_83a4347d11f2ba6343d546ab133722d2.html"]; + } +} diff --git a/docs/html/dir_8de6078cba2a961961818cf80b28fd4f.html b/docs/html/dir_8de6078cba2a961961818cf80b28fd4f.html new file mode 100644 index 0000000..b7d0117 --- /dev/null +++ b/docs/html/dir_8de6078cba2a961961818cf80b28fd4f.html @@ -0,0 +1,117 @@ + + + + + + + +IntelliPhoto: src/IntelliHelper Directory Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.4 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliHelper Directory Reference
+
+
+ + + + + + + + + + +

+Files

file  IntelliColorPicker.cpp [code]
 
file  IntelliColorPicker.h [code]
 
file  IntelliHelper.cpp [code]
 
file  IntelliHelper.h [code]
 
+
+
+ + + + diff --git a/docs/html/dir_8de6078cba2a961961818cf80b28fd4f.js b/docs/html/dir_8de6078cba2a961961818cf80b28fd4f.js new file mode 100644 index 0000000..6cabcb9 --- /dev/null +++ b/docs/html/dir_8de6078cba2a961961818cf80b28fd4f.js @@ -0,0 +1,11 @@ +var dir_8de6078cba2a961961818cf80b28fd4f = +[ + [ "IntelliColorPicker.cpp", "_intelli_helper_2_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 ] + ] ] +]; \ No newline at end of file diff --git a/docs/html/dir_941490de56ac122cf77df9922cbcc750.html b/docs/html/dir_941490de56ac122cf77df9922cbcc750.html new file mode 100644 index 0000000..f8d19cd --- /dev/null +++ b/docs/html/dir_941490de56ac122cf77df9922cbcc750.html @@ -0,0 +1,148 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Tool Directory Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Tool Directory Reference
+
+
+
+Directory dependency graph for Tool:
+
+
intelliphoto/src/Tool
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+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  IntelliToolPen.cpp [code]
 
file  IntelliToolPen.h [code]
 
file  IntelliToolPlain.cpp [code]
 
file  IntelliToolPlain.h [code]
 
file  IntelliToolPolygon.cpp [code]
 
file  IntelliToolPolygon.h [code]
 
file  IntelliToolRectangle.cpp [code]
 
file  IntelliToolRectangle.h [code]
 
+
+
+ + + + diff --git a/docs/html/dir_941490de56ac122cf77df9922cbcc750.js b/docs/html/dir_941490de56ac122cf77df9922cbcc750.js new file mode 100644 index 0000000..3600677 --- /dev/null +++ b/docs/html/dir_941490de56ac122cf77df9922cbcc750.js @@ -0,0 +1,34 @@ +var dir_941490de56ac122cf77df9922cbcc750 = +[ + [ "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" ], + [ "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" ] + ] ], + [ "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_941490de56ac122cf77df9922cbcc750_dep.dot b/docs/html/dir_941490de56ac122cf77df9922cbcc750_dep.dot new file mode 100644 index 0000000..b5345d4 --- /dev/null +++ b/docs/html/dir_941490de56ac122cf77df9922cbcc750_dep.dot @@ -0,0 +1,15 @@ +digraph "intelliphoto/src/Tool" { + compound=true + node [ fontsize="10", fontname="Helvetica"]; + edge [ labelfontsize="10", labelfontname="Helvetica"]; + subgraph clusterdir_83a4347d11f2ba6343d546ab133722d2 { + graph [ bgcolor="#ddddee", pencolor="black", label="src" fontname="Helvetica", fontsize="10", URL="dir_83a4347d11f2ba6343d546ab133722d2.html"] + dir_941490de56ac122cf77df9922cbcc750 [shape=box, label="Tool", style="filled", fillcolor="#eeeeff", pencolor="black", URL="dir_941490de56ac122cf77df9922cbcc750.html"]; + } + dir_e6d96184223881d115efa44ca0dfa844 [shape=box label="Layer" URL="dir_e6d96184223881d115efa44ca0dfa844.html"]; + dir_f50aa5156fe016a259583c412dbf440c [shape=box label="IntelliHelper" URL="dir_f50aa5156fe016a259583c412dbf440c.html"]; + dir_e6d96184223881d115efa44ca0dfa844->dir_f50aa5156fe016a259583c412dbf440c [headlabel="1", labeldistance=1.5 headhref="dir_000006_000004.html"]; + dir_e6d96184223881d115efa44ca0dfa844->dir_941490de56ac122cf77df9922cbcc750 [headlabel="8", labeldistance=1.5 headhref="dir_000006_000005.html"]; + dir_941490de56ac122cf77df9922cbcc750->dir_e6d96184223881d115efa44ca0dfa844 [headlabel="8", labeldistance=1.5 headhref="dir_000005_000006.html"]; + dir_941490de56ac122cf77df9922cbcc750->dir_f50aa5156fe016a259583c412dbf440c [headlabel="3", labeldistance=1.5 headhref="dir_000005_000004.html"]; +} diff --git a/docs/html/dir_e6d96184223881d115efa44ca0dfa844.html b/docs/html/dir_e6d96184223881d115efa44ca0dfa844.html new file mode 100644 index 0000000..8c9cebb --- /dev/null +++ b/docs/html/dir_e6d96184223881d115efa44ca0dfa844.html @@ -0,0 +1,118 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/Layer Directory Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Layer Directory Reference
+
+
+
+Directory dependency graph for Layer:
+
+
intelliphoto/src/Layer
+
+ + + + + + +

+Files

file  PaintingArea.cpp [code]
 
file  PaintingArea.h [code]
 
+
+
+ + + + diff --git a/docs/html/dir_e6d96184223881d115efa44ca0dfa844.js b/docs/html/dir_e6d96184223881d115efa44ca0dfa844.js new file mode 100644 index 0000000..c511455 --- /dev/null +++ b/docs/html/dir_e6d96184223881d115efa44ca0dfa844.js @@ -0,0 +1,8 @@ +var dir_e6d96184223881d115efa44ca0dfa844 = +[ + [ "PaintingArea.cpp", "_painting_area_8cpp.html", null ], + [ "PaintingArea.h", "_painting_area_8h.html", [ + [ "LayerObject", "struct_layer_object.html", "struct_layer_object" ], + [ "PaintingArea", "class_painting_area.html", "class_painting_area" ] + ] ] +]; \ No newline at end of file diff --git a/docs/html/dir_e6d96184223881d115efa44ca0dfa844_dep.dot b/docs/html/dir_e6d96184223881d115efa44ca0dfa844_dep.dot new file mode 100644 index 0000000..2340c84 --- /dev/null +++ b/docs/html/dir_e6d96184223881d115efa44ca0dfa844_dep.dot @@ -0,0 +1,18 @@ +digraph "intelliphoto/src/Layer" { + compound=true + node [ fontsize="10", fontname="Helvetica"]; + edge [ labelfontsize="10", labelfontname="Helvetica"]; + subgraph clusterdir_83a4347d11f2ba6343d546ab133722d2 { + graph [ bgcolor="#ddddee", pencolor="black", label="src" fontname="Helvetica", fontsize="10", URL="dir_83a4347d11f2ba6343d546ab133722d2.html"] + dir_e6d96184223881d115efa44ca0dfa844 [shape=box, label="Layer", style="filled", fillcolor="#eeeeff", pencolor="black", URL="dir_e6d96184223881d115efa44ca0dfa844.html"]; + } + dir_544f9dcb748f922e4bb3be2540380bf2 [shape=box label="Image" URL="dir_544f9dcb748f922e4bb3be2540380bf2.html"]; + dir_f50aa5156fe016a259583c412dbf440c [shape=box label="IntelliHelper" URL="dir_f50aa5156fe016a259583c412dbf440c.html"]; + dir_941490de56ac122cf77df9922cbcc750 [shape=box label="Tool" URL="dir_941490de56ac122cf77df9922cbcc750.html"]; + dir_544f9dcb748f922e4bb3be2540380bf2->dir_f50aa5156fe016a259583c412dbf440c [headlabel="2", labeldistance=1.5 headhref="dir_000003_000004.html"]; + dir_e6d96184223881d115efa44ca0dfa844->dir_544f9dcb748f922e4bb3be2540380bf2 [headlabel="5", labeldistance=1.5 headhref="dir_000006_000003.html"]; + dir_e6d96184223881d115efa44ca0dfa844->dir_f50aa5156fe016a259583c412dbf440c [headlabel="1", labeldistance=1.5 headhref="dir_000006_000004.html"]; + dir_e6d96184223881d115efa44ca0dfa844->dir_941490de56ac122cf77df9922cbcc750 [headlabel="8", labeldistance=1.5 headhref="dir_000006_000005.html"]; + dir_941490de56ac122cf77df9922cbcc750->dir_e6d96184223881d115efa44ca0dfa844 [headlabel="8", labeldistance=1.5 headhref="dir_000005_000006.html"]; + dir_941490de56ac122cf77df9922cbcc750->dir_f50aa5156fe016a259583c412dbf440c [headlabel="3", labeldistance=1.5 headhref="dir_000005_000004.html"]; +} diff --git a/docs/html/dir_f50aa5156fe016a259583c412dbf440c.html b/docs/html/dir_f50aa5156fe016a259583c412dbf440c.html new file mode 100644 index 0000000..d052bde --- /dev/null +++ b/docs/html/dir_f50aa5156fe016a259583c412dbf440c.html @@ -0,0 +1,117 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/IntelliHelper Directory Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliHelper Directory Reference
+
+
+ + + + + + + + + + +

+Files

file  IntelliColorPicker.cpp [code]
 
file  IntelliColorPicker.h [code]
 
file  IntelliHelper.cpp [code]
 
file  IntelliHelper.h [code]
 
+
+
+ + + + diff --git a/docs/html/dir_f50aa5156fe016a259583c412dbf440c.js b/docs/html/dir_f50aa5156fe016a259583c412dbf440c.js new file mode 100644 index 0000000..b119077 --- /dev/null +++ b/docs/html/dir_f50aa5156fe016a259583c412dbf440c.js @@ -0,0 +1,9 @@ +var dir_f50aa5156fe016a259583c412dbf440c = +[ + [ "IntelliColorPicker.cpp", "_intelli_helper_2_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", "_intelli_helper_8h" ] +]; \ No newline at end of file diff --git a/docs/html/dir_fdbdd9841f9a730f284bb666ff3d8cfe.html b/docs/html/dir_fdbdd9841f9a730f284bb666ff3d8cfe.html new file mode 100644 index 0000000..538b969 --- /dev/null +++ b/docs/html/dir_fdbdd9841f9a730f284bb666ff3d8cfe.html @@ -0,0 +1,126 @@ + + + + + + + +IntelliPhoto: src/Image Directory Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.4 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Image Directory Reference
+
+
+
+Directory dependency graph for Image:
+
+
src/Image
+
+ + + + + + + + + + + + + + +

+Files

file  IntelliImage.cpp [code]
 
file  IntelliImage.h [code]
 
file  IntelliRasterImage.cpp [code]
 
file  IntelliRasterImage.h [code]
 
file  IntelliShapedImage.cpp [code]
 
file  IntelliShapedImage.h [code]
 
+
+
+ + + + diff --git a/docs/html/dir_fdbdd9841f9a730f284bb666ff3d8cfe.js b/docs/html/dir_fdbdd9841f9a730f284bb666ff3d8cfe.js new file mode 100644 index 0000000..fe8f755 --- /dev/null +++ b/docs/html/dir_fdbdd9841f9a730f284bb666ff3d8cfe.js @@ -0,0 +1,13 @@ +var dir_fdbdd9841f9a730f284bb666ff3d8cfe = +[ + [ "IntelliImage.cpp", "_intelli_image_8cpp.html", null ], + [ "IntelliImage.h", "_intelli_image_8h.html", "_intelli_image_8h" ], + [ "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" ] + ] ], + [ "IntelliShapedImage.cpp", "_intelli_shaped_image_8cpp.html", null ], + [ "IntelliShapedImage.h", "_intelli_shaped_image_8h.html", [ + [ "IntelliShapedImage", "class_intelli_shaped_image.html", "class_intelli_shaped_image" ] + ] ] +]; \ No newline at end of file diff --git a/docs/html/dir_fdbdd9841f9a730f284bb666ff3d8cfe_dep.dot b/docs/html/dir_fdbdd9841f9a730f284bb666ff3d8cfe_dep.dot new file mode 100644 index 0000000..8331018 --- /dev/null +++ b/docs/html/dir_fdbdd9841f9a730f284bb666ff3d8cfe_dep.dot @@ -0,0 +1,11 @@ +digraph "src/Image" { + compound=true + node [ fontsize="10", fontname="Helvetica"]; + edge [ labelfontsize="10", labelfontname="Helvetica"]; + subgraph clusterdir_68267d1309a1af8e8297ef4c3efbcdba { + graph [ bgcolor="#ddddee", pencolor="black", label="src" fontname="Helvetica", fontsize="10", URL="dir_68267d1309a1af8e8297ef4c3efbcdba.html"] + dir_fdbdd9841f9a730f284bb666ff3d8cfe [shape=box, label="Image", style="filled", fillcolor="#eeeeff", pencolor="black", URL="dir_fdbdd9841f9a730f284bb666ff3d8cfe.html"]; + } + dir_8de6078cba2a961961818cf80b28fd4f [shape=box label="IntelliHelper" URL="dir_8de6078cba2a961961818cf80b28fd4f.html"]; + dir_fdbdd9841f9a730f284bb666ff3d8cfe->dir_8de6078cba2a961961818cf80b28fd4f [headlabel="1", labeldistance=1.5 headhref="dir_000002_000003.html"]; +} diff --git a/docs/html/doc.png b/docs/html/doc.png new file mode 100644 index 0000000..e84122d Binary files /dev/null and b/docs/html/doc.png differ diff --git a/docs/html/doxygen.css b/docs/html/doxygen.css new file mode 100644 index 0000000..8d4bca1 --- /dev/null +++ b/docs/html/doxygen.css @@ -0,0 +1,1766 @@ +/* The standard CSS for doxygen 1.8.16 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +p.reference, p.definition { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #A9A9A9; + color: #585858; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +ul.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; + column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +p.interli { +} + +p.interdd { +} + +p.intertd { +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #F1F1F1; + border: 1px solid #BDBDBD; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #646465; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #747475; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #B8B8B8; + color: #FFFFFF; + border: 1px double #A8A8A8; +} + +.contents a.qindexHL:visited { + color: #FFFFFF; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #747475; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #747475; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +ul { + overflow: hidden; /*Fixed: list item bullets overlap floating elements*/ +} + +#side-nav ul { + overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ +} + +#main-nav ul { + overflow: visible; /* reset ul rule for the navigation bar drop down lists */ +} + +.fragment { + text-align: left; + direction: ltr; + overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/ + overflow-y: hidden; +} + +pre.fragment { + border: 1px solid #D5D5D5; + background-color: #FCFCFC; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +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; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line:after { + content:"\000A"; + white-space: pre; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +.lineno { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +div.ah, span.ah { + background-color: black; + font-weight: bold; + color: #FFFFFF; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #F1F1F1; + font-weight: bold; + border: 1px solid #D5D5D5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #F1F1F1; + border: 1px solid #D5D5D5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #F2F2F2; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl, img.inline { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F9F9F9; + border-left: 2px solid #B8B8B8; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +blockquote.DocNodeRTL { + border-left: 0; + border-right: 2px solid #B8B8B8; + margin: 0 4px 0 24px; + padding: 0 16px 0 12px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #BDBDBD; +} + +th.dirtab { + background: #F1F1F1; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #7A7A7A; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #FAFAFB; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #E7E7E7; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #747475; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtitle { + padding: 8px; + border-top: 1px solid #C0C0C1; + border-left: 1px solid #C0C0C1; + border-right: 1px solid #C0C0C1; + 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; + line-height: 1.25; + font-weight: 300; + float:left; +} + +.permalink +{ + font-size: 65%; + display: inline-block; + vertical-align: middle; +} + +.memtemplate { + font-size: 80%; + color: #747475; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #F1F1F1; + border: 1px solid #BDBDBD; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: 400; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #C0C0C1; + border-left: 1px solid #C0C0C1; + border-right: 1px solid #C0C0C1; + padding: 6px 0px 6px 0px; + color: #3D3D3D; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-color: #E8E8E8; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + +} + +.overload { + font-family: "courier new",courier,monospace; + font-size: 65%; +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #C0C0C1; + border-left: 1px solid #C0C0C1; + border-right: 1px solid #C0C0C1; + padding: 6px 10px 2px 10px; + background-color: #FCFCFC; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype, .tparams .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir, .tparams .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +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; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #B8B8B8; + border-bottom: 1px solid #B8B8B8; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F9F9F9; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #646465; +} + +.arrow { + color: #B8B8B8; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #999A9A; + color: white; + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +table.directory { + font: 400 14px Roboto,sans-serif; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #464646; +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #4A4A4B; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #5B5B5C; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #C0C0C1; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #C0C0C1; + border-bottom: 1px solid #C0C0C1; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #C0C0C1; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #EAEAEA; + font-size: 90%; + color: #3D3D3D; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #C0C0C1; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#AAABAB; + border:solid 1px #D3D3D3; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#595959; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #424243; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#929293; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#595959; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #FAFAFB; + margin: 0px; + border-bottom: 1px solid #D5D5D5; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +.PageDocRTL-title div.headertitle { + text-align: right; + direction: rtl; +} + +dl { + padding: 0 0 0 0; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */ +dl.section { + margin-left: 0px; + padding-left: 0px; +} + +dl.section.DocNodeRTL { + margin-right: 0px; + padding-right: 0px; +} + +dl.note { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #D0C000; +} + +dl.note.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #FF0000; +} + +dl.warning.DocNodeRTL, dl.attention.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00D000; +} + +dl.pre.DocNodeRTL, dl.post.DocNodeRTL, dl.invariant.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #00D000; +} + +dl.deprecated { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #505050; +} + +dl.deprecated.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #505050; +} + +dl.todo { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00C0E0; +} + +dl.todo.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #00C0E0; +} + +dl.test { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #3030E0; +} + +dl.test.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #3030E0; +} + +dl.bug { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #C08050; +} + +dl.bug.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #838384; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.plantumlgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #AFAFAF; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#545454; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F7F7F7; + border: 1px solid #E3E3E3; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +.PageDocRTL-title div.toc { + float: left !important; + text-align: right; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +.PageDocRTL-title div.toc li { + background-position-x: right !important; + padding-left: 0 !important; + padding-right: 10px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #747475; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.PageDocRTL-title div.toc li.level1 { + margin-left: 0 !important; + margin-right: 0; +} + +.PageDocRTL-title div.toc li.level2 { + margin-left: 0 !important; + margin-right: 15px; +} + +.PageDocRTL-title div.toc li.level3 { + margin-left: 0 !important; + margin-right: 30px; +} + +.PageDocRTL-title div.toc li.level4 { + margin-left: 0 !important; + margin-right: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #FFFFFF; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #FFFFFF; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #FFFFFF; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #FFFFFF; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + +/* @group Markdown */ + +/* +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #4A4A4B; + padding: 3px 7px 2px; +} + +table.markdownTableHead tr { +} + +table.markdownTableBodyLeft td, table.markdownTable th { + border: 1px solid #4A4A4B; + padding: 3px 7px 2px; +} + +th.markdownTableHeadLeft th.markdownTableHeadRight th.markdownTableHeadCenter th.markdownTableHeadNone { + background-color: #5B5B5C; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft { + text-align: left +} + +th.markdownTableHeadRight { + text-align: right +} + +th.markdownTableHeadCenter { + text-align: center +} +*/ + +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #4A4A4B; + padding: 3px 7px 2px; +} + +table.markdownTable tr { +} + +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { + background-color: #5B5B5C; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft, td.markdownTableBodyLeft { + text-align: left +} + +th.markdownTableHeadRight, td.markdownTableBodyRight { + text-align: right +} + +th.markdownTableHeadCenter, td.markdownTableBodyCenter { + text-align: center +} + +.DocNodeRTL { + text-align: right; + direction: rtl; +} + +.DocNodeLTR { + text-align: left; + direction: ltr; +} + +table.DocNodeRTL { + width: auto; + margin-right: 0; + margin-left: auto; +} + +table.DocNodeLTR { + width: auto; + margin-right: auto; + margin-left: 0; +} + +tt, code, kbd, samp +{ + display: inline-block; + direction:ltr; +} +/* @end */ + +u { + text-decoration: underline; +} + diff --git a/docs/html/doxygen.png b/docs/html/doxygen.png new file mode 100644 index 0000000..0fbd8cc Binary files /dev/null and b/docs/html/doxygen.png differ diff --git a/docs/html/dynsections.js b/docs/html/dynsections.js new file mode 100644 index 0000000..c8e84aa --- /dev/null +++ b/docs/html/dynsections.js @@ -0,0 +1,127 @@ +/* + @licstart The following is the entire license notice for the + JavaScript code in this file. + + Copyright (C) 1997-2017 by Dimitri van Heesch + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + @licend The above is the entire license notice + for the JavaScript code in this file + */ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + + +IntelliPhoto: File List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ + + + + + diff --git a/docs/html/files_dup.js b/docs/html/files_dup.js new file mode 100644 index 0000000..60f71b9 --- /dev/null +++ b/docs/html/files_dup.js @@ -0,0 +1,4 @@ +var files_dup = +[ + [ "intelliphoto", "dir_8db5f55022e7670536cbc9a6a1d6f01c.html", "dir_8db5f55022e7670536cbc9a6a1d6f01c" ] +]; \ No newline at end of file diff --git a/docs/html/folderclosed.png b/docs/html/folderclosed.png new file mode 100644 index 0000000..5a4dbc6 Binary files /dev/null and b/docs/html/folderclosed.png differ diff --git a/docs/html/folderopen.png b/docs/html/folderopen.png new file mode 100644 index 0000000..4e3bff8 Binary files /dev/null and b/docs/html/folderopen.png differ diff --git a/docs/html/functions.html b/docs/html/functions.html new file mode 100644 index 0000000..e4f084f --- /dev/null +++ b/docs/html/functions.html @@ -0,0 +1,505 @@ + + + + + + + +IntelliPhoto: Class Members + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- a -

+ + +

- b -

+ + +

- c -

+ + +

- d -

+ + +

- f -

+ + +

- g -

+ + +

- h -

+ + +

- i -

+ + +

- l -

+ + +

- m -

+ + +

- o -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- w -

+ + +

- ~ -

+
+
+ + + + diff --git a/docs/html/functions_func.html b/docs/html/functions_func.html new file mode 100644 index 0000000..2dc3470 --- /dev/null +++ b/docs/html/functions_func.html @@ -0,0 +1,449 @@ + + + + + + + +IntelliPhoto: Class Members - Functions + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- a -

+ + +

- c -

+ + +

- d -

+ + +

- f -

+ + +

- g -

+ + +

- i -

+ + +

- l -

+ + +

- m -

+ + +

- o -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- w -

+ + +

- ~ -

+
+
+ + + + diff --git a/docs/html/functions_vars.html b/docs/html/functions_vars.html new file mode 100644 index 0000000..f3acbbc --- /dev/null +++ b/docs/html/functions_vars.html @@ -0,0 +1,150 @@ + + + + + + + +IntelliPhoto: Class Members - Variables + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ + + + diff --git a/docs/html/globals.html b/docs/html/globals.html new file mode 100644 index 0000000..72b8b1c --- /dev/null +++ b/docs/html/globals.html @@ -0,0 +1,111 @@ + + + + + + + +IntelliPhoto: File Members + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all file members with links to the files they belong to:
+
+
+ + + + diff --git a/docs/html/globals_enum.html b/docs/html/globals_enum.html new file mode 100644 index 0000000..e6ce088 --- /dev/null +++ b/docs/html/globals_enum.html @@ -0,0 +1,108 @@ + + + + + + + +IntelliPhoto: File Members + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ + + + diff --git a/docs/html/globals_func.html b/docs/html/globals_func.html new file mode 100644 index 0000000..fbf9e27 --- /dev/null +++ b/docs/html/globals_func.html @@ -0,0 +1,105 @@ + + + + + + + +IntelliPhoto: File Members + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ + + + diff --git a/docs/html/graph_legend.dot b/docs/html/graph_legend.dot new file mode 100644 index 0000000..3b0e746 --- /dev/null +++ b/docs/html/graph_legend.dot @@ -0,0 +1,23 @@ +digraph "Graph Legend" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node9 [shape="box",label="Inherited",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",fillcolor="grey75",style="filled" fontcolor="black"]; + Node10 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node10 [shape="box",label="PublicBase",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classPublicBase.html"]; + Node11 -> Node10 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node11 [shape="box",label="Truncated",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="red",URL="$classTruncated.html"]; + Node13 -> Node9 [dir="back",color="darkgreen",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 [shape="box",label="ProtectedBase",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classProtectedBase.html"]; + Node14 -> Node9 [dir="back",color="firebrick4",fontsize="10",style="solid",fontname="Helvetica"]; + Node14 [shape="box",label="PrivateBase",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classPrivateBase.html"]; + Node15 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node15 [shape="box",label="Undocumented",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="grey75"]; + Node16 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node16 [shape="box",label="Templ< int >",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classTempl.html"]; + Node17 -> Node16 [dir="back",color="orange",fontsize="10",style="dashed",label="< int >",fontname="Helvetica"]; + Node17 [shape="box",label="Templ< T >",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classTempl.html"]; + Node18 -> Node9 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label="m_usedClass",fontname="Helvetica"]; + Node18 [shape="box",label="Used",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classUsed.html"]; +} diff --git a/docs/html/graph_legend.html b/docs/html/graph_legend.html new file mode 100644 index 0000000..c07e6b7 --- /dev/null +++ b/docs/html/graph_legend.html @@ -0,0 +1,164 @@ + + + + + + + +IntelliPhoto: Graph Legend + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Graph Legend
+
+
+

This page explains how to interpret the graphs that are generated by doxygen.

+

Consider the following example:

/*! Invisible class because of truncation */
+
class Invisible { };
+
+
/*! Truncated class, inheritance relation is hidden */
+
class Truncated : public Invisible { };
+
+
/* Class not documented with doxygen comments */
+
class Undocumented { };
+
+
/*! Class that is inherited using public inheritance */
+
class PublicBase : public Truncated { };
+
+
/*! A template class */
+
template<class T> class Templ { };
+
+
/*! Class that is inherited using protected inheritance */
+
class ProtectedBase { };
+
+
/*! Class that is inherited using private inheritance */
+
class PrivateBase { };
+
+
/*! Class that is used by the Inherited class */
+
class Used { };
+
+
/*! Super class that inherits a number of other classes */
+
class Inherited : public PublicBase,
+
protected ProtectedBase,
+
private PrivateBase,
+
public Undocumented,
+
public Templ<int>
+
{
+
private:
+
Used *m_usedClass;
+
};
+

This will result in the following graph:

+

The boxes in the above graph have the following meaning:

+
    +
  • +A filled gray box represents the struct or class for which the graph is generated.
  • +
  • +A box with a black border denotes a documented struct or class.
  • +
  • +A box with a gray border denotes an undocumented struct or class.
  • +
  • +A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.
  • +
+

The arrows have the following meaning:

+
    +
  • +A dark blue arrow is used to visualize a public inheritance relation between two classes.
  • +
  • +A dark green arrow is used for protected inheritance.
  • +
  • +A dark red arrow is used for private inheritance.
  • +
  • +A purple dashed arrow is used if a class is contained or used by another class. The arrow is labelled with the variable(s) through which the pointed class or struct is accessible.
  • +
  • +A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labelled with the template parameters of the instance.
  • +
+
+
+ + + + diff --git a/docs/html/hierarchy.html b/docs/html/hierarchy.html new file mode 100644 index 0000000..dc9a917 --- /dev/null +++ b/docs/html/hierarchy.html @@ -0,0 +1,128 @@ + + + + + + + +IntelliPhoto: Class Hierarchy + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Class Hierarchy
+
+
+
+

Go to the graphical class hierarchy

+This inheritance list is sorted roughly, but not completely, alphabetically:
+
[detail level 123]
+ + + + + + + + + + + + + + + + + + +
 CIntelliColorPickerThe IntelliColorPicker manages the selected colors for one whole project
 CIntelliImageAn abstract class which manages the basic IntelliImage operations
 CIntelliRasterImageThe IntelliRasterImage manages a Rasterimage
 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
 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
+
+
+
+ + + + diff --git a/docs/html/hierarchy.js b/docs/html/hierarchy.js new file mode 100644 index 0000000..edc99b7 --- /dev/null +++ b/docs/html/hierarchy.js @@ -0,0 +1,26 @@ +var hierarchy = +[ + [ "IntelliColorPicker", "class_intelli_color_picker.html", null ], + [ "IntelliImage", "class_intelli_image.html", [ + [ "IntelliRasterImage", "class_intelli_raster_image.html", [ + [ "IntelliShapedImage", "class_intelli_shaped_image.html", null ] + ] ] + ] ], + [ "IntelliTool", "class_intelli_tool.html", [ + [ "IntelliToolCircle", "class_intelli_tool_circle.html", null ], + [ "IntelliToolFloodFill", "class_intelli_tool_flood_fill.html", null ], + [ "IntelliToolLine", "class_intelli_tool_line.html", null ], + [ "IntelliToolPen", "class_intelli_tool_pen.html", null ], + [ "IntelliToolPlainTool", "class_intelli_tool_plain_tool.html", null ], + [ "IntelliToolPolygon", "class_intelli_tool_polygon.html", null ], + [ "IntelliToolRectangle", "class_intelli_tool_rectangle.html", null ] + ] ], + [ "LayerObject", "struct_layer_object.html", null ], + [ "QMainWindow", null, [ + [ "IntelliPhotoGui", "class_intelli_photo_gui.html", null ] + ] ], + [ "QWidget", null, [ + [ "PaintingArea", "class_painting_area.html", null ] + ] ], + [ "Triangle", "struct_triangle.html", null ] +]; \ No newline at end of file diff --git a/docs/html/index.html b/docs/html/index.html new file mode 100644 index 0000000..a5c415e --- /dev/null +++ b/docs/html/index.html @@ -0,0 +1,104 @@ + + + + + + + +IntelliPhoto: Main Page + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
IntelliPhoto Documentation
+
+
+
+
+ + + + diff --git a/docs/html/inherit_graph_0.dot b/docs/html/inherit_graph_0.dot new file mode 100644 index 0000000..d4d9922 --- /dev/null +++ b/docs/html/inherit_graph_0.dot @@ -0,0 +1,8 @@ +digraph "Graphical Class Hierarchy" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node0 [label="IntelliColorPicker",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_color_picker.html",tooltip="The IntelliColorPicker manages the selected colors for one whole project."]; +} diff --git a/docs/html/inherit_graph_1.dot b/docs/html/inherit_graph_1.dot new file mode 100644 index 0000000..8e9fe2c --- /dev/null +++ b/docs/html/inherit_graph_1.dot @@ -0,0 +1,12 @@ +digraph "Graphical Class Hierarchy" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node0 [label="IntelliImage",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html",tooltip="An abstract class which manages the basic IntelliImage operations."]; + Node0 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 [label="IntelliRasterImage",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_raster_image.html",tooltip="The IntelliRasterImage manages a Rasterimage."]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliShapedImage",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_shaped_image.html",tooltip="The IntelliShapedImage manages a Shapedimage."]; +} diff --git a/docs/html/inherit_graph_2.dot b/docs/html/inherit_graph_2.dot new file mode 100644 index 0000000..5cd3f36 --- /dev/null +++ b/docs/html/inherit_graph_2.dot @@ -0,0 +1,10 @@ +digraph "Graphical Class Hierarchy" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node4 [label="QMainWindow",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node4 -> Node0 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node0 [label="IntelliPhotoGui",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_photo_gui.html",tooltip="The IntelliPhotoGui class handles the graphical user interface for the intelliPhoto program."]; +} diff --git a/docs/html/inherit_graph_3.dot b/docs/html/inherit_graph_3.dot new file mode 100644 index 0000000..ec45d17 --- /dev/null +++ b/docs/html/inherit_graph_3.dot @@ -0,0 +1,22 @@ +digraph "Graphical Class Hierarchy" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node0 [label="IntelliTool",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool.html",tooltip="An abstract class that manages the basic events, like mouse clicks or scrolls events."]; + Node0 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node1 [label="IntelliToolCircle",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_circle.html",tooltip="The IntelliToolCircle class represents a tool to draw a circle."]; + Node0 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliToolFloodFill",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_flood_fill.html",tooltip="The IntelliToolFloodFill class represents a tool to flood FIll a certian area."]; + Node0 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliToolLine",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_line.html",tooltip="The IntelliToolFloodFill class represents a tool to draw a line."]; + Node0 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="IntelliToolPen",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_pen.html",tooltip="The IntelliToolPen class represents a tool to draw a line."]; + Node0 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="IntelliToolPlainTool",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_plain_tool.html",tooltip="The IntelliToolPlainTool class represents a tool to fill the whole canvas with one color."]; + Node0 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="IntelliToolPolygon",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_polygon.html",tooltip="The IntelliToolPolygon managed the Drawing of Polygonforms."]; + Node0 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="IntelliToolRectangle",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_rectangle.html",tooltip="The IntelliToolRectangle class represents a tool to draw a rectangle."]; +} diff --git a/docs/html/inherit_graph_4.dot b/docs/html/inherit_graph_4.dot new file mode 100644 index 0000000..cb85543 --- /dev/null +++ b/docs/html/inherit_graph_4.dot @@ -0,0 +1,8 @@ +digraph "Graphical Class Hierarchy" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node0 [label="LayerObject",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$struct_layer_object.html",tooltip="The LayerObject struct holds all the information needed to construct a layer."]; +} diff --git a/docs/html/inherit_graph_5.dot b/docs/html/inherit_graph_5.dot new file mode 100644 index 0000000..88ed036 --- /dev/null +++ b/docs/html/inherit_graph_5.dot @@ -0,0 +1,10 @@ +digraph "Graphical Class Hierarchy" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node2 [label="QWidget",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node0 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node0 [label="PaintingArea",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_painting_area.html",tooltip="The PaintingArea class manages the methods and stores information about the current painting area,..."]; +} diff --git a/docs/html/inherit_graph_6.dot b/docs/html/inherit_graph_6.dot new file mode 100644 index 0000000..98844bc --- /dev/null +++ b/docs/html/inherit_graph_6.dot @@ -0,0 +1,8 @@ +digraph "Graphical Class Hierarchy" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node0 [label="Triangle",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$struct_triangle.html",tooltip="The Triangle struct holds the 3 vertices of a triangle."]; +} diff --git a/docs/html/inherits.html b/docs/html/inherits.html new file mode 100644 index 0000000..7e22006 --- /dev/null +++ b/docs/html/inherits.html @@ -0,0 +1,122 @@ + + + + + + + +IntelliPhoto: Class Hierarchy + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Class Hierarchy
+
+
+ + + + + + + + +
+
+
+
+
+
+
+
+
+
+ + + + diff --git a/docs/html/jquery.js b/docs/html/jquery.js new file mode 100644 index 0000000..103c32d --- /dev/null +++ b/docs/html/jquery.js @@ -0,0 +1,35 @@ +/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0a;a++)for(i in o[a])n=o[a][i],o[a].hasOwnProperty(i)&&void 0!==n&&(e[i]=t.isPlainObject(n)?t.isPlainObject(e[i])?t.widget.extend({},e[i],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,i){var n=i.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=s.call(arguments,1),h=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(h=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(h=i&&i.jquery?h.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):h=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new i(o,this))})),h}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+o.eventNamespace,c=h[2];c?n.on(l,c,r):i.on(l,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,h=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("
"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.widthi?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};l>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),h.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-r-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,m=-2*e.offset[1];0>c?(s=t.top+p+f+m+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+m)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+m-h,(i>0||u>a(i))&&(t.top+=p+f+m))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}}),t.ui.focusable=function(i,s){var n,o,a,r,h,l=i.nodeName.toLowerCase();return"area"===l?(n=i.parentNode,o=n.name,i.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap='#"+o+"']"),a.length>0&&a.is(":visible")):!1):(/^(input|select|textarea|button|object)$/.test(l)?(r=!i.disabled,r&&(h=t(i).closest("fieldset")[0],h&&(r=!h.disabled))):r="a"===l?i.href||s:s,r&&t(i).is(":visible")&&e(t(i)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){function s(e,i,s,o){return t.each(n,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],o=i.toLowerCase(),a={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+i]=function(e){return void 0===e?a["inner"+i].call(this):this.each(function(){t(this).css(o,s(this,e)+"px")})},t.fn["outer"+i]=function(e,n){return"number"!=typeof e?a["outer"+i].call(this,e):this.each(function(){t(this).css(o,s(this,e,!0,n)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),s=this.attr("id"),s&&(e=this.eq(0).parents().last(),o=e.add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var n=!1;t(document).on("mouseup",function(){n=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!n){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,o="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!o&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),n=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,n=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("
").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t("
"),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),h?(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,h=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidtht.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("
"),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element +},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=h._num(e.css("padding"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,m=s.maxWidth&&p>s.maxWidth,g=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),m&&(p-=l),g&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-l)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable});/** + * Copyright (c) 2007 Ariel Flesler - aflesler ○ gmail • com | https://github.com/flesler + * Licensed under MIT + * @author Ariel Flesler + * @version 2.1.2 + */ +;(function(f){"use strict";"function"===typeof define&&define.amd?define(["jquery"],f):"undefined"!==typeof module&&module.exports?module.exports=f(require("jquery")):f(jQuery)})(function($){"use strict";function n(a){return!a.nodeName||-1!==$.inArray(a.nodeName.toLowerCase(),["iframe","#document","html","body"])}function h(a){return $.isFunction(a)||$.isPlainObject(a)?a:{top:a,left:a}}var p=$.scrollTo=function(a,d,b){return $(window).scrollTo(a,d,b)};p.defaults={axis:"xy",duration:0,limit:!0};$.fn.scrollTo=function(a,d,b){"object"=== typeof d&&(b=d,d=0);"function"===typeof b&&(b={onAfter:b});"max"===a&&(a=9E9);b=$.extend({},p.defaults,b);d=d||b.duration;var u=b.queue&&1=f[g]?0:Math.min(f[g],n));!a&&1-1){targetElements.on(evt+EVENT_NAMESPACE,function elementToggle(event){$.powerTip.toggle(this,event)})}else{targetElements.on(evt+EVENT_NAMESPACE,function elementOpen(event){$.powerTip.show(this,event)})}});$.each(options.closeEvents,function(idx,evt){if($.inArray(evt,options.openEvents)<0){targetElements.on(evt+EVENT_NAMESPACE,function elementClose(event){$.powerTip.hide(this,!isMouseEvent(event))})}});targetElements.on("keydown"+EVENT_NAMESPACE,function elementKeyDown(event){if(event.keyCode===27){$.powerTip.hide(this,true)}})}return targetElements};$.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",popupClass:null,intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false,openEvents:["mouseenter","focus"],closeEvents:["mouseleave","blur"]};$.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};$.powerTip={show:function apiShowTip(element,event){if(isMouseEvent(event)){trackMouse(event);session.previousX=event.pageX;session.previousY=event.pageY;$(element).data(DATA_DISPLAYCONTROLLER).show()}else{$(element).first().data(DATA_DISPLAYCONTROLLER).show(true,true)}return element},reposition:function apiResetPosition(element){$(element).first().data(DATA_DISPLAYCONTROLLER).resetPosition();return element},hide:function apiCloseTip(element,immediate){var displayController;immediate=element?immediate:true;if(element){displayController=$(element).first().data(DATA_DISPLAYCONTROLLER)}else if(session.activeHover){displayController=session.activeHover.data(DATA_DISPLAYCONTROLLER)}if(displayController){displayController.hide(immediate)}return element},toggle:function apiToggle(element,event){if(session.activeHover&&session.activeHover.is(element)){$.powerTip.hide(element,!isMouseEvent(event))}else{$.powerTip.show(element,event)}return element}};$.powerTip.showTip=$.powerTip.show;$.powerTip.closeTip=$.powerTip.hide;function CSSCoordinates(){var me=this;me.top="auto";me.left="auto";me.right="auto";me.bottom="auto";me.set=function(property,value){if($.isNumeric(value)){me[property]=Math.round(value)}}}function DisplayController(element,options,tipController){var hoverTimer=null,myCloseDelay=null;function openTooltip(immediate,forceOpen){cancelTimer();if(!element.data(DATA_HASACTIVEHOVER)){if(!immediate){session.tipOpenImminent=true;hoverTimer=setTimeout(function intentDelay(){hoverTimer=null;checkForIntent()},options.intentPollInterval)}else{if(forceOpen){element.data(DATA_FORCEDOPEN,true)}closeAnyDelayed();tipController.showTip(element)}}else{cancelClose()}}function closeTooltip(disableDelay){if(myCloseDelay){myCloseDelay=session.closeDelayTimeout=clearTimeout(myCloseDelay);session.delayInProgress=false}cancelTimer();session.tipOpenImminent=false;if(element.data(DATA_HASACTIVEHOVER)){element.data(DATA_FORCEDOPEN,false);if(!disableDelay){session.delayInProgress=true;session.closeDelayTimeout=setTimeout(function closeDelay(){session.closeDelayTimeout=null;tipController.hideTip(element);session.delayInProgress=false;myCloseDelay=null},options.closeDelay);myCloseDelay=session.closeDelayTimeout}else{tipController.hideTip(element)}}}function checkForIntent(){var xDifference=Math.abs(session.previousX-session.currentX),yDifference=Math.abs(session.previousY-session.currentY),totalDifference=xDifference+yDifference;if(totalDifference",{id:options.popupId});if($body.length===0){$body=$("body")}$body.append(tipElement);session.tooltips=session.tooltips?session.tooltips.add(tipElement):tipElement}if(options.followMouse){if(!tipElement.data(DATA_HASMOUSEMOVE)){$document.on("mousemove"+EVENT_NAMESPACE,positionTipOnCursor);$window.on("scroll"+EVENT_NAMESPACE,positionTipOnCursor);tipElement.data(DATA_HASMOUSEMOVE,true)}}function beginShowTip(element){element.data(DATA_HASACTIVEHOVER,true);tipElement.queue(function queueTipInit(next){showTip(element);next()})}function showTip(element){var tipContent;if(!element.data(DATA_HASACTIVEHOVER)){return}if(session.isTipOpen){if(!session.isClosing){hideTip(session.activeHover)}tipElement.delay(100).queue(function queueTipAgain(next){showTip(element);next()});return}element.trigger("powerTipPreRender");tipContent=getTooltipContent(element);if(tipContent){tipElement.empty().append(tipContent)}else{return}element.trigger("powerTipRender");session.activeHover=element;session.isTipOpen=true;tipElement.data(DATA_MOUSEONTOTIP,options.mouseOnToPopup);tipElement.addClass(options.popupClass);if(!options.followMouse||element.data(DATA_FORCEDOPEN)){positionTipOnElement(element);session.isFixedTipOpen=true}else{positionTipOnCursor()}if(!element.data(DATA_FORCEDOPEN)&&!options.followMouse){$document.on("click"+EVENT_NAMESPACE,function documentClick(event){var target=event.target;if(target!==element[0]){if(options.mouseOnToPopup){if(target!==tipElement[0]&&!$.contains(tipElement[0],target)){$.powerTip.hide()}}else{$.powerTip.hide()}}})}if(options.mouseOnToPopup&&!options.manual){tipElement.on("mouseenter"+EVENT_NAMESPACE,function tipMouseEnter(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).cancel()}});tipElement.on("mouseleave"+EVENT_NAMESPACE,function tipMouseLeave(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide()}})}tipElement.fadeIn(options.fadeInTime,function fadeInCallback(){if(!session.desyncTimeout){session.desyncTimeout=setInterval(closeDesyncedTip,500)}element.trigger("powerTipOpen")})}function hideTip(element){session.isClosing=true;session.isTipOpen=false;session.desyncTimeout=clearInterval(session.desyncTimeout);element.data(DATA_HASACTIVEHOVER,false);element.data(DATA_FORCEDOPEN,false);$document.off("click"+EVENT_NAMESPACE);tipElement.off(EVENT_NAMESPACE);tipElement.fadeOut(options.fadeOutTime,function fadeOutCallback(){var coords=new CSSCoordinates;session.activeHover=null;session.isClosing=false;session.isFixedTipOpen=false;tipElement.removeClass();coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);tipElement.css(coords);element.trigger("powerTipClose")})}function positionTipOnCursor(){var tipWidth,tipHeight,coords,collisions,collisionCount;if(!session.isFixedTipOpen&&(session.isTipOpen||session.tipOpenImminent&&tipElement.data(DATA_HASMOUSEMOVE))){tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=new CSSCoordinates;coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);collisions=getViewportCollisions(coords,tipWidth,tipHeight);if(collisions!==Collision.none){collisionCount=countFlags(collisions);if(collisionCount===1){if(collisions===Collision.right){coords.set("left",session.scrollLeft+session.windowWidth-tipWidth)}else if(collisions===Collision.bottom){coords.set("top",session.scrollTop+session.windowHeight-tipHeight)}}else{coords.set("left",session.currentX-tipWidth-options.offset);coords.set("top",session.currentY-tipHeight-options.offset)}}tipElement.css(coords)}}function positionTipOnElement(element){var priorityList,finalPlacement;if(options.smartPlacement||options.followMouse&&element.data(DATA_FORCEDOPEN)){priorityList=$.fn.powerTip.smartPlacementLists[options.placement];$.each(priorityList,function(idx,pos){var collisions=getViewportCollisions(placeTooltip(element,pos),tipElement.outerWidth(),tipElement.outerHeight());finalPlacement=pos;return collisions!==Collision.none})}else{placeTooltip(element,options.placement);finalPlacement=options.placement}tipElement.removeClass("w nw sw e ne se n s w se-alt sw-alt ne-alt nw-alt");tipElement.addClass(finalPlacement)}function placeTooltip(element,placement){var iterationCount=0,tipWidth,tipHeight,coords=new CSSCoordinates;coords.set("top",0);coords.set("left",0);tipElement.css(coords);do{tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=placementCalculator.compute(element,placement,tipWidth,tipHeight,options.offset);tipElement.css(coords)}while(++iterationCount<=5&&(tipWidth!==tipElement.outerWidth()||tipHeight!==tipElement.outerHeight()));return coords}function closeDesyncedTip(){var isDesynced=false,hasDesyncableCloseEvent=$.grep(["mouseleave","mouseout","blur","focusout"],function(eventType){return $.inArray(eventType,options.closeEvents)!==-1}).length>0;if(session.isTipOpen&&!session.isClosing&&!session.delayInProgress&&hasDesyncableCloseEvent){if(session.activeHover.data(DATA_HASACTIVEHOVER)===false||session.activeHover.is(":disabled")){isDesynced=true}else if(!isMouseOver(session.activeHover)&&!session.activeHover.is(":focus")&&!session.activeHover.data(DATA_FORCEDOPEN)){if(tipElement.data(DATA_MOUSEONTOTIP)){if(!isMouseOver(tipElement)){isDesynced=true}}else{isDesynced=true}}if(isDesynced){hideTip(session.activeHover)}}}this.showTip=beginShowTip;this.hideTip=hideTip;this.resetPosition=positionTipOnElement}function isSvgElement(element){return Boolean(window.SVGElement&&element[0]instanceof SVGElement)}function isMouseEvent(event){return Boolean(event&&$.inArray(event.type,MOUSE_EVENTS)>-1&&typeof event.pageX==="number")}function initTracking(){if(!session.mouseTrackingActive){session.mouseTrackingActive=true;getViewportDimensions();$(getViewportDimensions);$document.on("mousemove"+EVENT_NAMESPACE,trackMouse);$window.on("resize"+EVENT_NAMESPACE,trackResize);$window.on("scroll"+EVENT_NAMESPACE,trackScroll)}}function getViewportDimensions(){session.scrollLeft=$window.scrollLeft();session.scrollTop=$window.scrollTop();session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackResize(){session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackScroll(){var x=$window.scrollLeft(),y=$window.scrollTop();if(x!==session.scrollLeft){session.currentX+=x-session.scrollLeft;session.scrollLeft=x}if(y!==session.scrollTop){session.currentY+=y-session.scrollTop;session.scrollTop=y}}function trackMouse(event){session.currentX=event.pageX;session.currentY=event.pageY}function isMouseOver(element){var elementPosition=element.offset(),elementBox=element[0].getBoundingClientRect(),elementWidth=elementBox.right-elementBox.left,elementHeight=elementBox.bottom-elementBox.top;return session.currentX>=elementPosition.left&&session.currentX<=elementPosition.left+elementWidth&&session.currentY>=elementPosition.top&&session.currentY<=elementPosition.top+elementHeight}function getTooltipContent(element){var tipText=element.data(DATA_POWERTIP),tipObject=element.data(DATA_POWERTIPJQ),tipTarget=element.data(DATA_POWERTIPTARGET),targetElement,content;if(tipText){if($.isFunction(tipText)){tipText=tipText.call(element[0])}content=tipText}else if(tipObject){if($.isFunction(tipObject)){tipObject=tipObject.call(element[0])}if(tipObject.length>0){content=tipObject.clone(true,true)}}else if(tipTarget){targetElement=$("#"+tipTarget);if(targetElement.length>0){content=targetElement.html()}}return content}function getViewportCollisions(coords,elementWidth,elementHeight){var viewportTop=session.scrollTop,viewportLeft=session.scrollLeft,viewportBottom=viewportTop+session.windowHeight,viewportRight=viewportLeft+session.windowWidth,collisions=Collision.none;if(coords.topviewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.leftviewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);/*! SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017 + * http://www.smartmenus.org/ + * Copyright Vasil Dinkov, Vadikom Web Ltd. http://vadikom.com; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(require("jquery")):t(jQuery)})(function($){function initMouseDetection(t){var e=".smartmenus_mouse";if(mouseDetectionEnabled||t)mouseDetectionEnabled&&t&&($(document).off(e),mouseDetectionEnabled=!1);else{var i=!0,s=null,o={mousemove:function(t){var e={x:t.pageX,y:t.pageY,timeStamp:(new Date).getTime()};if(s){var o=Math.abs(s.x-e.x),a=Math.abs(s.y-e.y);if((o>0||a>0)&&2>=o&&2>=a&&300>=e.timeStamp-s.timeStamp&&(mouse=!0,i)){var n=$(t.target).closest("a");n.is("a")&&$.each(menuTrees,function(){return $.contains(this.$root[0],n[0])?(this.itemEnter({currentTarget:n[0]}),!1):void 0}),i=!1}}s=e}};o[touchEvents?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut"]=function(t){isTouchEvent(t.originalEvent)&&(mouse=!1)},$(document).on(getEventsNS(o,e)),mouseDetectionEnabled=!0}}function isTouchEvent(t){return!/^(4|mouse)$/.test(t.pointerType)}function getEventsNS(t,e){e||(e="");var i={};for(var s in t)i[s.split(" ").join(e+" ")+e]=t[s];return i}var menuTrees=[],mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)},canAnimate=!!$.fn.animate;return $.SmartMenus=function(t,e){this.$root=$(t),this.opts=e,this.rootId="",this.accessIdPrefix="",this.$subArrow=null,this.activatedItems=[],this.visibleSubMenus=[],this.showTimeout=0,this.hideTimeout=0,this.scrollTimeout=0,this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.idInc=0,this.$firstLink=null,this.$firstSub=null,this.disabled=!1,this.$disableOverlay=null,this.$touchScrollingSub=null,this.cssTransforms3d="perspective"in t.style||"webkitPerspective"in t.style,this.wasCollapsible=!1,this.init()},$.extend($.SmartMenus,{hideAll:function(){$.each(menuTrees,function(){this.menuHideAll()})},destroy:function(){for(;menuTrees.length;)menuTrees[0].destroy();initMouseDetection(!0)},prototype:{init:function(t){var e=this;if(!t){menuTrees.push(this),this.rootId=((new Date).getTime()+Math.random()+"").replace(/\D/g,""),this.accessIdPrefix="sm-"+this.rootId+"-",this.$root.hasClass("sm-rtl")&&(this.opts.rightToLeftSubMenus=!0);var i=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).on(getEventsNS({"mouseover focusin":$.proxy(this.rootOver,this),"mouseout focusout":$.proxy(this.rootOut,this),keydown:$.proxy(this.rootKeyDown,this)},i)).on(getEventsNS({mouseenter:$.proxy(this.itemEnter,this),mouseleave:$.proxy(this.itemLeave,this),mousedown:$.proxy(this.itemDown,this),focus:$.proxy(this.itemFocus,this),blur:$.proxy(this.itemBlur,this),click:$.proxy(this.itemClick,this)},i),"a"),i+=this.rootId,this.opts.hideOnClick&&$(document).on(getEventsNS({touchstart:$.proxy(this.docTouchStart,this),touchmove:$.proxy(this.docTouchMove,this),touchend:$.proxy(this.docTouchEnd,this),click:$.proxy(this.docClick,this)},i)),$(window).on(getEventsNS({"resize orientationchange":$.proxy(this.winResize,this)},i)),this.opts.subIndicators&&(this.$subArrow=$("").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()}if(this.$firstSub=this.$root.find("ul").each(function(){e.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem){var s=/(index|default)\.[^#\?\/]*/i,o=/#.*/,a=window.location.href.replace(s,""),n=a.replace(o,"");this.$root.find("a").each(function(){var t=this.href.replace(s,""),i=$(this);(t==a||t==n)&&(i.addClass("current"),e.opts.markCurrentTree&&i.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})}this.wasCollapsible=this.isCollapsible()},destroy:function(t){if(!t){var e=".smartmenus";this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").off(e),e+=this.rootId,$(document).off(e),$(window).off(e),this.opts.subIndicators&&(this.$subArrow=null)}this.menuHideAll();var i=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((i.opts.subMenusMinWidth||i.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){if(!this.disabled){if(this.menuHideAll(),!t&&!this.opts.isPopup&&this.$root.is(":visible")){var e=this.$root.offset();this.$disableOverlay=$('
').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)}this.disabled=!0}},docClick:function(t){return this.$touchScrollingSub?(this.$touchScrollingSub=null,void 0):((this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).closest("a").length)&&this.menuHideAll(),void 0)},docTouchEnd:function(){if(this.lastTouch){if(!(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target))){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var t=this;this.hideTimeout=setTimeout(function(){t.menuHideAll()},350)}this.lastTouch=null}},docTouchMove:function(t){if(this.lastTouch){var e=t.originalEvent.touches[0];this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY}},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for(var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var i;"none"==t.css("display")&&(i={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var s=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=s&&(e?s.height||s.bottom-s.top:s.width||s.right-s.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),i&&t.hide().css(i),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",i=document.documentElement["client"+e],s=window["inner"+e];return s&&(i=Math.min(i,s)),i},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"inline"!=this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){return"fixed"==$(this).css("position")?(t=!0,!1):void 0}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var i=t.closest("ul"),s=i.dataSM("level");if(s>1&&(!this.activatedItems[s-2]||this.activatedItems[s-2][0]!=i.dataSM("parent-a")[0])){var o=this;$(i.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(i).each(function(){o.itemActivate($(this).dataSM("parent-a"))})}if((!this.isCollapsible()||e)&&this.menuHideSubMenus(this.activatedItems[s-1]&&this.activatedItems[s-1][0]==t[0]?s:s-1),this.activatedItems[s-1]=t,this.$root.triggerHandler("activate.smapi",t[0])!==!1){var a=t.dataSM("sub");a&&(this.isTouchMode()||!this.opts.showOnClick||this.clickActivated)&&this.menuShow(a)}},itemBlur:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&this.$root.triggerHandler("blur.smapi",e[0])},itemClick:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==e.closest("ul")[0])return this.$touchScrollingSub=null,t.stopPropagation(),!1;if(this.$root.triggerHandler("click.smapi",e[0])===!1)return!1;var i=$(t.target).is(".sub-arrow"),s=e.dataSM("sub"),o=s?2==s.dataSM("level"):!1,a=this.isCollapsible(),n=/toggle$/.test(this.opts.collapsibleBehavior),r=/link$/.test(this.opts.collapsibleBehavior),h=/^accordion/.test(this.opts.collapsibleBehavior);if(s&&!s.is(":visible")){if((!r||!a||i)&&(this.opts.showOnClick&&o&&(this.clickActivated=!0),this.itemActivate(e,h),s.is(":visible")))return this.focusActivated=!0,!1}else if(a&&(n||i))return this.itemActivate(e,h),this.menuHide(s),n&&(this.focusActivated=!1),!1;return this.opts.showOnClick&&o||e.hasClass("disabled")||this.$root.triggerHandler("select.smapi",e[0])===!1?!1:void 0}},itemDown:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&e.dataSM("mousedown",!0)},itemEnter:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(!this.isTouchMode()){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);var i=this;this.showTimeout=setTimeout(function(){i.itemActivate(e)},this.opts.showOnClick&&1==e.closest("ul").dataSM("level")?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",e[0])}},itemFocus:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(!this.focusActivated||this.isTouchMode()&&e.dataSM("mousedown")||this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0]==e[0]||this.itemActivate(e,!0),this.$root.triggerHandler("focus.smapi",e[0]))},itemLeave:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(this.isTouchMode()||(e[0].blur(),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0)),e.removeDataSM("mousedown"),this.$root.triggerHandler("mouseleave.smapi",e[0]))},menuHide:function(t){if(this.$root.triggerHandler("beforehide.smapi",t[0])!==!1&&(canAnimate&&t.stop(!0,!0),"none"!=t.css("display"))){var e=function(){t.css("z-index","")};this.isCollapsible()?canAnimate&&this.opts.collapsibleHideFunction?this.opts.collapsibleHideFunction.call(this,t,e):t.hide(this.opts.collapsibleHideDuration,e):canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,t,e):t.hide(this.opts.hideDuration,e),t.dataSM("scroll")&&(this.menuScrollStop(t),t.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).off(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()),t.dataSM("parent-a").removeClass("highlighted").attr("aria-expanded","false"),t.attr({"aria-expanded":"false","aria-hidden":"true"});var i=t.dataSM("level");this.activatedItems.splice(i-1,1),this.visibleSubMenus.splice($.inArray(t,this.visibleSubMenus),1),this.$root.triggerHandler("hide.smapi",t[0])}},menuHideAll:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);for(var t=this.opts.isPopup?1:0,e=this.visibleSubMenus.length-1;e>=t;e--)this.menuHide(this.visibleSubMenus[e]);this.opts.isPopup&&(canAnimate&&this.$root.stop(!0,!0),this.$root.is(":visible")&&(canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,this.$root):this.$root.hide(this.opts.hideDuration))),this.activatedItems=[],this.visibleSubMenus=[],this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(t){for(var e=this.activatedItems.length-1;e>=t;e--){var i=this.activatedItems[e].dataSM("sub");i&&this.menuHide(i)}},menuInit:function(t){if(!t.dataSM("in-mega")){t.hasClass("mega-menu")&&t.find("ul").dataSM("in-mega",!0);for(var e=2,i=t[0];(i=i.parentNode.parentNode)!=this.$root[0];)e++;var s=t.prevAll("a").eq(-1);s.length||(s=t.prevAll().find("a").eq(-1)),s.addClass("has-submenu").dataSM("sub",t),t.dataSM("parent-a",s).dataSM("level",e).parent().dataSM("sub",t);var o=s.attr("id")||this.accessIdPrefix+ ++this.idInc,a=t.attr("id")||this.accessIdPrefix+ ++this.idInc;s.attr({id:o,"aria-haspopup":"true","aria-controls":a,"aria-expanded":"false"}),t.attr({id:a,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"}),this.opts.subIndicators&&s[this.opts.subIndicatorsPos](this.$subArrow.clone())}},menuPosition:function(t){var e,i,s=t.dataSM("parent-a"),o=s.closest("li"),a=o.parent(),n=t.dataSM("level"),r=this.getWidth(t),h=this.getHeight(t),u=s.offset(),l=u.left,c=u.top,d=this.getWidth(s),m=this.getHeight(s),p=$(window),f=p.scrollLeft(),v=p.scrollTop(),b=this.getViewportWidth(),S=this.getViewportHeight(),g=a.parent().is("[data-sm-horizontal-sub]")||2==n&&!a.hasClass("sm-vertical"),M=this.opts.rightToLeftSubMenus&&!o.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&o.is("[data-sm-reverse]"),w=2==n?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,T=2==n?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY;if(g?(e=M?d-r-w:w,i=this.opts.bottomToTopSubMenus?-h-T:m+T):(e=M?w-r:d-w,i=this.opts.bottomToTopSubMenus?m-T-h:T),this.opts.keepInViewport){var y=l+e,I=c+i;if(M&&f>y?e=g?f-y+e:d-w:!M&&y+r>f+b&&(e=g?f+b-r-y+e:w-r),g||(S>h&&I+h>v+S?i+=v+S-h-I:(h>=S||v>I)&&(i+=v-I)),g&&(I+h>v+S+.49||v>I)||!g&&h>S+.49){var x=this;t.dataSM("scroll-arrows")||t.dataSM("scroll-arrows",$([$('')[0],$('')[0]]).on({mouseenter:function(){t.dataSM("scroll").up=$(this).hasClass("scroll-up"),x.menuScroll(t)},mouseleave:function(e){x.menuScrollStop(t),x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(t){t.preventDefault()}}).insertAfter(t));var A=".smartmenus_scroll";if(t.dataSM("scroll",{y:this.cssTransforms3d?0:i-m,step:1,itemH:m,subH:h,arrowDownH:this.getHeight(t.dataSM("scroll-arrows").eq(1))}).on(getEventsNS({mouseover:function(e){x.menuScrollOver(t,e)},mouseout:function(e){x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(e){x.menuScrollMousewheel(t,e)}},A)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:e+(parseInt(t.css("border-left-width"))||0),width:r-(parseInt(t.css("border-left-width"))||0)-(parseInt(t.css("border-right-width"))||0),zIndex:t.css("z-index")}).eq(g&&this.opts.bottomToTopSubMenus?0:1).show(),this.isFixed()){var C={};C[touchEvents?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp"]=function(e){x.menuScrollTouch(t,e)},t.css({"touch-action":"none","-ms-touch-action":"none"}).on(getEventsNS(C,A))}}}t.css({top:"auto",left:"0",marginLeft:e,marginTop:i-m})},menuScroll:function(t,e,i){var s,o=t.dataSM("scroll"),a=t.dataSM("scroll-arrows"),n=o.up?o.upEnd:o.downEnd;if(!e&&o.momentum){if(o.momentum*=.92,s=o.momentum,.5>s)return this.menuScrollStop(t),void 0}else s=i||(e||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(o.step));var r=t.dataSM("level");if(this.activatedItems[r-1]&&this.activatedItems[r-1].dataSM("sub")&&this.activatedItems[r-1].dataSM("sub").is(":visible")&&this.menuHideSubMenus(r-1),o.y=o.up&&o.y>=n||!o.up&&n>=o.y?o.y:Math.abs(n-o.y)>s?o.y+(o.up?s:-s):n,t.css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+o.y+"px, 0)",transform:"translate3d(0, "+o.y+"px, 0)"}:{marginTop:o.y}),mouse&&(o.up&&o.y>o.downEnd||!o.up&&o.y0;t.dataSM("scroll-arrows").eq(i?0:1).is(":visible")&&(t.dataSM("scroll").up=i,this.menuScroll(t,!0))}e.preventDefault()},menuScrollOut:function(t,e){mouse&&(/^scroll-(up|down)/.test((e.relatedTarget||"").className)||(t[0]==e.relatedTarget||$.contains(t[0],e.relatedTarget))&&this.getClosestMenu(e.relatedTarget)==t[0]||t.dataSM("scroll-arrows").css("visibility","hidden"))},menuScrollOver:function(t,e){if(mouse&&!/^scroll-(up|down)/.test(e.target.className)&&this.getClosestMenu(e.target)==t[0]){this.menuScrollRefreshData(t);var i=t.dataSM("scroll"),s=$(window).scrollTop()-t.dataSM("parent-a").offset().top-i.itemH;t.dataSM("scroll-arrows").eq(0).css("margin-top",s).end().eq(1).css("margin-top",s+this.getViewportHeight()-i.arrowDownH).end().css("visibility","visible")}},menuScrollRefreshData:function(t){var e=t.dataSM("scroll"),i=$(window).scrollTop()-t.dataSM("parent-a").offset().top-e.itemH;this.cssTransforms3d&&(i=-(parseFloat(t.css("margin-top"))-i)),$.extend(e,{upEnd:i,downEnd:i+this.getViewportHeight()-e.subH})},menuScrollStop:function(t){return this.scrollTimeout?(cancelAnimationFrame(this.scrollTimeout),this.scrollTimeout=0,t.dataSM("scroll").step=1,!0):void 0},menuScrollTouch:function(t,e){if(e=e.originalEvent,isTouchEvent(e)){var i=this.getTouchPoint(e);if(this.getClosestMenu(i.target)==t[0]){var s=t.dataSM("scroll");if(/(start|down)$/i.test(e.type))this.menuScrollStop(t)?(e.preventDefault(),this.$touchScrollingSub=t):this.$touchScrollingSub=null,this.menuScrollRefreshData(t),$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp});else if(/move$/i.test(e.type)){var o=void 0!==s.touchY?s.touchY:s.touchStartY;if(void 0!==o&&o!=i.pageY){this.$touchScrollingSub=t;var a=i.pageY>o;void 0!==s.up&&s.up!=a&&$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp}),$.extend(s,{up:a,touchY:i.pageY}),this.menuScroll(t,!0,Math.abs(i.pageY-o))}e.preventDefault()}else void 0!==s.touchY&&((s.momentum=15*Math.pow(Math.abs(i.pageY-s.touchStartY)/(e.timeStamp-s.touchStartTime),2))&&(this.menuScrollStop(t),this.menuScroll(t),e.preventDefault()),delete s.touchY)}}},menuShow:function(t){if((t.dataSM("beforefirstshowfired")||(t.dataSM("beforefirstshowfired",!0),this.$root.triggerHandler("beforefirstshow.smapi",t[0])!==!1))&&this.$root.triggerHandler("beforeshow.smapi",t[0])!==!1&&(t.dataSM("shown-before",!0),canAnimate&&t.stop(!0,!0),!t.is(":visible"))){var e=t.dataSM("parent-a"),i=this.isCollapsible();if((this.opts.keepHighlighted||i)&&e.addClass("highlighted"),i)t.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""});else{if(t.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1),(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth)&&(t.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap"),this.opts.subMenusMinWidth&&t.css("min-width",this.opts.subMenusMinWidth),this.opts.subMenusMaxWidth)){var s=this.getWidth(t);t.css("max-width",this.opts.subMenusMaxWidth),s>this.getWidth(t)&&t.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}this.menuPosition(t)}var o=function(){t.css("overflow","")};i?canAnimate&&this.opts.collapsibleShowFunction?this.opts.collapsibleShowFunction.call(this,t,o):t.show(this.opts.collapsibleShowDuration,o):canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,t,o):t.show(this.opts.showDuration,o),e.attr("aria-expanded","true"),t.attr({"aria-expanded":"true","aria-hidden":"false"}),this.visibleSubMenus.push(t),this.$root.triggerHandler("show.smapi",t[0])}},popupHide:function(t){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},t?1:this.opts.hideTimeout)},popupShow:function(t,e){if(!this.opts.isPopup)return alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.'),void 0;if(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.$root.dataSM("shown-before",!0),canAnimate&&this.$root.stop(!0,!0),!this.$root.is(":visible")){this.$root.css({left:t,top:e});var i=this,s=function(){i.$root.css("overflow","")};canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,this.$root,s):this.$root.show(this.opts.showDuration,s),this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(!0),this.init(!0)},rootKeyDown:function(t){if(this.handleEvents())switch(t.keyCode){case 27:var e=this.activatedItems[0];if(e){this.menuHideAll(),e[0].focus();var i=e.dataSM("sub");i&&this.menuHide(i)}break;case 32:var s=$(t.target);if(s.is("a")&&this.handleItemEvents(s)){var i=s.dataSM("sub");i&&!i.is(":visible")&&(this.itemClick({currentTarget:t.target}),t.preventDefault())}}},rootOut:function(t){if(this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),!this.opts.showOnClick||!this.opts.hideOnClick)){var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},this.opts.hideTimeout)}},rootOver:function(t){this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0)},winResize:function(t){if(this.handleEvents()){if(!("onorientationchange"in window)||"orientationchange"==t.type){var e=this.isCollapsible();this.wasCollapsible&&e||(this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0].blur(),this.menuHideAll()),this.wasCollapsible=e}}else if(this.$disableOverlay){var i=this.$root.offset();this.$disableOverlay.css({top:i.top,left:i.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}}}}),$.fn.dataSM=function(t,e){return e?this.data(t+"_smartmenus",e):this.data(t+"_smartmenus")},$.fn.removeDataSM=function(t){return this.removeData(t+"_smartmenus")},$.fn.smartmenus=function(options){if("string"==typeof options){var args=arguments,method=options;return Array.prototype.shift.call(args),this.each(function(){var t=$(this).data("smartmenus");t&&t[method]&&t[method].apply(t,args)})}return this.each(function(){var dataOpts=$(this).data("sm-options")||null;if(dataOpts)try{dataOpts=eval("("+dataOpts+")")}catch(e){dataOpts=null,alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.')}new $.SmartMenus(this,$.extend({},$.fn.smartmenus.defaults,options,dataOpts))})},$.fn.smartmenus.defaults={isPopup:!1,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:!0,subIndicatorsPos:"append",subIndicatorsText:"",scrollStep:30,scrollAccelerate:!0,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(t,e){t.fadeOut(200,e)},collapsibleShowDuration:0,collapsibleShowFunction:function(t,e){t.slideDown(200,e)},collapsibleHideDuration:0,collapsibleHideFunction:function(t,e){t.slideUp(200,e)},showOnClick:!1,hideOnClick:!0,noMouseOver:!1,keepInViewport:!0,keepHighlighted:!0,markCurrentItem:!1,markCurrentTree:!0,rightToLeftSubMenus:!1,bottomToTopSubMenus:!1,collapsibleBehavior:"default"},$}); \ No newline at end of file diff --git a/docs/html/main_8cpp.html b/docs/html/main_8cpp.html new file mode 100644 index 0000000..0bddc79 --- /dev/null +++ b/docs/html/main_8cpp.html @@ -0,0 +1,156 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/main.cpp File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
main.cpp File Reference
+
+
+
#include "GUI/IntelliPhotoGui.h"
+#include <QApplication>
+#include <QDebug>
+#include "IntelliHelper/IntelliHelper.h"
+#include <vector>
+
+Include dependency graph for main.cpp:
+
+
+
+
+

Go to the source code of this file.

+ + + + +

+Functions

int main (int argc, char *argv[])
 
+

Function Documentation

+ +

◆ main()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int main (int argc,
char * argv[] 
)
+
+ +

Definition at line 7 of file main.cpp.

+ +
+
+
+
+ + + + diff --git a/docs/html/main_8cpp.js b/docs/html/main_8cpp.js new file mode 100644 index 0000000..783c492 --- /dev/null +++ b/docs/html/main_8cpp.js @@ -0,0 +1,4 @@ +var main_8cpp = +[ + [ "main", "main_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97", null ] +]; \ No newline at end of file diff --git a/docs/html/main_8cpp__incl.dot b/docs/html/main_8cpp__incl.dot new file mode 100644 index 0000000..e6c725f --- /dev/null +++ b/docs/html/main_8cpp__incl.dot @@ -0,0 +1,34 @@ +digraph "intelliphoto/src/main.cpp" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="intelliphoto/src/main.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="GUI/IntelliPhotoGui.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_photo_gui_8h.html",tooltip=" "]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="QList",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="QMainWindow",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node5 [label="QGridLayout",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node6 [label="QPushButton",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node7 [label="QTextEdit",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node8 [label="QLabel",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node2 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node9 [label="QLineEdit",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node10 [label="QApplication",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node11 [label="QDebug",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node12 [label="IntelliHelper/IntelliHelper.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$_intelli_helper_8h.html",tooltip=" "]; + Node12 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node13 [label="QPoint",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node12 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node14 [label="vector",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; + Node1 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; +} diff --git a/docs/html/main_8cpp_source.html b/docs/html/main_8cpp_source.html new file mode 100644 index 0000000..0a1d9f3 --- /dev/null +++ b/docs/html/main_8cpp_source.html @@ -0,0 +1,125 @@ + + + + + + + +IntelliPhoto: intelliphoto/src/main.cpp Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
IntelliPhoto +  0.5 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
main.cpp
+
+
+Go to the documentation of this file.
1 #include "GUI/IntelliPhotoGui.h"
+
2 #include <QApplication>
+
3 #include <QDebug>
+ +
5 #include <vector>
+
6 
+
7 int main(int argc, char*argv[]){
+
8  // The main application
+
9  QApplication app(argc, argv);
+
10 
+
11  // Create and open the main window
+
12  IntelliPhotoGui window;
+
13  window.show();
+
14 
+
15  return app.exec();
+
16 }
+
+
+
The IntelliPhotoGui class handles the graphical user interface for the intelliPhoto program.
+ + +
int main(int argc, char *argv[])
Definition: main.cpp:7
+ + + + diff --git a/docs/html/menu.js b/docs/html/menu.js new file mode 100644 index 0000000..433c15b --- /dev/null +++ b/docs/html/menu.js @@ -0,0 +1,50 @@ +/* + @licstart The following is the entire license notice for the + JavaScript code in this file. + + Copyright (C) 1997-2017 by Dimitri van Heesch + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + @licend The above is the entire license notice + for the JavaScript code in this file + */ +function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { + function makeTree(data,relPath) { + var result=''; + if ('children' in data) { + result+=''; + } + return result; + } + + $('#main-nav').append(makeTree(menudata,relPath)); + $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); + if (searchEnabled) { + if (serverSide) { + $('#main-menu').append('
  • '); + } else { + $('#main-menu').append('
  • '); + } + } + $('#main-menu').smartmenus(); +} +/* @license-end */ diff --git a/docs/html/menudata.js b/docs/html/menudata.js new file mode 100644 index 0000000..729976a --- /dev/null +++ b/docs/html/menudata.js @@ -0,0 +1,73 @@ +/* +@licstart The following is the entire license notice for the +JavaScript code in this file. + +Copyright (C) 1997-2019 by Dimitri van Heesch + +This program is free software; you can redistribute it and/or modify +it under the terms of version 2 of the GNU General Public License as published by +the Free Software Foundation + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +@licend The above is the entire license notice +for the JavaScript code in this file +*/ +var menudata={children:[ +{text:"Main Page",url:"index.html"}, +{text:"Namespaces",url:"namespaces.html",children:[ +{text:"Namespace List",url:"namespaces.html"}, +{text:"Namespace Members",url:"namespacemembers.html",children:[ +{text:"All",url:"namespacemembers.html"}, +{text:"Functions",url:"namespacemembers_func.html"}]}]}, +{text:"Classes",url:"annotated.html",children:[ +{text:"Class List",url:"annotated.html"}, +{text:"Class Index",url:"classes.html"}, +{text:"Class Hierarchy",url:"inherits.html"}, +{text:"Class Members",url:"functions.html",children:[ +{text:"All",url:"functions.html",children:[ +{text:"a",url:"functions.html#index_a"}, +{text:"b",url:"functions.html#index_b"}, +{text:"c",url:"functions.html#index_c"}, +{text:"d",url:"functions.html#index_d"}, +{text:"f",url:"functions.html#index_f"}, +{text:"g",url:"functions.html#index_g"}, +{text:"h",url:"functions.html#index_h"}, +{text:"i",url:"functions.html#index_i"}, +{text:"l",url:"functions.html#index_l"}, +{text:"m",url:"functions.html#index_m"}, +{text:"o",url:"functions.html#index_o"}, +{text:"p",url:"functions.html#index_p"}, +{text:"r",url:"functions.html#index_r"}, +{text:"s",url:"functions.html#index_s"}, +{text:"w",url:"functions.html#index_w"}, +{text:"~",url:"functions.html#index__7E"}]}, +{text:"Functions",url:"functions_func.html",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"}, +{text:"m",url:"functions_func.html#index_m"}, +{text:"o",url:"functions_func.html#index_o"}, +{text:"p",url:"functions_func.html#index_p"}, +{text:"r",url:"functions_func.html#index_r"}, +{text:"s",url:"functions_func.html#index_s"}, +{text:"w",url:"functions_func.html#index_w"}, +{text:"~",url:"functions_func.html#index__7E"}]}, +{text:"Variables",url:"functions_vars.html"}]}]}, +{text:"Files",url:"files.html",children:[ +{text:"File List",url:"files.html"}, +{text:"File Members",url:"globals.html",children:[ +{text:"All",url:"globals.html"}, +{text:"Functions",url:"globals_func.html"}, +{text:"Enumerations",url:"globals_enum.html"}]}]}]} diff --git a/docs/html/namespace_intelli_helper.html b/docs/html/namespace_intelli_helper.html new file mode 100644 index 0000000..fb35f79 --- /dev/null +++ b/docs/html/namespace_intelli_helper.html @@ -0,0 +1,326 @@ + + + + + + + +IntelliPhoto: IntelliHelper Namespace Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    IntelliPhoto +  0.5 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    IntelliHelper Namespace Reference
    +
    +
    + + + + + + + + + + + + + + +

    +Functions

    float sign (QPoint &p1, QPoint &p2, QPoint &p3)
     A function to get the 2*area of a traingle, using its determinat. More...
     
    bool isInTriangle (Triangle &tri, QPoint &P)
     A function to check if a given point is in a triangle. More...
     
    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...
     
    +

    Function Documentation

    + +

    ◆ calculateTriangles()

    + +
    +
    + + + + + + + + +
    std::vector< Triangle > IntelliHelper::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.

    +
    Parameters
    + + +
    polyPoints- The Vertices of the polygon.
    +
    +
    +
    Returns
    Returns a Container of disjoint Triangles, which desribe the polygon area.
    + +

    Definition at line 7 of file IntelliHelper.cpp.

    +
    +Here is the caller graph for this function:
    +
    +
    +
    + +
    +
    + +

    ◆ isInPolygon()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    bool IntelliHelper::isInPolygon (std::vector< Triangle > & triangles,
    QPoint & point 
    )
    +
    + +

    A function to check if a point lies in a polygon by checking its spanning triangles.

    +
    Parameters
    + + + +
    triangles- The spanning triangles of the planar polygon.
    point- The point to checl, if it lies in the polygon.
    +
    +
    +
    Returns
    Returns true if the point lies in the üpolygon, otherwise false.
    + +

    Definition at line 116 of file IntelliHelper.cpp.

    +
    +Here is the call graph for this function:
    +
    +
    +
    +
    +Here is the caller graph for this function:
    +
    +
    +
    + +
    +
    + +

    ◆ isInTriangle()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool IntelliHelper::isInTriangle (Triangletri,
    QPoint & P 
    )
    +
    +inline
    +
    + +

    A function to check if a given point is in a triangle.

    +
    Parameters
    + + + +
    tri- The triangle to check, if it contains the point.
    P- The point to check if it is in the triangle.
    +
    +
    +
    Returns
    Returns true if the point is in the triangle, false otheriwse
    + +

    Definition at line 33 of file IntelliHelper.h.

    +
    +Here is the call graph for this function:
    +
    +
    +
    +
    +Here is the caller graph for this function:
    +
    +
    +
    + +
    +
    + +

    ◆ sign()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    float IntelliHelper::sign (QPoint & p1,
    QPoint & p2,
    QPoint & p3 
    )
    +
    +inline
    +
    + +

    A function to get the 2*area of a traingle, using its determinat.

    +
    Parameters
    + + + + +
    p1- The Point to check its side.
    p2- The first Point of the spanning Line
    p3- The second Point of the spanning line.
    +
    +
    +
    Returns
    Returns the area of the traingle*2
    + +

    Definition at line 23 of file IntelliHelper.h.

    +
    +Here is the caller graph for this function:
    +
    +
    +
    + +
    +
    +
    +
    + + + + diff --git a/docs/html/namespace_intelli_helper_a214dc3624ba4562a03dc922e3dd7b617_icgraph.dot b/docs/html/namespace_intelli_helper_a214dc3624ba4562a03dc922e3dd7b617_icgraph.dot new file mode 100644 index 0000000..b7b7796 --- /dev/null +++ b/docs/html/namespace_intelli_helper_a214dc3624ba4562a03dc922e3dd7b617_icgraph.dot @@ -0,0 +1,14 @@ +digraph "IntelliHelper::calculateTriangles" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="RL"; + Node1 [label="IntelliHelper::calculate\lTriangles",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function to split a polygon in its spanning traingles by using Meisters Theorem of graph theory by ..."]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliToolPolygon\l::onMouseLeftReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_polygon.html#a4e1473ff408ae2e11cf6a43f6f575f21",tooltip="A function managing the left click released of a mouse. Merging the fill to the active layer."]; + Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliShapedImage\l::setPolygon",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_shaped_image.html#a4b69d75de7a3b85032482982f249458e",tooltip="A function that sets the data of the visible Polygon."]; + Node3 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="IntelliShapedImage\l::getDeepCopy",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_shaped_image.html#aed0b31e0fa771104399d1f5ff39a0337",tooltip="A function that copys all that returns a [allocated] Image."]; +} diff --git a/docs/html/namespace_intelli_helper_a44d516b3e619e2a743e9c98dd75cf901_cgraph.dot b/docs/html/namespace_intelli_helper_a44d516b3e619e2a743e9c98dd75cf901_cgraph.dot new file mode 100644 index 0000000..fb4afa6 --- /dev/null +++ b/docs/html/namespace_intelli_helper_a44d516b3e619e2a743e9c98dd75cf901_cgraph.dot @@ -0,0 +1,12 @@ +digraph "IntelliHelper::isInPolygon" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliHelper::isInPolygon",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function to check if a point lies in a polygon by checking its spanning triangles."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliHelper::isInTriangle",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$namespace_intelli_helper.html#a9fcfe72f00e870be4a8ab9f2e17483c9",tooltip="A function to check if a given point is in a triangle."]; + Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliHelper::sign",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$namespace_intelli_helper.html#afdd9fe78cc5d21b59642910220768149",tooltip="A function to get the 2*area of a traingle, using its determinat."]; +} diff --git a/docs/html/namespace_intelli_helper_a44d516b3e619e2a743e9c98dd75cf901_icgraph.dot b/docs/html/namespace_intelli_helper_a44d516b3e619e2a743e9c98dd75cf901_icgraph.dot new file mode 100644 index 0000000..90d49af --- /dev/null +++ b/docs/html/namespace_intelli_helper_a44d516b3e619e2a743e9c98dd75cf901_icgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliHelper::isInPolygon" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="RL"; + Node1 [label="IntelliHelper::isInPolygon",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function to check if a point lies in a polygon by checking its spanning triangles."]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliToolPolygon\l::onMouseLeftReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_polygon.html#a4e1473ff408ae2e11cf6a43f6f575f21",tooltip="A function managing the left click released of a mouse. Merging the fill to the active layer."]; +} diff --git a/docs/html/namespace_intelli_helper_a9fcfe72f00e870be4a8ab9f2e17483c9_cgraph.dot b/docs/html/namespace_intelli_helper_a9fcfe72f00e870be4a8ab9f2e17483c9_cgraph.dot new file mode 100644 index 0000000..ac9a70d --- /dev/null +++ b/docs/html/namespace_intelli_helper_a9fcfe72f00e870be4a8ab9f2e17483c9_cgraph.dot @@ -0,0 +1,10 @@ +digraph "IntelliHelper::isInTriangle" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="LR"; + Node1 [label="IntelliHelper::isInTriangle",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function to check if a given point is in a triangle."]; + Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliHelper::sign",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$namespace_intelli_helper.html#afdd9fe78cc5d21b59642910220768149",tooltip="A function to get the 2*area of a traingle, using its determinat."]; +} diff --git a/docs/html/namespace_intelli_helper_a9fcfe72f00e870be4a8ab9f2e17483c9_icgraph.dot b/docs/html/namespace_intelli_helper_a9fcfe72f00e870be4a8ab9f2e17483c9_icgraph.dot new file mode 100644 index 0000000..91522d0 --- /dev/null +++ b/docs/html/namespace_intelli_helper_a9fcfe72f00e870be4a8ab9f2e17483c9_icgraph.dot @@ -0,0 +1,12 @@ +digraph "IntelliHelper::isInTriangle" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="RL"; + Node1 [label="IntelliHelper::isInTriangle",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function to check if a given point is in a triangle."]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliHelper::isInPolygon",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$namespace_intelli_helper.html#a44d516b3e619e2a743e9c98dd75cf901",tooltip="A function to check if a point lies in a polygon by checking its spanning triangles."]; + Node2 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliToolPolygon\l::onMouseLeftReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_polygon.html#a4e1473ff408ae2e11cf6a43f6f575f21",tooltip="A function managing the left click released of a mouse. Merging the fill to the active layer."]; +} diff --git a/docs/html/namespace_intelli_helper_afdd9fe78cc5d21b59642910220768149_icgraph.dot b/docs/html/namespace_intelli_helper_afdd9fe78cc5d21b59642910220768149_icgraph.dot new file mode 100644 index 0000000..cee7661 --- /dev/null +++ b/docs/html/namespace_intelli_helper_afdd9fe78cc5d21b59642910220768149_icgraph.dot @@ -0,0 +1,14 @@ +digraph "IntelliHelper::sign" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + rankdir="RL"; + Node1 [label="IntelliHelper::sign",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="A function to get the 2*area of a traingle, using its determinat."]; + Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node2 [label="IntelliHelper::isInTriangle",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$namespace_intelli_helper.html#a9fcfe72f00e870be4a8ab9f2e17483c9",tooltip="A function to check if a given point is in a triangle."]; + Node2 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node3 [label="IntelliHelper::isInPolygon",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$namespace_intelli_helper.html#a44d516b3e619e2a743e9c98dd75cf901",tooltip="A function to check if a point lies in a polygon by checking its spanning triangles."]; + Node3 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; + Node4 [label="IntelliToolPolygon\l::onMouseLeftReleased",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_tool_polygon.html#a4e1473ff408ae2e11cf6a43f6f575f21",tooltip="A function managing the left click released of a mouse. Merging the fill to the active layer."]; +} diff --git a/docs/html/namespacemembers.html b/docs/html/namespacemembers.html new file mode 100644 index 0000000..598a5ef --- /dev/null +++ b/docs/html/namespacemembers.html @@ -0,0 +1,114 @@ + + + + + + + +IntelliPhoto: Namespace Members + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    IntelliPhoto +  0.5 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    Here is a list of all namespace members with links to the namespace documentation for each member:
    +
    +
    + + + + diff --git a/docs/html/namespacemembers_func.html b/docs/html/namespacemembers_func.html new file mode 100644 index 0000000..6f55519 --- /dev/null +++ b/docs/html/namespacemembers_func.html @@ -0,0 +1,114 @@ + + + + + + + +IntelliPhoto: Namespace Members + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    IntelliPhoto +  0.5 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    + + + + diff --git a/docs/html/namespaces.html b/docs/html/namespaces.html new file mode 100644 index 0000000..442f96e --- /dev/null +++ b/docs/html/namespaces.html @@ -0,0 +1,109 @@ + + + + + + + +IntelliPhoto: Namespace List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    IntelliPhoto +  0.5 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    Namespace List
    +
    +
    +
    Here is a list of all namespaces with brief descriptions:
    + + +
     NIntelliHelper
    +
    +
    +
    + + + + diff --git a/docs/html/namespaces_dup.js b/docs/html/namespaces_dup.js new file mode 100644 index 0000000..30ea6ea --- /dev/null +++ b/docs/html/namespaces_dup.js @@ -0,0 +1,4 @@ +var namespaces_dup = +[ + [ "IntelliHelper", "namespace_intelli_helper.html", null ] +]; \ No newline at end of file diff --git a/docs/html/nav_f.png b/docs/html/nav_f.png new file mode 100644 index 0000000..3a8f6ca Binary files /dev/null and b/docs/html/nav_f.png differ diff --git a/docs/html/nav_g.png b/docs/html/nav_g.png new file mode 100644 index 0000000..2093a23 Binary files /dev/null and b/docs/html/nav_g.png differ diff --git a/docs/html/nav_h.png b/docs/html/nav_h.png new file mode 100644 index 0000000..bdf5bc9 Binary files /dev/null and b/docs/html/nav_h.png differ diff --git a/docs/html/navtree.css b/docs/html/navtree.css new file mode 100644 index 0000000..46329ea --- /dev/null +++ b/docs/html/navtree.css @@ -0,0 +1,146 @@ +#nav-tree .children_ul { + margin:0; + padding:4px; +} + +#nav-tree ul { + list-style:none outside none; + margin:0px; + padding:0px; +} + +#nav-tree li { + white-space:nowrap; + margin:0px; + padding:0px; +} + +#nav-tree .plus { + margin:0px; +} + +#nav-tree .selected { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} + +#nav-tree img { + margin:0px; + padding:0px; + border:0px; + vertical-align: middle; +} + +#nav-tree a { + text-decoration:none; + padding:0px; + margin:0px; + outline:none; +} + +#nav-tree .label { + margin:0px; + padding:0px; + font: 12px 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +} + +#nav-tree .label a { + padding:2px; +} + +#nav-tree .selected a { + text-decoration:none; + color:#fff; +} + +#nav-tree .children_ul { + margin:0px; + padding:0px; +} + +#nav-tree .item { + margin:0px; + padding:0px; +} + +#nav-tree { + padding: 0px 0px; + background-color: #FAFAFF; + font-size:14px; + overflow:auto; +} + +#doc-content { + overflow:auto; + display:block; + padding:0px; + margin:0px; + -webkit-overflow-scrolling : touch; /* iOS 5+ */ +} + +#side-nav { + padding:0 6px 0 0; + margin: 0px; + display:block; + position: absolute; + left: 0px; + width: 250px; +} + +.ui-resizable .ui-resizable-handle { + display:block; +} + +.ui-resizable-e { + background-image:url("splitbar.png"); + background-size:100%; + background-repeat:repeat-y; + background-attachment: scroll; + cursor:ew-resize; + height:100%; + right:0; + top:0; + width:6px; +} + +.ui-resizable-handle { + display:none; + font-size:0.1px; + position:absolute; + z-index:1; +} + +#nav-tree-contents { + margin: 6px 0px 0px 0px; +} + +#nav-tree { + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #FAFAFB; + -webkit-overflow-scrolling : touch; /* iOS 5+ */ +} + +#nav-sync { + position:absolute; + top:5px; + right:24px; + z-index:0; +} + +#nav-sync img { + opacity:0.3; +} + +#nav-sync img:hover { + opacity:0.9; +} + +@media print +{ + #nav-tree { display: none; } + div.ui-resizable-handle { display: none; position: relative; } +} + diff --git a/docs/html/navtree.js b/docs/html/navtree.js new file mode 100644 index 0000000..edc31ef --- /dev/null +++ b/docs/html/navtree.js @@ -0,0 +1,544 @@ +/* + @licstart The following is the entire license notice for the + JavaScript code in this file. + + Copyright (C) 1997-2019 by Dimitri van Heesch + + This program is free software; you can redistribute it and/or modify + it under the terms of version 2 of the GNU General Public License as + published by the Free Software Foundation. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + @licend The above is the entire license notice + for the JavaScript code in this file + */ +var navTreeSubIndices = new Array(); +var arrowDown = '▼'; +var arrowRight = '►'; + +function getData(varName) +{ + var i = varName.lastIndexOf('/'); + var n = i>=0 ? varName.substring(i+1) : varName; + return eval(n.replace(/\-/g,'_')); +} + +function stripPath(uri) +{ + return uri.substring(uri.lastIndexOf('/')+1); +} + +function stripPath2(uri) +{ + var i = uri.lastIndexOf('/'); + var s = uri.substring(i+1); + var m = uri.substring(0,i+1).match(/\/d\w\/d\w\w\/$/); + return m ? uri.substring(i-6) : s; +} + +function hashValue() +{ + return $(location).attr('hash').substring(1).replace(/[^\w\-]/g,''); +} + +function hashUrl() +{ + return '#'+hashValue(); +} + +function pathName() +{ + return $(location).attr('pathname').replace(/[^-A-Za-z0-9+&@#/%?=~_|!:,.;\(\)]/g, ''); +} + +function localStorageSupported() +{ + try { + return 'localStorage' in window && window['localStorage'] !== null && window.localStorage.getItem; + } + catch(e) { + return false; + } +} + +function storeLink(link) +{ + if (!$("#nav-sync").hasClass('sync') && localStorageSupported()) { + window.localStorage.setItem('navpath',link); + } +} + +function deleteLink() +{ + if (localStorageSupported()) { + window.localStorage.setItem('navpath',''); + } +} + +function cachedLink() +{ + if (localStorageSupported()) { + return window.localStorage.getItem('navpath'); + } else { + return ''; + } +} + +function getScript(scriptName,func,show) +{ + var head = document.getElementsByTagName("head")[0]; + var script = document.createElement('script'); + script.id = scriptName; + script.type = 'text/javascript'; + script.onload = func; + script.src = scriptName+'.js'; + head.appendChild(script); +} + +function createIndent(o,domNode,node,level) +{ + var level=-1; + var n = node; + while (n.parentNode) { level++; n=n.parentNode; } + if (node.childrenData) { + var imgNode = document.createElement("span"); + imgNode.className = 'arrow'; + imgNode.style.paddingLeft=(16*level).toString()+'px'; + imgNode.innerHTML=arrowRight; + node.plus_img = imgNode; + node.expandToggle = document.createElement("a"); + node.expandToggle.href = "javascript:void(0)"; + node.expandToggle.onclick = function() { + if (node.expanded) { + $(node.getChildrenUL()).slideUp("fast"); + node.plus_img.innerHTML=arrowRight; + node.expanded = false; + } else { + expandNode(o, node, false, false); + } + } + node.expandToggle.appendChild(imgNode); + domNode.appendChild(node.expandToggle); + } else { + var span = document.createElement("span"); + span.className = 'arrow'; + span.style.width = 16*(level+1)+'px'; + span.innerHTML = ' '; + domNode.appendChild(span); + } +} + +var animationInProgress = false; + +function gotoAnchor(anchor,aname,updateLocation) +{ + var pos, docContent = $('#doc-content'); + var ancParent = $(anchor.parent()); + if (ancParent.hasClass('memItemLeft') || + ancParent.hasClass('memtitle') || + ancParent.hasClass('fieldname') || + ancParent.hasClass('fieldtype') || + ancParent.is(':header')) + { + pos = ancParent.position().top; + } else if (anchor.position()) { + pos = anchor.position().top; + } + if (pos) { + var dist = Math.abs(Math.min( + pos-docContent.offset().top, + docContent[0].scrollHeight- + docContent.height()-docContent.scrollTop())); + animationInProgress=true; + docContent.animate({ + scrollTop: pos + docContent.scrollTop() - docContent.offset().top + },Math.max(50,Math.min(500,dist)),function(){ + if (updateLocation) window.location.href=aname; + animationInProgress=false; + }); + } +} + +function newNode(o, po, text, link, childrenData, lastNode) +{ + var node = new Object(); + node.children = Array(); + node.childrenData = childrenData; + node.depth = po.depth + 1; + node.relpath = po.relpath; + node.isLast = lastNode; + + node.li = document.createElement("li"); + po.getChildrenUL().appendChild(node.li); + node.parentNode = po; + + node.itemDiv = document.createElement("div"); + node.itemDiv.className = "item"; + + node.labelSpan = document.createElement("span"); + node.labelSpan.className = "label"; + + createIndent(o,node.itemDiv,node,0); + node.itemDiv.appendChild(node.labelSpan); + node.li.appendChild(node.itemDiv); + + var a = document.createElement("a"); + node.labelSpan.appendChild(a); + node.label = document.createTextNode(text); + node.expanded = false; + a.appendChild(node.label); + if (link) { + var url; + if (link.substring(0,1)=='^') { + url = link.substring(1); + link = url; + } else { + url = node.relpath+link; + } + a.className = stripPath(link.replace('#',':')); + if (link.indexOf('#')!=-1) { + var aname = '#'+link.split('#')[1]; + var srcPage = stripPath(pathName()); + var targetPage = stripPath(link.split('#')[0]); + a.href = srcPage!=targetPage ? url : "javascript:void(0)"; + a.onclick = function(){ + storeLink(link); + if (!$(a).parent().parent().hasClass('selected')) + { + $('.item').removeClass('selected'); + $('.item').removeAttr('id'); + $(a).parent().parent().addClass('selected'); + $(a).parent().parent().attr('id','selected'); + } + var anchor = $(aname); + gotoAnchor(anchor,aname,true); + }; + } else { + a.href = url; + a.onclick = function() { storeLink(link); } + } + } else { + if (childrenData != null) + { + a.className = "nolink"; + a.href = "javascript:void(0)"; + a.onclick = node.expandToggle.onclick; + } + } + + node.childrenUL = null; + node.getChildrenUL = function() { + if (!node.childrenUL) { + node.childrenUL = document.createElement("ul"); + node.childrenUL.className = "children_ul"; + node.childrenUL.style.display = "none"; + node.li.appendChild(node.childrenUL); + } + return node.childrenUL; + }; + + return node; +} + +function showRoot() +{ + var headerHeight = $("#top").height(); + var footerHeight = $("#nav-path").height(); + var windowHeight = $(window).height() - headerHeight - footerHeight; + (function (){ // retry until we can scroll to the selected item + try { + var navtree=$('#nav-tree'); + navtree.scrollTo('#selected',100,{offset:-windowHeight/2}); + } catch (err) { + setTimeout(arguments.callee, 0); + } + })(); +} + +function expandNode(o, node, imm, showRoot) +{ + if (node.childrenData && !node.expanded) { + if (typeof(node.childrenData)==='string') { + var varName = node.childrenData; + getScript(node.relpath+varName,function(){ + node.childrenData = getData(varName); + expandNode(o, node, imm, showRoot); + }, showRoot); + } else { + if (!node.childrenVisited) { + getNode(o, node); + } + $(node.getChildrenUL()).slideDown("fast"); + node.plus_img.innerHTML = arrowDown; + node.expanded = true; + } + } +} + +function glowEffect(n,duration) +{ + n.addClass('glow').delay(duration).queue(function(next){ + $(this).removeClass('glow');next(); + }); +} + +function highlightAnchor() +{ + var aname = hashUrl(); + var anchor = $(aname); + if (anchor.parent().attr('class')=='memItemLeft'){ + var rows = $('.memberdecls tr[class$="'+hashValue()+'"]'); + glowEffect(rows.children(),300); // member without details + } else if (anchor.parent().attr('class')=='fieldname'){ + glowEffect(anchor.parent().parent(),1000); // enum value + } else if (anchor.parent().attr('class')=='fieldtype'){ + glowEffect(anchor.parent().parent(),1000); // struct field + } else if (anchor.parent().is(":header")) { + glowEffect(anchor.parent(),1000); // section header + } else { + glowEffect(anchor.next(),1000); // normal member + } +} + +function selectAndHighlight(hash,n) +{ + var a; + if (hash) { + var link=stripPath(pathName())+':'+hash.substring(1); + a=$('.item a[class$="'+link+'"]'); + } + if (a && a.length) { + a.parent().parent().addClass('selected'); + a.parent().parent().attr('id','selected'); + highlightAnchor(); + } else if (n) { + $(n.itemDiv).addClass('selected'); + $(n.itemDiv).attr('id','selected'); + } + if ($('#nav-tree-contents .item:first').hasClass('selected')) { + $('#nav-sync').css('top','30px'); + } else { + $('#nav-sync').css('top','5px'); + } + showRoot(); +} + +function showNode(o, node, index, hash) +{ + if (node && node.childrenData) { + if (typeof(node.childrenData)==='string') { + var varName = node.childrenData; + getScript(node.relpath+varName,function(){ + node.childrenData = getData(varName); + showNode(o,node,index,hash); + },true); + } else { + if (!node.childrenVisited) { + getNode(o, node); + } + $(node.getChildrenUL()).css({'display':'block'}); + node.plus_img.innerHTML = arrowDown; + node.expanded = true; + var n = node.children[o.breadcrumbs[index]]; + if (index+11) hash = '#'+parts[1].replace(/[^\w\-]/g,''); + else hash=''; + } + if (hash.match(/^#l\d+$/)) { + var anchor=$('a[name='+hash.substring(1)+']'); + glowEffect(anchor.parent(),1000); // line number + hash=''; // strip line number anchors + } + var url=root+hash; + var i=-1; + while (NAVTREEINDEX[i+1]<=url) i++; + if (i==-1) { i=0; root=NAVTREE[0][1]; } // fallback: show index + if (navTreeSubIndices[i]) { + gotoNode(o,i,root,hash,relpath) + } else { + getScript(relpath+'navtreeindex'+i,function(){ + navTreeSubIndices[i] = eval('NAVTREEINDEX'+i); + if (navTreeSubIndices[i]) { + gotoNode(o,i,root,hash,relpath); + } + },true); + } +} + +function showSyncOff(n,relpath) +{ + n.html(''); +} + +function showSyncOn(n,relpath) +{ + n.html(''); +} + +function toggleSyncButton(relpath) +{ + var navSync = $('#nav-sync'); + if (navSync.hasClass('sync')) { + navSync.removeClass('sync'); + showSyncOff(navSync,relpath); + storeLink(stripPath2(pathName())+hashUrl()); + } else { + navSync.addClass('sync'); + showSyncOn(navSync,relpath); + deleteLink(); + } +} + +var loadTriggered = false; +var readyTriggered = false; +var loadObject,loadToRoot,loadUrl,loadRelPath; + +$(window).on('load',function(){ + if (readyTriggered) { // ready first + navTo(loadObject,loadToRoot,loadUrl,loadRelPath); + showRoot(); + } + loadTriggered=true; +}); + +function initNavTree(toroot,relpath) +{ + var o = new Object(); + o.toroot = toroot; + o.node = new Object(); + o.node.li = document.getElementById("nav-tree-contents"); + o.node.childrenData = NAVTREE; + o.node.children = new Array(); + o.node.childrenUL = document.createElement("ul"); + o.node.getChildrenUL = function() { return o.node.childrenUL; }; + o.node.li.appendChild(o.node.childrenUL); + o.node.depth = 0; + o.node.relpath = relpath; + o.node.expanded = false; + o.node.isLast = true; + o.node.plus_img = document.createElement("span"); + o.node.plus_img.className = 'arrow'; + o.node.plus_img.innerHTML = arrowRight; + + if (localStorageSupported()) { + var navSync = $('#nav-sync'); + if (cachedLink()) { + showSyncOff(navSync,relpath); + navSync.removeClass('sync'); + } else { + showSyncOn(navSync,relpath); + } + navSync.click(function(){ toggleSyncButton(relpath); }); + } + + if (loadTriggered) { // load before ready + navTo(o,toroot,hashUrl(),relpath); + showRoot(); + } else { // ready before load + loadObject = o; + loadToRoot = toroot; + loadUrl = hashUrl(); + loadRelPath = relpath; + readyTriggered=true; + } + + $(window).bind('hashchange', function(){ + if (window.location.hash && window.location.hash.length>1){ + var a; + if ($(location).attr('hash')){ + var clslink=stripPath(pathName())+':'+hashValue(); + a=$('.item a[class$="'+clslink.replace(/=desktop_vp) { + if (!collapsed) { + collapseExpand(); + } + } else if (width>desktop_vp && collapsedWidth0) { + restoreWidth(0); + collapsed=true; + } + else { + var width = readCookie('width'); + if (width>200 && width<$(window).width()) { restoreWidth(width); } else { restoreWidth(200); } + collapsed=false; + } + } + + header = $("#top"); + sidenav = $("#side-nav"); + content = $("#doc-content"); + navtree = $("#nav-tree"); + footer = $("#nav-path"); + $(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } }); + $(sidenav).resizable({ minWidth: 0 }); + $(window).resize(function() { resizeHeight(); }); + var device = navigator.userAgent.toLowerCase(); + var touch_device = device.match(/(iphone|ipod|ipad|android)/); + if (touch_device) { /* wider split bar for touch only devices */ + $(sidenav).css({ paddingRight:'20px' }); + $('.ui-resizable-e').css({ width:'20px' }); + $('#nav-sync').css({ right:'34px' }); + barWidth=20; + } + var width = readCookie('width'); + if (width) { restoreWidth(width); } else { resizeWidth(); } + resizeHeight(); + var url = location.href; + var i=url.indexOf("#"); + if (i>=0) window.location.hash=url.substr(i); + var _preventDefault = function(evt) { evt.preventDefault(); }; + $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault); + $(".ui-resizable-handle").dblclick(collapseExpand); + $(window).on('load',resizeHeight); +} +/* @license-end */ diff --git a/docs/html/search/all_0.html b/docs/html/search/all_0.html new file mode 100644 index 0000000..a52d5f0 --- /dev/null +++ b/docs/html/search/all_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_0.js b/docs/html/search/all_0.js new file mode 100644 index 0000000..60eb087 --- /dev/null +++ b/docs/html/search/all_0.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['a_0',['A',['../struct_triangle.html#a4fe8b39e0144ebff908b7718c2f2751b',1,'Triangle']]], + ['active_1',['Active',['../class_intelli_tool.html#a13512e95d21a9934ecb36d73b118c25f',1,'IntelliTool']]], + ['addlayer_2',['addLayer',['../class_painting_area.html#a39ad76e1319659bfa38eee88ef33d395',1,'PaintingArea']]], + ['addlayerat_3',['addLayerAt',['../class_painting_area.html#ae756003b49aead863b49616ea7a44cc0',1,'PaintingArea']]], + ['alpha_4',['alpha',['../struct_layer_object.html#a402cb1d9f20436032fe080681b80eb56',1,'LayerObject']]], + ['area_5',['Area',['../class_intelli_tool.html#ab4c2698a0f9f25fb6639ec760d2d0289',1,'IntelliTool']]] +]; diff --git a/docs/html/search/all_1.html b/docs/html/search/all_1.html new file mode 100644 index 0000000..0fcb704 --- /dev/null +++ b/docs/html/search/all_1.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_1.js b/docs/html/search/all_1.js new file mode 100644 index 0000000..9e42e47 --- /dev/null +++ b/docs/html/search/all_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['b_6',['B',['../struct_triangle.html#a64fa6a90a6131f12a1a3054bf86647d7',1,'Triangle']]] +]; diff --git a/docs/html/search/all_10.html b/docs/html/search/all_10.html new file mode 100644 index 0000000..c234738 --- /dev/null +++ b/docs/html/search/all_10.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_10.js b/docs/html/search/all_10.js new file mode 100644 index 0000000..deecf15 --- /dev/null +++ b/docs/html/search/all_10.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['_7eintellicolorpicker_129',['~IntelliColorPicker',['../class_intelli_color_picker.html#a40b975268a1f05249e8a49dde9a862ff',1,'IntelliColorPicker']]], + ['_7eintelliimage_130',['~IntelliImage',['../class_intelli_image.html#ac398bfa9ddd3185508a1e36ee15d80cc',1,'IntelliImage']]], + ['_7eintellirasterimage_131',['~IntelliRasterImage',['../class_intelli_raster_image.html#a844a2b58c43f7e01f2ca116286371bc8',1,'IntelliRasterImage']]], + ['_7eintellishapedimage_132',['~IntelliShapedImage',['../class_intelli_shaped_image.html#a43d63d8a814852d377ee2030658fbab9',1,'IntelliShapedImage']]], + ['_7eintellitool_133',['~IntelliTool',['../class_intelli_tool.html#a57fb1b27d364c9e3696eb928b75fa9f2',1,'IntelliTool']]], + ['_7eintellitoolcircle_134',['~IntelliToolCircle',['../class_intelli_tool_circle.html#a7a03b65b95d7b5d72e6a92c95f068954',1,'IntelliToolCircle']]], + ['_7eintellitoolfloodfill_135',['~IntelliToolFloodFill',['../class_intelli_tool_flood_fill.html#a83b1bd8be0cbb32cdf61a9597ec849ba',1,'IntelliToolFloodFill']]], + ['_7eintellitoolline_136',['~IntelliToolLine',['../class_intelli_tool_line.html#acb600b0f4e9225ebce2937c2b7abb4c2',1,'IntelliToolLine']]], + ['_7eintellitoolpen_137',['~IntelliToolPen',['../class_intelli_tool_pen.html#ac77a025515d0fed6954556fe2b444818',1,'IntelliToolPen']]], + ['_7eintellitoolplaintool_138',['~IntelliToolPlainTool',['../class_intelli_tool_plain_tool.html#a91fe568be05c075814d67440472bb658',1,'IntelliToolPlainTool']]], + ['_7eintellitoolpolygon_139',['~IntelliToolPolygon',['../class_intelli_tool_polygon.html#a087cbf2254010989df6106a357471499',1,'IntelliToolPolygon']]], + ['_7eintellitoolrectangle_140',['~IntelliToolRectangle',['../class_intelli_tool_rectangle.html#a7dc1463e726a21255e6297241dc71fb1',1,'IntelliToolRectangle']]], + ['_7epaintingarea_141',['~PaintingArea',['../class_painting_area.html#aa32adc113f77031945f73e33051931e8',1,'PaintingArea']]] +]; diff --git a/docs/html/search/all_2.html b/docs/html/search/all_2.html new file mode 100644 index 0000000..19c530f --- /dev/null +++ b/docs/html/search/all_2.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_2.js b/docs/html/search/all_2.js new file mode 100644 index 0000000..2624e5b --- /dev/null +++ b/docs/html/search/all_2.js @@ -0,0 +1,19 @@ +var searchData= +[ + ['c_7',['C',['../struct_triangle.html#addb8aaab314d79f3617acca01e12872a',1,'Triangle']]], + ['calculatetriangles_8',['calculateTriangles',['../namespace_intelli_helper.html#a214dc3624ba4562a03dc922e3dd7b617',1,'IntelliHelper']]], + ['calculatevisiblity_9',['calculateVisiblity',['../class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2',1,'IntelliImage::calculateVisiblity()'],['../class_intelli_raster_image.html#a87cf2d360c129d64a5db0db85818eb60',1,'IntelliRasterImage::calculateVisiblity()']]], + ['canvas_10',['Canvas',['../class_intelli_tool.html#a144d469cc03584f501194529a1b53c77',1,'IntelliTool']]], + ['closeevent_11',['closeEvent',['../class_intelli_photo_gui.html#a2cf48070236ae8b35245e7f30482ef13',1,'IntelliPhotoGui']]], + ['colorpicker_12',['colorPicker',['../class_intelli_tool.html#ae2e0ac394611a361ab4ef2fe55c03fef',1,'IntelliTool']]], + ['colorpickersetfirstcolor_13',['colorPickerSetFirstColor',['../class_painting_area.html#a4735d4cf1dc58a9096d904e74c39c4df',1,'PaintingArea']]], + ['colorpickersetsecondcolor_14',['colorPickerSetSecondColor',['../class_painting_area.html#ae261acaaa346610dfed489dbac17e789',1,'PaintingArea']]], + ['colorpickerswitchcolor_15',['colorPickerSwitchColor',['../class_painting_area.html#a66115307ff4a99cd7ca16423c5c8ecfb',1,'PaintingArea']]], + ['createcircletool_16',['createCircleTool',['../class_painting_area.html#a2d9f4b3585f7dd1acb11f432ca503466',1,'PaintingArea']]], + ['createfloodfilltool_17',['createFloodFillTool',['../class_painting_area.html#a0b22e18069b524f3e75857d203baf256',1,'PaintingArea']]], + ['createlinetool_18',['createLineTool',['../class_painting_area.html#a240c33a7875addac86080cdfb0db036a',1,'PaintingArea']]], + ['createpentool_19',['createPenTool',['../class_painting_area.html#a96c6248e343e44b61cf2625cb6d21353',1,'PaintingArea']]], + ['createplaintool_20',['createPlainTool',['../class_painting_area.html#a3de83443d2d5cf460ff48d0602070938',1,'PaintingArea']]], + ['createpolygontool_21',['createPolygonTool',['../class_painting_area.html#a13c2f94644bea9c2d3123d0b7898f34b',1,'PaintingArea']]], + ['createrectangletool_22',['createRectangleTool',['../class_painting_area.html#a5b04ce62ce024e307f54e0281f7ae4bd',1,'PaintingArea']]] +]; diff --git a/docs/html/search/all_3.html b/docs/html/search/all_3.html new file mode 100644 index 0000000..1ae887f --- /dev/null +++ b/docs/html/search/all_3.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_3.js b/docs/html/search/all_3.js new file mode 100644 index 0000000..70617b0 --- /dev/null +++ b/docs/html/search/all_3.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['deletelayer_23',['deleteLayer',['../class_painting_area.html#a6efad6f8ea060674b157b42b431cd173',1,'PaintingArea']]], + ['dotted_5fline_24',['DOTTED_LINE',['../_intelli_tool_line_8h.html#a86e0f5648542856159bb40775c854aa7a7660f396543c877e45d443f99d02bd0e',1,'IntelliToolLine.h']]], + ['drawing_25',['drawing',['../class_intelli_tool.html#af256de16e9825922d20a23d11617b51b',1,'IntelliTool']]], + ['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 new file mode 100644 index 0000000..14c90ef --- /dev/null +++ b/docs/html/search/all_4.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_4.js b/docs/html/search/all_4.js new file mode 100644 index 0000000..85100ac --- /dev/null +++ b/docs/html/search/all_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['floodfill_30',['floodFill',['../class_painting_area.html#aeb5eb394b979ea90f2be9849fdda1774',1,'PaintingArea']]] +]; diff --git a/docs/html/search/all_5.html b/docs/html/search/all_5.html new file mode 100644 index 0000000..60fa53e --- /dev/null +++ b/docs/html/search/all_5.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_5.js b/docs/html/search/all_5.js new file mode 100644 index 0000000..e7a6602 --- /dev/null +++ b/docs/html/search/all_5.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['getdeepcopy_31',['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_32',['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_33',['getFirstColor',['../class_intelli_color_picker.html#aae2eb27b928fe9388b9398b0556303b7',1,'IntelliColorPicker']]], + ['getheightofactive_34',['getHeightOfActive',['../class_painting_area.html#ac576f58aad03b4dcd47611b6a4b9abb4',1,'PaintingArea']]], + ['getpixelcolor_35',['getPixelColor',['../class_intelli_image.html#a4576ebb6d863321c816293d7b7f9fd3f',1,'IntelliImage']]], + ['getpolygondata_36',['getPolygonData',['../class_intelli_image.html#aaf9f3e8db8666850024bee9aad9966ba',1,'IntelliImage::getPolygonData()'],['../class_intelli_shaped_image.html#ae4518c7f5a105cc4f33fabb60c794a93',1,'IntelliShapedImage::getPolygonData()']]], + ['getsecondcolor_37',['getSecondColor',['../class_intelli_color_picker.html#a55568fbf5dc783f06284b7031ffe9415',1,'IntelliColorPicker']]], + ['getwidthofactive_38',['getWidthOfActive',['../class_painting_area.html#a675ee91b26b1c58be6d833f279d81597',1,'PaintingArea']]] +]; diff --git a/docs/html/search/all_6.html b/docs/html/search/all_6.html new file mode 100644 index 0000000..7180363 --- /dev/null +++ b/docs/html/search/all_6.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_6.js b/docs/html/search/all_6.js new file mode 100644 index 0000000..be53981 --- /dev/null +++ b/docs/html/search/all_6.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['height_39',['height',['../struct_layer_object.html#ae0003fb815e50ed587a9897988befc90',1,'LayerObject']]], + ['heightoffset_40',['heightOffset',['../struct_layer_object.html#a08bacdcd64a0ae0eb5376f55329954bc',1,'LayerObject']]] +]; diff --git a/docs/html/search/all_7.html b/docs/html/search/all_7.html new file mode 100644 index 0000000..ee6d2e4 --- /dev/null +++ b/docs/html/search/all_7.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_7.js b/docs/html/search/all_7.js new file mode 100644 index 0000000..69b12fc --- /dev/null +++ b/docs/html/search/all_7.js @@ -0,0 +1,50 @@ +var searchData= +[ + ['image_41',['image',['../struct_layer_object.html#af01a139bc8edfdbb338393874e89bd83',1,'LayerObject']]], + ['imagedata_42',['imageData',['../class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2',1,'IntelliImage']]], + ['imagetype_43',['ImageType',['../_intelli_image_8h.html#a3154c405c975616503bac23f51b78fc0',1,'IntelliImage.h']]], + ['intellicolorpicker_44',['IntelliColorPicker',['../class_intelli_color_picker.html',1,'IntelliColorPicker'],['../class_intelli_color_picker.html#a0d1247bdd87add1396ea5d9acaad79ae',1,'IntelliColorPicker::IntelliColorPicker()']]], + ['intellicolorpicker_2ecpp_45',['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_46',['IntelliColorPicker.h',['../_intelli_color_picker_8h.html',1,'']]], + ['intellihelper_47',['IntelliHelper',['../namespace_intelli_helper.html',1,'']]], + ['intellihelper_2ecpp_48',['IntelliHelper.cpp',['../_intelli_helper_8cpp.html',1,'']]], + ['intellihelper_2eh_49',['IntelliHelper.h',['../_intelli_helper_8h.html',1,'']]], + ['intelliimage_50',['IntelliImage',['../class_intelli_image.html',1,'IntelliImage'],['../class_intelli_image.html#a47084f1cb668ea0242ab95162cf9e902',1,'IntelliImage::IntelliImage()']]], + ['intelliimage_2ecpp_51',['IntelliImage.cpp',['../_intelli_image_8cpp.html',1,'']]], + ['intelliimage_2eh_52',['IntelliImage.h',['../_intelli_image_8h.html',1,'']]], + ['intelliphotogui_53',['IntelliPhotoGui',['../class_intelli_photo_gui.html',1,'IntelliPhotoGui'],['../class_intelli_photo_gui.html#ad2aaec3c1517a9aaa461b54e341b97e0',1,'IntelliPhotoGui::IntelliPhotoGui()']]], + ['intelliphotogui_2ecpp_54',['IntelliPhotoGui.cpp',['../_intelli_photo_gui_8cpp.html',1,'']]], + ['intelliphotogui_2eh_55',['IntelliPhotoGui.h',['../_intelli_photo_gui_8h.html',1,'']]], + ['intellirasterimage_56',['IntelliRasterImage',['../class_intelli_raster_image.html',1,'IntelliRasterImage'],['../class_intelli_raster_image.html#aad9b561fe499a4da3c6ef98971aa3468',1,'IntelliRasterImage::IntelliRasterImage()']]], + ['intellirasterimage_2ecpp_57',['IntelliRasterImage.cpp',['../_intelli_raster_image_8cpp.html',1,'']]], + ['intellirasterimage_2eh_58',['IntelliRasterImage.h',['../_intelli_raster_image_8h.html',1,'']]], + ['intellishapedimage_59',['IntelliShapedImage',['../class_intelli_shaped_image.html',1,'IntelliShapedImage'],['../class_intelli_shaped_image.html#a0f834c3f255baeb50c98ef335a6d0ea9',1,'IntelliShapedImage::IntelliShapedImage()']]], + ['intellishapedimage_2ecpp_60',['IntelliShapedImage.cpp',['../_intelli_shaped_image_8cpp.html',1,'']]], + ['intellishapedimage_2eh_61',['IntelliShapedImage.h',['../_intelli_shaped_image_8h.html',1,'']]], + ['intellitool_62',['IntelliTool',['../class_intelli_tool.html',1,'IntelliTool'],['../class_intelli_tool.html#a346dd55d489fced38e7bb46f9168af91',1,'IntelliTool::IntelliTool()']]], + ['intellitool_2ecpp_63',['IntelliTool.cpp',['../_intelli_tool_8cpp.html',1,'']]], + ['intellitool_2eh_64',['IntelliTool.h',['../_intelli_tool_8h.html',1,'']]], + ['intellitoolcircle_65',['IntelliToolCircle',['../class_intelli_tool_circle.html',1,'IntelliToolCircle'],['../class_intelli_tool_circle.html#a9b185b9d327f8602d0b7f667b8d1d32a',1,'IntelliToolCircle::IntelliToolCircle()']]], + ['intellitoolcircle_2ecpp_66',['IntelliToolCircle.cpp',['../_intelli_tool_circle_8cpp.html',1,'']]], + ['intellitoolcircle_2eh_67',['IntelliToolCircle.h',['../_intelli_tool_circle_8h.html',1,'']]], + ['intellitoolfloodfill_68',['IntelliToolFloodFill',['../class_intelli_tool_flood_fill.html',1,'IntelliToolFloodFill'],['../class_intelli_tool_flood_fill.html#a83b51838da304e274bf866cf2fd5407a',1,'IntelliToolFloodFill::IntelliToolFloodFill()']]], + ['intellitoolfloodfill_2ecpp_69',['IntelliToolFloodFill.cpp',['../_intelli_tool_flood_fill_8cpp.html',1,'']]], + ['intellitoolfloodfill_2eh_70',['IntelliToolFloodFill.h',['../_intelli_tool_flood_fill_8h.html',1,'']]], + ['intellitoolline_71',['IntelliToolLine',['../class_intelli_tool_line.html',1,'IntelliToolLine'],['../class_intelli_tool_line.html#a9b2d4bcd69409a21f6080edfea4ae2a2',1,'IntelliToolLine::IntelliToolLine()']]], + ['intellitoolline_2ecpp_72',['IntelliToolLine.cpp',['../_intelli_tool_line_8cpp.html',1,'']]], + ['intellitoolline_2eh_73',['IntelliToolLine.h',['../_intelli_tool_line_8h.html',1,'']]], + ['intellitoolpen_74',['IntelliToolPen',['../class_intelli_tool_pen.html',1,'IntelliToolPen'],['../class_intelli_tool_pen.html#a889891b3ae7cdefb881aed2e7fff9b47',1,'IntelliToolPen::IntelliToolPen()']]], + ['intellitoolpen_2ecpp_75',['IntelliToolPen.cpp',['../_intelli_tool_pen_8cpp.html',1,'']]], + ['intellitoolpen_2eh_76',['IntelliToolPen.h',['../_intelli_tool_pen_8h.html',1,'']]], + ['intellitoolplain_2ecpp_77',['IntelliToolPlain.cpp',['../_intelli_tool_plain_8cpp.html',1,'']]], + ['intellitoolplain_2eh_78',['IntelliToolPlain.h',['../_intelli_tool_plain_8h.html',1,'']]], + ['intellitoolplaintool_79',['IntelliToolPlainTool',['../class_intelli_tool_plain_tool.html',1,'IntelliToolPlainTool'],['../class_intelli_tool_plain_tool.html#a0ff0b9f7b78b763683076e4417236859',1,'IntelliToolPlainTool::IntelliToolPlainTool()']]], + ['intellitoolpolygon_80',['IntelliToolPolygon',['../class_intelli_tool_polygon.html',1,'IntelliToolPolygon'],['../class_intelli_tool_polygon.html#ae6e5f07fdf88d12029410a032dc4921d',1,'IntelliToolPolygon::IntelliToolPolygon()']]], + ['intellitoolpolygon_2ecpp_81',['IntelliToolPolygon.cpp',['../_intelli_tool_polygon_8cpp.html',1,'']]], + ['intellitoolpolygon_2eh_82',['IntelliToolPolygon.h',['../_intelli_tool_polygon_8h.html',1,'']]], + ['intellitoolrectangle_83',['IntelliToolRectangle',['../class_intelli_tool_rectangle.html',1,'IntelliToolRectangle'],['../class_intelli_tool_rectangle.html#aa9823939a8b8924520a2943cf6335c11',1,'IntelliToolRectangle::IntelliToolRectangle()']]], + ['intellitoolrectangle_2ecpp_84',['IntelliToolRectangle.cpp',['../_intelli_tool_rectangle_8cpp.html',1,'']]], + ['intellitoolrectangle_2eh_85',['IntelliToolRectangle.h',['../_intelli_tool_rectangle_8h.html',1,'']]], + ['isinpolygon_86',['isInPolygon',['../namespace_intelli_helper.html#a44d516b3e619e2a743e9c98dd75cf901',1,'IntelliHelper']]], + ['isintriangle_87',['isInTriangle',['../namespace_intelli_helper.html#a9fcfe72f00e870be4a8ab9f2e17483c9',1,'IntelliHelper']]] +]; diff --git a/docs/html/search/all_8.html b/docs/html/search/all_8.html new file mode 100644 index 0000000..7829aa4 --- /dev/null +++ b/docs/html/search/all_8.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_8.js b/docs/html/search/all_8.js new file mode 100644 index 0000000..50c4cae --- /dev/null +++ b/docs/html/search/all_8.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['layerobject_88',['LayerObject',['../struct_layer_object.html',1,'']]], + ['linestyle_89',['LineStyle',['../_intelli_tool_line_8h.html#a86e0f5648542856159bb40775c854aa7',1,'IntelliToolLine.h']]], + ['loadimage_90',['loadImage',['../class_intelli_image.html#aec0e9c8184d89dee33fd9adefbd2f8aa',1,'IntelliImage']]] +]; diff --git a/docs/html/search/all_9.html b/docs/html/search/all_9.html new file mode 100644 index 0000000..e4242c7 --- /dev/null +++ b/docs/html/search/all_9.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_9.js b/docs/html/search/all_9.js new file mode 100644 index 0000000..c3bdfaf --- /dev/null +++ b/docs/html/search/all_9.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['main_91',['main',['../main_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main.cpp']]], + ['main_2ecpp_92',['main.cpp',['../main_8cpp.html',1,'']]], + ['mousemoveevent_93',['mouseMoveEvent',['../class_painting_area.html#aa22e274b6094a9619f196cd7b49526b5',1,'PaintingArea']]], + ['mousepressevent_94',['mousePressEvent',['../class_painting_area.html#abfe445f8d9b70ae42bfeda874127dd15',1,'PaintingArea']]], + ['mousereleaseevent_95',['mouseReleaseEvent',['../class_painting_area.html#a35b5df914acb608cc29717659793359c',1,'PaintingArea']]], + ['moveactivelayer_96',['moveActiveLayer',['../class_painting_area.html#ae05f6893fb44bfcb34018573a609cd1a',1,'PaintingArea']]], + ['movepositionactive_97',['movePositionActive',['../class_painting_area.html#ac6d089f4357b22d9a9906fd4771de3e7',1,'PaintingArea']]] +]; diff --git a/docs/html/search/all_a.html b/docs/html/search/all_a.html new file mode 100644 index 0000000..47a4a78 --- /dev/null +++ b/docs/html/search/all_a.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_a.js b/docs/html/search/all_a.js new file mode 100644 index 0000000..8e50acd --- /dev/null +++ b/docs/html/search/all_a.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['onmouseleftpressed_98',['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_99',['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_100',['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_101',['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_102',['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_103',['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_104',['open',['../class_painting_area.html#a1f597740b4d7b4bc2e24c51f8cb0b6eb',1,'PaintingArea']]] +]; diff --git a/docs/html/search/all_b.html b/docs/html/search/all_b.html new file mode 100644 index 0000000..1320a43 --- /dev/null +++ b/docs/html/search/all_b.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_b.js b/docs/html/search/all_b.js new file mode 100644 index 0000000..a356257 --- /dev/null +++ b/docs/html/search/all_b.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['paintevent_105',['paintEvent',['../class_painting_area.html#a4a8138b9508ee4ec87a7fca9160368a7',1,'PaintingArea']]], + ['paintingarea_106',['PaintingArea',['../class_painting_area.html',1,'PaintingArea'],['../class_painting_area.html#a4fa0ec23e78cc59f28c823584c721460',1,'PaintingArea::PaintingArea()']]], + ['paintingarea_2ecpp_107',['PaintingArea.cpp',['../_painting_area_8cpp.html',1,'']]], + ['paintingarea_2eh_108',['PaintingArea.h',['../_painting_area_8h.html',1,'']]], + ['polygondata_109',['polygonData',['../class_intelli_shaped_image.html#a727d19ce314c0874be6b0633a3a603c8',1,'IntelliShapedImage']]] +]; diff --git a/docs/html/search/all_c.html b/docs/html/search/all_c.html new file mode 100644 index 0000000..32a3a1b --- /dev/null +++ b/docs/html/search/all_c.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_c.js b/docs/html/search/all_c.js new file mode 100644 index 0000000..a895f69 --- /dev/null +++ b/docs/html/search/all_c.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['raster_5fimage_110',['Raster_Image',['../_intelli_image_8h.html#a3154c405c975616503bac23f51b78fc0a80e1612d2117f2b25530317279ffe7b3',1,'IntelliImage.h']]], + ['resizeevent_111',['resizeEvent',['../class_painting_area.html#ab57e8ccda60fff7187463a90e65c5335',1,'PaintingArea']]], + ['resizeimage_112',['resizeImage',['../class_intelli_image.html#a177403ab9585d4ba31984a644c54d310',1,'IntelliImage']]] +]; diff --git a/docs/html/search/all_d.html b/docs/html/search/all_d.html new file mode 100644 index 0000000..a386096 --- /dev/null +++ b/docs/html/search/all_d.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_d.js b/docs/html/search/all_d.js new file mode 100644 index 0000000..123a72f --- /dev/null +++ b/docs/html/search/all_d.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['save_113',['save',['../class_painting_area.html#a612176cc9d629d22fd3fe1a746cce564',1,'PaintingArea']]], + ['setalphaoflayer_114',['setAlphaOfLayer',['../class_painting_area.html#aec59be20f1c27135700754882dd6383d',1,'PaintingArea']]], + ['setfirstcolor_115',['setFirstColor',['../class_intelli_color_picker.html#a7e2ddbbbfbed383f06b24e5bf6b27ae8',1,'IntelliColorPicker']]], + ['setlayertoactive_116',['setLayerToActive',['../class_painting_area.html#a1d6d86c25efdce9fe9031a9cd01c74c8',1,'PaintingArea']]], + ['setpolygon_117',['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_118',['setSecondColor',['../class_intelli_color_picker.html#a86bf4a940e4a0e465e30cbdf28748931',1,'IntelliColorPicker']]], + ['shaped_5fimage_119',['Shaped_Image',['../_intelli_image_8h.html#a3154c405c975616503bac23f51b78fc0ab7e2d2c1c171e5a0e0b6b548449df79d',1,'IntelliImage.h']]], + ['sign_120',['sign',['../namespace_intelli_helper.html#afdd9fe78cc5d21b59642910220768149',1,'IntelliHelper']]], + ['slotactivatelayer_121',['slotActivateLayer',['../class_painting_area.html#a71ac281e0de263208d4a3b9de74258ec',1,'PaintingArea']]], + ['slotdeleteactivelayer_122',['slotDeleteActiveLayer',['../class_painting_area.html#a1ff0b9c1227531943c9cec2c546fae5e',1,'PaintingArea']]], + ['solid_5fline_123',['SOLID_LINE',['../_intelli_tool_line_8h.html#a86e0f5648542856159bb40775c854aa7ae45e1e6b2e6dde14829d057a4ef44199',1,'IntelliToolLine.h']]], + ['switchcolors_124',['switchColors',['../class_intelli_color_picker.html#a437a6f20bf2fc0a4cbaf4c030c2a26d9',1,'IntelliColorPicker']]] +]; diff --git a/docs/html/search/all_e.html b/docs/html/search/all_e.html new file mode 100644 index 0000000..2931618 --- /dev/null +++ b/docs/html/search/all_e.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_e.js b/docs/html/search/all_e.js new file mode 100644 index 0000000..dfed3ce --- /dev/null +++ b/docs/html/search/all_e.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['triangle_125',['Triangle',['../struct_triangle.html',1,'']]] +]; diff --git a/docs/html/search/all_f.html b/docs/html/search/all_f.html new file mode 100644 index 0000000..ca42a52 --- /dev/null +++ b/docs/html/search/all_f.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_f.js b/docs/html/search/all_f.js new file mode 100644 index 0000000..5720a84 --- /dev/null +++ b/docs/html/search/all_f.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['wheelevent_126',['wheelEvent',['../class_painting_area.html#a632848d99f44d33d7da2618fbc6775a4',1,'PaintingArea']]], + ['width_127',['width',['../struct_layer_object.html#af261813df52ff0b0c82bfa57efeb9897',1,'LayerObject']]], + ['widthoffset_128',['widthOffset',['../struct_layer_object.html#a72b44d27c7bbb60dde14f04ec240ab96',1,'LayerObject']]] +]; diff --git a/docs/html/search/classes_0.html b/docs/html/search/classes_0.html new file mode 100644 index 0000000..d585e6a --- /dev/null +++ b/docs/html/search/classes_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/classes_0.js b/docs/html/search/classes_0.js new file mode 100644 index 0000000..2b71e5b --- /dev/null +++ b/docs/html/search/classes_0.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['intellicolorpicker_142',['IntelliColorPicker',['../class_intelli_color_picker.html',1,'']]], + ['intelliimage_143',['IntelliImage',['../class_intelli_image.html',1,'']]], + ['intelliphotogui_144',['IntelliPhotoGui',['../class_intelli_photo_gui.html',1,'']]], + ['intellirasterimage_145',['IntelliRasterImage',['../class_intelli_raster_image.html',1,'']]], + ['intellishapedimage_146',['IntelliShapedImage',['../class_intelli_shaped_image.html',1,'']]], + ['intellitool_147',['IntelliTool',['../class_intelli_tool.html',1,'']]], + ['intellitoolcircle_148',['IntelliToolCircle',['../class_intelli_tool_circle.html',1,'']]], + ['intellitoolfloodfill_149',['IntelliToolFloodFill',['../class_intelli_tool_flood_fill.html',1,'']]], + ['intellitoolline_150',['IntelliToolLine',['../class_intelli_tool_line.html',1,'']]], + ['intellitoolpen_151',['IntelliToolPen',['../class_intelli_tool_pen.html',1,'']]], + ['intellitoolplaintool_152',['IntelliToolPlainTool',['../class_intelli_tool_plain_tool.html',1,'']]], + ['intellitoolpolygon_153',['IntelliToolPolygon',['../class_intelli_tool_polygon.html',1,'']]], + ['intellitoolrectangle_154',['IntelliToolRectangle',['../class_intelli_tool_rectangle.html',1,'']]] +]; diff --git a/docs/html/search/classes_1.html b/docs/html/search/classes_1.html new file mode 100644 index 0000000..baeb182 --- /dev/null +++ b/docs/html/search/classes_1.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/classes_1.js b/docs/html/search/classes_1.js new file mode 100644 index 0000000..454443a --- /dev/null +++ b/docs/html/search/classes_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['layerobject_155',['LayerObject',['../struct_layer_object.html',1,'']]] +]; diff --git a/docs/html/search/classes_2.html b/docs/html/search/classes_2.html new file mode 100644 index 0000000..d267279 --- /dev/null +++ b/docs/html/search/classes_2.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/classes_2.js b/docs/html/search/classes_2.js new file mode 100644 index 0000000..bcb4b7a --- /dev/null +++ b/docs/html/search/classes_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['paintingarea_156',['PaintingArea',['../class_painting_area.html',1,'']]] +]; diff --git a/docs/html/search/classes_3.html b/docs/html/search/classes_3.html new file mode 100644 index 0000000..8a5cbe1 --- /dev/null +++ b/docs/html/search/classes_3.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/classes_3.js b/docs/html/search/classes_3.js new file mode 100644 index 0000000..96c6367 --- /dev/null +++ b/docs/html/search/classes_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['triangle_157',['Triangle',['../struct_triangle.html',1,'']]] +]; diff --git a/docs/html/search/close.png b/docs/html/search/close.png new file mode 100644 index 0000000..9342d3d Binary files /dev/null and b/docs/html/search/close.png differ diff --git a/docs/html/search/enums_0.html b/docs/html/search/enums_0.html new file mode 100644 index 0000000..ae7a884 --- /dev/null +++ b/docs/html/search/enums_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/enums_0.js b/docs/html/search/enums_0.js new file mode 100644 index 0000000..5a92e19 --- /dev/null +++ b/docs/html/search/enums_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['imagetype_292',['ImageType',['../_intelli_image_8h.html#a3154c405c975616503bac23f51b78fc0',1,'IntelliImage.h']]] +]; diff --git a/docs/html/search/enums_1.html b/docs/html/search/enums_1.html new file mode 100644 index 0000000..dfbb13a --- /dev/null +++ b/docs/html/search/enums_1.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/enums_1.js b/docs/html/search/enums_1.js new file mode 100644 index 0000000..c187cbf --- /dev/null +++ b/docs/html/search/enums_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['linestyle_293',['LineStyle',['../_intelli_tool_line_8h.html#a86e0f5648542856159bb40775c854aa7',1,'IntelliToolLine.h']]] +]; diff --git a/docs/html/search/enumvalues_0.html b/docs/html/search/enumvalues_0.html new file mode 100644 index 0000000..1c0bbf9 --- /dev/null +++ b/docs/html/search/enumvalues_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/enumvalues_0.js b/docs/html/search/enumvalues_0.js new file mode 100644 index 0000000..fb8b634 --- /dev/null +++ b/docs/html/search/enumvalues_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['dotted_5fline_294',['DOTTED_LINE',['../_intelli_tool_line_8h.html#a86e0f5648542856159bb40775c854aa7a7660f396543c877e45d443f99d02bd0e',1,'IntelliToolLine.h']]] +]; diff --git a/docs/html/search/enumvalues_1.html b/docs/html/search/enumvalues_1.html new file mode 100644 index 0000000..070fd0b --- /dev/null +++ b/docs/html/search/enumvalues_1.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/enumvalues_1.js b/docs/html/search/enumvalues_1.js new file mode 100644 index 0000000..e029230 --- /dev/null +++ b/docs/html/search/enumvalues_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['raster_5fimage_295',['Raster_Image',['../_intelli_image_8h.html#a3154c405c975616503bac23f51b78fc0a80e1612d2117f2b25530317279ffe7b3',1,'IntelliImage.h']]] +]; diff --git a/docs/html/search/enumvalues_2.html b/docs/html/search/enumvalues_2.html new file mode 100644 index 0000000..25e9a37 --- /dev/null +++ b/docs/html/search/enumvalues_2.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/enumvalues_2.js b/docs/html/search/enumvalues_2.js new file mode 100644 index 0000000..0120145 --- /dev/null +++ b/docs/html/search/enumvalues_2.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['shaped_5fimage_296',['Shaped_Image',['../_intelli_image_8h.html#a3154c405c975616503bac23f51b78fc0ab7e2d2c1c171e5a0e0b6b548449df79d',1,'IntelliImage.h']]], + ['solid_5fline_297',['SOLID_LINE',['../_intelli_tool_line_8h.html#a86e0f5648542856159bb40775c854aa7ae45e1e6b2e6dde14829d057a4ef44199',1,'IntelliToolLine.h']]] +]; diff --git a/docs/html/search/files_0.html b/docs/html/search/files_0.html new file mode 100644 index 0000000..de151d5 --- /dev/null +++ b/docs/html/search/files_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/files_0.js b/docs/html/search/files_0.js new file mode 100644 index 0000000..8f60b7b --- /dev/null +++ b/docs/html/search/files_0.js @@ -0,0 +1,31 @@ +var searchData= +[ + ['intellicolorpicker_2ecpp_159',['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_160',['IntelliColorPicker.h',['../_intelli_color_picker_8h.html',1,'']]], + ['intellihelper_2ecpp_161',['IntelliHelper.cpp',['../_intelli_helper_8cpp.html',1,'']]], + ['intellihelper_2eh_162',['IntelliHelper.h',['../_intelli_helper_8h.html',1,'']]], + ['intelliimage_2ecpp_163',['IntelliImage.cpp',['../_intelli_image_8cpp.html',1,'']]], + ['intelliimage_2eh_164',['IntelliImage.h',['../_intelli_image_8h.html',1,'']]], + ['intelliphotogui_2ecpp_165',['IntelliPhotoGui.cpp',['../_intelli_photo_gui_8cpp.html',1,'']]], + ['intelliphotogui_2eh_166',['IntelliPhotoGui.h',['../_intelli_photo_gui_8h.html',1,'']]], + ['intellirasterimage_2ecpp_167',['IntelliRasterImage.cpp',['../_intelli_raster_image_8cpp.html',1,'']]], + ['intellirasterimage_2eh_168',['IntelliRasterImage.h',['../_intelli_raster_image_8h.html',1,'']]], + ['intellishapedimage_2ecpp_169',['IntelliShapedImage.cpp',['../_intelli_shaped_image_8cpp.html',1,'']]], + ['intellishapedimage_2eh_170',['IntelliShapedImage.h',['../_intelli_shaped_image_8h.html',1,'']]], + ['intellitool_2ecpp_171',['IntelliTool.cpp',['../_intelli_tool_8cpp.html',1,'']]], + ['intellitool_2eh_172',['IntelliTool.h',['../_intelli_tool_8h.html',1,'']]], + ['intellitoolcircle_2ecpp_173',['IntelliToolCircle.cpp',['../_intelli_tool_circle_8cpp.html',1,'']]], + ['intellitoolcircle_2eh_174',['IntelliToolCircle.h',['../_intelli_tool_circle_8h.html',1,'']]], + ['intellitoolfloodfill_2ecpp_175',['IntelliToolFloodFill.cpp',['../_intelli_tool_flood_fill_8cpp.html',1,'']]], + ['intellitoolfloodfill_2eh_176',['IntelliToolFloodFill.h',['../_intelli_tool_flood_fill_8h.html',1,'']]], + ['intellitoolline_2ecpp_177',['IntelliToolLine.cpp',['../_intelli_tool_line_8cpp.html',1,'']]], + ['intellitoolline_2eh_178',['IntelliToolLine.h',['../_intelli_tool_line_8h.html',1,'']]], + ['intellitoolpen_2ecpp_179',['IntelliToolPen.cpp',['../_intelli_tool_pen_8cpp.html',1,'']]], + ['intellitoolpen_2eh_180',['IntelliToolPen.h',['../_intelli_tool_pen_8h.html',1,'']]], + ['intellitoolplain_2ecpp_181',['IntelliToolPlain.cpp',['../_intelli_tool_plain_8cpp.html',1,'']]], + ['intellitoolplain_2eh_182',['IntelliToolPlain.h',['../_intelli_tool_plain_8h.html',1,'']]], + ['intellitoolpolygon_2ecpp_183',['IntelliToolPolygon.cpp',['../_intelli_tool_polygon_8cpp.html',1,'']]], + ['intellitoolpolygon_2eh_184',['IntelliToolPolygon.h',['../_intelli_tool_polygon_8h.html',1,'']]], + ['intellitoolrectangle_2ecpp_185',['IntelliToolRectangle.cpp',['../_intelli_tool_rectangle_8cpp.html',1,'']]], + ['intellitoolrectangle_2eh_186',['IntelliToolRectangle.h',['../_intelli_tool_rectangle_8h.html',1,'']]] +]; diff --git a/docs/html/search/files_1.html b/docs/html/search/files_1.html new file mode 100644 index 0000000..73e2c8b --- /dev/null +++ b/docs/html/search/files_1.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/files_1.js b/docs/html/search/files_1.js new file mode 100644 index 0000000..0861fdb --- /dev/null +++ b/docs/html/search/files_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['main_2ecpp_187',['main.cpp',['../main_8cpp.html',1,'']]] +]; diff --git a/docs/html/search/files_2.html b/docs/html/search/files_2.html new file mode 100644 index 0000000..24cb541 --- /dev/null +++ b/docs/html/search/files_2.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/files_2.js b/docs/html/search/files_2.js new file mode 100644 index 0000000..deeaab4 --- /dev/null +++ b/docs/html/search/files_2.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['paintingarea_2ecpp_188',['PaintingArea.cpp',['../_painting_area_8cpp.html',1,'']]], + ['paintingarea_2eh_189',['PaintingArea.h',['../_painting_area_8h.html',1,'']]] +]; diff --git a/docs/html/search/functions_0.html b/docs/html/search/functions_0.html new file mode 100644 index 0000000..8a729f7 --- /dev/null +++ b/docs/html/search/functions_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/functions_0.js b/docs/html/search/functions_0.js new file mode 100644 index 0000000..9302cbc --- /dev/null +++ b/docs/html/search/functions_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['addlayer_190',['addLayer',['../class_painting_area.html#a39ad76e1319659bfa38eee88ef33d395',1,'PaintingArea']]], + ['addlayerat_191',['addLayerAt',['../class_painting_area.html#ae756003b49aead863b49616ea7a44cc0',1,'PaintingArea']]] +]; diff --git a/docs/html/search/functions_1.html b/docs/html/search/functions_1.html new file mode 100644 index 0000000..d4929aa --- /dev/null +++ b/docs/html/search/functions_1.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/functions_1.js b/docs/html/search/functions_1.js new file mode 100644 index 0000000..a0f86a7 --- /dev/null +++ b/docs/html/search/functions_1.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['calculatetriangles_192',['calculateTriangles',['../namespace_intelli_helper.html#a214dc3624ba4562a03dc922e3dd7b617',1,'IntelliHelper']]], + ['calculatevisiblity_193',['calculateVisiblity',['../class_intelli_image.html#aebbced93f4744fad81b7f141b21f4ab2',1,'IntelliImage::calculateVisiblity()'],['../class_intelli_raster_image.html#a87cf2d360c129d64a5db0db85818eb60',1,'IntelliRasterImage::calculateVisiblity()']]], + ['closeevent_194',['closeEvent',['../class_intelli_photo_gui.html#a2cf48070236ae8b35245e7f30482ef13',1,'IntelliPhotoGui']]], + ['colorpickersetfirstcolor_195',['colorPickerSetFirstColor',['../class_painting_area.html#a4735d4cf1dc58a9096d904e74c39c4df',1,'PaintingArea']]], + ['colorpickersetsecondcolor_196',['colorPickerSetSecondColor',['../class_painting_area.html#ae261acaaa346610dfed489dbac17e789',1,'PaintingArea']]], + ['colorpickerswitchcolor_197',['colorPickerSwitchColor',['../class_painting_area.html#a66115307ff4a99cd7ca16423c5c8ecfb',1,'PaintingArea']]], + ['createcircletool_198',['createCircleTool',['../class_painting_area.html#a2d9f4b3585f7dd1acb11f432ca503466',1,'PaintingArea']]], + ['createfloodfilltool_199',['createFloodFillTool',['../class_painting_area.html#a0b22e18069b524f3e75857d203baf256',1,'PaintingArea']]], + ['createlinetool_200',['createLineTool',['../class_painting_area.html#a240c33a7875addac86080cdfb0db036a',1,'PaintingArea']]], + ['createpentool_201',['createPenTool',['../class_painting_area.html#a96c6248e343e44b61cf2625cb6d21353',1,'PaintingArea']]], + ['createplaintool_202',['createPlainTool',['../class_painting_area.html#a3de83443d2d5cf460ff48d0602070938',1,'PaintingArea']]], + ['createpolygontool_203',['createPolygonTool',['../class_painting_area.html#a13c2f94644bea9c2d3123d0b7898f34b',1,'PaintingArea']]], + ['createrectangletool_204',['createRectangleTool',['../class_painting_area.html#a5b04ce62ce024e307f54e0281f7ae4bd',1,'PaintingArea']]] +]; diff --git a/docs/html/search/functions_2.html b/docs/html/search/functions_2.html new file mode 100644 index 0000000..07e3fda --- /dev/null +++ b/docs/html/search/functions_2.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/functions_2.js b/docs/html/search/functions_2.js new file mode 100644 index 0000000..3aea88a --- /dev/null +++ b/docs/html/search/functions_2.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['deletelayer_205',['deleteLayer',['../class_painting_area.html#a6efad6f8ea060674b157b42b431cd173',1,'PaintingArea']]], + ['drawline_206',['drawLine',['../class_intelli_image.html#af8eddbd9aa54c8d37590d1d4bf8dce31',1,'IntelliImage']]], + ['drawpixel_207',['drawPixel',['../class_intelli_image.html#af3c859f5c409e37051edfd9e9fbca056',1,'IntelliImage']]], + ['drawplain_208',['drawPlain',['../class_intelli_image.html#a6be622810dc2bc756054bb5769becb06',1,'IntelliImage']]], + ['drawpoint_209',['drawPoint',['../class_intelli_image.html#a2e787f1b333b59401643936ebb3dcfe1',1,'IntelliImage']]] +]; diff --git a/docs/html/search/functions_3.html b/docs/html/search/functions_3.html new file mode 100644 index 0000000..40bd389 --- /dev/null +++ b/docs/html/search/functions_3.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/functions_3.js b/docs/html/search/functions_3.js new file mode 100644 index 0000000..06156fd --- /dev/null +++ b/docs/html/search/functions_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['floodfill_210',['floodFill',['../class_painting_area.html#aeb5eb394b979ea90f2be9849fdda1774',1,'PaintingArea']]] +]; diff --git a/docs/html/search/functions_4.html b/docs/html/search/functions_4.html new file mode 100644 index 0000000..8a4df4c --- /dev/null +++ b/docs/html/search/functions_4.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/functions_4.js b/docs/html/search/functions_4.js new file mode 100644 index 0000000..ac5af75 --- /dev/null +++ b/docs/html/search/functions_4.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['getdeepcopy_211',['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_212',['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_213',['getFirstColor',['../class_intelli_color_picker.html#aae2eb27b928fe9388b9398b0556303b7',1,'IntelliColorPicker']]], + ['getheightofactive_214',['getHeightOfActive',['../class_painting_area.html#ac576f58aad03b4dcd47611b6a4b9abb4',1,'PaintingArea']]], + ['getpixelcolor_215',['getPixelColor',['../class_intelli_image.html#a4576ebb6d863321c816293d7b7f9fd3f',1,'IntelliImage']]], + ['getpolygondata_216',['getPolygonData',['../class_intelli_image.html#aaf9f3e8db8666850024bee9aad9966ba',1,'IntelliImage::getPolygonData()'],['../class_intelli_shaped_image.html#ae4518c7f5a105cc4f33fabb60c794a93',1,'IntelliShapedImage::getPolygonData()']]], + ['getsecondcolor_217',['getSecondColor',['../class_intelli_color_picker.html#a55568fbf5dc783f06284b7031ffe9415',1,'IntelliColorPicker']]], + ['getwidthofactive_218',['getWidthOfActive',['../class_painting_area.html#a675ee91b26b1c58be6d833f279d81597',1,'PaintingArea']]] +]; diff --git a/docs/html/search/functions_5.html b/docs/html/search/functions_5.html new file mode 100644 index 0000000..2b983b2 --- /dev/null +++ b/docs/html/search/functions_5.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/functions_5.js b/docs/html/search/functions_5.js new file mode 100644 index 0000000..cd12695 --- /dev/null +++ b/docs/html/search/functions_5.js @@ -0,0 +1,18 @@ +var searchData= +[ + ['intellicolorpicker_219',['IntelliColorPicker',['../class_intelli_color_picker.html#a0d1247bdd87add1396ea5d9acaad79ae',1,'IntelliColorPicker']]], + ['intelliimage_220',['IntelliImage',['../class_intelli_image.html#a47084f1cb668ea0242ab95162cf9e902',1,'IntelliImage']]], + ['intelliphotogui_221',['IntelliPhotoGui',['../class_intelli_photo_gui.html#ad2aaec3c1517a9aaa461b54e341b97e0',1,'IntelliPhotoGui']]], + ['intellirasterimage_222',['IntelliRasterImage',['../class_intelli_raster_image.html#aad9b561fe499a4da3c6ef98971aa3468',1,'IntelliRasterImage']]], + ['intellishapedimage_223',['IntelliShapedImage',['../class_intelli_shaped_image.html#a0f834c3f255baeb50c98ef335a6d0ea9',1,'IntelliShapedImage']]], + ['intellitool_224',['IntelliTool',['../class_intelli_tool.html#a346dd55d489fced38e7bb46f9168af91',1,'IntelliTool']]], + ['intellitoolcircle_225',['IntelliToolCircle',['../class_intelli_tool_circle.html#a9b185b9d327f8602d0b7f667b8d1d32a',1,'IntelliToolCircle']]], + ['intellitoolfloodfill_226',['IntelliToolFloodFill',['../class_intelli_tool_flood_fill.html#a83b51838da304e274bf866cf2fd5407a',1,'IntelliToolFloodFill']]], + ['intellitoolline_227',['IntelliToolLine',['../class_intelli_tool_line.html#a9b2d4bcd69409a21f6080edfea4ae2a2',1,'IntelliToolLine']]], + ['intellitoolpen_228',['IntelliToolPen',['../class_intelli_tool_pen.html#a889891b3ae7cdefb881aed2e7fff9b47',1,'IntelliToolPen']]], + ['intellitoolplaintool_229',['IntelliToolPlainTool',['../class_intelli_tool_plain_tool.html#a0ff0b9f7b78b763683076e4417236859',1,'IntelliToolPlainTool']]], + ['intellitoolpolygon_230',['IntelliToolPolygon',['../class_intelli_tool_polygon.html#ae6e5f07fdf88d12029410a032dc4921d',1,'IntelliToolPolygon']]], + ['intellitoolrectangle_231',['IntelliToolRectangle',['../class_intelli_tool_rectangle.html#aa9823939a8b8924520a2943cf6335c11',1,'IntelliToolRectangle']]], + ['isinpolygon_232',['isInPolygon',['../namespace_intelli_helper.html#a44d516b3e619e2a743e9c98dd75cf901',1,'IntelliHelper']]], + ['isintriangle_233',['isInTriangle',['../namespace_intelli_helper.html#a9fcfe72f00e870be4a8ab9f2e17483c9',1,'IntelliHelper']]] +]; diff --git a/docs/html/search/functions_6.html b/docs/html/search/functions_6.html new file mode 100644 index 0000000..f7d283d --- /dev/null +++ b/docs/html/search/functions_6.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/functions_6.js b/docs/html/search/functions_6.js new file mode 100644 index 0000000..4d04877 --- /dev/null +++ b/docs/html/search/functions_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['loadimage_234',['loadImage',['../class_intelli_image.html#aec0e9c8184d89dee33fd9adefbd2f8aa',1,'IntelliImage']]] +]; diff --git a/docs/html/search/functions_7.html b/docs/html/search/functions_7.html new file mode 100644 index 0000000..a74fe44 --- /dev/null +++ b/docs/html/search/functions_7.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/functions_7.js b/docs/html/search/functions_7.js new file mode 100644 index 0000000..28eff31 --- /dev/null +++ b/docs/html/search/functions_7.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['main_235',['main',['../main_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main.cpp']]], + ['mousemoveevent_236',['mouseMoveEvent',['../class_painting_area.html#aa22e274b6094a9619f196cd7b49526b5',1,'PaintingArea']]], + ['mousepressevent_237',['mousePressEvent',['../class_painting_area.html#abfe445f8d9b70ae42bfeda874127dd15',1,'PaintingArea']]], + ['mousereleaseevent_238',['mouseReleaseEvent',['../class_painting_area.html#a35b5df914acb608cc29717659793359c',1,'PaintingArea']]], + ['moveactivelayer_239',['moveActiveLayer',['../class_painting_area.html#ae05f6893fb44bfcb34018573a609cd1a',1,'PaintingArea']]], + ['movepositionactive_240',['movePositionActive',['../class_painting_area.html#ac6d089f4357b22d9a9906fd4771de3e7',1,'PaintingArea']]] +]; diff --git a/docs/html/search/functions_8.html b/docs/html/search/functions_8.html new file mode 100644 index 0000000..75fc0be --- /dev/null +++ b/docs/html/search/functions_8.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/functions_8.js b/docs/html/search/functions_8.js new file mode 100644 index 0000000..a9815e5 --- /dev/null +++ b/docs/html/search/functions_8.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['onmouseleftpressed_241',['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_242',['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_243',['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_244',['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_245',['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_246',['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_247',['open',['../class_painting_area.html#a1f597740b4d7b4bc2e24c51f8cb0b6eb',1,'PaintingArea']]] +]; diff --git a/docs/html/search/functions_9.html b/docs/html/search/functions_9.html new file mode 100644 index 0000000..7541c9e --- /dev/null +++ b/docs/html/search/functions_9.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/functions_9.js b/docs/html/search/functions_9.js new file mode 100644 index 0000000..d4d4e61 --- /dev/null +++ b/docs/html/search/functions_9.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['paintevent_248',['paintEvent',['../class_painting_area.html#a4a8138b9508ee4ec87a7fca9160368a7',1,'PaintingArea']]], + ['paintingarea_249',['PaintingArea',['../class_painting_area.html#a4fa0ec23e78cc59f28c823584c721460',1,'PaintingArea']]] +]; diff --git a/docs/html/search/functions_a.html b/docs/html/search/functions_a.html new file mode 100644 index 0000000..5a5be63 --- /dev/null +++ b/docs/html/search/functions_a.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/functions_a.js b/docs/html/search/functions_a.js new file mode 100644 index 0000000..2e4e571 --- /dev/null +++ b/docs/html/search/functions_a.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['resizeevent_250',['resizeEvent',['../class_painting_area.html#ab57e8ccda60fff7187463a90e65c5335',1,'PaintingArea']]], + ['resizeimage_251',['resizeImage',['../class_intelli_image.html#a177403ab9585d4ba31984a644c54d310',1,'IntelliImage']]] +]; diff --git a/docs/html/search/functions_b.html b/docs/html/search/functions_b.html new file mode 100644 index 0000000..fc2d5aa --- /dev/null +++ b/docs/html/search/functions_b.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/functions_b.js b/docs/html/search/functions_b.js new file mode 100644 index 0000000..c0906ad --- /dev/null +++ b/docs/html/search/functions_b.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['save_252',['save',['../class_painting_area.html#a612176cc9d629d22fd3fe1a746cce564',1,'PaintingArea']]], + ['setalphaoflayer_253',['setAlphaOfLayer',['../class_painting_area.html#aec59be20f1c27135700754882dd6383d',1,'PaintingArea']]], + ['setfirstcolor_254',['setFirstColor',['../class_intelli_color_picker.html#a7e2ddbbbfbed383f06b24e5bf6b27ae8',1,'IntelliColorPicker']]], + ['setlayertoactive_255',['setLayerToActive',['../class_painting_area.html#a1d6d86c25efdce9fe9031a9cd01c74c8',1,'PaintingArea']]], + ['setpolygon_256',['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_257',['setSecondColor',['../class_intelli_color_picker.html#a86bf4a940e4a0e465e30cbdf28748931',1,'IntelliColorPicker']]], + ['sign_258',['sign',['../namespace_intelli_helper.html#afdd9fe78cc5d21b59642910220768149',1,'IntelliHelper']]], + ['slotactivatelayer_259',['slotActivateLayer',['../class_painting_area.html#a71ac281e0de263208d4a3b9de74258ec',1,'PaintingArea']]], + ['slotdeleteactivelayer_260',['slotDeleteActiveLayer',['../class_painting_area.html#a1ff0b9c1227531943c9cec2c546fae5e',1,'PaintingArea']]], + ['switchcolors_261',['switchColors',['../class_intelli_color_picker.html#a437a6f20bf2fc0a4cbaf4c030c2a26d9',1,'IntelliColorPicker']]] +]; diff --git a/docs/html/search/functions_c.html b/docs/html/search/functions_c.html new file mode 100644 index 0000000..a1a1437 --- /dev/null +++ b/docs/html/search/functions_c.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/functions_c.js b/docs/html/search/functions_c.js new file mode 100644 index 0000000..1d5446d --- /dev/null +++ b/docs/html/search/functions_c.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['wheelevent_262',['wheelEvent',['../class_painting_area.html#a632848d99f44d33d7da2618fbc6775a4',1,'PaintingArea']]] +]; diff --git a/docs/html/search/functions_d.html b/docs/html/search/functions_d.html new file mode 100644 index 0000000..4375535 --- /dev/null +++ b/docs/html/search/functions_d.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/functions_d.js b/docs/html/search/functions_d.js new file mode 100644 index 0000000..fcd9747 --- /dev/null +++ b/docs/html/search/functions_d.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['_7eintellicolorpicker_263',['~IntelliColorPicker',['../class_intelli_color_picker.html#a40b975268a1f05249e8a49dde9a862ff',1,'IntelliColorPicker']]], + ['_7eintelliimage_264',['~IntelliImage',['../class_intelli_image.html#ac398bfa9ddd3185508a1e36ee15d80cc',1,'IntelliImage']]], + ['_7eintellirasterimage_265',['~IntelliRasterImage',['../class_intelli_raster_image.html#a844a2b58c43f7e01f2ca116286371bc8',1,'IntelliRasterImage']]], + ['_7eintellishapedimage_266',['~IntelliShapedImage',['../class_intelli_shaped_image.html#a43d63d8a814852d377ee2030658fbab9',1,'IntelliShapedImage']]], + ['_7eintellitool_267',['~IntelliTool',['../class_intelli_tool.html#a57fb1b27d364c9e3696eb928b75fa9f2',1,'IntelliTool']]], + ['_7eintellitoolcircle_268',['~IntelliToolCircle',['../class_intelli_tool_circle.html#a7a03b65b95d7b5d72e6a92c95f068954',1,'IntelliToolCircle']]], + ['_7eintellitoolfloodfill_269',['~IntelliToolFloodFill',['../class_intelli_tool_flood_fill.html#a83b1bd8be0cbb32cdf61a9597ec849ba',1,'IntelliToolFloodFill']]], + ['_7eintellitoolline_270',['~IntelliToolLine',['../class_intelli_tool_line.html#acb600b0f4e9225ebce2937c2b7abb4c2',1,'IntelliToolLine']]], + ['_7eintellitoolpen_271',['~IntelliToolPen',['../class_intelli_tool_pen.html#ac77a025515d0fed6954556fe2b444818',1,'IntelliToolPen']]], + ['_7eintellitoolplaintool_272',['~IntelliToolPlainTool',['../class_intelli_tool_plain_tool.html#a91fe568be05c075814d67440472bb658',1,'IntelliToolPlainTool']]], + ['_7eintellitoolpolygon_273',['~IntelliToolPolygon',['../class_intelli_tool_polygon.html#a087cbf2254010989df6106a357471499',1,'IntelliToolPolygon']]], + ['_7eintellitoolrectangle_274',['~IntelliToolRectangle',['../class_intelli_tool_rectangle.html#a7dc1463e726a21255e6297241dc71fb1',1,'IntelliToolRectangle']]], + ['_7epaintingarea_275',['~PaintingArea',['../class_painting_area.html#aa32adc113f77031945f73e33051931e8',1,'PaintingArea']]] +]; diff --git a/docs/html/search/mag_sel.png b/docs/html/search/mag_sel.png new file mode 100644 index 0000000..39c0ed5 Binary files /dev/null and b/docs/html/search/mag_sel.png differ diff --git a/docs/html/search/namespaces_0.html b/docs/html/search/namespaces_0.html new file mode 100644 index 0000000..93c99f9 --- /dev/null +++ b/docs/html/search/namespaces_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/namespaces_0.js b/docs/html/search/namespaces_0.js new file mode 100644 index 0000000..b04b785 --- /dev/null +++ b/docs/html/search/namespaces_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['intellihelper_158',['IntelliHelper',['../namespace_intelli_helper.html',1,'']]] +]; diff --git a/docs/html/search/nomatches.html b/docs/html/search/nomatches.html new file mode 100644 index 0000000..4377320 --- /dev/null +++ b/docs/html/search/nomatches.html @@ -0,0 +1,12 @@ + + + + + + + +
    +
    No Matches
    +
    + + diff --git a/docs/html/search/search.css b/docs/html/search/search.css new file mode 100644 index 0000000..4114870 --- /dev/null +++ b/docs/html/search/search.css @@ -0,0 +1,271 @@ +/*---------------- Search Box */ + +#FSearchBox { + float: left; +} + +#MSearchBox { + white-space : nowrap; + float: none; + margin-top: 8px; + right: 0px; + width: 170px; + height: 24px; + z-index: 102; +} + +#MSearchBox .left +{ + display:block; + position:absolute; + left:10px; + width:20px; + height:19px; + background:url('search_l.png') no-repeat; + background-position:right; +} + +#MSearchSelect { + display:block; + position:absolute; + width:20px; + height:19px; +} + +.left #MSearchSelect { + left:4px; +} + +.right #MSearchSelect { + right:5px; +} + +#MSearchField { + display:block; + position:absolute; + height:19px; + background:url('search_m.png') repeat-x; + border:none; + width:115px; + margin-left:20px; + padding-left:4px; + color: #909090; + outline: none; + font: 9pt Arial, Verdana, sans-serif; + -webkit-border-radius: 0px; +} + +#FSearchBox #MSearchField { + margin-left:15px; +} + +#MSearchBox .right { + display:block; + position:absolute; + right:10px; + top:8px; + width:20px; + height:19px; + background:url('search_r.png') no-repeat; + background-position:left; +} + +#MSearchClose { + display: none; + position: absolute; + top: 4px; + background : none; + border: none; + margin: 0px 4px 0px 0px; + padding: 0px 0px; + outline: none; +} + +.left #MSearchClose { + left: 6px; +} + +.right #MSearchClose { + right: 2px; +} + +.MSearchBoxActive #MSearchField { + color: #000000; +} + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #AFAFAF; + background-color: #FAFAFB; + z-index: 10001; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt Arial, Verdana, sans-serif; + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: monospace; + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: #000000; + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: #000000; + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: #FFFFFF; + background-color: #646465; + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + width: 60ex; + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #000; + background-color: #F2F2F2; + z-index:10000; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; + padding-bottom: 15px; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +body.SRPage { + margin: 5px 2px; +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: #6C6C6D; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: #6C6C6D; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; +} + +.SRResult { + display: none; +} + +DIV.searchresults { + margin-left: 10px; + margin-right: 10px; +} + +/*---------------- External search page results */ + +.searchresult { + background-color: #F4F4F4; +} + +.pages b { + color: white; + padding: 5px 5px 3px 5px; + background-image: url("../tab_a.png"); + background-repeat: repeat-x; + text-shadow: 0 1px 1px #000000; +} + +.pages { + line-height: 17px; + margin-left: 4px; + text-decoration: none; +} + +.hl { + font-weight: bold; +} + +#searchresults { + margin-bottom: 20px; +} + +.searchpages { + margin-top: 10px; +} + diff --git a/docs/html/search/search.js b/docs/html/search/search.js new file mode 100644 index 0000000..a554ab9 --- /dev/null +++ b/docs/html/search/search.js @@ -0,0 +1,814 @@ +/* + @licstart The following is the entire license notice for the + JavaScript code in this file. + + Copyright (C) 1997-2017 by Dimitri van Heesch + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + @licend The above is the entire license notice + for the JavaScript code in this file + */ +function convertToId(search) +{ + var result = ''; + for (i=0;i do a search + { + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex0) // Up + { + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } + else if (e.keyCode==13 || e.keyCode==27) + { + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() + { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() + { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() + { + this.keyTimeout = 0; + + // strip leading whitespace + var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + var code = searchValue.toLowerCase().charCodeAt(0); + var idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair + { + idxChar = searchValue.substr(0, 2); + } + + var resultsPage; + var resultsPageWithSearch; + var hasResultsPage; + + var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) + { + var hexCode=idx.toString(16); + resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; + resultsPageWithSearch = resultsPage+'?'+escape(searchValue); + hasResultsPage = true; + } + else // nothing available for this search term + { + resultsPage = this.resultsPath + '/nomatches.html'; + resultsPageWithSearch = resultsPage; + hasResultsPage = false; + } + + window.frames.MSearchResults.location = resultsPageWithSearch; + var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + + if (domPopupSearchResultsWindow.style.display!='block') + { + var domSearchBox = this.DOMSearchBox(); + this.DOMSearchClose().style.display = 'inline'; + if (this.insideFrame) + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + domPopupSearchResultsWindow.style.position = 'relative'; + domPopupSearchResultsWindow.style.display = 'block'; + var width = document.body.clientWidth - 8; // the -8 is for IE :-( + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResults.style.width = width + 'px'; + } + else + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; + var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + } + } + + this.lastSearchValue = searchValue; + this.lastResultsPage = resultsPage; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) + { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) + { + this.DOMSearchBox().className = 'MSearchBoxActive'; + + var searchField = this.DOMSearchField(); + + if (searchField.value == this.searchLabel) // clear "Search" term upon entry + { + searchField.value = ''; + this.searchActive = true; + } + } + else if (!isActive) // directly remove the panel + { + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.DOMSearchField().value = this.searchLabel; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults(name) +{ + // The number of matches from the last run of . + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) + { + var parentElement = document.getElementById(id); + var element = parentElement.firstChild; + + while (element && element!=parentElement) + { + if (element.nodeName == 'DIV' && element.className == 'SRChildren') + { + return element; + } + + if (element.nodeName == 'DIV' && element.hasChildNodes()) + { + element = element.firstChild; + } + else if (element.nextSibling) + { + element = element.nextSibling; + } + else + { + do + { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) + { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) + { + var element = this.FindChildElement(id); + if (element) + { + if (element.style.display == 'block') + { + element.style.display = 'none'; + } + else + { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) + { + if (!search) // get search word from URL + { + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + var resultRows = document.getElementsByTagName("div"); + var matches = 0; + + var i = 0; + while (i < resultRows.length) + { + var row = resultRows.item(i); + if (row.className == "SRResult") + { + var rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) + { + row.style.display = 'block'; + matches++; + } + else + { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) // no results + { + document.getElementById("NoMatches").style.display='block'; + } + else // at least one result + { + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) + { + if (e.type == "keydown") + { + this.repeatOn = false; + this.lastKey = e.keyCode; + } + else if (e.type == "keypress") + { + if (!this.repeatOn) + { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } + else if (e.type == "keyup") + { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + var newIndex = itemIndex-1; + var focusItem = this.NavPrev(newIndex); + if (focusItem) + { + var child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') // children visible + { + var n=0; + var tmpElem; + while (1) // search for last child + { + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) + { + focusItem = tmpElem; + } + else // found it! + { + break; + } + n++; + } + } + } + if (focusItem) + { + focusItem.focus(); + } + else // return focus to search field + { + parent.document.getElementById("MSearchField").focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = itemIndex+1; + var focusItem; + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') // children visible + { + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } + else if (this.lastKey==39) // Right + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } + else if (this.lastKey==37) // Left + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + if (childIndex>0) + { + var newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } + else // already at first child, jump to parent + { + document.getElementById('Item'+itemIndex).focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = childIndex+1; + var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) // last child, jump to parent next parent + { + elem = this.NavNext(itemIndex+1); + } + if (elem) + { + elem.focus(); + } + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } +} + +function setKeyActions(elem,action) +{ + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); +} + +function setClassAttr(elem,attr) +{ + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); +} + +function createResults() +{ + var results = document.getElementById("SRResults"); + for (var e=0; e + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/variables_0.js b/docs/html/search/variables_0.js new file mode 100644 index 0000000..5b52b7e --- /dev/null +++ b/docs/html/search/variables_0.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['a_276',['A',['../struct_triangle.html#a4fe8b39e0144ebff908b7718c2f2751b',1,'Triangle']]], + ['active_277',['Active',['../class_intelli_tool.html#a13512e95d21a9934ecb36d73b118c25f',1,'IntelliTool']]], + ['alpha_278',['alpha',['../struct_layer_object.html#a402cb1d9f20436032fe080681b80eb56',1,'LayerObject']]], + ['area_279',['Area',['../class_intelli_tool.html#ab4c2698a0f9f25fb6639ec760d2d0289',1,'IntelliTool']]] +]; diff --git a/docs/html/search/variables_1.html b/docs/html/search/variables_1.html new file mode 100644 index 0000000..b243c42 --- /dev/null +++ b/docs/html/search/variables_1.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/variables_1.js b/docs/html/search/variables_1.js new file mode 100644 index 0000000..a2b29fc --- /dev/null +++ b/docs/html/search/variables_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['b_280',['B',['../struct_triangle.html#a64fa6a90a6131f12a1a3054bf86647d7',1,'Triangle']]] +]; diff --git a/docs/html/search/variables_2.html b/docs/html/search/variables_2.html new file mode 100644 index 0000000..647df20 --- /dev/null +++ b/docs/html/search/variables_2.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/variables_2.js b/docs/html/search/variables_2.js new file mode 100644 index 0000000..9c0a3cc --- /dev/null +++ b/docs/html/search/variables_2.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['c_281',['C',['../struct_triangle.html#addb8aaab314d79f3617acca01e12872a',1,'Triangle']]], + ['canvas_282',['Canvas',['../class_intelli_tool.html#a144d469cc03584f501194529a1b53c77',1,'IntelliTool']]], + ['colorpicker_283',['colorPicker',['../class_intelli_tool.html#ae2e0ac394611a361ab4ef2fe55c03fef',1,'IntelliTool']]] +]; diff --git a/docs/html/search/variables_3.html b/docs/html/search/variables_3.html new file mode 100644 index 0000000..9dc9b89 --- /dev/null +++ b/docs/html/search/variables_3.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/variables_3.js b/docs/html/search/variables_3.js new file mode 100644 index 0000000..11f31da --- /dev/null +++ b/docs/html/search/variables_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['drawing_284',['drawing',['../class_intelli_tool.html#af256de16e9825922d20a23d11617b51b',1,'IntelliTool']]] +]; diff --git a/docs/html/search/variables_4.html b/docs/html/search/variables_4.html new file mode 100644 index 0000000..78cc2c7 --- /dev/null +++ b/docs/html/search/variables_4.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/variables_4.js b/docs/html/search/variables_4.js new file mode 100644 index 0000000..0d0c5be --- /dev/null +++ b/docs/html/search/variables_4.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['height_285',['height',['../struct_layer_object.html#ae0003fb815e50ed587a9897988befc90',1,'LayerObject']]], + ['heightoffset_286',['heightOffset',['../struct_layer_object.html#a08bacdcd64a0ae0eb5376f55329954bc',1,'LayerObject']]] +]; diff --git a/docs/html/search/variables_5.html b/docs/html/search/variables_5.html new file mode 100644 index 0000000..dfa3558 --- /dev/null +++ b/docs/html/search/variables_5.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/variables_5.js b/docs/html/search/variables_5.js new file mode 100644 index 0000000..1f735ac --- /dev/null +++ b/docs/html/search/variables_5.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['image_287',['image',['../struct_layer_object.html#af01a139bc8edfdbb338393874e89bd83',1,'LayerObject']]], + ['imagedata_288',['imageData',['../class_intelli_image.html#a2431be82e9e85dd34b62a7f7cba053c2',1,'IntelliImage']]] +]; diff --git a/docs/html/search/variables_6.html b/docs/html/search/variables_6.html new file mode 100644 index 0000000..cd462bd --- /dev/null +++ b/docs/html/search/variables_6.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/variables_6.js b/docs/html/search/variables_6.js new file mode 100644 index 0000000..fc61886 --- /dev/null +++ b/docs/html/search/variables_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['polygondata_289',['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 new file mode 100644 index 0000000..47994b8 --- /dev/null +++ b/docs/html/search/variables_7.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/variables_7.js b/docs/html/search/variables_7.js new file mode 100644 index 0000000..4da23c3 --- /dev/null +++ b/docs/html/search/variables_7.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['width_290',['width',['../struct_layer_object.html#af261813df52ff0b0c82bfa57efeb9897',1,'LayerObject']]], + ['widthoffset_291',['widthOffset',['../struct_layer_object.html#a72b44d27c7bbb60dde14f04ec240ab96',1,'LayerObject']]] +]; diff --git a/docs/html/splitbar.png b/docs/html/splitbar.png new file mode 100644 index 0000000..343046b Binary files /dev/null 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 new file mode 100644 index 0000000..702a111 --- /dev/null +++ b/docs/html/struct_layer_object-members.html @@ -0,0 +1,113 @@ + + + + + + + +IntelliPhoto: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    IntelliPhoto +  0.5 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    LayerObject Member List
    +
    +
    + +

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

    + + + + + + + +
    alphaLayerObject
    heightLayerObject
    heightOffsetLayerObject
    imageLayerObject
    widthLayerObject
    widthOffsetLayerObject
    +
    + + + + diff --git a/docs/html/struct_layer_object.html b/docs/html/struct_layer_object.html new file mode 100644 index 0000000..537455d --- /dev/null +++ b/docs/html/struct_layer_object.html @@ -0,0 +1,248 @@ + + + + + + + +IntelliPhoto: LayerObject Struct Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    IntelliPhoto +  0.5 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    LayerObject Struct Reference
    +
    +
    + +

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

    + +

    #include <PaintingArea.h>

    +
    +Collaboration diagram for LayerObject:
    +
    +
    Collaboration graph
    +
    [legend]
    + + + + + + + + + + + + + + +

    +Public Attributes

    IntelliImageimage
     
    int width
     
    int height
     
    int widthOffset
     
    int heightOffset
     
    int alpha =255
     
    +

    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 24 of file PaintingArea.h.

    +

    Member Data Documentation

    + +

    ◆ alpha

    + +
    +
    + + + + +
    int LayerObject::alpha =255
    +
    + +

    Definition at line 30 of file PaintingArea.h.

    + +
    +
    + +

    ◆ height

    + +
    +
    + + + + +
    int LayerObject::height
    +
    + +

    Definition at line 27 of file PaintingArea.h.

    + +
    +
    + +

    ◆ heightOffset

    + +
    +
    + + + + +
    int LayerObject::heightOffset
    +
    + +

    Definition at line 29 of file PaintingArea.h.

    + +
    +
    + +

    ◆ image

    + +
    +
    + + + + +
    IntelliImage* LayerObject::image
    +
    + +

    Definition at line 25 of file PaintingArea.h.

    + +
    +
    + +

    ◆ width

    + +
    +
    + + + + +
    int LayerObject::width
    +
    + +

    Definition at line 26 of file PaintingArea.h.

    + +
    +
    + +

    ◆ widthOffset

    + +
    +
    + + + + +
    int LayerObject::widthOffset
    +
    + +

    Definition at line 28 of file PaintingArea.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/html/struct_layer_object.js b/docs/html/struct_layer_object.js new file mode 100644 index 0000000..c686168 --- /dev/null +++ b/docs/html/struct_layer_object.js @@ -0,0 +1,9 @@ +var struct_layer_object = +[ + [ "alpha", "struct_layer_object.html#a402cb1d9f20436032fe080681b80eb56", null ], + [ "height", "struct_layer_object.html#ae0003fb815e50ed587a9897988befc90", null ], + [ "heightOffset", "struct_layer_object.html#a08bacdcd64a0ae0eb5376f55329954bc", null ], + [ "image", "struct_layer_object.html#af01a139bc8edfdbb338393874e89bd83", null ], + [ "width", "struct_layer_object.html#af261813df52ff0b0c82bfa57efeb9897", null ], + [ "widthOffset", "struct_layer_object.html#a72b44d27c7bbb60dde14f04ec240ab96", null ] +]; \ No newline at end of file diff --git a/docs/html/struct_layer_object__coll__graph.dot b/docs/html/struct_layer_object__coll__graph.dot new file mode 100644 index 0000000..780664f --- /dev/null +++ b/docs/html/struct_layer_object__coll__graph.dot @@ -0,0 +1,9 @@ +digraph "LayerObject" +{ + // LATEX_PDF_SIZE + edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; + node [fontname="Helvetica",fontsize="10",shape=record]; + Node1 [label="LayerObject",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="The LayerObject struct holds all the information needed to construct a layer."]; + Node2 -> Node1 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label=" image" ,fontname="Helvetica"]; + Node2 [label="IntelliImage",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_intelli_image.html",tooltip="An abstract class which manages the basic IntelliImage operations."]; +} diff --git a/docs/html/struct_triangle-members.html b/docs/html/struct_triangle-members.html new file mode 100644 index 0000000..883f66a --- /dev/null +++ b/docs/html/struct_triangle-members.html @@ -0,0 +1,110 @@ + + + + + + + +IntelliPhoto: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    IntelliPhoto +  0.5 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    Triangle Member List
    +
    +
    + +

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

    + + + + +
    ATriangle
    BTriangle
    CTriangle
    +
    + + + + diff --git a/docs/html/struct_triangle.html b/docs/html/struct_triangle.html new file mode 100644 index 0000000..f0e832d --- /dev/null +++ b/docs/html/struct_triangle.html @@ -0,0 +1,179 @@ + + + + + + + +IntelliPhoto: Triangle Struct Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    IntelliPhoto +  0.5 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    Triangle Struct Reference
    +
    +
    + +

    The Triangle struct holds the 3 vertices of a triangle. + More...

    + +

    #include <IntelliHelper.h>

    + + + + + + + + +

    +Public Attributes

    QPoint A
     
    QPoint B
     
    QPoint C
     
    +

    Detailed Description

    +

    The Triangle struct holds the 3 vertices of a triangle.

    + +

    Definition at line 10 of file IntelliHelper.h.

    +

    Member Data Documentation

    + +

    ◆ A

    + +
    +
    + + + + +
    QPoint Triangle::A
    +
    + +

    Definition at line 11 of file IntelliHelper.h.

    + +
    +
    + +

    ◆ B

    + +
    +
    + + + + +
    QPoint Triangle::B
    +
    + +

    Definition at line 11 of file IntelliHelper.h.

    + +
    +
    + +

    ◆ C

    + +
    +
    + + + + +
    QPoint Triangle::C
    +
    + +

    Definition at line 11 of file IntelliHelper.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/html/struct_triangle.js b/docs/html/struct_triangle.js new file mode 100644 index 0000000..5248a2d --- /dev/null +++ b/docs/html/struct_triangle.js @@ -0,0 +1,6 @@ +var struct_triangle = +[ + [ "A", "struct_triangle.html#a4fe8b39e0144ebff908b7718c2f2751b", null ], + [ "B", "struct_triangle.html#a64fa6a90a6131f12a1a3054bf86647d7", null ], + [ "C", "struct_triangle.html#addb8aaab314d79f3617acca01e12872a", null ] +]; \ No newline at end of file diff --git a/docs/html/sync_off.png b/docs/html/sync_off.png new file mode 100644 index 0000000..05a52f3 Binary files /dev/null and b/docs/html/sync_off.png differ diff --git a/docs/html/sync_on.png b/docs/html/sync_on.png new file mode 100644 index 0000000..051e1cd Binary files /dev/null and b/docs/html/sync_on.png differ diff --git a/docs/html/tab_a.png b/docs/html/tab_a.png new file mode 100644 index 0000000..160ff54 Binary files /dev/null and b/docs/html/tab_a.png differ diff --git a/docs/html/tab_b.png b/docs/html/tab_b.png new file mode 100644 index 0000000..9b2c2c5 Binary files /dev/null and b/docs/html/tab_b.png differ diff --git a/docs/html/tab_h.png b/docs/html/tab_h.png new file mode 100644 index 0000000..d72f749 Binary files /dev/null and b/docs/html/tab_h.png differ diff --git a/docs/html/tab_s.png b/docs/html/tab_s.png new file mode 100644 index 0000000..3940744 Binary files /dev/null and b/docs/html/tab_s.png differ diff --git a/docs/html/tabs.css b/docs/html/tabs.css new file mode 100644 index 0000000..85a0cd5 --- /dev/null +++ b/docs/html/tabs.css @@ -0,0 +1 @@ +.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0 1px 1px rgba(255,255,255,0.9);color:#283a5d;outline:0}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace!important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283a5d transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;-moz-border-radius:0!important;-webkit-border-radius:0;border-radius:0!important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a:hover span.sub-arrow{border-color:white transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;-moz-border-radius:5px!important;-webkit-border-radius:5px;border-radius:5px!important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0!important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent white}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px!important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}} \ No newline at end of file diff --git a/docs/manual.pdf b/docs/manual.pdf deleted file mode 100644 index ee4cebc..0000000 Binary files a/docs/manual.pdf and /dev/null differ diff --git a/src/GUI/IntelliPhotoGui.cpp b/src/GUI/IntelliPhotoGui.cpp index a25999b..063f4b7 100644 --- a/src/GUI/IntelliPhotoGui.cpp +++ b/src/GUI/IntelliPhotoGui.cpp @@ -8,467 +8,492 @@ // IntelliPhotoGui constructor IntelliPhotoGui::IntelliPhotoGui(){ - //create Gui elements and lay them out - createGui(); - // Create actions - createActions(); - //create Menus - createMenus(); - //set style of the gui - setIntelliStyle(); + // create Gui elements and lay them out + createGui(); + // Create actions + createActions(); + // create Menus + createMenus(); + // set style of the gui + setIntelliStyle(); + // Size the app + resize(600,600); + showMaximized(); - // Size the app - showMaximized(); } // User tried to close the app -void IntelliPhotoGui::closeEvent(QCloseEvent *event){ - // If they try to close maybeSave() returns true - // if no changes have been made and the app closes - if (maybeSave()) { - event->accept(); - } else { - - // If there have been changes ignore the event - event->ignore(); - } +void IntelliPhotoGui::closeEvent(QCloseEvent*event){ + // If they try to close maybeSave() returns true + // if no changes have been made and the app closes + if (maybeSave()) { + event->accept(); + } else { + // If there have been changes ignore the event + event->ignore(); + } } // Check if the current image has been changed and then // open a dialog to open a file void IntelliPhotoGui::slotOpen(){ - // Check if changes have been made since last save - // maybeSave() returns true if no changes have been made - if (maybeSave()) { + // Check if changes have been made since last save + // maybeSave() returns true if no changes have been made + if (maybeSave()) { - // Get the file to open from a dialog - // tr sets the window title to Open File - // QDir opens the current dirctory - QString fileName = QFileDialog::getOpenFileName(this, - tr("Open File"), QDir::currentPath()); + // Get the file to open from a dialog + // tr sets the window title to Open File + // QDir opens the current dirctory + QString fileName = QFileDialog::getOpenFileName(this, + tr("Open File"), QDir::currentPath(), nullptr, nullptr, QFileDialog::DontUseNativeDialog); - // If we have a file name load the image and place - // it in the paintingArea - if (!fileName.isEmpty()) - paintingArea->open(fileName); - } + // If we have a file name load the image and place + // it in the paintingArea + if (!fileName.isEmpty()) + paintingArea->open(fileName); + } } // Called when the user clicks Save As in the menu void IntelliPhotoGui::slotSave(){ - // A QAction represents the action of the user clicking - QAction *action = qobject_cast(sender()); + // A QAction represents the action of the user clicking + QAction*action = qobject_cast(sender()); - // Stores the array of bytes of the users data - QByteArray fileFormat = action->data().toByteArray(); + // Stores the array of bytes of the users data + QByteArray fileFormat = action->data().toByteArray(); - // Pass it to be saved - saveFile(fileFormat); + // Pass it to be saved + saveFile(fileFormat); } // Opens a dialog that allows the user to create a New Layer void IntelliPhotoGui::slotCreateNewLayer(){ - // Stores button value - bool ok1, ok2; + // Stores button value + bool ok1, ok2; - // tr("New Layer") is the title - // 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); - // Create New Layer - if (ok1&&ok2) - { - int layer = paintingArea->addLayer(width,height,0,0); - paintingArea->slotActivateLayer(layer); - } + // "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); + // Create New Layer + if (ok1&&ok2) + { + int layer = paintingArea->addLayer(width,height,0,0); + paintingArea->slotActivateLayer(layer); + } } // Opens a dialog that allows the user to delete a Layer void IntelliPhotoGui::slotDeleteLayer(){ - // Stores button value - bool ok; - - // tr("delete Layer") is the title - // 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:"), - 1,0, 500, 1, &ok); - // Create New Layer - if (ok) - paintingArea->deleteLayer(layerNumber); -} - -void slotCreatePenTool(){ - -} - -void slotCreateFloodFillTool(){ + // Stores button value + bool ok; + // "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:"), + 1,0, 500, 1, &ok); + // Create New Layer + if (ok) + paintingArea->deleteLayer(layerNumber); } void IntelliPhotoGui::slotSetActiveAlpha(){ - // Stores button value - bool ok1, ok2; + // Stores button value + bool ok1, ok2; - // tr("Layer to set on") is the title - // 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,100,1, &ok1); - // tr("New Alpha") is the title - int alpha = QInputDialog::getInt(this, tr("New Alpha"), - tr("Alpha:"), - 255,0, 255, 1, &ok2); - if (ok1&&ok2) - { - paintingArea->setAlphaOfLayer(layer,alpha); - } + // "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,100,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) + { + paintingArea->setAlphaOfLayer(layer,alpha); + } } void IntelliPhotoGui::slotPositionMoveUp(){ - paintingArea->movePositionActive(0,-20); - update(); + paintingArea->movePositionActive(0,-20); + update(); } void IntelliPhotoGui::slotPositionMoveDown(){ - paintingArea->movePositionActive(0,20); - update(); + paintingArea->movePositionActive(0,20); + update(); } void IntelliPhotoGui::slotPositionMoveLeft(){ - paintingArea->movePositionActive(-20,0); - update(); + paintingArea->movePositionActive(-20,0); + update(); } void IntelliPhotoGui::slotPositionMoveRight(){ - paintingArea->movePositionActive(20,0); - update(); + paintingArea->movePositionActive(20,0); + update(); } void IntelliPhotoGui::slotMoveLayerUp(){ - paintingArea->moveActiveLayer(1); - update(); + paintingArea->moveActiveLayer(1); + update(); } void IntelliPhotoGui::slotMoveLayerDown(){ - paintingArea->moveActiveLayer(-1); - update(); + paintingArea->moveActiveLayer(-1); + update(); } void IntelliPhotoGui::slotClearActiveLayer(){ - // Stores button value - bool ok1, ok2, ok3, ok4; + // Stores button value + bool ok1, ok2, ok3, ok4; - // tr("Red Input") is the title - // 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); - // tr("Green Input") is the title - int green = QInputDialog::getInt(this, tr("Green Input"), - tr("Green:"), - 255,0, 255, 1, &ok2); - // tr("Blue Input") is the title - int blue = QInputDialog::getInt(this, tr("Blue Input"), - tr("Blue:"), - 255,0, 255, 1, &ok3); - // tr("Alpha Input") is the title - 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); - } + // "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); + } } void IntelliPhotoGui::slotSetActiveLayer(){ - // Stores button value - bool ok1; + // Stores button value + bool ok1; - // tr("Layer to set on") is the title - // 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,0,255,1, &ok1); - if (ok1) - { - paintingArea->setLayerToActive(layer); - } -}; + // "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,0,255,1, &ok1); + if (ok1) + { + paintingArea->setLayerToActive(layer); + } +} void IntelliPhotoGui::slotSetFirstColor(){ - paintingArea->colorPickerSetFirstColor(); + paintingArea->colorPickerSetFirstColor(); } void IntelliPhotoGui::slotSetSecondColor(){ - paintingArea->colorPickerSetSecondColor(); + paintingArea->colorPickerSetSecondColor(); } void IntelliPhotoGui::slotSwitchColor(){ - paintingArea->colorPickerSwitchColor(); + paintingArea->colorPickerSwitchColor(); } void IntelliPhotoGui::slotCreatePenTool(){ - paintingArea->createPenTool(); + paintingArea->createPenTool(); } void IntelliPhotoGui::slotCreatePlainTool(){ - paintingArea->createPlainTool(); + paintingArea->createPlainTool(); } void IntelliPhotoGui::slotCreateLineTool(){ - paintingArea->createLineTool(); + paintingArea->createLineTool(); +} + +void IntelliPhotoGui::slotCreateRectangleTool(){ + paintingArea->createRectangleTool(); +} + +void IntelliPhotoGui::slotCreateCircleTool(){ + paintingArea->createCircleTool(); +} + +void IntelliPhotoGui::slotCreatePolygonTool(){ + paintingArea->createPolygonTool(); +} + +void IntelliPhotoGui::slotCreateFloodFillTool(){ + paintingArea->createFloodFillTool(); } // Open an about dialog void IntelliPhotoGui::slotAboutDialog(){ - // Window title and text to display - QMessageBox::about(this, tr("About Painting"), - tr("

    IntelliPhoto Some nice ass looking software

    ")); + // Window title and text to display + QMessageBox::about(this, tr("About Painting"), + tr("

    IntelliPhotoPretty basic editor.

    ")); } // Define menu actions that call functions void IntelliPhotoGui::createActions(){ - // Get a list of the supported file formats - // QImageWriter is used to write images to files - foreach (QByteArray format, QImageWriter::supportedImageFormats()) { - QString text = tr("%1...").arg(QString(format).toUpper()); + // Get a list of the supported file formats + // QImageWriter is used to write images to files + foreach (QByteArray format, QImageWriter::supportedImageFormats()) { + QString text = tr("%1...").arg(QString(format).toUpper()); - // Create an action for each file format - QAction *action = new QAction(text, this); + // Create an action for each file format + QAction*action = new QAction(text, this); - // Set an action for each file format - action->setData(format); + // Set an action for each file format + action->setData(format); - // When clicked call IntelliPhotoGui::save() - connect(action, SIGNAL(triggered()), this, SLOT(slotSave())); + // When clicked call IntelliPhotoGui::save() + connect(action, SIGNAL(triggered()), this, SLOT(slotSave())); - // Attach each file format option menu item to Save As - actionSaveAs.append(action); - } + // Attach each file format option menu item to Save As + actionSaveAs.append(action); + } - //set exporter to actions - QAction *pngSaveAction = new QAction("PNG-8", this); - pngSaveAction->setData("PNG"); - // When clicked call IntelliPhotoGui::save() - connect(pngSaveAction, SIGNAL(triggered()), this, SLOT(slotSave())); - // Attach each PNG in save Menu - actionSaveAs.append(pngSaveAction); + //set exporter to actions + QAction*pngSaveAction = new QAction("PNG-8", this); + pngSaveAction->setData("PNG"); + // When clicked call IntelliPhotoGui::save() + connect(pngSaveAction, SIGNAL(triggered()), this, SLOT(slotSave())); + // Attach each PNG in save Menu + actionSaveAs.append(pngSaveAction); - // Create exit action and tie to IntelliPhotoGui::close() - actionExit = new QAction(tr("&Exit"), this); - actionExit->setShortcuts(QKeySequence::Quit); - connect(actionExit, SIGNAL(triggered()), this, SLOT(close())); + // Create exit action and tie to IntelliPhotoGui::close() + actionExit = new QAction(tr("&Exit"), this); + actionExit->setShortcuts(QKeySequence::Quit); + connect(actionExit, SIGNAL(triggered()), this, SLOT(close())); - actionOpen = new QAction(tr("&Open"), this); - actionOpen->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_O)); - connect(actionOpen, SIGNAL(triggered()), this, SLOT(slotOpen())); + actionOpen = new QAction(tr("&Open"), this); + 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); - connect(actionCreateNewLayer, SIGNAL(triggered()), this, SLOT(slotCreateNewLayer())); + // 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())); - // Delete New Layer action and tie to IntelliPhotoGui::deleteLayer() - actionDeleteLayer = new QAction(tr("&Delete Layer..."), this); - connect(actionDeleteLayer, SIGNAL(triggered()), this, SLOT(slotDeleteLayer())); + // Delete New Layer action and tie to IntelliPhotoGui::deleteLayer() + actionDeleteLayer = new QAction(tr("&Delete Layer..."), this); + connect(actionDeleteLayer, SIGNAL(triggered()), this, SLOT(slotDeleteLayer())); - actionSetActiveLayer = new QAction(tr("&set Active"), this); - connect(actionSetActiveLayer, SIGNAL(triggered()), this, SLOT(slotSetActiveLayer())); + actionSetActiveLayer = new QAction(tr("&set Active"), this); + connect(actionSetActiveLayer, SIGNAL(triggered()), this, SLOT(slotSetActiveLayer())); - actionSetActiveAlpha = new QAction(tr("&set Alpha"), this); - connect(actionSetActiveAlpha, SIGNAL(triggered()), this, SLOT(slotSetActiveAlpha())); + actionSetActiveAlpha = new QAction(tr("&set Alpha"), this); + connect(actionSetActiveAlpha, SIGNAL(triggered()), this, SLOT(slotSetActiveAlpha())); - actionMovePositionUp = new QAction(tr("&move Up"), this); - actionMovePositionUp->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Up)); - connect(actionMovePositionUp, SIGNAL(triggered()), this, SLOT(slotPositionMoveUp())); + actionMovePositionUp = new QAction(tr("&move Up"), this); + actionMovePositionUp->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Up)); + connect(actionMovePositionUp, SIGNAL(triggered()), this, SLOT(slotPositionMoveUp())); - actionMovePositionDown = new QAction(tr("&move Down"), this); - actionMovePositionDown->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Down)); - connect(actionMovePositionDown, SIGNAL(triggered()), this, SLOT(slotPositionMoveDown())); + actionMovePositionDown = new QAction(tr("&move Down"), this); + actionMovePositionDown->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Down)); + connect(actionMovePositionDown, SIGNAL(triggered()), this, SLOT(slotPositionMoveDown())); - actionMovePositionLeft = new QAction(tr("&move Left"), this); - actionMovePositionLeft->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Left)); - connect(actionMovePositionLeft, SIGNAL(triggered()), this, SLOT(slotPositionMoveLeft())); + actionMovePositionLeft = new QAction(tr("&move Left"), this); + actionMovePositionLeft->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Left)); + connect(actionMovePositionLeft, SIGNAL(triggered()), this, SLOT(slotPositionMoveLeft())); - actionMovePositionRight = new QAction(tr("&move Right"), this); - actionMovePositionRight->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Right)); - connect(actionMovePositionRight, SIGNAL(triggered()), this, SLOT(slotPositionMoveRight())); + actionMovePositionRight = new QAction(tr("&move Right"), this); + actionMovePositionRight->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Right)); + connect(actionMovePositionRight, SIGNAL(triggered()), this, SLOT(slotPositionMoveRight())); - actionMoveLayerUp = new QAction(tr("&move Layer Up"), this); - actionMoveLayerUp->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_Up)); - connect(actionMoveLayerUp, SIGNAL(triggered()), this, SLOT(slotMoveLayerUp())); + actionMoveLayerUp = new QAction(tr("&move Layer Up"), this); + 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->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_Down)); - connect(actionMoveLayerDown, SIGNAL(triggered()), this, SLOT(slotMoveLayerDown())); + 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 Color Actions here - actionColorPickerFirstColor = new QAction(tr("&Main"), this); - connect(actionColorPickerFirstColor, SIGNAL(triggered()), this, SLOT(slotSetFirstColor())); + //Create Color Actions here + actionColorPickerFirstColor = new QAction(tr("&Main"), this); + connect(actionColorPickerFirstColor, SIGNAL(triggered()), this, SLOT(slotSetFirstColor())); - actionColorPickerSecondColor = new QAction(tr("&Secondary"), this); - connect(actionColorPickerSecondColor, SIGNAL(triggered()), this, SLOT(slotSetFirstColor())); + actionColorPickerSecondColor = new QAction(tr("&Secondary"), this); + connect(actionColorPickerSecondColor, SIGNAL(triggered()), this, SLOT(slotSetSecondColor())); - actionColorSwitch = new QAction(tr("&Switch"), this); - actionColorSwitch->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_S)); - connect(actionColorSwitch, SIGNAL(triggered()), this, SLOT(slotSwitchColor())); + actionColorSwitch = new QAction(tr("&Switch"), this); + actionColorSwitch->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_S)); + connect(actionColorSwitch, SIGNAL(triggered()), this, SLOT(slotSwitchColor())); - //Create Tool actions down here - actionCreatePlainTool = new QAction(tr("&Plain"), this); - connect(actionCreatePlainTool, SIGNAL(triggered()), this, SLOT(slotCreatePlainTool())); + //Create Tool actions down here + actionCreatePlainTool = new QAction(tr("&Plain"), this); + connect(actionCreatePlainTool, SIGNAL(triggered()), this, SLOT(slotCreatePlainTool())); - actionCreatePenTool = new QAction(tr("&Pen"),this); - connect(actionCreatePenTool, SIGNAL(triggered()), this, SLOT(slotCreatePenTool())); + actionCreatePenTool = new QAction(tr("&Pen"),this); + connect(actionCreatePenTool, SIGNAL(triggered()), this, SLOT(slotCreatePenTool())); - actionCreateLineTool = new QAction(tr("&Line"), this); - connect(actionCreateLineTool, SIGNAL(triggered()), this, SLOT(slotCreateLineTool())); + actionCreateLineTool = new QAction(tr("&Line"), this); + connect(actionCreateLineTool, SIGNAL(triggered()), this, SLOT(slotCreateLineTool())); - // Create about action and tie to IntelliPhotoGui::about() - actionAboutDialog = new QAction(tr("&About"), this); - connect(actionAboutDialog, SIGNAL(triggered()), this, SLOT(slotAboutDialog())); + actionCreateCircleTool = new QAction(tr("&Circle"), this); + connect(actionCreateCircleTool, SIGNAL(triggered()), this, SLOT(slotCreateCircleTool())); - // Create about Qt action and tie to IntelliPhotoGui::aboutQt() - actionAboutQtDialog = new QAction(tr("About &Qt"), this); - connect(actionAboutQtDialog, SIGNAL(triggered()), qApp, SLOT(aboutQt())); + actionCreateRectangleTool = new QAction(tr("&Rectangle"), this); + connect(actionCreateRectangleTool, SIGNAL(triggered()), this, SLOT(slotCreateRectangleTool())); + + actionCreatePolygonTool = new QAction(tr("&Polygon"), this); + connect(actionCreatePolygonTool, SIGNAL(triggered()), this, SLOT(slotCreatePolygonTool())); + + actionCreateFloodFillTool = new QAction(tr("&FloodFill"), this); + connect(actionCreateFloodFillTool, SIGNAL(triggered()), this, SLOT(slotCreateFloodFillTool())); + + // Create about action and tie to IntelliPhotoGui::about() + actionAboutDialog = new QAction(tr("&About"), this); + connect(actionAboutDialog, SIGNAL(triggered()), this, SLOT(slotAboutDialog())); + + // Create about Qt action and tie to IntelliPhotoGui::aboutQt() + actionAboutQtDialog = new QAction(tr("About &Qt"), this); + connect(actionAboutQtDialog, SIGNAL(triggered()), qApp, SLOT(aboutQt())); } // Create the menubar void IntelliPhotoGui::createMenus(){ - // Create Save As option and the list of file types - saveAsMenu = new QMenu(tr("&Save As"), this); - foreach (QAction *action, actionSaveAs) - saveAsMenu->addAction(action); + // Create Save As option and the list of file types + saveAsMenu = new QMenu(tr("&Save As"), this); + foreach (QAction *action, actionSaveAs) + saveAsMenu->addAction(action); - // Attach all actions to File - fileMenu = new QMenu(tr("&File"), this); - fileMenu->addAction(actionOpen); - fileMenu->addMenu(saveAsMenu); - fileMenu->addSeparator(); - fileMenu->addAction(actionExit); + // Attach all actions to File + fileMenu = new QMenu(tr("&File"), this); + fileMenu->addAction(actionOpen); + fileMenu->addMenu(saveAsMenu); + fileMenu->addSeparator(); + fileMenu->addAction(actionExit); - // Attach all actions to Options - optionMenu = new QMenu(tr("&Options"), this); - optionMenu->addAction(actionSetActiveLayer); - optionMenu->addAction(actionSetActiveAlpha); - optionMenu->addAction(actionMovePositionUp); - optionMenu->addAction(actionMovePositionDown); - optionMenu->addAction(actionMovePositionLeft); - optionMenu->addAction(actionMovePositionRight); - optionMenu->addAction(actionMoveLayerUp); - optionMenu->addAction(actionMoveLayerDown); + // Attach all actions to Options + optionMenu = new QMenu(tr("&Options"), this); + optionMenu->addAction(actionSetActiveLayer); + optionMenu->addAction(actionSetActiveAlpha); + optionMenu->addAction(actionMovePositionUp); + optionMenu->addAction(actionMovePositionDown); + optionMenu->addAction(actionMovePositionLeft); + optionMenu->addAction(actionMovePositionRight); + optionMenu->addAction(actionMoveLayerUp); + optionMenu->addAction(actionMoveLayerDown); - // Attach all actions to Layer - layerMenu = new QMenu(tr("&Layer"), this); - layerMenu->addAction(actionCreateNewLayer); - layerMenu->addAction(actionDeleteLayer); + // Attach all actions to Layer + layerMenu = new QMenu(tr("&Layer"), this); + layerMenu->addAction(actionCreateNewLayer); + layerMenu->addAction(actionDeleteLayer); - //Attach all Color Options - colorMenu = new QMenu(tr("&Color"), this); - colorMenu->addAction(actionColorPickerFirstColor); - colorMenu->addAction(actionColorPickerSecondColor); - colorMenu->addAction(actionColorSwitch); + //Attach all Color Options + colorMenu = new QMenu(tr("&Color"), this); + colorMenu->addAction(actionColorPickerFirstColor); + colorMenu->addAction(actionColorPickerSecondColor); + colorMenu->addAction(actionColorSwitch); - //Attach all Tool Options - toolMenu = new QMenu(tr("&Tools"), this); - toolMenu->addAction(actionCreatePenTool); - toolMenu->addAction(actionCreatePlainTool); - toolMenu->addAction(actionCreateLineTool); - toolMenu->addSeparator(); - toolMenu->addMenu(colorMenu); + //Attach all Tool Options + toolMenu = new QMenu(tr("&Tools"), this); + toolMenu->addAction(actionCreatePenTool); + toolMenu->addAction(actionCreatePlainTool); + toolMenu->addAction(actionCreateLineTool); + toolMenu->addAction(actionCreateRectangleTool); + toolMenu->addAction(actionCreateCircleTool); + toolMenu->addAction(actionCreatePolygonTool); + toolMenu->addAction(actionCreateFloodFillTool); + toolMenu->addSeparator(); + toolMenu->addMenu(colorMenu); - // Attach all actions to Help - helpMenu = new QMenu(tr("&Help"), this); - helpMenu->addAction(actionAboutDialog); - helpMenu->addAction(actionAboutQtDialog); + // Attach all actions to Help + helpMenu = new QMenu(tr("&Help"), this); + helpMenu->addAction(actionAboutDialog); + helpMenu->addAction(actionAboutQtDialog); - // Add menu items to the menubar - menuBar()->addMenu(fileMenu); - menuBar()->addMenu(optionMenu); - menuBar()->addMenu(layerMenu); - menuBar()->addMenu(toolMenu); - menuBar()->addMenu(helpMenu); + // Add menu items to the menubar + menuBar()->addMenu(fileMenu); + menuBar()->addMenu(optionMenu); + menuBar()->addMenu(layerMenu); + menuBar()->addMenu(toolMenu); + menuBar()->addMenu(helpMenu); } void IntelliPhotoGui::createGui(){ - //create a central widget to work on - centralGuiWidget = new QWidget(this); - setCentralWidget(centralGuiWidget); + // create a central widget to work on + centralGuiWidget = new QWidget(this); + setCentralWidget(centralGuiWidget); - //create the grid for the layout - mainLayout = new QGridLayout(centralGuiWidget); - centralGuiWidget->setLayout(mainLayout); + // create the grid for the layout + mainLayout = new QGridLayout(centralGuiWidget); + centralGuiWidget->setLayout(mainLayout); - //create Gui elements - paintingArea = new PaintingArea(); + // create Gui elements + paintingArea = new PaintingArea(); - //set gui elements - mainLayout->addWidget(paintingArea); + // set gui elements + mainLayout->addWidget(paintingArea); } void IntelliPhotoGui::setIntelliStyle(){ - // Set the title - setWindowTitle("IntelliPhoto Prototype"); - //set style sheet - this->setStyleSheet("background-color:rgb(64,64,64)"); - this->centralGuiWidget->setStyleSheet("color:rgb(255,255,255)"); - this->menuBar()->setStyleSheet("color:rgb(255,255,255)"); + // Set the title + setWindowTitle("IntelliPhoto Prototype"); + // Set style sheet + this->setStyleSheet("background-color:rgb(64,64,64)"); + this->centralGuiWidget->setStyleSheet("color:rgb(255,255,255)"); + this->menuBar()->setStyleSheet("color:rgb(255,255,255)"); } bool IntelliPhotoGui::maybeSave(){ - // Check for changes since last save + // Check for changes since last save - //TODO insert variable for modified status here to make an save exit message - if (false) { - QMessageBox::StandardButton ret; + // TODO insert variable for modified status here to make an save exit message + if (false) { + QMessageBox::StandardButton ret; - // Painting is the title - // Add text and the buttons - ret = QMessageBox::warning(this, tr("Painting"), - tr("The image has been modified.\n" - "Do you want to save your changes?"), - QMessageBox::Save | QMessageBox::Discard - | QMessageBox::Cancel); + // Painting is the title of the window + // Add text and the buttons + ret = QMessageBox::warning(this, tr("Painting"), + tr("The image has been modified.\n" + "Do you want to save your changes?"), + QMessageBox::Save | QMessageBox::Discard + | QMessageBox::Cancel); - // If save button clicked call for file to be saved - if (ret == QMessageBox::Save) { - return saveFile("png"); + // If save button clicked call for file to be saved + if (ret == QMessageBox::Save) { + return saveFile("png"); - // If cancel do nothing - } else if (ret == QMessageBox::Cancel) { - return false; - } - } - return true; + // If cancel do nothing + } else if (ret == QMessageBox::Cancel) { + return false; + } + } + return true; } bool IntelliPhotoGui::saveFile(const QByteArray &fileFormat){ - // Define path, name and default file type - QString initialPath = QDir::currentPath() + "/untitled." + fileFormat; + // Define path, name and default file type + QString initialPath = QDir::currentPath() + "/untitled." + fileFormat; - // Get selected file from dialog - // Add the proper file formats and extensions - QString fileName = QFileDialog::getSaveFileName(this, tr("Save As"), - initialPath, - tr("%1 Files (*.%2);;All Files (*)") - .arg(QString::fromLatin1(fileFormat.toUpper())) - .arg(QString::fromLatin1(fileFormat))); + // Get selected file from dialog + // Add the proper file formats and extensions + QString fileName = QFileDialog::getSaveFileName(this, tr("Save As"), + initialPath, + tr("%1 Files (*.%2);;All Files (*)") + .arg(QString::fromLatin1(fileFormat.toUpper())) + .arg(QString::fromLatin1(fileFormat)), nullptr, QFileDialog::DontUseNativeDialog); - // If no file do nothing - if (fileName.isEmpty()) { - return false; - } else { - // Call for the file to be saved - return paintingArea->save(fileName, fileFormat.constData()); - } + // If no file do nothing + if (fileName.isEmpty()) { + return false; + } else { + // Call for the file to be saved + return paintingArea->save(fileName, fileFormat.constData()); + } } diff --git a/src/GUI/IntelliPhotoGui.h b/src/GUI/IntelliPhotoGui.h index 3865c1f..e6acca9 100644 --- a/src/GUI/IntelliPhotoGui.h +++ b/src/GUI/IntelliPhotoGui.h @@ -16,115 +16,126 @@ class IntelliTool; class IntelliColorPicker; -class IntelliPhotoGui : public QMainWindow{ - // Declares our class as a QObject which is the base class - // for all Qt objects - // QObjects handle events - Q_OBJECT +/*! + * \brief The IntelliPhotoGui class handles the graphical user interface for the intelliPhoto program + */ +class IntelliPhotoGui : public QMainWindow { +// Declares our class as a QObject which is the base class +// for all Qt objects +// QObjects handle events +Q_OBJECT public: - IntelliPhotoGui(); +/*! + * \brief The IntelliPhotoGui method is the constructor and is used to create a new instance of the main program window + */ +IntelliPhotoGui(); protected: - // Function used to close an event - void closeEvent(QCloseEvent *event) override; +// Function used to close an event +void closeEvent(QCloseEvent*event) override; private slots: - //meta slots here (need further ) - void slotOpen(); - void slotSave(); +// meta slots here (need further ) +void slotOpen(); +void slotSave(); - //layer slots here - void slotCreateNewLayer(); - void slotDeleteLayer(); - void slotClearActiveLayer(); - void slotSetActiveLayer(); - void slotSetActiveAlpha(); - void slotPositionMoveUp(); - void slotPositionMoveDown(); - void slotPositionMoveLeft(); - void slotPositionMoveRight(); - void slotMoveLayerUp(); - void slotMoveLayerDown(); +// layer slots here +void slotCreateNewLayer(); +void slotDeleteLayer(); +void slotClearActiveLayer(); +void slotSetActiveLayer(); +void slotSetActiveAlpha(); +void slotPositionMoveUp(); +void slotPositionMoveDown(); +void slotPositionMoveLeft(); +void slotPositionMoveRight(); +void slotMoveLayerUp(); +void slotMoveLayerDown(); - //color Picker slots here - void slotSetFirstColor(); - void slotSetSecondColor(); - void slotSwitchColor(); +// color Picker slots here +void slotSetFirstColor(); +void slotSetSecondColor(); +void slotSwitchColor(); - //tool slots here - void slotCreatePenTool(); - void slotCreatePlainTool(); - void slotCreateLineTool(); +// tool slots here +void slotCreatePenTool(); +void slotCreatePlainTool(); +void slotCreateLineTool(); +void slotCreateRectangleTool(); +void slotCreateCircleTool(); +void slotCreatePolygonTool(); +void slotCreateFloodFillTool(); - //slots for dialogs - void slotAboutDialog(); +// slots for dialogs +void slotAboutDialog(); private: - // Will tie user actions to functions - void createActions(); - void createMenus(); - //setup GUI elements - void createGui(); - //set style of the GUI - void setIntelliStyle(); +// Will tie user actions to functions +void createActions(); +void createMenus(); +// setup GUI elements +void createGui(); +// set style of the GUI +void setIntelliStyle(); +// Will check if changes have occurred since last save +bool maybeSave(); +// Opens the Save dialog and saves +bool saveFile(const QByteArray &fileFormat); - // Will check if changes have occurred since last save - bool maybeSave(); - // Opens the Save dialog and saves - bool saveFile(const QByteArray &fileFormat); +// What we'll draw on +PaintingArea* paintingArea; - // What we'll draw on - PaintingArea* paintingArea; +// The menu widgets +QMenu*saveAsMenu; +QMenu*fileMenu; +QMenu*optionMenu; +QMenu*layerMenu; +QMenu*colorMenu; +QMenu*toolMenu; +QMenu*helpMenu; - // The menu widgets - QMenu *saveAsMenu; - QMenu *fileMenu; - QMenu *optionMenu; - QMenu *layerMenu; - QMenu *colorMenu; - QMenu *toolMenu; - QMenu *helpMenu; +// All the actions that can occur +// meta image actions (need further modularisation) +QAction*actionOpen; +QAction*actionExit; - // All the actions that can occur +// color Picker actions +QAction*actionColorPickerFirstColor; +QAction*actionColorPickerSecondColor; +QAction*actionColorSwitch; - //meta image actions (need further modularisation) - QAction *actionOpen; - QAction *actionExit; +// tool actions +QAction*actionCreatePenTool; +QAction*actionCreatePlainTool; +QAction*actionCreateLineTool; +QAction*actionCreateRectangleTool; +QAction*actionCreateCircleTool; +QAction*actionCreatePolygonTool; +QAction*actionCreateFloodFillTool; - //color Picker actions - QAction *actionColorPickerFirstColor; - QAction *actionColorPickerSecondColor; - QAction *actionColorSwitch; +// dialog actions +QAction*actionAboutDialog; +QAction*actionAboutQtDialog; - //tool actions - QAction *actionCreatePenTool; - QAction *actionCreatePlainTool; - QAction *actionCreateLineTool; +// layer change actions +QAction*actionCreateNewLayer; +QAction*actionDeleteLayer; +QAction* actionSetActiveLayer; +QAction* actionSetActiveAlpha; +QAction* actionMovePositionUp; +QAction* actionMovePositionDown; +QAction* actionMovePositionLeft; +QAction* actionMovePositionRight; +QAction* actionMoveLayerUp; +QAction* actionMoveLayerDown; - //dialog actions - QAction *actionAboutDialog; - QAction *actionAboutQtDialog; - - //layer change actions - QAction *actionCreateNewLayer; - QAction *actionDeleteLayer; - QAction* actionSetActiveLayer; - QAction* actionSetActiveAlpha; - QAction* actionMovePositionUp; - QAction* actionMovePositionDown; - QAction* actionMovePositionLeft; - QAction* actionMovePositionRight; - QAction* actionMoveLayerUp; - QAction* actionMoveLayerDown; - - // Actions tied to specific file formats - QList actionSaveAs; - - //main GUI elements - QWidget* centralGuiWidget; - QGridLayout *mainLayout; +// Actions tied to specific file formats +QList actionSaveAs; +// main GUI elements +QWidget* centralGuiWidget; +QGridLayout*mainLayout; }; #endif diff --git a/src/Image/IntelliImage.cpp b/src/Image/IntelliImage.cpp index 74b7891..059fe4c 100644 --- a/src/Image/IntelliImage.cpp +++ b/src/Image/IntelliImage.cpp @@ -1,10 +1,10 @@ -#include"Image/IntelliImage.h" -#include -#include +#include "Image/IntelliImage.h" +#include +#include IntelliImage::IntelliImage(int weight, int height) - :imageData(QSize(weight, height), QImage::Format_ARGB32){ - imageData.fill(QColor(255,255,255,255)); + : imageData(QSize(weight, height), QImage::Format_ARGB32){ + imageData.fill(QColor(255,255,255,255)); } IntelliImage::~IntelliImage(){ @@ -12,58 +12,71 @@ IntelliImage::~IntelliImage(){ } bool IntelliImage::loadImage(const QString &fileName){ - // Holds the image - QImage loadedImage; + // Holds the image + QImage loadedImage; - // If the image wasn't loaded leave this function - if (!loadedImage.load(fileName)) - return false; + // If the image wasn't loaded leave this function + if (!loadedImage.load(fileName)) + return false; - // scaled Image to size of Layer - loadedImage = loadedImage.scaled(imageData.size(),Qt::IgnoreAspectRatio); + // scaled Image to size of Layer + loadedImage = loadedImage.scaled(imageData.size(),Qt::IgnoreAspectRatio); - imageData = loadedImage.convertToFormat(QImage::Format_ARGB32); - return true; + imageData = loadedImage.convertToFormat(QImage::Format_ARGB32); + return true; } -void IntelliImage::resizeImage(QImage *image, const QSize &newSize){ - // Check if we need to redraw the image - if (image->size() == newSize) - return; +void IntelliImage::resizeImage(QImage*image, const QSize &newSize){ + // Check if we need to redraw the image + if (image->size() == newSize) + return; - // Create a new image to display and fill it with white - QImage newImage(newSize, QImage::Format_ARGB32); - newImage.fill(qRgb(255, 255, 255)); + // Create a new image to display and fill it with white + QImage newImage(newSize, QImage::Format_ARGB32); + newImage.fill(qRgb(255, 255, 255)); - // Draw the image - QPainter painter(&newImage); - painter.drawImage(QPoint(0, 0), *image); - *image = newImage; + // Draw the image + QPainter painter(&newImage); + painter.drawImage(QPoint(0, 0), *image); + *image = newImage; } void IntelliImage::drawPixel(const QPoint &p1, const QColor& color){ - // Used to draw on the widget - QPainter painter(&imageData); + // Used to draw on the widget + QPainter painter(&imageData); - // Set the current settings for the pen - painter.setPen(QPen(color, 1, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)); + // Set the current settings for the pen + painter.setPen(QPen(color, 1, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)); - // Draw a line from the last registered point to the current - painter.drawPoint(p1); + // Draw a line from the last registered point to the current + painter.drawPoint(p1); +} + +void IntelliImage::drawPoint(const QPoint &p1, const QColor& color, const int& penWidth){ + // Used to draw on the widget + QPainter painter(&imageData); + + // Set the current settings for the pen + painter.setPen(QPen(color, penWidth, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)); + // Draw a line from the last registered point to the current + painter.drawPoint(p1); } void IntelliImage::drawLine(const QPoint &p1, const QPoint& p2, const QColor& color, const int& penWidth){ - // Used to draw on the widget - QPainter painter(&imageData); + // Used to draw on the widget + QPainter painter(&imageData); - // Set the current settings for the pen - painter.setPen(QPen(color, penWidth, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)); - - // Draw a line from the last registered point to the current - painter.drawLine(p1, p2); + // Set the current settings for the pen + painter.setPen(QPen(color, penWidth, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)); + // Draw a line from the last registered point to the current + painter.drawLine(p1, p2); } void IntelliImage::drawPlain(const QColor& color){ - imageData.fill(color); + imageData.fill(color); +} + +QColor IntelliImage::getPixelColor(QPoint& point){ + return imageData.pixelColor(point); } diff --git a/src/Image/IntelliImage.h b/src/Image/IntelliImage.h index 14e9ec2..12f965b 100644 --- a/src/Image/IntelliImage.h +++ b/src/Image/IntelliImage.h @@ -1,54 +1,132 @@ #ifndef INTELLIIMAGE_H #define INTELLIIMAGE_H -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include -enum class ImageType{ - Raster_Image, - Shaped_Image +/*! + * \brief The Types, which an Image can be. + */ +enum class ImageType { + Raster_Image, + Shaped_Image }; class IntelliTool; -class IntelliImage{ - friend IntelliTool; +/*! + * \brief An abstract class which manages the basic IntelliImage operations. + */ +class IntelliImage { +friend IntelliTool; protected: - void resizeImage(QImage *image, const QSize &newSize); +void resizeImage(QImage*image, const QSize &newSize); - QImage imageData; - - //calculate with polygon +/*! + * \brief The underlying image data. + */ +QImage imageData; public: - IntelliImage(int weight, int height); - virtual ~IntelliImage() = 0; +/*! + * \brief The Construcor of the IntelliImage. Given the Image dimensions. + * \param weight - The weight of the Image. + * \param height - The height of the Image. + */ +IntelliImage(int weight, int height); + +/*! + * \brief An Abstract Destructor. + */ +virtual ~IntelliImage() = 0; - //start on top left - virtual void drawPixel(const QPoint &p1, const QColor& color); - virtual void drawLine(const QPoint &p1, const QPoint& p2, const QColor& color, const int& penWidth); - virtual void drawPlain(const QColor& color); +/*! + * \brief A funtcion used to draw a pixel on the Image with the given Color. + * \param p1 - The coordinates of the pixel, which should be drawn. [Top-Left-System] + * \param color - The color of the pixel. + */ +virtual void drawPixel(const QPoint &p1, const QColor& color); - //returns the filtered output - virtual QImage getDisplayable(const QSize& displaySize, int alpha)=0; - virtual QImage getDisplayable(int alpha=255)=0; +/*! + * \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. + * \param penWidth - The width of the line. + */ +virtual void drawLine(const QPoint &p1, const QPoint& p2, const QColor& color, const int& penWidth); - //gets a copy of the image !allocated - virtual IntelliImage* getDeepCopy()=0; - virtual void calculateVisiblity()=0; +/*! + * \brief A + * \param p1 + * \param color + * \param penWidth + */ +virtual void drawPoint(const QPoint &p1, const QColor& color, const int& penWidth); - //returns the filtered output +/*! + * \brief A function that clears the whole image in a given Color. + * \param color - The color, in which the image will be filled. + */ +virtual void drawPlain(const QColor& color); - //sets the data for the visible image - virtual void setPolygon(const std::vector& polygonData)=0; - virtual std::vector getPolygonData(){ return std::vector();} +/*! + * \brief A function returning the displayable ImageData in a requested transparence and size. + * \param displaySize - The size, in whcih the Image should be displayed. + * \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) = 0; - //loads an image to the ColorBuffer - virtual bool loadImage(const QString &fileName); +/** + * @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) = 0; + +/*! + * \brief A function that copys all that returns a [allocated] Image + * \return A [allocated] Image with all the properties of the instance. + */ +virtual IntelliImage* getDeepCopy() = 0; + +/*! + * \brief An abstract function that calculates the visiblity of the Image data if needed. + */ +virtual void calculateVisiblity() = 0; + +/*! + * \brief An abstract function that sets the data of the visible Polygon, if needed. + * \param polygonData - The Vertices of the Polygon. Just Planar Polygons are allowed. + */ +virtual void setPolygon(const std::vector& polygonData) = 0; + +/*! + * \brief A function that returns the Polygondata if existent. + * \return The Polygondata if existent. + */ +virtual std::vector getPolygonData(){ + return std::vector(); +} + +/*! + * \brief A function that loads and sclaes an image to the fitting dimensions. + * \param fileName - The path+name of the image which to loaded. + * \return True if the image could be loaded, false otherwise. + */ +virtual bool loadImage(const QString &fileName); + +/*! + * \brief A function that returns the pixelcolor at a certain point + * \param point - The point from whcih to get the coordinates. + * \return The color of the Pixel as QColor. + */ +virtual QColor getPixelColor(QPoint& point); }; #endif diff --git a/src/Image/IntelliRasterImage.cpp b/src/Image/IntelliRasterImage.cpp index d92260f..c7b3d48 100644 --- a/src/Image/IntelliRasterImage.cpp +++ b/src/Image/IntelliRasterImage.cpp @@ -1,10 +1,10 @@ -#include"Image/IntelliRasterImage.h" -#include -#include -#include +#include "Image/IntelliRasterImage.h" +#include +#include +#include IntelliRasterImage::IntelliRasterImage(int weight, int height) - :IntelliImage(weight, height){ + : IntelliImage(weight, height){ } @@ -13,32 +13,32 @@ IntelliRasterImage::~IntelliRasterImage(){ } IntelliImage* IntelliRasterImage::getDeepCopy(){ - IntelliRasterImage* raster = new IntelliRasterImage(imageData.width(), imageData.height()); - raster->imageData.fill(Qt::transparent); - return raster; + IntelliRasterImage* raster = new IntelliRasterImage(imageData.width(), imageData.height()); + raster->imageData.fill(Qt::transparent); + return raster; } void IntelliRasterImage::calculateVisiblity(){ - //not used in raster image + // not used in raster image } QImage IntelliRasterImage::getDisplayable(int alpha){ - return getDisplayable(imageData.size(), alpha); + return getDisplayable(imageData.size(), alpha); } QImage IntelliRasterImage::getDisplayable(const QSize& displaySize, int alpha){ - QImage copy = imageData; - for(int y = 0; y& polygonData){ - qDebug() << "Raster Image has no polygon data " << polygonData.size() <<"\n"; - return; + qDebug() << "Raster Image has no polygon data " << polygonData.size() <<"\n"; + return; } diff --git a/src/Image/IntelliRasterImage.h b/src/Image/IntelliRasterImage.h index bf709e6..5a3de15 100644 --- a/src/Image/IntelliRasterImage.h +++ b/src/Image/IntelliRasterImage.h @@ -1,25 +1,57 @@ #ifndef INTELLIRASTER_H #define INTELLIRASTER_H -#include"Image/IntelliImage.h" +#include "Image/IntelliImage.h" -class IntelliRasterImage : public IntelliImage{ - friend IntelliTool; +/*! + * \brief The IntelliRasterImage manages a Rasterimage. + */ +class IntelliRasterImage : public IntelliImage { +friend IntelliTool; protected: - virtual void calculateVisiblity() override; +/*! + * \brief A function that calculates the visibility of the image if a polygon is given. [does nothing in Rasterimage] + */ +virtual void calculateVisiblity() override; public: - IntelliRasterImage(int weight, int height); - virtual ~IntelliRasterImage() override; +/*! + * \brief The Construcor of the IntelliRasterImage. Given the Image dimensions. + * \param weight - The weight of the Image. + * \param height - The height of the Image. + */ +IntelliRasterImage(int weight, int height); - //returns the filtered output - virtual QImage getDisplayable(const QSize& displaySize,int alpha) override; - virtual QImage getDisplayable(int alpha=255) override; +/*! + * \brief An Destructor. + */ +virtual ~IntelliRasterImage() override; - //gets a copy of the image !allocated - virtual IntelliImage* getDeepCopy() override; +/*! + * \brief A function returning the displayable ImageData in a requested transparence and size. + * \param displaySize - The size, in whcih the Image should be displayed. + * \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) override; - //sets the data for the visible image - virtual void setPolygon(const std::vector& polygonData) 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; + +/*! + * \brief A function that copys all that returns a [allocated] Image + * \return A [allocated] Image with all the properties of the instance. + */ +virtual IntelliImage* getDeepCopy() override; + +/*! + * \brief An abstract function that sets the data of the visible Polygon, if needed. + * \param polygonData - The Vertices of the Polygon. Nothing happens. + */ +virtual void setPolygon(const std::vector& polygonData) override; }; #endif diff --git a/src/Image/IntelliShapedImage.cpp b/src/Image/IntelliShapedImage.cpp index 0dbc807..cd2457f 100644 --- a/src/Image/IntelliShapedImage.cpp +++ b/src/Image/IntelliShapedImage.cpp @@ -1,11 +1,11 @@ -#include"Image/IntelliShapedImage.h" -#include"IntelliHelper/IntelliHelper.h" -#include -#include -#include +#include "Image/IntelliShapedImage.h" +#include "IntelliHelper/IntelliHelper.h" +#include +#include +#include IntelliShapedImage::IntelliShapedImage(int weight, int height) - :IntelliRasterImage(weight, height){ + : IntelliRasterImage(weight, height){ } IntelliShapedImage::~IntelliShapedImage(){ @@ -13,73 +13,66 @@ IntelliShapedImage::~IntelliShapedImage(){ } QImage IntelliShapedImage::getDisplayable(int alpha){ - return getDisplayable(imageData.size(),alpha); + return getDisplayable(imageData.size(),alpha); } IntelliImage* IntelliShapedImage::getDeepCopy(){ - IntelliShapedImage* shaped = new IntelliShapedImage(imageData.width(), imageData.height()); - shaped->setPolygon(this->polygonData); - shaped->imageData.fill(Qt::transparent); - return shaped; + IntelliShapedImage* shaped = new IntelliShapedImage(imageData.width(), imageData.height()); + shaped->setPolygon(this->polygonData); + shaped->imageData.fill(Qt::transparent); + return shaped; } void IntelliShapedImage::calculateVisiblity(){ - if(polygonData.size()<=2){ - QColor clr; - for(int y=0; y(polygonData.size()-1); i++){ - QPoint B = polygonData[static_cast(i)]; - QPoint C = polygonData[static_cast(i+1)]; - QPoint P(x,y); - cutNumeber+=IntelliHelper::isInTriangle(A,B,C,P); - } - if(cutNumeber%2==0){ - clr = imageData.pixelColor(x,y); - clr.setAlpha(0); - imageData.setPixelColor(x,y,clr); - }else{ - clr = imageData.pixelColor(x,y); - clr.setAlpha(std::min(255, clr.alpha())); - imageData.setPixelColor(x,y,clr); - } - } - } + if(polygonData.size()<=2) { + QColor clr; + for(int y=0; y& polygonData){ - if(polygonData.size()<3){ - this->polygonData.clear(); - }else{ - this->polygonData.clear(); - for(auto element:polygonData){ - this->polygonData.push_back(QPoint(element.x(), element.y())); - } - } - calculateVisiblity(); - return; + if(polygonData.size()<3) { + this->polygonData.clear(); + }else{ + this->polygonData.clear(); + for(auto element:polygonData) { + this->polygonData.push_back(QPoint(element.x(), element.y())); + } + triangles = IntelliHelper::calculateTriangles(polygonData); + } + calculateVisiblity(); + return; } diff --git a/src/Image/IntelliShapedImage.h b/src/Image/IntelliShapedImage.h index 0a3598e..fbdd22e 100644 --- a/src/Image/IntelliShapedImage.h +++ b/src/Image/IntelliShapedImage.h @@ -1,29 +1,78 @@ #ifndef INTELLISHAPE_H #define INTELLISHAPE_H -#include"Image/IntelliRasterImage.h" +#include "Image/IntelliRasterImage.h" +#include +#include "IntelliHelper/IntelliHelper.h" -class IntelliShapedImage : public IntelliRasterImage{ - friend IntelliTool; +/*! + * \brief The IntelliShapedImage manages a Shapedimage. + */ +class IntelliShapedImage : public IntelliRasterImage { +friend IntelliTool; +private: +/*! + * \brief The Triangulation of the Polygon. Saved here for performance reasons. + */ +std::vector triangles; + +/*! + * \brief Calculates the visibility based on the underlying polygon. + */ +virtual void calculateVisiblity() override; protected: - std::vector polygonData; +/*! + * \brief The Vertices of The Polygon. Needs to be a planar Polygon. + */ +std::vector polygonData; public: - IntelliShapedImage(int weight, int height); - virtual ~IntelliShapedImage() override; +/*! + * \brief The Construcor of the IntelliShapedImage. Given the Image dimensions. + * \param weight - The weight of the Image. + * \param height - The height of the Image. + */ +IntelliShapedImage(int weight, int height); - virtual void calculateVisiblity() override; +/*! + * \brief An Destructor. + */ +virtual ~IntelliShapedImage() override; - //returns the filtered output - virtual QImage getDisplayable(const QSize& displaySize, int alpha=255) override; - virtual QImage getDisplayable(int alpha=255) override; +/*! + * \brief A function returning the displayable ImageData in a requested transparence and size. + * \param displaySize - The size, in whcih the Image should be displayed. + * \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; - //gets a copy of the image !allocated - virtual IntelliImage* getDeepCopy() override; - virtual std::vector getPolygonData() override{return polygonData;} +/** + * @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; - //sets the data for the visible image - virtual void setPolygon(const std::vector& polygonData) override; +/*! + * \brief A function that copys all that returns a [allocated] Image + * \return A [allocated] Image with all the properties of the instance. + */ +virtual IntelliImage* getDeepCopy() override; + +/*! + * \brief A function that returns the Polygondata if existent. + * \return The Polygondata if existent. + */ +virtual std::vector getPolygonData() override { + return polygonData; +} + +/*! + * \brief A function that sets the data of the visible Polygon. + * \param polygonData - The Vertices of the Polygon. Just Planar Polygons are allowed. + */ +virtual void setPolygon(const std::vector& polygonData) override; }; #endif diff --git a/src/IntelliHelper/IntelliColorPicker.cpp b/src/IntelliHelper/IntelliColorPicker.cpp index 76ba561..534a8e5 100644 --- a/src/IntelliHelper/IntelliColorPicker.cpp +++ b/src/IntelliHelper/IntelliColorPicker.cpp @@ -1,8 +1,8 @@ #include "IntelliColorPicker.h" IntelliColorPicker::IntelliColorPicker(){ - firstColor = {255,0,0,255}; - secondColor = {0,0,255,255}; + firstColor = {255,0,0,255}; + secondColor = {0,255,255,255}; } IntelliColorPicker::~IntelliColorPicker(){ @@ -10,21 +10,21 @@ IntelliColorPicker::~IntelliColorPicker(){ } void IntelliColorPicker::switchColors(){ - std::swap(firstColor, secondColor); + std::swap(firstColor, secondColor); } QColor IntelliColorPicker::getFirstColor(){ - return this->firstColor; + return this->firstColor; } QColor IntelliColorPicker::getSecondColor(){ - return this->secondColor; + return this->secondColor; } void IntelliColorPicker::setFirstColor(QColor Color){ - this->firstColor = Color; + this->firstColor = Color; } void IntelliColorPicker::setSecondColor(QColor Color){ - this->secondColor = Color; + this->secondColor = Color; } diff --git a/src/IntelliHelper/IntelliColorPicker.h b/src/IntelliHelper/IntelliColorPicker.h index 64f23e5..817511d 100644 --- a/src/IntelliHelper/IntelliColorPicker.h +++ b/src/IntelliHelper/IntelliColorPicker.h @@ -1,26 +1,64 @@ #ifndef INTELLITOOLSETCOLORTOOL_H #define INTELLITOOLSETCOLORTOOL_H -#include"QColor" -#include"QPoint" -#include"QColorDialog" +#include "QColor" +#include "QPoint" +#include "QColorDialog" -class IntelliColorPicker{ +/*! + * \brief The IntelliColorPicker manages the selected colors for one whole project. + */ +class IntelliColorPicker { public: - IntelliColorPicker(); - virtual ~IntelliColorPicker(); +/*! + * \brief IntelliColorPicker constructor, setting 2 preset colors, be careful, theese color may change in production. + */ +IntelliColorPicker(); - void switchColors(); +/*! + * \brief IntelliColorPicker destructor clears up his used memory, if there is some. + */ +virtual ~IntelliColorPicker(); - QColor getFirstColor(); - QColor getSecondColor(); +/*! + * \brief A function switching primary and secondary color. + */ +void switchColors(); - void setFirstColor(QColor Color); - void setSecondColor(QColor Color); +/*! + * \brief A function to read the primary selected color. + * \return Returns the primary color. + */ +QColor getFirstColor(); + +/*! + * \brief A function to read the secondary selected color. + * \return Returns the secondary color. + */ +QColor getSecondColor(); + +/*! + * \brief A function to set the primary color. + * \param Color - The color to be set as primary. + */ +void setFirstColor(QColor Color); + +/*! + * \brief A function to set the secondary color. + * \param Color - The color to be set as secondary. + */ +void setSecondColor(QColor Color); private: - QColor firstColor; - QColor secondColor; +/*! + * \brief The primary color. + */ +QColor firstColor; + +/*! + * \brief The secondary color. + */ +QColor secondColor; }; #endif // INTELLITOOLSETCOLORTOOL_H diff --git a/src/IntelliHelper/IntelliHelper.cpp b/src/IntelliHelper/IntelliHelper.cpp index cb5d6a8..944d0c6 100644 --- a/src/IntelliHelper/IntelliHelper.cpp +++ b/src/IntelliHelper/IntelliHelper.cpp @@ -1,2 +1,123 @@ -#include"IntelliHelper.h" -#include +#include "IntelliHelper.h" +#include +#include +#include + + +std::vector IntelliHelper::calculateTriangles(std::vector polyPoints){ + // helper for managing the triangle vertices and their state + struct TriangleHelper { + QPoint vertex; + float interiorAngle; + int index; + bool isTip; + }; + + // calculates the inner angle of 'point' + auto calculateInner = [](QPoint& point, QPoint& prev, QPoint& post){ + QPoint AP(point.x()-prev.x(), point.y()-prev.y()); + QPoint BP(point.x()-post.x(), point.y()-post.y()); + + float topSclar = AP.x()*BP.x()+AP.y()*BP.y(); + float absolute = 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=0 ? (index-1) : (length-1); + }; + + // get the vertex Index after index in relation to the container lenght + auto getPost = [](int index, int length){ + return (index+1)%length; + }; + + // return if the vertex is a tip + auto isTip = [](float angle){ + return static_cast(angle)<(M_PI/2.); + }; + + std::vector Vertices; + std::vector Triangles; + + // set up all vertices and calculate intirior angle + 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())); + + helper.vertex = polyPoints[static_cast(i)]; + helper.index = i; + + helper.interiorAngle = calculateInner(polyPoints[static_cast(i)], + polyPoints[static_cast(prev)], + polyPoints[static_cast(post)]); + helper.isTip = isTip(helper.interiorAngle); + Vertices.push_back(helper); + } + + // search triangles based on the intirior angles of each vertey + while(Triangles.size() != polyPoints.size()-2) { + Triangle tri; + TriangleHelper smallest = getTip(Vertices); + int prev = getPrev(smallest.index, static_cast(Vertices.size())); + int post = getPost(smallest.index, static_cast(Vertices.size())); + + // set triangle and push it + tri.A = Vertices[static_cast(prev)].vertex; + tri.B = Vertices[static_cast(smallest.index)].vertex; + tri.C = Vertices[static_cast(post)].vertex; + Triangles.push_back(tri); + + // update Vertice array + Vertices.erase(Vertices.begin()+smallest.index); + for(size_t i=static_cast(smallest.index); i(Vertices.size())); + int postOfPrev = getPost(prev, static_cast(Vertices.size())); + + int prevOfPost = getPrev(post, static_cast(Vertices.size())); + int postOfPost = getPost(post, static_cast(Vertices.size())); + + // update vertices with interior angles + // updtae prev + Vertices[static_cast(prev)].interiorAngle = calculateInner(Vertices[static_cast(prev)].vertex, + Vertices[static_cast(prevOfPrev)].vertex, + Vertices[static_cast(postOfPrev)].vertex); + Vertices[static_cast(prev)].isTip = isTip(Vertices[static_cast(prev)].interiorAngle); + // update post + Vertices[static_cast(post)].interiorAngle = calculateInner(Vertices[static_cast(post)].vertex, + Vertices[static_cast(prevOfPost)].vertex, + Vertices[static_cast(postOfPost)].vertex); + Vertices[static_cast(post)].isTip = isTip(Vertices[static_cast(post)].interiorAngle); + } + return Triangles; +} + +bool IntelliHelper::isInPolygon(std::vector &triangles, QPoint &point){ + for(auto triangle : triangles) { + if(IntelliHelper::isInTriangle(triangle, point)) { + return true; + } + } + return false; +} diff --git a/src/IntelliHelper/IntelliHelper.h b/src/IntelliHelper/IntelliHelper.h index 1bad2b9..2af1748 100644 --- a/src/IntelliHelper/IntelliHelper.h +++ b/src/IntelliHelper/IntelliHelper.h @@ -1,30 +1,63 @@ #ifndef INTELLIHELPER_H #define INTELLIHELPER_H -#include +#include +#include - -class IntelliHelper{ - -public: - - static 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()); - } - - static inline bool isInTriangle(QPoint& A, QPoint& B, QPoint& C, QPoint& P){ - float val1, val2, val3; - bool neg, pos; - - val1 = IntelliHelper::sign(P,A,B); - val2 = IntelliHelper::sign(P,B,C); - val3 = IntelliHelper::sign(P,C,A); - - neg = (val1<0.f) || (val2<0.f) || (val3<0.f); - pos = (val1>0.f) || (val2>0.f) || (val3>0.f); - - return !(neg && pos); - } +/*! + * \brief The Triangle struct holds the 3 vertices of a triangle. + */ +struct Triangle { + QPoint A,B,C; }; +namespace IntelliHelper { + +/*! + * \brief A function to get the 2*area of a traingle, using its determinat. + * \param p1 - The Point to check its side. + * \param p2 - The first Point of the spanning Line + * \param p3 - The second Point of the spanning line. + * \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()); +} + +/*! + * \brief A function to check if a given point is in a triangle. + * \param tri - The triangle to check, if it contains the point. + * \param P - The point to check if it is in the triangle. + * \return Returns true if the point is in the triangle, false otheriwse + */ +inline bool isInTriangle(Triangle& tri, QPoint& P){ + float val1, val2, val3; + bool neg, pos; + + val1 = IntelliHelper::sign(P,tri.A,tri.B); + val2 = IntelliHelper::sign(P,tri.B,tri.C); + val3 = IntelliHelper::sign(P,tri.C,tri.A); + + neg = (val1<0.f) || (val2<0.f) || (val3<0.f); + pos = (val1>0.f) || (val2>0.f) || (val3>0.f); + + return !(neg && pos); +} + +/*! + * \brief A function to split a polygon in its spanning traingles by using Meisters Theorem of graph theory by clipping ears of a planar graph. + * \param polyPoints - The Vertices of the polygon. + * \return Returns a Container of disjoint Triangles, which desribe the polygon area. + */ +std::vector calculateTriangles(std::vector polyPoints); + +/*! + * \brief A function to check if a point lies in a polygon by checking its spanning triangles. + * \param triangles - The spanning triangles of the planar polygon. + * \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); +} + #endif diff --git a/src/IntelliPhoto.pro b/src/IntelliPhoto.pro index 7d3580d..a477579 100644 --- a/src/IntelliPhoto.pro +++ b/src/IntelliPhoto.pro @@ -24,9 +24,13 @@ SOURCES += \ IntelliHelper/IntelliHelper.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 \ main.cpp HEADERS += \ @@ -38,12 +42,16 @@ HEADERS += \ IntelliHelper/IntelliHelper.h \ Layer/PaintingArea.h \ Tool/IntelliTool.h \ + Tool/IntelliToolCircle.h \ + Tool/IntelliToolFloodFill.h \ Tool/IntelliToolLine.h \ Tool/IntelliToolPen.h \ - Tool/IntelliToolPlain.h + Tool/IntelliToolPlain.h \ + Tool/IntelliToolPolygon.h \ + Tool/IntelliToolRectangle.h FORMS += \ - widget.ui + mainwindow.ui QMAKE_CXXFLAGS QMAKE_LFLAGS diff --git a/src/Layer/PaintingArea.cpp b/src/Layer/PaintingArea.cpp index 9099489..4a18918 100644 --- a/src/Layer/PaintingArea.cpp +++ b/src/Layer/PaintingArea.cpp @@ -13,305 +13,343 @@ #include "Tool/IntelliToolPen.h" #include "Tool/IntelliToolPlain.h" #include "Tool/IntelliToolLine.h" +#include "Tool/IntelliToolCircle.h" +#include "Tool/IntelliToolRectangle.h" +#include "Tool/IntelliToolFloodFill.h" +#include "Tool/IntelliToolPolygon.h" -PaintingArea::PaintingArea(int maxWidth, int maxHeight, QWidget *parent) - :QWidget(parent){ - this->Tool = nullptr; - this->setUp(maxWidth, maxHeight); - //tetsing - this->addLayer(200,200,0,0,ImageType::Shaped_Image); - layerBundle[0].image->drawPlain(QColor(255,0,0,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); +PaintingArea::PaintingArea(int maxWidth, int maxHeight, QWidget*parent) + : QWidget(parent){ + this->Tool = nullptr; + this->setUp(maxWidth, maxHeight); + this->addLayer(200,200,0,0,ImageType::Shaped_Image); + 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); - layerBundle[1].image->drawPlain(QColor(0,255,0,255)); - layerBundle[1].alpha=200; + this->addLayer(200,200,150,150); + layerBundle[1].image->drawPlain(QColor(0,255,0,255)); + layerBundle[1].alpha=200; - activeLayer=0; + activeLayer=0; } PaintingArea::~PaintingArea(){ - delete Tool; + delete Tool; } void PaintingArea::setUp(int maxWidth, int maxHeight){ - //set standart parameter - this->maxWidth = maxWidth; - this->maxHeight = maxHeight; - Canvas = new QImage(maxWidth,maxHeight, QImage::Format_ARGB32); + //set standart parameter + this->maxWidth = maxWidth; + this->maxHeight = maxHeight; + Canvas = new QImage(maxWidth,maxHeight, QImage::Format_ARGB32); - // Roots the widget to the top left even if resized - setAttribute(Qt::WA_StaticContents); + // Roots the widget to the top left even if resized + setAttribute(Qt::WA_StaticContents); } int PaintingArea::addLayer(int width, int height, int widthOffset, int heightOffset, ImageType type){ - LayerObject newLayer; - newLayer.width = width; - newLayer.hight = height; - newLayer.widthOffset = widthOffset; - newLayer.hightOffset = heightOffset; - if(type==ImageType::Raster_Image){ - newLayer.image = new IntelliRasterImage(width,height); - }else if(type==ImageType::Shaped_Image){ - newLayer.image = new IntelliShapedImage(width, height); - } - newLayer.alpha = 255; - this->layerBundle.push_back(newLayer); - return static_cast(layerBundle.size())-1; + LayerObject newLayer; + newLayer.width = width; + newLayer.height = height; + newLayer.widthOffset = widthOffset; + newLayer.heightOffset = heightOffset; + if(type==ImageType::Raster_Image) { + newLayer.image = new IntelliRasterImage(width,height); + }else if(type==ImageType::Shaped_Image) { + newLayer.image = new IntelliShapedImage(width, height); + } + newLayer.alpha = 255; + this->layerBundle.push_back(newLayer); + return static_cast(layerBundle.size())-1; } void PaintingArea::deleteLayer(int index){ - if(index(layerBundle.size())){ - this->layerBundle.erase(layerBundle.begin()+index); - if(activeLayer>=index){ - activeLayer--; - } - } + if(index(layerBundle.size())) { + this->layerBundle.erase(layerBundle.begin()+index); + if(activeLayer>=index) { + activeLayer--; + } + } } void PaintingArea::slotDeleteActiveLayer(){ - if(activeLayer>=0 && activeLayer < static_cast(layerBundle.size())){ - this->layerBundle.erase(layerBundle.begin()+activeLayer); - activeLayer--; - } + if(activeLayer>=0 && activeLayer < static_cast(layerBundle.size())) { + this->layerBundle.erase(layerBundle.begin()+activeLayer); + activeLayer--; + } } void PaintingArea::setLayerToActive(int index){ - if(index>=0&&index(layerBundle.size())){ - this->activeLayer=index; - } + if(index>=0&&index(layerBundle.size())) { + this->activeLayer=index; + } } void PaintingArea::setAlphaOfLayer(int index, int alpha){ - if(index>=0&&index(layerBundle.size())){ - layerBundle[static_cast(index)].alpha=alpha; - } + if(index>=0&&index(layerBundle.size())) { + layerBundle[static_cast(index)].alpha=alpha; + } } // Used to load the image and place it in the widget bool PaintingArea::open(const QString &fileName){ - if(this->activeLayer==-1){ - return false; - } - IntelliImage* active = layerBundle[static_cast(activeLayer)].image; - bool open = active->loadImage(fileName); - active->calculateVisiblity(); - update(); - return open; + if(this->activeLayer==-1) { + return false; + } + IntelliImage* active = layerBundle[static_cast(activeLayer)].image; + bool open = active->loadImage(fileName); + active->calculateVisiblity(); + update(); + return open; } // Save the current image -bool PaintingArea::save(const QString &fileName, const char *fileFormat){ - if(layerBundle.size()==0){ - return false; - } - this->assembleLayers(true); +bool PaintingArea::save(const QString &fileName, const char*fileFormat){ + if(layerBundle.size()==0) { + return false; + } + this->assembleLayers(true); - if(!strcmp(fileFormat,"PNG")){ - QImage visibleImage = Canvas->convertToFormat(QImage::Format_Indexed8); - fileFormat = "png"; - if (visibleImage.save(fileName, fileFormat)) { - return true; - } else { - return false; - } - } + if(!strcmp(fileFormat,"PNG")) { + QImage visibleImage = Canvas->convertToFormat(QImage::Format_Indexed8); + fileFormat = "png"; + if (visibleImage.save(fileName, fileFormat)) { + return true; + } else { + return false; + } + } - if (Canvas->save(fileName, fileFormat)) { - return true; - } else { - return false; - } + if (Canvas->save(fileName, fileFormat)) { + return true; + } else { + return false; + } } // 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(); + 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){ - layerBundle[static_cast(activeLayer)].widthOffset += x; - layerBundle[static_cast(activeLayer)].hightOffset += y; + layerBundle[static_cast(activeLayer)].widthOffset += x; + layerBundle[static_cast(activeLayer)].heightOffset += y; } void PaintingArea::moveActiveLayer(int idx){ - if(idx==1){ - this->activateUpperLayer(); - }else if(idx==-1){ - this->activateLowerLayer(); - } + if(idx==1) { + this->activateUpperLayer(); + }else if(idx==-1) { + this->activateLowerLayer(); + } } void PaintingArea::slotActivateLayer(int a){ - if(a>=0 && a < static_cast(layerBundle.size())){ - this->setLayerToActive(a); - } + if(a>=0 && a < static_cast(layerBundle.size())) { + this->setLayerToActive(a); + } } void PaintingArea::colorPickerSetFirstColor(){ - QColor clr = QColorDialog::getColor(colorPicker.getFirstColor(), nullptr, "Main Color"); - this->colorPicker.setFirstColor(clr); + QColor clr = QColorDialog::getColor(colorPicker.getFirstColor(), nullptr, "Main Color", QColorDialog::DontUseNativeDialog); + this->colorPicker.setFirstColor(clr); } void PaintingArea::colorPickerSetSecondColor(){ - QColor clr = QColorDialog::getColor(colorPicker.getSecondColor(), nullptr, "Secondary Color"); - this->colorPicker.setSecondColor(clr); + QColor clr = QColorDialog::getColor(colorPicker.getSecondColor(), nullptr, "Secondary Color", QColorDialog::DontUseNativeDialog); + this->colorPicker.setSecondColor(clr); } void PaintingArea::colorPickerSwitchColor(){ - this->colorPicker.switchColors(); + this->colorPicker.switchColors(); } void PaintingArea::createPenTool(){ - delete this->Tool; - Tool = new IntelliToolPen(this, &colorPicker); + delete this->Tool; + Tool = new IntelliToolPen(this, &colorPicker); } void PaintingArea::createPlainTool(){ - delete this->Tool; - Tool = new IntelliToolPlainTool(this, &colorPicker); + delete this->Tool; + Tool = new IntelliToolPlainTool(this, &colorPicker); } void PaintingArea::createLineTool(){ - delete this->Tool; - Tool = new IntelliToolLine(this, &colorPicker); + delete this->Tool; + Tool = new IntelliToolLine(this, &colorPicker); +} + +void PaintingArea::createRectangleTool(){ + delete this->Tool; + Tool = new IntelliToolRectangle(this, &colorPicker); +} + +void PaintingArea::createCircleTool(){ + delete this->Tool; + Tool = new IntelliToolCircle(this, &colorPicker); +} +void PaintingArea::createPolygonTool(){ + delete this->Tool; + Tool = new IntelliToolPolygon(this, &colorPicker); +} + +void PaintingArea::createFloodFillTool(){ + delete this->Tool; + Tool = new IntelliToolFloodFill(this, &colorPicker); +} + +int PaintingArea::getWidthOfActive(){ + return this->layerBundle[activeLayer].width; +} + +int PaintingArea::getHeightOfActive(){ + return this->layerBundle[activeLayer].height; } // If a mouse button is pressed check if it was the // left button and if so store the current position // Set that we are currently drawing -void PaintingArea::mousePressEvent(QMouseEvent *event){ - if(Tool == nullptr) - return; - int x = event->x()-layerBundle[activeLayer].widthOffset; - int y = event->y()-layerBundle[activeLayer].hightOffset; - if(event->button() == Qt::LeftButton){ - Tool->onMouseLeftPressed(x, y); - }else if(event->button() == Qt::RightButton){ - Tool->onMouseRightPressed(x, y); - } - update(); +void PaintingArea::mousePressEvent(QMouseEvent*event){ + if(Tool == nullptr) + return; + int x = event->x()-layerBundle[activeLayer].widthOffset; + int y = event->y()-layerBundle[activeLayer].heightOffset; + if(event->button() == Qt::LeftButton) { + Tool->onMouseLeftPressed(x, y); + }else if(event->button() == Qt::RightButton) { + Tool->onMouseRightPressed(x, y); + } + update(); } // When the mouse moves if the left button is clicked // we call the drawline function which draws a line // from the last position to the current -void PaintingArea::mouseMoveEvent(QMouseEvent *event){ - if(Tool == nullptr) - return; - int x = event->x()-layerBundle[activeLayer].widthOffset; - int y = event->y()-layerBundle[activeLayer].hightOffset; - Tool->onMouseMoved(x, y); - update(); +void PaintingArea::mouseMoveEvent(QMouseEvent*event){ + if(Tool == nullptr) + return; + int x = event->x()-layerBundle[activeLayer].widthOffset; + int y = event->y()-layerBundle[activeLayer].heightOffset; + Tool->onMouseMoved(x, y); + update(); } // If the button is released we set variables to stop drawing -void PaintingArea::mouseReleaseEvent(QMouseEvent *event){ - if(Tool == nullptr) - return; - int x = event->x()-layerBundle[activeLayer].widthOffset; - int y = event->y()-layerBundle[activeLayer].hightOffset; - if(event->button() == Qt::LeftButton){ - Tool->onMouseLeftReleased(x, y); - }else if(event->button() == Qt::RightButton){ - Tool->onMouseRightReleased(x, y); - } - update(); +void PaintingArea::mouseReleaseEvent(QMouseEvent*event){ + if(Tool == nullptr) + return; + int x = event->x()-layerBundle[activeLayer].widthOffset; + int y = event->y()-layerBundle[activeLayer].heightOffset; + if(event->button() == Qt::LeftButton) { + Tool->onMouseLeftReleased(x, y); + }else if(event->button() == Qt::RightButton) { + Tool->onMouseRightReleased(x, y); + } + update(); +} + +void PaintingArea::wheelEvent(QWheelEvent*event){ + QPoint numDegrees = event->angleDelta() / 8; + if(!numDegrees.isNull()) { + QPoint numSteps = numDegrees / 15; + Tool->onWheelScrolled(numSteps.y()* -1); + } } // QPainter provides functions to draw on the widget // The QPaintEvent is sent to widgets that need to // update themselves -void PaintingArea::paintEvent(QPaintEvent *event){ - this->assembleLayers(); +void PaintingArea::paintEvent(QPaintEvent*event){ + this->assembleLayers(); - QPainter painter(this); - QRect dirtyRec = event->rect(); - painter.drawImage(dirtyRec, *Canvas, dirtyRec); - update(); + QPainter painter(this); + QRect dirtyRec = event->rect(); + painter.drawImage(dirtyRec, *Canvas, dirtyRec); + update(); } // Resize the image to slightly larger then the main window // to cut down on the need to resize the image -void PaintingArea::resizeEvent(QResizeEvent *event){ - //TODO wait till tool works - update(); +void PaintingArea::resizeEvent(QResizeEvent*event){ + //TODO wait till tool works + update(); } -void PaintingArea::resizeImage(QImage *image_res, const QSize &newSize){ - //TODO implement +void PaintingArea::resizeImage(QImage*image_res, const QSize &newSize){ + //TODO implement } void PaintingArea::activateUpperLayer(){ - if(activeLayer!=-1 && activeLayer0){ - std::swap(layerBundle[activeLayer], layerBundle[activeLayer-1]); - activeLayer--; - } + if(activeLayer!=-1 && activeLayer>0) { + std::swap(layerBundle[activeLayer], layerBundle[activeLayer-1]); + activeLayer--; + } } void PaintingArea::assembleLayers(bool forSaving){ - if(forSaving){ - Canvas->fill(Qt::GlobalColor::transparent); - }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.hightOffset+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); + if(forSaving) { + Canvas->fill(Qt::GlobalColor::transparent); + }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); + clr_0.setRed(r); + clr_0.setGreen(g); + clr_0.setBlue(b); + clr_0.setAlpha(a); - Canvas->setPixelColor(layer.widthOffset+x, layer.hightOffset+y, clr_0); - } - } - } + Canvas->setPixelColor(layer.widthOffset+x, layer.heightOffset+y, clr_0); + } + } + } } void PaintingArea::createTempLayerAfter(int idx){ - if(idx>=0){ - LayerObject newLayer; - newLayer.alpha = 255; - newLayer.hight = layerBundle[idx].hight; - newLayer.width = layerBundle[idx].width; - newLayer.hightOffset = layerBundle[idx].hightOffset; - newLayer.widthOffset = layerBundle[idx].widthOffset; - newLayer.image = layerBundle[idx].image->getDeepCopy(); - layerBundle.insert(layerBundle.begin()+idx+1,newLayer); - } + if(idx>=0) { + LayerObject newLayer; + newLayer.alpha = 255; + newLayer.height = layerBundle[idx].height; + newLayer.width = layerBundle[idx].width; + newLayer.heightOffset = layerBundle[idx].heightOffset; + newLayer.widthOffset = layerBundle[idx].widthOffset; + newLayer.image = layerBundle[idx].image->getDeepCopy(); + layerBundle.insert(layerBundle.begin()+idx+1,newLayer); + } } diff --git a/src/Layer/PaintingArea.h b/src/Layer/PaintingArea.h index a4ec3fa..591f693 100644 --- a/src/Layer/PaintingArea.h +++ b/src/Layer/PaintingArea.h @@ -13,18 +13,26 @@ #include "Tool/IntelliTool.h" #include "IntelliHelper/IntelliColorPicker.h" - +/*! + * \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{ IntelliImage* image; int width; - int hight; + int height; int widthOffset; - int hightOffset; + int heightOffset; int alpha=255; - - }; +/*! + * \brief The PaintingArea class manages the methods and stores information about the current painting area, which is the currently opened project + */ class PaintingArea : public QWidget { // Declares our class as a QObject which is the base class @@ -33,36 +41,136 @@ class PaintingArea : public QWidget Q_OBJECT friend IntelliTool; 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); - ~PaintingArea(); + + /*! + * \brief This deconstructor is used to clear up the memory and remove the currently active window + */ + ~PaintingArea() override; // Handles all events + + /*! + * \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 &fileName); + /*! + * \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 &fileName, 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, ImageType type = ImageType::Raster_Image); + /*! + * \brief The addLayerAt adds a layer to the current project/ painting area at a specific position in the layer stack + * \param idx - ID 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, ImageType type = ImageType::Raster_Image); + /*! + * \brief The deleteLayer method removes a layer at a given index + * \param index - The index of the layer to be removed + */ void deleteLayer(int index); + /*! + * \brief The setLayerToActive method marks a specific layer as active + * \param index - Index of the layer to be active + */ void setLayerToActive(int index); + /*! + * \brief The setAlphaOfLayer method sets the alpha value of a specific layer + * \param index - Index of the layer where the change should be applied + * \param alpha - New alpha value of the layer + */ void setAlphaOfLayer(int index, 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 id of the new position the layer should be in + */ void moveActiveLayer(int idx); //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 colorPickerSwitchColor(); - //create tools + // 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(); public slots: - // Events to handle + /*! + * \brief The slotActivateLayer method handles the event of selecting one layer as active + * \param a - Index of the layer to be active + */ void slotActivateLayer(int a); + /*! + * \brief The slotDeleteActiveLayer method handles the deletion of the active layer + */ void slotDeleteActiveLayer(); protected: @@ -70,6 +178,7 @@ protected: 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; @@ -82,7 +191,6 @@ private: void activateUpperLayer(); void activateLowerLayer(); - QImage* Canvas; int maxWidth; int maxHeight; @@ -97,10 +205,8 @@ private: void resizeImage(QImage *image_res, const QSize &newSize); - - //Helper for Tool + // Helper for Tool void createTempLayerAfter(int idx); }; #endif - diff --git a/src/Tool/IntelliColorPicker.cpp b/src/Tool/IntelliColorPicker.cpp index 55af5b9..67ba35c 100644 --- a/src/Tool/IntelliColorPicker.cpp +++ b/src/Tool/IntelliColorPicker.cpp @@ -2,9 +2,9 @@ #include "QDebug" IntelliColorPicker::IntelliColorPicker(PaintingArea* Area) - :IntelliTool(Area){ - firstColor = {255,0,0,255}; - secondColor = {0,0,255,255}; + : IntelliTool(Area){ + firstColor = {255,0,0,255}; + secondColor = {0,0,255,255}; } IntelliColorPicker::~IntelliColorPicker(){ @@ -12,25 +12,25 @@ 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; - } + 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; + return firstColor; } QColor IntelliColorPicker::getSecondColor(){ - return secondColor; + return secondColor; } diff --git a/src/Tool/IntelliTool.cpp b/src/Tool/IntelliTool.cpp index 606459c..e83fef9 100644 --- a/src/Tool/IntelliTool.cpp +++ b/src/Tool/IntelliTool.cpp @@ -1,9 +1,9 @@ -#include"IntelliTool.h" -#include"Layer/PaintingArea.h" +#include "IntelliTool.h" +#include "Layer/PaintingArea.h" IntelliTool::IntelliTool(PaintingArea* Area, IntelliColorPicker* colorPicker){ - this->Area=Area; - this->colorPicker=colorPicker; + this->Area=Area; + this->colorPicker=colorPicker; } @@ -12,66 +12,70 @@ IntelliTool::~IntelliTool(){ } void IntelliTool::onMouseRightPressed(int x, int y){ - if(drawing){ - drawing=false; - this->deleteToolLayer(); - } + if(drawing) { + drawing=false; + this->deleteToolLayer(); + } } void IntelliTool::onMouseRightReleased(int x, int y){ - //optional for tool + //optional for tool } void IntelliTool::onMouseLeftPressed(int x, int y){ - this->drawing=true; - //create drawing layer - this->createToolLayer(); - Canvas->image->calculateVisiblity(); + this->drawing=true; + //create drawing layer + this->createToolLayer(); + Canvas->image->calculateVisiblity(); } void IntelliTool::onMouseLeftReleased(int x, int y){ - if(drawing){ - drawing=false; - this->mergeToolLayer(); - this->deleteToolLayer(); - Active->image->calculateVisiblity(); - } + if(drawing) { + drawing=false; + this->mergeToolLayer(); + this->deleteToolLayer(); + Active->image->calculateVisiblity(); + } } void IntelliTool::onMouseMoved(int x, int y){ - if(drawing) - Canvas->image->calculateVisiblity(); + if(drawing) + Canvas->image->calculateVisiblity(); +} + +void IntelliTool::onWheelScrolled(int value){ + //if needed for future general tasks implement in here } void IntelliTool::createToolLayer(){ - Area->createTempLayerAfter(Area->activeLayer); - this->Active=&Area->layerBundle[Area->activeLayer]; - this->Canvas=&Area->layerBundle[Area->activeLayer+1]; + Area->createTempLayerAfter(Area->activeLayer); + this->Active=&Area->layerBundle[Area->activeLayer]; + this->Canvas=&Area->layerBundle[Area->activeLayer+1]; } void IntelliTool::mergeToolLayer(){ - QColor clr_0; - QColor clr_1; - for(int y=0; yhight; y++){ - for(int x=0; xwidth; x++){ - clr_0=Active->image->imageData.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); + QColor clr_0; + QColor clr_1; + for(int y=0; yheight; y++) { + for(int x=0; xwidth; x++) { + clr_0=Active->image->imageData.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); - Active->image->imageData.setPixelColor(x, y, clr_0); - } - } + Active->image->imageData.setPixelColor(x, y, clr_0); + } + } } void IntelliTool::deleteToolLayer(){ - Area->deleteLayer(Area->activeLayer+1); - this->Canvas=nullptr; + Area->deleteLayer(Area->activeLayer+1); + this->Canvas=nullptr; } diff --git a/src/Tool/IntelliTool.h b/src/Tool/IntelliTool.h index b534257..3903edb 100644 --- a/src/Tool/IntelliTool.h +++ b/src/Tool/IntelliTool.h @@ -7,28 +7,105 @@ class LayerObject; class PaintingArea; -class IntelliTool{ +/*! + * \brief An abstract class that manages the basic events, like mouse clicks or scrolls events. + */ +class IntelliTool { private: - void createToolLayer(); - void mergeToolLayer(); - void deleteToolLayer(); -protected: - PaintingArea* Area; - IntelliColorPicker* colorPicker; +/*! + * \brief A function that creates a layer to draw on. + */ +void createToolLayer(); - LayerObject* Active; - LayerObject* Canvas; - bool drawing = false; +/*! + * \brief A function that merges the drawing- and the active- layer. + */ +void mergeToolLayer(); + +/*! + * \brief A function that deletes the drawinglayer. + */ +void deleteToolLayer(); +protected: +/*! + * \brief A pointer to the general PaintingArea to interact with. + */ +PaintingArea* Area; + +/*! + * \brief A pointer to the IntelliColorPicker of the PaintingArea to interact with, and get the colors. + */ +IntelliColorPicker* colorPicker; + +/*! + * \brief A pointer to the underlying active Layer, do not work on this. This is used for data grabbing or previews. + */ +LayerObject* Active; + +/*! + * \brief A pointer to the drawing canvas of the tool, work on this. + */ +LayerObject* Canvas; + +/*! + * \brief A flag checking if the user is currently drawing or not. + */ +bool drawing = false; public: - IntelliTool(PaintingArea* Area, IntelliColorPicker* colorPicker); - virtual ~IntelliTool() = 0; +/*! + * \brief A constructor setting the general Painting Area and colorPicker. + * \param Area - The general PaintingArea used by the project. + * \param colorPicker - The general colorPicker used by the project. + */ +IntelliTool(PaintingArea* Area, IntelliColorPicker* colorPicker); + +/*! + * \brief An abstract Destructor. + */ +virtual ~IntelliTool() = 0; + +/*! + * \brief A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on. Call this in child classes! + * \param x - The x coordinate relative to the active/canvas layer. + * \param y - The y coordinate relative to the active/canvas layer. + */ +virtual void onMouseRightPressed(int x, int y); + +/*! + * \brief A function managing the right click Released of a Mouse. Merging the Canvas to Active. Call this in child classes! + * \param x - The x coordinate relative to the active/canvas layer. + * \param y - The y coordinate relative to the active/canvas layer. + */ +virtual void onMouseRightReleased(int x, int y); + +/*! + * \brief A function managing the left click Pressed of a Mouse. Resetting the current draw. Call this in child classes! + * \param x - The x coordinate relative to the active/canvas layer. + * \param y - The y coordinate relative to the active/canvas layer. + */ +virtual void onMouseLeftPressed(int x, int y); + +/*! + * \brief A function managing the left click Released of a Mouse. Call this in child classes! + * \param x - The x coordinate relative to the active/canvas layer. + * \param y - The y coordinate relative to the active/canvas layer. + */ +virtual void onMouseLeftReleased(int x, int y); + +/*! + * \brief A function managing the scroll event. A positive value means scrolling outwards. Call this in child classes! + * \param value - The absolute the scroll has changed. + */ +virtual void onWheelScrolled(int value); + +/*! + * \brief A function managing the mouse moved event. Call this in child classes! + * \param x - The x coordinate of the new mouse position. + * \param y - The y coordinate of the new mouse position. + */ +virtual void onMouseMoved(int x, int y); - virtual void onMouseRightPressed(int x, int y); - virtual void onMouseRightReleased(int x, int y); - virtual void onMouseLeftPressed(int x, int y); - virtual void onMouseLeftReleased(int x, int y); - virtual void onMouseMoved(int x, int y); }; #endif diff --git a/src/Tool/IntelliToolCircle.cpp b/src/Tool/IntelliToolCircle.cpp new file mode 100644 index 0000000..c602f53 --- /dev/null +++ b/src/Tool/IntelliToolCircle.cpp @@ -0,0 +1,87 @@ +#include "IntelliToolCircle.h" +#include "Layer/PaintingArea.h" +#include "QInputDialog" +#include + +IntelliToolCircle::IntelliToolCircle(PaintingArea* Area, IntelliColorPicker* colorPicker) + : IntelliTool(Area, colorPicker){ + this->alphaInner = QInputDialog::getInt(nullptr,"Inner Alpha Value", "Value:", 0,0,255,1); + this->edgeWidth = QInputDialog::getInt(nullptr,"Outer edge width", "Value:", 0,1,255,1); +} + +IntelliToolCircle::~IntelliToolCircle(){ + +} + +void IntelliToolCircle::drawCyrcle(int radius){ + int outer = radius+20; + QColor inner = this->colorPicker->getSecondColor(); + inner.setAlpha(alphaInner); + int yMin, yMax, xMin, xMax; + yMin = Middle.y()-radius; + yMax = Middle.y()+radius; + // x = x0+-sqrt(r2-(y-y0)2) + for(int i=yMin; i<=yMax; i++) { + xMin = Middle.x()-sqrt(pow(radius,2)-pow(i-Middle.y(),2)); + xMax = Middle.x()+sqrt(pow(radius,2)-pow(i-Middle.y(),2)); + this->Canvas->image->drawLine(QPoint(xMin,i), QPoint(xMax,i),inner,1); + } + + //TODO implement circle drawing algorithm bresenham + radius = radius +(this->edgeWidth/2.)-1.; + yMin = (Middle.y()-radius); + yMax = (Middle.y()+radius); + for(int i=yMin; i<=yMax; i++) { + xMin = Middle.x()-sqrt(pow(radius,2)-pow(i-Middle.y(),2)); + xMax = Middle.x()+sqrt(pow(radius,2)-pow(i-Middle.y(),2)); + this->Canvas->image->drawPoint(QPoint(xMin,i), colorPicker->getFirstColor(),edgeWidth); + this->Canvas->image->drawPoint(QPoint(xMax,i), colorPicker->getFirstColor(),edgeWidth); + } + + xMin = (Middle.x()-radius); + xMax = (Middle.x()+radius); + for(int i=xMin; i<=xMax; i++) { + int yMin = Middle.y()-sqrt(pow(radius,2)-pow(i-Middle.x(),2)); + int yMax = Middle.y()+sqrt(pow(radius,2)-pow(i-Middle.x(),2)); + this->Canvas->image->drawPoint(QPoint(i, yMin), colorPicker->getFirstColor(),edgeWidth); + this->Canvas->image->drawPoint(QPoint(i, yMax), colorPicker->getFirstColor(),edgeWidth); + } +} + +void IntelliToolCircle::onMouseRightPressed(int x, int y){ + IntelliTool::onMouseRightPressed(x,y); +} + +void IntelliToolCircle::onMouseRightReleased(int x, int y){ + IntelliTool::onMouseRightReleased(x,y); +} + +void IntelliToolCircle::onMouseLeftPressed(int x, int y){ + IntelliTool::onMouseLeftPressed(x,y); + this->Middle=QPoint(x,y); + int radius = 1; + drawCyrcle(radius); + Canvas->image->calculateVisiblity(); +} + +void IntelliToolCircle::onMouseLeftReleased(int x, int y){ + IntelliTool::onMouseLeftReleased(x,y); +} + +void IntelliToolCircle::onWheelScrolled(int value){ + IntelliTool::onWheelScrolled(value); + this->edgeWidth+=value; + if(this->edgeWidth<=0) { + this->edgeWidth=1; + } +} + +void IntelliToolCircle::onMouseMoved(int x, int y){ + if(this->drawing) { + this->Canvas->image->drawPlain(Qt::transparent); + QPoint next(x,y); + int radius = static_cast(sqrt(pow((Middle.x()-x),2)+pow((Middle.y()-y),2))); + drawCyrcle(radius); + } + IntelliTool::onMouseMoved(x,y); +} diff --git a/src/Tool/IntelliToolCircle.h b/src/Tool/IntelliToolCircle.h new file mode 100644 index 0000000..a748950 --- /dev/null +++ b/src/Tool/IntelliToolCircle.h @@ -0,0 +1,86 @@ +#ifndef INTELLITOOLCIRCLE_H +#define INTELLITOOLCIRCLE_H +#include "IntelliTool.h" + +#include "QColor" +#include "QPoint" +/*! + * \brief The IntelliToolCircle class represents a tool to draw a circle. + */ +class IntelliToolCircle : public IntelliTool { +/*! + * \brief A function that implements a circle drawing algorithm. + * \param radius - The radius of the circle. + */ +void drawCyrcle(int radius); + +/*! + * \brief The center of the circle. + */ +QPoint Middle; + +/*! + * \brief The alpha value of the inner circle. + */ +int alphaInner; + +/*! + * \brief The width of the outer circle edge. + */ +int edgeWidth; +public: +/*! + * \brief A constructor setting the general paintingArea and colorPicker. And reading in the inner alpha and edgeWidth. + * \param Area - The general paintingArea used by the project. + * \param colorPicker - The general colorPicker used by the project. + */ +IntelliToolCircle(PaintingArea* Area, IntelliColorPicker* colorPicker); + +/*! + * \brief A Destructor. + */ +virtual ~IntelliToolCircle() override; + +/*! + * \brief A function managing the right click pressed of a mouse. Clearing the canvas layer. + * \param x - The x coordinate relative to the active/canvas layer. + * \param y - The y coordinate relative to the active/canvas layer. + */ +virtual void onMouseRightPressed(int x, int y) override; + +/*! + * \brief A function managing the right click released of a mouse. + * \param x - The x coordinate relative to the active/canvas layer. + * \param y - The y coordinate relative to the active/canvas layer. + */ +virtual void onMouseRightReleased(int x, int y) override; + +/*! + * \brief A function managing the left click pressed of a mouse. Sets the middle point of the cricle. + * \param x - The x coordinate relative to the active/canvas layer. + * \param y - The y coordinate relative to the active/canvas layer. + */ +virtual void onMouseLeftPressed(int x, int y) override; + +/*! + * \brief A function managing the left click released of a mouse. + * \param x - The x coordinate relative to the active/canvas layer. + * \param y - The y coordinate relative to the active/canvas layer. + */ +virtual void onMouseLeftReleased(int x, int y) override; + +/*! + * \brief A function managing the scroll event. Changing the edge Width relative to value. + * \param value - The absolute the scroll has changed. + */ +virtual void onWheelScrolled(int value) override; + +/*! + * \brief A function managing the mouse moved event. Draws a circle with radius of eulerian norm of mouse position and the middle point. + * \param x - The x coordinate of the new mouse position. + * \param y - The y coordinate of the new mouse position. + */ +virtual void onMouseMoved(int x, int y) override; +}; + +#endif // INTELLITOOLCIRCLE_H diff --git a/src/Tool/IntelliToolFloodFill.cpp b/src/Tool/IntelliToolFloodFill.cpp new file mode 100644 index 0000000..1c4fcac --- /dev/null +++ b/src/Tool/IntelliToolFloodFill.cpp @@ -0,0 +1,79 @@ +#include "IntelliToolFloodFill.h" +#include "Layer/PaintingArea.h" +#include "QColorDialog" +#include "QInputDialog" +#include +#include + +IntelliToolFloodFill::IntelliToolFloodFill(PaintingArea* Area, IntelliColorPicker* colorPicker) + : IntelliTool(Area, colorPicker){ +} + +IntelliToolFloodFill::~IntelliToolFloodFill(){ + +} + +void IntelliToolFloodFill::onMouseRightPressed(int x, int y){ + IntelliTool::onMouseRightPressed(x,y); +} + +void IntelliToolFloodFill::onMouseRightReleased(int x, int y){ + IntelliTool::onMouseRightReleased(x,y); +} + +void IntelliToolFloodFill::onMouseLeftPressed(int x, int y){ + if(!(x>=0 && xgetWidthOfActive() && y>=0 && ygetHeightOfActive())) { + return; + } + IntelliTool::onMouseLeftPressed(x,y); + + QPoint start(x,y); + std::queue Q; + Q.push(start); + + QColor oldColor = this->Active->image->getPixelColor(start); + QColor newColor = this->colorPicker->getFirstColor(); + Canvas->image->drawPixel(start,newColor); + + QPoint left, right, top, down; + while(!Q.empty()) { + 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); + if((right.x() < Canvas->width) && (Canvas->image->getPixelColor(right) != newColor) && (Active->image->getPixelColor(right) == oldColor)) { + Canvas->image->drawPixel(right,newColor); + Q.push(right); + } + if((left.x() >= 0) && (Canvas->image->getPixelColor(left) != newColor) && (Active->image->getPixelColor(left) == oldColor)) { + Canvas->image->drawPixel(left,newColor); + Q.push(left); + } + if((top.y() >= 0) && (Canvas->image->getPixelColor(top) != newColor) && (Active->image->getPixelColor(top) == oldColor)) { + Canvas->image->drawPixel(top,newColor); + Q.push(top); + } + if((down.y() < Canvas->height) && (Canvas->image->getPixelColor(down) != newColor) && (Active->image->getPixelColor(down) == oldColor)) { + Canvas->image->drawPixel(down,newColor); + Q.push(down); + } + } + + Canvas->image->calculateVisiblity(); +} + +void IntelliToolFloodFill::onMouseLeftReleased(int x, int y){ + IntelliTool::onMouseLeftReleased(x,y); +} + +void IntelliToolFloodFill::onWheelScrolled(int value){ + IntelliTool::onWheelScrolled(value); + +} + +void IntelliToolFloodFill::onMouseMoved(int x, int y){ + IntelliTool::onMouseMoved(x,y); +} diff --git a/src/Tool/IntelliToolFloodFill.h b/src/Tool/IntelliToolFloodFill.h new file mode 100644 index 0000000..81412ba --- /dev/null +++ b/src/Tool/IntelliToolFloodFill.h @@ -0,0 +1,67 @@ +#ifndef INTELLITOOLFLOODFILL_H +#define INTELLITOOLFLOODFILL_H +#include "IntelliTool.h" + +#include "QColor" + +/*! + * \brief The IntelliToolFloodFill class represents a tool to flood FIll a certian area. + */ +class IntelliToolFloodFill : public IntelliTool { +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. + */ +IntelliToolFloodFill(PaintingArea* Area, IntelliColorPicker* colorPicker); + +/*! + * \brief A Destructor. + */ +virtual ~IntelliToolFloodFill() override; + + +/*! + * \brief A function managing the right click pressed of a mouse. Clearing the canvas. + * \param x - The x coordinate relative to the active/canvas layer. + * \param y - The y coordinate relative to the active/canvas layer. + */ +virtual void onMouseRightPressed(int x, int y) override; + +/*! + * \brief A function managing the right click released of a mouse. + * \param x - The x coordinate relative to the active/canvas layer. + * \param y - The y coordinate relative to the active/canvas layer. + */ +virtual void onMouseRightReleased(int x, int y) override; + +/*! + * \brief A function managing the left click pressed of a mouse. Sets the point to flood fill around and does this. + * \param x - The x coordinate relative to the active/canvas layer. + * \param y - The y coordinate relative to the active/canvas layer. + */ +virtual void onMouseLeftPressed(int x, int y) override; + +/*! + * \brief A function managing the left click released of a mouse. + * \param x - The x coordinate relative to the active/canvas layer. + * \param y - The y coordinate relative to the active/canvas layer. + */ +virtual void onMouseLeftReleased(int x, int y) override; + +/*! + * \brief A function managing the scroll event. + * \param value - The absolute the scroll has changed. + */ +virtual void onWheelScrolled(int value) override; + +/*! + * \brief A function managing the mouse moved event. + * \param x - The x coordinate of the new mouse position. + * \param y - The y coordinate of the new mouse position. + */ +virtual void onMouseMoved(int x, int y) override; +}; + +#endif // INTELLITOOLFLOODFILL_H diff --git a/src/Tool/IntelliToolLine.cpp b/src/Tool/IntelliToolLine.cpp index b3f1bf7..39c07a4 100644 --- a/src/Tool/IntelliToolLine.cpp +++ b/src/Tool/IntelliToolLine.cpp @@ -4,53 +4,59 @@ #include "QInputDialog" IntelliToolLine::IntelliToolLine(PaintingArea* Area, IntelliColorPicker* colorPicker) - :IntelliTool(Area, colorPicker){ - this->lineWidth = QInputDialog::getInt(nullptr,"Line Width Input", "Width",1,1,50,1); - //create checkbox or scroll dialog to get line style - this->lineStyle = LineStyle::SOLID_LINE; + : IntelliTool(Area, colorPicker){ + this->lineWidth = QInputDialog::getInt(nullptr,"Line Width Input", "Width",1,1,50,1); + //create checkbox or scroll dialog to get line style + this->lineStyle = LineStyle::SOLID_LINE; } IntelliToolLine::~IntelliToolLine(){ } - void IntelliToolLine::onMouseRightPressed(int x, int y){ - IntelliTool::onMouseRightPressed(x,y); + IntelliTool::onMouseRightPressed(x,y); } void IntelliToolLine::onMouseRightReleased(int x, int y){ - IntelliTool::onMouseRightReleased(x,y); + IntelliTool::onMouseRightReleased(x,y); } void IntelliToolLine::onMouseLeftPressed(int x, int y){ - IntelliTool::onMouseLeftPressed(x,y); - this->start=QPoint(x,y); - this->Canvas->image->drawLine(start, start, colorPicker->getFirstColor(),lineWidth); - Canvas->image->calculateVisiblity(); + IntelliTool::onMouseLeftPressed(x,y); + this->start=QPoint(x,y); + this->Canvas->image->drawPoint(start, colorPicker->getFirstColor(),lineWidth); + Canvas->image->calculateVisiblity(); } void IntelliToolLine::onMouseLeftReleased(int x, int y){ - IntelliTool::onMouseLeftReleased(x,y); + IntelliTool::onMouseLeftReleased(x,y); +} + +void IntelliToolLine::onWheelScrolled(int value){ + IntelliTool::onWheelScrolled(value); + this->lineWidth+=value; + if(this->lineWidth<=0) { + this->lineWidth=1; + } } void IntelliToolLine::onMouseMoved(int x, int y){ - IntelliTool::onMouseMoved(x,y); - if(this->drawing){ - this->Canvas->image->drawPlain(Qt::transparent); - QPoint next(x,y); - switch(lineStyle){ - case LineStyle::SOLID_LINE: - this->Canvas->image->drawLine(start,next,colorPicker->getFirstColor(),lineWidth); - break; - case LineStyle::DOTTED_LINE: - QPoint p1 =start.x() <= next.x() ? start : next; - QPoint p2 =start.x() < next.x() ? next : start; - int m = (float)(p2.y()-p1.y())/(float)(p2.x()-p1.x())+0.5f; - int c = start.y()-start.x()*m; + if(this->drawing) { + this->Canvas->image->drawPlain(Qt::transparent); + QPoint next(x,y); + switch(lineStyle) { + case LineStyle::SOLID_LINE: + this->Canvas->image->drawLine(start,next,colorPicker->getFirstColor(),lineWidth); + break; + case LineStyle::DOTTED_LINE: + QPoint p1 =start.x() <= next.x() ? start : next; + QPoint p2 =start.x() < next.x() ? next : start; + int m = (float)(p2.y()-p1.y())/(float)(p2.x()-p1.x())+0.5f; + int c = start.y()-start.x()*m; - break; - } - } - IntelliTool::onMouseMoved(x,y); + break; + } + } + IntelliTool::onMouseMoved(x,y); } diff --git a/src/Tool/IntelliToolLine.h b/src/Tool/IntelliToolLine.h index ffde866..3463092 100644 --- a/src/Tool/IntelliToolLine.h +++ b/src/Tool/IntelliToolLine.h @@ -2,29 +2,88 @@ #define INTELLITOOLLINE_H #include "IntelliTool.h" -#include "QColor" #include "QPoint" -enum class LineStyle{ - SOLID_LINE, - DOTTED_LINE +/*! + * \brief The LineStyle enum classifing all ways of drawing a line. + */ +enum class LineStyle { + SOLID_LINE, + DOTTED_LINE }; -class IntelliToolLine : public IntelliTool{ - QPoint start; - int lineWidth; - LineStyle lineStyle; +/*! + * \brief The IntelliToolFloodFill class represents a tool to draw a line. + */ +class IntelliToolLine : public IntelliTool { +/*! + * \brief The starting point of the line. + */ +QPoint start; + +/*! + * \brief The width of the line to draw. + */ +int lineWidth; + +/*! + * \brief The style of the line. Apropriate to LineStyle. + */ +LineStyle lineStyle; public: - IntelliToolLine(PaintingArea* Area, IntelliColorPicker* colorPicker); - virtual ~IntelliToolLine() override; +/*! + * \brief A constructor setting the general paintingArea and colorPicker. And reading in the lineWidth and lineStyle. + * \param Area - The general paintingArea used by the project. + * \param colorPicker - The general colorPicker used by the project. + */ +IntelliToolLine(PaintingArea* Area, IntelliColorPicker* colorPicker); - virtual void onMouseRightPressed(int x, int y) override; - virtual void onMouseRightReleased(int x, int y) override; - virtual void onMouseLeftPressed(int x, int y) override; - virtual void onMouseLeftReleased(int x, int y) override; +/*! + * \brief An abstract Destructor. + */ +virtual ~IntelliToolLine() override; - virtual void onMouseMoved(int x, int y) override; +/*! + * \brief A function managing the right click pressed of a mouse. Clearing the canvas. + * \param x - The x coordinate relative to the active/canvas layer. + * \param y - The y coordinate relative to the active/canvas layer. + */ +virtual void onMouseRightPressed(int x, int y) override; + +/*! + * \brief A function managing the right click released of a mouse. + * \param x - The x coordinate relative to the active/canvas layer. + * \param y - The y coordinate relative to the active/canvas layer. + */ +virtual void onMouseRightReleased(int x, int y) override; + +/*! + * \brief A function managing the left click pressed of a mouse. Sets the starting point of the line. + * \param x - The x coordinate relative to the active/canvas layer. + * \param y - The y coordinate relative to the active/canvas layer. + */ +virtual void onMouseLeftPressed(int x, int y) override; + +/*! + * \brief A function managing the left click released of a mouse. + * \param x - The x coordinate relative to the active/canvas layer. + * \param y - The y coordinate relative to the active/canvas layer. + */ +virtual void onMouseLeftReleased(int x, int y) override; + +/*! + * \brief A function managing the scroll event. Changing the lineWidth relative to value. + * \param value - The absolute the scroll has changed. + */ +virtual void onWheelScrolled(int value) override; + +/*! + * \brief A function managing the mouse moved event. Drawing a Line from the startpoint to the current mouse position. + * \param x - The x coordinate of the new mouse position. + * \param y - The y coordinate of the new mouse position. + */ +virtual void onMouseMoved(int x, int y) override; }; #endif // INTELLITOOLLINE_H diff --git a/src/Tool/IntelliToolPen.cpp b/src/Tool/IntelliToolPen.cpp index 14db6dd..7b12270 100644 --- a/src/Tool/IntelliToolPen.cpp +++ b/src/Tool/IntelliToolPen.cpp @@ -5,8 +5,8 @@ #include "QInputDialog" IntelliToolPen::IntelliToolPen(PaintingArea* Area, IntelliColorPicker* colorPicker) - :IntelliTool(Area, colorPicker){ - this->penWidth = QInputDialog::getInt(nullptr, "Pen width", "Width:", 1,0, 50, 1); + : IntelliTool(Area, colorPicker){ + this->penWidth = QInputDialog::getInt(nullptr, "Pen width", "Width:", 1,0, 50, 1); } IntelliToolPen::~IntelliToolPen(){ @@ -14,29 +14,37 @@ IntelliToolPen::~IntelliToolPen(){ } void IntelliToolPen::onMouseRightPressed(int x, int y){ - IntelliTool::onMouseRightPressed(x,y); + IntelliTool::onMouseRightPressed(x,y); } void IntelliToolPen::onMouseRightReleased(int x, int y){ - IntelliTool::onMouseRightReleased(x,y); + IntelliTool::onMouseRightReleased(x,y); } void IntelliToolPen::onMouseLeftPressed(int x, int y){ - IntelliTool::onMouseLeftPressed(x,y); - this->point=QPoint(x,y); - this->Canvas->image->drawPixel(point, colorPicker->getFirstColor()); - Canvas->image->calculateVisiblity(); + IntelliTool::onMouseLeftPressed(x,y); + this->point=QPoint(x,y); + this->Canvas->image->drawPixel(point, colorPicker->getFirstColor()); + Canvas->image->calculateVisiblity(); } void IntelliToolPen::onMouseLeftReleased(int x, int y){ - IntelliTool::onMouseLeftReleased(x,y); + IntelliTool::onMouseLeftReleased(x,y); } void IntelliToolPen::onMouseMoved(int x, int y){ - if(this->drawing){ - QPoint newPoint(x,y); - this->Canvas->image->drawLine(this->point, newPoint, colorPicker->getFirstColor(), penWidth); - this->point=newPoint; - } - IntelliTool::onMouseMoved(x,y); + if(this->drawing) { + QPoint newPoint(x,y); + this->Canvas->image->drawLine(this->point, newPoint, colorPicker->getFirstColor(), penWidth); + this->point=newPoint; + } + IntelliTool::onMouseMoved(x,y); +} + +void IntelliToolPen::onWheelScrolled(int value){ + IntelliTool::onWheelScrolled(value); + this->penWidth+=value; + if(this->penWidth<=0) { + this->penWidth=1; + } } diff --git a/src/Tool/IntelliToolPen.h b/src/Tool/IntelliToolPen.h index a5acc49..22694f7 100644 --- a/src/Tool/IntelliToolPen.h +++ b/src/Tool/IntelliToolPen.h @@ -1,23 +1,73 @@ #ifndef INTELLITOOLPEN_H #define INTELLITOOLPEN_H -#include"IntelliTool.h" -#include"QColor" -#include"QPoint" - -class IntelliToolPen : public IntelliTool{ - int penWidth; - QPoint point; +#include "IntelliTool.h" +#include "QColor" +#include "QPoint" +/*! + * \brief The IntelliToolPen class represents a tool to draw a line. + */ +class IntelliToolPen : public IntelliTool { +/*! + * \brief penWidth - The width of the Pen while drawing. + */ +int penWidth; +/*! + * \brief point - Represents the previous point to help drawing a line. + */ +QPoint point; public: - IntelliToolPen(PaintingArea* Area, IntelliColorPicker* colorPicker); - virtual ~IntelliToolPen() override; +/*! + * \brief A constructor setting the general paintingArea and colorPicker. Reading the penWidth. + * \param Area - The general PaintingArea used by the project. + * \param colorPicker - The general colorPicker used by the project. + */ +IntelliToolPen(PaintingArea* Area, IntelliColorPicker* colorPicker); +/*! + * \brief A Destructor. + */ +virtual ~IntelliToolPen() override; - virtual void onMouseRightPressed(int x, int y) override; - virtual void onMouseRightReleased(int x, int y) override; - virtual void onMouseLeftPressed(int x, int y) override; - virtual void onMouseLeftReleased(int x, int y) override; +/*! + * \brief A function managing the right click pressed of a mouse. Resetting the current draw. + * \param x - The x coordinate relative to the active/canvas layer. + * \param y - The y coordinate relative to the active/canvas layer. + */ +virtual void onMouseRightPressed(int x, int y) override; - virtual void onMouseMoved(int x, int y) override; +/*! + * \brief A function managing the right click released of a mouse. + * \param x - The x coordinate relative to the active/canvas layer. + * \param y - The y coordinate relative to the active/canvas layer. + */ +virtual void onMouseRightReleased(int x, int y) override; + +/*! + * \brief A function managing the left click pressed of a mouse. Starting the drawing procedure. + * \param x - The x coordinate relative to the active/canvas layer. + * \param y - The y coordinate relative to the active/canvas layer. + */ +virtual void onMouseLeftPressed(int x, int y) override; + +/*! + * \brief A function managing the left click released of a mouse. Merging the drawing to the active layer. + * \param x - The x coordinate relative to the active/canvas layer. + * \param y - The y coordinate relative to the active/canvas layer. + */ +virtual void onMouseLeftReleased(int x, int y) override; + +/*! + * \brief A function managing the scroll event. Changing penWidth relativ to value. + * \param value - The absolute the scroll has changed. + */ +virtual void onWheelScrolled(int value) override; + +/*! + * \brief A function managing the mouse moved event. To draw the line. + * \param x - The x coordinate of the new mouse position. + * \param y - The y coordinate of the new mouse position. + */ +virtual void onMouseMoved(int x, int y) override; }; #endif // INTELLITOOLPEN_H diff --git a/src/Tool/IntelliToolPlain.cpp b/src/Tool/IntelliToolPlain.cpp index aaa2a02..092c3c8 100644 --- a/src/Tool/IntelliToolPlain.cpp +++ b/src/Tool/IntelliToolPlain.cpp @@ -3,28 +3,35 @@ #include "QColorDialog" IntelliToolPlainTool::IntelliToolPlainTool(PaintingArea* Area, IntelliColorPicker* colorPicker) - :IntelliTool(Area, colorPicker){ + : IntelliTool(Area, colorPicker){ +} + +IntelliToolPlainTool::~IntelliToolPlainTool(){ + } void IntelliToolPlainTool::onMouseLeftPressed(int x, int y){ - IntelliTool::onMouseLeftPressed(x,y); - this->Canvas->image->drawPlain(colorPicker->getFirstColor()); - Canvas->image->calculateVisiblity(); + IntelliTool::onMouseLeftPressed(x,y); + this->Canvas->image->drawPlain(colorPicker->getFirstColor()); + Canvas->image->calculateVisiblity(); } void IntelliToolPlainTool::onMouseLeftReleased(int x, int y){ - IntelliTool::onMouseLeftReleased(x,y); + IntelliTool::onMouseLeftReleased(x,y); } void IntelliToolPlainTool::onMouseRightPressed(int x, int y){ - IntelliTool::onMouseRightPressed(x,y); + IntelliTool::onMouseRightPressed(x,y); } void IntelliToolPlainTool::onMouseRightReleased(int x, int y){ - IntelliTool::onMouseRightReleased(x,y); + IntelliTool::onMouseRightReleased(x,y); } - void IntelliToolPlainTool::onMouseMoved(int x, int y){ - IntelliTool::onMouseMoved(x,y); + IntelliTool::onMouseMoved(x,y); +} + +void IntelliToolPlainTool::onWheelScrolled(int value){ + IntelliTool::onWheelScrolled(value); } diff --git a/src/Tool/IntelliToolPlain.h b/src/Tool/IntelliToolPlain.h index 9ff1b7a..08a79fc 100644 --- a/src/Tool/IntelliToolPlain.h +++ b/src/Tool/IntelliToolPlain.h @@ -3,16 +3,62 @@ #include "IntelliTool.h" #include "QColor" - -class IntelliToolPlainTool : public IntelliTool{ +/*! + * \brief The IntelliToolPlainTool class represents a tool to fill the whole canvas with one color. + */ +class IntelliToolPlainTool : public IntelliTool { public: - IntelliToolPlainTool(PaintingArea *Area, IntelliColorPicker* colorPicker); +/*! + * \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. + */ +IntelliToolPlainTool(PaintingArea*Area, IntelliColorPicker* colorPicker); +/*! + * \brief A Destructor. + */ +virtual ~IntelliToolPlainTool() override; - void onMouseLeftPressed(int x, int y) override; - void onMouseLeftReleased(int x, int y) override; - void onMouseRightPressed(int x, int y) override; - void onMouseRightReleased(int x, int y) override; - void onMouseMoved(int x, int y) override; +/*! + * \brief A function managing the right click pressed of a mouse. Resetting the current fill. + * \param x - The x coordinate relative to the active/canvas layer. + * \param y - The y coordinate relative to the active/canvas layer. + */ +virtual void onMouseRightPressed(int x, int y) override; + +/*! + * \brief A function managing the right click released of a mouse. + * \param x - The x coordinate relative to the active/canvas layer. + * \param y - The y coordinate relative to the active/canvas layer. + */ +virtual void onMouseRightReleased(int x, int y) override; + +/*! + * \brief A function managing the left click pressed of a mouse. Filling the whole canvas. + * \param x - The x coordinate relative to the active/canvas layer. + * \param y - The y coordinate relative to the active/canvas layer. + */ +virtual void onMouseLeftPressed(int x, int y) override; + +/*! + * \brief A function managing the left click released of a mouse. Merging the fill to the active layer. + * \param x - The x coordinate relative to the active/canvas layer. + * \param y - The y coordinate relative to the active/canvas layer. + */ +virtual void onMouseLeftReleased(int x, int y) override; + +/*! + * \brief A function managing the scroll event. + * \param value - The absolute the scroll has changed. + */ +virtual void onWheelScrolled(int value) override; + +/*! + * \brief A function managing the mouse moved event. + * \param x - The x coordinate of the new mouse position. + * \param y - The y coordinate of the new mouse position. + */ +virtual void onMouseMoved(int x, int y) override; }; diff --git a/src/Tool/IntelliToolPolygon.cpp b/src/Tool/IntelliToolPolygon.cpp new file mode 100644 index 0000000..4d95ee3 --- /dev/null +++ b/src/Tool/IntelliToolPolygon.cpp @@ -0,0 +1,109 @@ +#include "IntelliToolPolygon.h" +#include "Layer/PaintingArea.h" +#include +#include +#include + +IntelliToolPolygon::IntelliToolPolygon(PaintingArea* Area, IntelliColorPicker* colorPicker) + : IntelliTool(Area, colorPicker){ + this->alphaInner = QInputDialog::getInt(nullptr,"Inner Alpha Value", "Value:", 0,0,255,1); + lineWidth = QInputDialog::getInt(nullptr,"Line Width Input", "Width",1,1,50,1);; + PointIsNearStart = false; + isDrawing = false; +} + +IntelliToolPolygon::~IntelliToolPolygon(){ + +} + +void IntelliToolPolygon::onMouseLeftPressed(int x, int y){ + if(!isDrawing && x > 0 && y > 0 && xgetWidthOfActive() && ygetHeightOfActive()) { + IntelliTool::onMouseLeftPressed(x,y); + QPoint drawingPoint = QPoint(x,y); + + isDrawing = true; + QPointList.push_back(drawingPoint); + + this->Canvas->image->drawPoint(QPointList.back(), colorPicker->getFirstColor(), lineWidth); + this->Canvas->image->calculateVisiblity(); + } + else if(isDrawing && isNearStart(x,y,QPointList.front())) { + PointIsNearStart = true; + this->Canvas->image->drawLine(QPointList.back(), QPointList.front(), colorPicker->getFirstColor(), lineWidth); + this->Canvas->image->calculateVisiblity(); + } + else if(isDrawing) { + QPoint drawingPoint(x,y); + QPointList.push_back(drawingPoint); + this->Canvas->image->drawLine(QPointList[QPointList.size() - 2], QPointList[QPointList.size() - 1], colorPicker->getFirstColor(), lineWidth); + this->Canvas->image->calculateVisiblity(); + } +} + +void IntelliToolPolygon::onMouseRightPressed(int x, int y){ + isDrawing = false; + PointIsNearStart = false; + QPointList.clear(); + IntelliTool::onMouseRightPressed(x,y); +} + +void IntelliToolPolygon::onMouseLeftReleased(int x, int y){ + if(PointIsNearStart && QPointList.size() > 1) { + PointIsNearStart = false; + isDrawing = false; + std::vector Triangles = IntelliHelper::calculateTriangles(QPointList); + QPoint Point; + QColor colorTwo(colorPicker->getSecondColor()); + colorTwo.setAlpha(alphaInner); + for(int i = 0; i < Active->width; i++) { + for(int j = 0; j < Active->height; j++) { + Point = QPoint(i,j); + if(IntelliHelper::isInPolygon(Triangles,Point)) { + this->Canvas->image->drawPixel(Point, colorTwo); + } + } + } + for(int i=0; iCanvas->image->drawLine(QPointList[i], QPointList[next], colorPicker->getFirstColor(), lineWidth); + } + QPointList.clear(); + IntelliTool::onMouseLeftReleased(x,y); + } +} + +void IntelliToolPolygon::onMouseRightReleased(int x, int y){ + IntelliTool::onMouseRightReleased(x,y); +} + +void IntelliToolPolygon::onWheelScrolled(int value){ + IntelliTool::onWheelScrolled(value); + if(!isDrawing) { + if(lineWidth + value < 10) { + lineWidth += value; + } + if(lineWidth < 1) { + lineWidth = 1; + } + } +} + +void IntelliToolPolygon::onMouseMoved(int x, int y){ + 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 = 10; + + 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; +} diff --git a/src/Tool/IntelliToolPolygon.h b/src/Tool/IntelliToolPolygon.h new file mode 100644 index 0000000..1d7228d --- /dev/null +++ b/src/Tool/IntelliToolPolygon.h @@ -0,0 +1,102 @@ +#ifndef INTELLITOOLPOLYGON_H +#define INTELLITOOLPOLYGON_H + +#include "IntelliTool.h" +#include "IntelliHelper/IntelliHelper.h" +#include +#include +/*! + * \brief The IntelliToolPolygon managed the Drawing of Polygonforms + */ +class IntelliToolPolygon : public IntelliTool +{ +/*! + * \brief Checks if the given Point lies near the starting Point. + * \param x - x coordinate of a point. + * \param y - y coordinate of a point. + * \param Startpoint - The startingpoint to check for. + * \return Returns true if the (x,y) point is near to the startpoint, otherwise false. + */ +bool isNearStart(int x, int y, QPoint Startpoint); + +/*! + * \brief LineWidth of the drawing polygon. + */ +int lineWidth; + +/*! + * \brief IsDrawing true while drawing, else false. + */ +bool isDrawing; + +/*! + * \brief PointIsNearStart true, when last click near startpoint, else false. + */ +bool PointIsNearStart; + +/*! + * \brief The alpha value of the inner circle. + */ +int alphaInner; + +/*! + * \brief QPointList list of all points of the polygon. + */ +std::vector QPointList; +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. + */ +IntelliToolPolygon(PaintingArea* Area, IntelliColorPicker* colorPicker); +/*! + * \brief A Destructor. + */ +~IntelliToolPolygon() override; + +/*! + * \brief A function managing the left click pressed of a mouse. Setting polygon points. + * \param x - The x coordinate relative to the active/canvas layer. + * \param y - The y coordinate relative to the active/canvas layer. + */ +virtual void onMouseLeftPressed(int x, int y) override; + +/*! + * \brief A function managing the left click released of a mouse. Merging the fill to the active layer. + * \param x - The x coordinate relative to the active/canvas layer. + * \param y - The y coordinate relative to the active/canvas layer. + */ +virtual void onMouseLeftReleased(int x, int y) override; + +/*! + * \brief A function managing the right click pressed of a mouse. Resetting the current fill. + * \param x - The x coordinate relative to the active/canvas layer. + * \param y - The y coordinate relative to the active/canvas layer. + */ +virtual void onMouseRightPressed(int x, int y) override; + +/*! + * \brief A function managing the right click released of a mouse. + * \param x - The x coordinate relative to the active/canvas layer. + * \param y - The y coordinate relative to the active/canvas layer. + */ +virtual void onMouseRightReleased(int x, int y) override; + +/*! + * \brief A function managing the scroll event. CHanging the lineWidth relative to value. + * \param value - The absolute the scroll has changed. + */ +virtual void onWheelScrolled(int value) override; + +/*! + * \brief A function managing the mouse moved event. + * \param x - The x coordinate of the new mouse position. + * \param y - The y coordinate of the new mouse position. + */ +virtual void onMouseMoved(int x, int y) override; + + +}; + +#endif // INTELLITOOLPOLYGON_H diff --git a/src/Tool/IntelliToolRectangle.cpp b/src/Tool/IntelliToolRectangle.cpp new file mode 100644 index 0000000..e5f0cdd --- /dev/null +++ b/src/Tool/IntelliToolRectangle.cpp @@ -0,0 +1,67 @@ +#include "IntelliToolRectangle.h" +#include "Layer/PaintingArea.h" +#include "QInputDialog" + +IntelliToolRectangle::IntelliToolRectangle(PaintingArea* Area, IntelliColorPicker* colorPicker) + : IntelliTool(Area, colorPicker){ + this->alphaInner = QInputDialog::getInt(nullptr,"Inner Alpha Value", "Value:", 0,0,255,1); + this->edgeWidth = QInputDialog::getInt(nullptr,"Outer edge width", "Value:", 0,1,255,1); +} + +IntelliToolRectangle::~IntelliToolRectangle(){ + +} + +void IntelliToolRectangle::drawRectangle(QPoint otherCornor){ + int xMin = std::min(originCornor.x(), otherCornor.x()); + int xMax = std::max(originCornor.x(), otherCornor.x()); + + int yMin = std::min(originCornor.y(), otherCornor.y()); + int yMax = std::max(originCornor.y(), otherCornor.y()); + + QColor clr = colorPicker->getSecondColor(); + clr.setAlpha(alphaInner); + 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(), edgeWidth); + this->Canvas->image->drawLine(QPoint(xMin, yMin),QPoint(xMax, yMin), this->colorPicker->getFirstColor(), edgeWidth); + this->Canvas->image->drawLine(QPoint(xMax, yMax),QPoint(xMin, yMax), this->colorPicker->getFirstColor(), edgeWidth); + this->Canvas->image->drawLine(QPoint(xMax, yMax),QPoint(xMax, yMin), this->colorPicker->getFirstColor(), edgeWidth); +} + +void IntelliToolRectangle::onMouseRightPressed(int x, int y){ + IntelliTool::onMouseRightPressed(x,y); +} + +void IntelliToolRectangle::onMouseRightReleased(int x, int y){ + IntelliTool::onMouseRightReleased(x,y); +} + +void IntelliToolRectangle::onMouseLeftPressed(int x, int y){ + IntelliTool::onMouseLeftPressed(x,y); + this->originCornor=QPoint(x,y); + drawRectangle(originCornor); + Canvas->image->calculateVisiblity(); +} + +void IntelliToolRectangle::onMouseLeftReleased(int x, int y){ + IntelliTool::onMouseLeftReleased(x,y); +} + +void IntelliToolRectangle::onMouseMoved(int x, int y){ + if(this->drawing) { + this->Canvas->image->drawPlain(Qt::transparent); + QPoint next(x,y); + drawRectangle(next); + } + IntelliTool::onMouseMoved(x,y); +} + +void IntelliToolRectangle::onWheelScrolled(int value){ + IntelliTool::onWheelScrolled(value); + this->edgeWidth+=value; + if(this->edgeWidth<=0) { + this->edgeWidth=1; + } +} diff --git a/src/Tool/IntelliToolRectangle.h b/src/Tool/IntelliToolRectangle.h new file mode 100644 index 0000000..afd0030 --- /dev/null +++ b/src/Tool/IntelliToolRectangle.h @@ -0,0 +1,84 @@ +#ifndef INTELLIRECTANGLETOOL_H +#define INTELLIRECTANGLETOOL_H + +#include "IntelliTool.h" + +#include "QColor" +#include "QPoint" +/*! + * \brief The IntelliToolRectangle class represents a tool to draw a rectangle. + */ +class IntelliToolRectangle : public IntelliTool { +/*! + * \brief A function that implements a rectagle drawing algorithm. + * \param otherCornor - The second corner point of the rectangle. + */ +void drawRectangle(QPoint otherCornor); + +/*! + * \brief originCornor - The first corner point of the rectangle. + */ +QPoint originCornor; +/*! + * \brief alphaInner- Represents the alpha value of the inside. + */ +int alphaInner; +/*! + * \brief edgeWidth - The width of the rectangle edges. + */ +int edgeWidth; +public: +/*! + * \brief A constructor setting the general paintingArea and colorPicker. And reading in the alphaInner and edgeWidth. + * \param Area - The general paintingArea used by the project. + * \param colorPicker - The general colorPicker used by the project. + */ +IntelliToolRectangle(PaintingArea* Area, IntelliColorPicker* colorPicker); +/*! + * \brief A Destructor. + */ +virtual ~IntelliToolRectangle() override; + +/*! + * \brief A function managing the right click pressed of a mouse.Resetting the current draw. + * \param x - The x coordinate relative to the active/canvas layer. + * \param y - The y coordinate relative to the active/canvas layer. + */ +virtual void onMouseRightPressed(int x, int y) override; + +/*! + * \brief A function managing the right click released of a mouse. + * \param x - The x coordinate relative to the active/canvas layer. + * \param y - The y coordinate relative to the active/canvas layer. + */ +virtual void onMouseRightReleased(int x, int y) override; + +/*! + * \brief A function managing the left click pressed of a mouse. Setting the originCorner and draws a rectangle. + * \param x - The x coordinate relative to the active/canvas layer. + * \param y - The y coordinate relative to the active/canvas layer. + */ +virtual void onMouseLeftPressed(int x, int y) override; + +/*! + * \brief A function managing the left click released of a mouse. Merging the draw to the active layer. + * \param x - The x coordinate relative to the active/canvas layer. + * \param y - The y coordinate relative to the active/canvas layer. + */ +virtual void onMouseLeftReleased(int x, int y) override; + +/*! + * \brief A function managing the scroll event.Changing edgeWidth relativ to value. + * \param value - The absolute the scroll has changed. + */ +virtual void onWheelScrolled(int value) override; + +/*! + * \brief A function managing the mouse moved event.Drawing a rectangle to currrent mouse position. + * \param x - The x coordinate of the new mouse position. + * \param y - The y coordinate of the new mouse position. + */ +virtual void onMouseMoved(int x, int y) override; +}; + +#endif // INTELLIRECTANGLETOOL_H diff --git a/src/main.cpp b/src/main.cpp index 771a872..bcd7ae6 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,15 +1,16 @@ #include "GUI/IntelliPhotoGui.h" #include #include +#include "IntelliHelper/IntelliHelper.h" +#include -int main(int argc, char *argv[]){ - // The main application - QApplication app(argc, argv); +int main(int argc, char*argv[]){ + // The main application + QApplication app(argc, argv); - //some nice ass looking comment - // Create and open the main window - IntelliPhotoGui window; - window.show(); + // Create and open the main window + IntelliPhotoGui window; + window.show(); - return app.exec(); + return app.exec(); } diff --git a/src/mainwindow.ui b/src/mainwindow.ui new file mode 100644 index 0000000..433b697 --- /dev/null +++ b/src/mainwindow.ui @@ -0,0 +1,23 @@ + + + MainWindow + + + + 0 + 0 + 542 + 459 + + + + IntelliPhoto + + + true + + + + + + diff --git a/src/widget.ui b/src/widget.ui deleted file mode 100644 index b1d4c7b..0000000 --- a/src/widget.ui +++ /dev/null @@ -1,19 +0,0 @@ - - - Widget - - - - 0 - 0 - 360 - 206 - - - - Widget - - - - -