mirror of
https://github.com/creyD/intelliphoto.git
synced 2026-04-12 19:40:28 +02:00
Merge branch 'dev' into UnitTesting
This commit is contained in:
382
conf/intelliphoto_dox
Normal file
382
conf/intelliphoto_dox
Normal file
@@ -0,0 +1,382 @@
|
|||||||
|
# Doxyfile 1.8.16
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Project related configuration options
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
DOXYFILE_ENCODING = UTF-8
|
||||||
|
PROJECT_NAME = IntelliPhoto
|
||||||
|
PROJECT_NUMBER = 0.5
|
||||||
|
PROJECT_BRIEF =
|
||||||
|
PROJECT_LOGO =
|
||||||
|
OUTPUT_DIRECTORY = docs
|
||||||
|
CREATE_SUBDIRS = NO
|
||||||
|
ALLOW_UNICODE_NAMES = NO
|
||||||
|
OUTPUT_LANGUAGE = English
|
||||||
|
OUTPUT_TEXT_DIRECTION = None
|
||||||
|
BRIEF_MEMBER_DESC = YES
|
||||||
|
REPEAT_BRIEF = YES
|
||||||
|
ABBREVIATE_BRIEF = "The $name class" \
|
||||||
|
"The $name widget" \
|
||||||
|
"The $name file" \
|
||||||
|
is \
|
||||||
|
provides \
|
||||||
|
specifies \
|
||||||
|
contains \
|
||||||
|
represents \
|
||||||
|
a \
|
||||||
|
an \
|
||||||
|
the
|
||||||
|
ALWAYS_DETAILED_SEC = NO
|
||||||
|
INLINE_INHERITED_MEMB = NO
|
||||||
|
FULL_PATH_NAMES = YES
|
||||||
|
STRIP_FROM_PATH =
|
||||||
|
STRIP_FROM_INC_PATH =
|
||||||
|
SHORT_NAMES = NO
|
||||||
|
JAVADOC_AUTOBRIEF = NO
|
||||||
|
JAVADOC_BANNER = NO
|
||||||
|
QT_AUTOBRIEF = NO
|
||||||
|
MULTILINE_CPP_IS_BRIEF = NO
|
||||||
|
INHERIT_DOCS = YES
|
||||||
|
SEPARATE_MEMBER_PAGES = NO
|
||||||
|
TAB_SIZE = 4
|
||||||
|
ALIASES =
|
||||||
|
TCL_SUBST =
|
||||||
|
OPTIMIZE_OUTPUT_FOR_C = NO
|
||||||
|
OPTIMIZE_OUTPUT_JAVA = NO
|
||||||
|
OPTIMIZE_FOR_FORTRAN = NO
|
||||||
|
OPTIMIZE_OUTPUT_VHDL = NO
|
||||||
|
OPTIMIZE_OUTPUT_SLICE = NO
|
||||||
|
EXTENSION_MAPPING =
|
||||||
|
MARKDOWN_SUPPORT = YES
|
||||||
|
TOC_INCLUDE_HEADINGS = 5
|
||||||
|
AUTOLINK_SUPPORT = YES
|
||||||
|
BUILTIN_STL_SUPPORT = NO
|
||||||
|
CPP_CLI_SUPPORT = NO
|
||||||
|
SIP_SUPPORT = NO
|
||||||
|
IDL_PROPERTY_SUPPORT = YES
|
||||||
|
DISTRIBUTE_GROUP_DOC = NO
|
||||||
|
GROUP_NESTED_COMPOUNDS = NO
|
||||||
|
SUBGROUPING = YES
|
||||||
|
INLINE_GROUPED_CLASSES = NO
|
||||||
|
INLINE_SIMPLE_STRUCTS = NO
|
||||||
|
TYPEDEF_HIDES_STRUCT = NO
|
||||||
|
LOOKUP_CACHE_SIZE = 0
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Build related configuration options
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
EXTRACT_ALL = YES
|
||||||
|
EXTRACT_PRIVATE = NO
|
||||||
|
EXTRACT_PRIV_VIRTUAL = NO
|
||||||
|
EXTRACT_PACKAGE = NO
|
||||||
|
EXTRACT_STATIC = NO
|
||||||
|
EXTRACT_LOCAL_CLASSES = YES
|
||||||
|
EXTRACT_LOCAL_METHODS = NO
|
||||||
|
EXTRACT_ANON_NSPACES = NO
|
||||||
|
HIDE_UNDOC_MEMBERS = NO
|
||||||
|
HIDE_UNDOC_CLASSES = NO
|
||||||
|
HIDE_FRIEND_COMPOUNDS = NO
|
||||||
|
HIDE_IN_BODY_DOCS = NO
|
||||||
|
INTERNAL_DOCS = NO
|
||||||
|
CASE_SENSE_NAMES = NO
|
||||||
|
HIDE_SCOPE_NAMES = NO
|
||||||
|
HIDE_COMPOUND_REFERENCE= NO
|
||||||
|
SHOW_INCLUDE_FILES = YES
|
||||||
|
SHOW_GROUPED_MEMB_INC = NO
|
||||||
|
FORCE_LOCAL_INCLUDES = NO
|
||||||
|
INLINE_INFO = YES
|
||||||
|
SORT_MEMBER_DOCS = YES
|
||||||
|
SORT_BRIEF_DOCS = NO
|
||||||
|
SORT_MEMBERS_CTORS_1ST = NO
|
||||||
|
SORT_GROUP_NAMES = NO
|
||||||
|
SORT_BY_SCOPE_NAME = NO
|
||||||
|
STRICT_PROTO_MATCHING = NO
|
||||||
|
GENERATE_TODOLIST = YES
|
||||||
|
GENERATE_TESTLIST = YES
|
||||||
|
GENERATE_BUGLIST = YES
|
||||||
|
GENERATE_DEPRECATEDLIST= YES
|
||||||
|
ENABLED_SECTIONS =
|
||||||
|
MAX_INITIALIZER_LINES = 30
|
||||||
|
SHOW_USED_FILES = YES
|
||||||
|
SHOW_FILES = YES
|
||||||
|
SHOW_NAMESPACES = YES
|
||||||
|
FILE_VERSION_FILTER =
|
||||||
|
LAYOUT_FILE =
|
||||||
|
CITE_BIB_FILES =
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to warning and progress messages
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
QUIET = NO
|
||||||
|
WARNINGS = YES
|
||||||
|
WARN_IF_UNDOCUMENTED = YES
|
||||||
|
WARN_IF_DOC_ERROR = YES
|
||||||
|
WARN_NO_PARAMDOC = NO
|
||||||
|
WARN_AS_ERROR = NO
|
||||||
|
WARN_FORMAT = "$file:$line: $text"
|
||||||
|
WARN_LOGFILE =
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to the input files
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
INPUT = src
|
||||||
|
INPUT_ENCODING = UTF-8
|
||||||
|
FILE_PATTERNS = *.c \
|
||||||
|
*.cc \
|
||||||
|
*.cxx \
|
||||||
|
*.cpp \
|
||||||
|
*.c++ \
|
||||||
|
*.java \
|
||||||
|
*.ii \
|
||||||
|
*.ixx \
|
||||||
|
*.ipp \
|
||||||
|
*.i++ \
|
||||||
|
*.inl \
|
||||||
|
*.idl \
|
||||||
|
*.ddl \
|
||||||
|
*.odl \
|
||||||
|
*.h \
|
||||||
|
*.hh \
|
||||||
|
*.hxx \
|
||||||
|
*.hpp \
|
||||||
|
*.h++ \
|
||||||
|
*.cs \
|
||||||
|
*.d \
|
||||||
|
*.php \
|
||||||
|
*.php4 \
|
||||||
|
*.php5 \
|
||||||
|
*.phtml \
|
||||||
|
*.inc \
|
||||||
|
*.m \
|
||||||
|
*.markdown \
|
||||||
|
*.md \
|
||||||
|
*.mm \
|
||||||
|
*.dox \
|
||||||
|
*.py \
|
||||||
|
*.pyw \
|
||||||
|
*.f90 \
|
||||||
|
*.f95 \
|
||||||
|
*.f03 \
|
||||||
|
*.f08 \
|
||||||
|
*.f \
|
||||||
|
*.for \
|
||||||
|
*.tcl \
|
||||||
|
*.vhd \
|
||||||
|
*.vhdl \
|
||||||
|
*.ucf \
|
||||||
|
*.qsf \
|
||||||
|
*.ice
|
||||||
|
RECURSIVE = YES
|
||||||
|
EXCLUDE =
|
||||||
|
EXCLUDE_SYMLINKS = NO
|
||||||
|
EXCLUDE_PATTERNS =
|
||||||
|
EXCLUDE_SYMBOLS =
|
||||||
|
EXAMPLE_PATH =
|
||||||
|
EXAMPLE_PATTERNS = *
|
||||||
|
EXAMPLE_RECURSIVE = NO
|
||||||
|
IMAGE_PATH =
|
||||||
|
INPUT_FILTER =
|
||||||
|
FILTER_PATTERNS =
|
||||||
|
FILTER_SOURCE_FILES = NO
|
||||||
|
FILTER_SOURCE_PATTERNS =
|
||||||
|
USE_MDFILE_AS_MAINPAGE =
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to source browsing
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
SOURCE_BROWSER = YES
|
||||||
|
INLINE_SOURCES = NO
|
||||||
|
STRIP_CODE_COMMENTS = YES
|
||||||
|
REFERENCED_BY_RELATION = NO
|
||||||
|
REFERENCES_RELATION = NO
|
||||||
|
REFERENCES_LINK_SOURCE = YES
|
||||||
|
SOURCE_TOOLTIPS = YES
|
||||||
|
USE_HTAGS = NO
|
||||||
|
VERBATIM_HEADERS = YES
|
||||||
|
CLANG_ASSISTED_PARSING = NO
|
||||||
|
CLANG_OPTIONS =
|
||||||
|
CLANG_DATABASE_PATH =
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to the alphabetical class index
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
ALPHABETICAL_INDEX = YES
|
||||||
|
COLS_IN_ALPHA_INDEX = 5
|
||||||
|
IGNORE_PREFIX =
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to the HTML output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_HTML = YES
|
||||||
|
HTML_OUTPUT = html
|
||||||
|
HTML_FILE_EXTENSION = .html
|
||||||
|
HTML_HEADER =
|
||||||
|
HTML_FOOTER =
|
||||||
|
HTML_STYLESHEET =
|
||||||
|
HTML_EXTRA_STYLESHEET =
|
||||||
|
HTML_EXTRA_FILES =
|
||||||
|
HTML_COLORSTYLE_HUE = 187
|
||||||
|
HTML_COLORSTYLE_SAT = 5
|
||||||
|
HTML_COLORSTYLE_GAMMA = 150
|
||||||
|
HTML_TIMESTAMP = NO
|
||||||
|
HTML_DYNAMIC_MENUS = YES
|
||||||
|
HTML_DYNAMIC_SECTIONS = NO
|
||||||
|
HTML_INDEX_NUM_ENTRIES = 100
|
||||||
|
GENERATE_DOCSET = NO
|
||||||
|
DOCSET_FEEDNAME = "Doxygen generated docs"
|
||||||
|
DOCSET_BUNDLE_ID = org.doxygen.Project
|
||||||
|
DOCSET_PUBLISHER_ID = org.doxygen.Publisher
|
||||||
|
DOCSET_PUBLISHER_NAME = Publisher
|
||||||
|
GENERATE_HTMLHELP = NO
|
||||||
|
CHM_FILE =
|
||||||
|
HHC_LOCATION =
|
||||||
|
GENERATE_CHI = NO
|
||||||
|
CHM_INDEX_ENCODING =
|
||||||
|
BINARY_TOC = NO
|
||||||
|
TOC_EXPAND = NO
|
||||||
|
GENERATE_QHP = NO
|
||||||
|
QCH_FILE =
|
||||||
|
QHP_NAMESPACE = org.doxygen.Project
|
||||||
|
QHP_VIRTUAL_FOLDER = doc
|
||||||
|
QHP_CUST_FILTER_NAME =
|
||||||
|
QHP_CUST_FILTER_ATTRS =
|
||||||
|
QHP_SECT_FILTER_ATTRS =
|
||||||
|
QHG_LOCATION =
|
||||||
|
GENERATE_ECLIPSEHELP = NO
|
||||||
|
ECLIPSE_DOC_ID = org.doxygen.Project
|
||||||
|
DISABLE_INDEX = NO
|
||||||
|
GENERATE_TREEVIEW = YES
|
||||||
|
ENUM_VALUES_PER_LINE = 4
|
||||||
|
TREEVIEW_WIDTH = 250
|
||||||
|
EXT_LINKS_IN_WINDOW = NO
|
||||||
|
FORMULA_FONTSIZE = 10
|
||||||
|
FORMULA_TRANSPARENT = YES
|
||||||
|
USE_MATHJAX = NO
|
||||||
|
MATHJAX_FORMAT = HTML-CSS
|
||||||
|
MATHJAX_RELPATH = https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/
|
||||||
|
MATHJAX_EXTENSIONS =
|
||||||
|
MATHJAX_CODEFILE =
|
||||||
|
SEARCHENGINE = YES
|
||||||
|
SERVER_BASED_SEARCH = NO
|
||||||
|
EXTERNAL_SEARCH = NO
|
||||||
|
SEARCHENGINE_URL =
|
||||||
|
SEARCHDATA_FILE = searchdata.xml
|
||||||
|
EXTERNAL_SEARCH_ID =
|
||||||
|
EXTRA_SEARCH_MAPPINGS =
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to the LaTeX output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_LATEX = NO
|
||||||
|
LATEX_OUTPUT = latex
|
||||||
|
LATEX_CMD_NAME =
|
||||||
|
MAKEINDEX_CMD_NAME = makeindex
|
||||||
|
LATEX_MAKEINDEX_CMD = makeindex
|
||||||
|
COMPACT_LATEX = NO
|
||||||
|
PAPER_TYPE = a4
|
||||||
|
EXTRA_PACKAGES =
|
||||||
|
LATEX_HEADER =
|
||||||
|
LATEX_FOOTER =
|
||||||
|
LATEX_EXTRA_STYLESHEET =
|
||||||
|
LATEX_EXTRA_FILES =
|
||||||
|
PDF_HYPERLINKS = YES
|
||||||
|
USE_PDFLATEX = YES
|
||||||
|
LATEX_BATCHMODE = NO
|
||||||
|
LATEX_HIDE_INDICES = NO
|
||||||
|
LATEX_SOURCE_CODE = NO
|
||||||
|
LATEX_BIB_STYLE = plain
|
||||||
|
LATEX_TIMESTAMP = NO
|
||||||
|
LATEX_EMOJI_DIRECTORY =
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to the RTF output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_RTF = NO
|
||||||
|
RTF_OUTPUT = rtf
|
||||||
|
COMPACT_RTF = NO
|
||||||
|
RTF_HYPERLINKS = NO
|
||||||
|
RTF_STYLESHEET_FILE =
|
||||||
|
RTF_EXTENSIONS_FILE =
|
||||||
|
RTF_SOURCE_CODE = NO
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to the man page output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_MAN = NO
|
||||||
|
MAN_OUTPUT = man
|
||||||
|
MAN_EXTENSION = .3
|
||||||
|
MAN_SUBDIR =
|
||||||
|
MAN_LINKS = NO
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to the XML output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_XML = NO
|
||||||
|
XML_OUTPUT = xml
|
||||||
|
XML_PROGRAMLISTING = YES
|
||||||
|
XML_NS_MEMB_FILE_SCOPE = NO
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to the DOCBOOK output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_DOCBOOK = NO
|
||||||
|
DOCBOOK_OUTPUT = docbook
|
||||||
|
DOCBOOK_PROGRAMLISTING = NO
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options for the AutoGen Definitions output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_AUTOGEN_DEF = NO
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to the Perl module output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_PERLMOD = NO
|
||||||
|
PERLMOD_LATEX = NO
|
||||||
|
PERLMOD_PRETTY = YES
|
||||||
|
PERLMOD_MAKEVAR_PREFIX =
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to the preprocessor
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
ENABLE_PREPROCESSING = YES
|
||||||
|
MACRO_EXPANSION = NO
|
||||||
|
EXPAND_ONLY_PREDEF = NO
|
||||||
|
SEARCH_INCLUDES = YES
|
||||||
|
INCLUDE_PATH =
|
||||||
|
INCLUDE_FILE_PATTERNS =
|
||||||
|
PREDEFINED =
|
||||||
|
EXPAND_AS_DEFINED =
|
||||||
|
SKIP_FUNCTION_MACROS = YES
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to external references
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
TAGFILES =
|
||||||
|
GENERATE_TAGFILE =
|
||||||
|
ALLEXTERNALS = NO
|
||||||
|
EXTERNAL_GROUPS = YES
|
||||||
|
EXTERNAL_PAGES = YES
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to the dot tool
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
CLASS_DIAGRAMS = YES
|
||||||
|
DIA_PATH =
|
||||||
|
HIDE_UNDOC_RELATIONS = YES
|
||||||
|
HAVE_DOT = NO
|
||||||
|
DOT_NUM_THREADS = 0
|
||||||
|
DOT_FONTNAME = Helvetica
|
||||||
|
DOT_FONTSIZE = 10
|
||||||
|
DOT_FONTPATH =
|
||||||
|
CLASS_GRAPH = YES
|
||||||
|
COLLABORATION_GRAPH = YES
|
||||||
|
GROUP_GRAPHS = YES
|
||||||
|
UML_LOOK = NO
|
||||||
|
UML_LIMIT_NUM_FIELDS = 10
|
||||||
|
TEMPLATE_RELATIONS = NO
|
||||||
|
INCLUDE_GRAPH = YES
|
||||||
|
INCLUDED_BY_GRAPH = YES
|
||||||
|
CALL_GRAPH = NO
|
||||||
|
CALLER_GRAPH = NO
|
||||||
|
GRAPHICAL_HIERARCHY = YES
|
||||||
|
DIRECTORY_GRAPH = YES
|
||||||
|
DOT_IMAGE_FORMAT = png
|
||||||
|
INTERACTIVE_SVG = NO
|
||||||
|
DOT_PATH =
|
||||||
|
DOTFILE_DIRS =
|
||||||
|
MSCFILE_DIRS =
|
||||||
|
DIAFILE_DIRS =
|
||||||
|
PLANTUML_JAR_PATH =
|
||||||
|
PLANTUML_CFG_FILE =
|
||||||
|
PLANTUML_INCLUDE_PATH =
|
||||||
|
DOT_GRAPH_MAX_NODES = 50
|
||||||
|
MAX_DOT_GRAPH_DEPTH = 0
|
||||||
|
DOT_TRANSPARENT = NO
|
||||||
|
DOT_MULTI_TARGETS = NO
|
||||||
|
GENERATE_LEGEND = YES
|
||||||
|
DOT_CLEANUP = YES
|
||||||
@@ -49,7 +49,7 @@ disable_processing_cmt = " *INDENT-OFF*" # string
|
|||||||
enable_processing_cmt = " *INDENT-ON*" # string
|
enable_processing_cmt = " *INDENT-ON*" # string
|
||||||
|
|
||||||
# Enable parsing of digraphs.
|
# Enable parsing of digraphs.
|
||||||
enable_digraphs = false # true/false
|
enable_digraphs = true # true/false
|
||||||
|
|
||||||
# Add or remove the UTF-8 BOM (recommend 'remove').
|
# Add or remove the UTF-8 BOM (recommend 'remove').
|
||||||
utf8_bom = ignore # ignore/add/remove/force
|
utf8_bom = ignore # ignore/add/remove/force
|
||||||
@@ -59,16 +59,16 @@ utf8_bom = ignore # ignore/add/remove/force
|
|||||||
utf8_byte = false # true/false
|
utf8_byte = false # true/false
|
||||||
|
|
||||||
# Force the output encoding to UTF-8.
|
# Force the output encoding to UTF-8.
|
||||||
utf8_force = false # true/false
|
utf8_force = true # true/false
|
||||||
|
|
||||||
# Add or remove space between 'do' and '{'.
|
# Add or remove space between 'do' and '{'.
|
||||||
sp_do_brace_open = ignore # ignore/add/remove/force
|
sp_do_brace_open = add # ignore/add/remove/force
|
||||||
|
|
||||||
# Add or remove space between '}' and 'while'.
|
# Add or remove space between '}' and 'while'.
|
||||||
sp_brace_close_while = ignore # ignore/add/remove/force
|
sp_brace_close_while = add # ignore/add/remove/force
|
||||||
|
|
||||||
# Add or remove space between 'while' and '('.
|
# Add or remove space between 'while' and '('.
|
||||||
sp_while_paren_open = ignore # ignore/add/remove/force
|
sp_while_paren_open = add # ignore/add/remove/force
|
||||||
|
|
||||||
#
|
#
|
||||||
# Spacing options
|
# Spacing options
|
||||||
@@ -76,70 +76,70 @@ sp_while_paren_open = ignore # ignore/add/remove/force
|
|||||||
|
|
||||||
# Add or remove space around non-assignment symbolic operators ('+', '/', '%',
|
# Add or remove space around non-assignment symbolic operators ('+', '/', '%',
|
||||||
# '<<', and so forth).
|
# '<<', and so forth).
|
||||||
sp_arith = ignore # ignore/add/remove/force
|
sp_arith = add # ignore/add/remove/force
|
||||||
|
|
||||||
# Add or remove space around arithmetic operators '+' and '-'.
|
# Add or remove space around arithmetic operators '+' and '-'.
|
||||||
#
|
#
|
||||||
# Overrides sp_arith.
|
# Overrides sp_arith.
|
||||||
sp_arith_additive = ignore # ignore/add/remove/force
|
sp_arith_additive = add # ignore/add/remove/force
|
||||||
|
|
||||||
# Add or remove space around assignment operator '=', '+=', etc.
|
# Add or remove space around assignment operator '=', '+=', etc.
|
||||||
sp_assign = ignore # ignore/add/remove/force
|
sp_assign = add # ignore/add/remove/force
|
||||||
|
|
||||||
# Add or remove space around '=' in C++11 lambda capture specifications.
|
# Add or remove space around '=' in C++11 lambda capture specifications.
|
||||||
#
|
#
|
||||||
# Overrides sp_assign.
|
# Overrides sp_assign.
|
||||||
sp_cpp_lambda_assign = ignore # ignore/add/remove/force
|
sp_cpp_lambda_assign = add # ignore/add/remove/force
|
||||||
|
|
||||||
# Add or remove space after the capture specification of a C++11 lambda when
|
# Add or remove space after the capture specification of a C++11 lambda when
|
||||||
# an argument list is present, as in '[] <here> (int x){ ... }'.
|
# an argument list is present, as in '[] <here> (int x){ ... }'.
|
||||||
sp_cpp_lambda_square_paren = ignore # ignore/add/remove/force
|
sp_cpp_lambda_square_paren = add # ignore/add/remove/force
|
||||||
|
|
||||||
# Add or remove space after the capture specification of a C++11 lambda with
|
# Add or remove space after the capture specification of a C++11 lambda with
|
||||||
# no argument list is present, as in '[] <here> { ... }'.
|
# no argument list is present, as in '[] <here> { ... }'.
|
||||||
sp_cpp_lambda_square_brace = ignore # ignore/add/remove/force
|
sp_cpp_lambda_square_brace = add # ignore/add/remove/force
|
||||||
|
|
||||||
# Add or remove space after the argument list of a C++11 lambda, as in
|
# Add or remove space after the argument list of a C++11 lambda, as in
|
||||||
# '[](int x) <here> { ... }'.
|
# '[](int x) <here> { ... }'.
|
||||||
sp_cpp_lambda_paren_brace = ignore # ignore/add/remove/force
|
sp_cpp_lambda_paren_brace = add # ignore/add/remove/force
|
||||||
|
|
||||||
# Add or remove space between a lambda body and its call operator of an
|
# Add or remove space between a lambda body and its call operator of an
|
||||||
# immediately invoked lambda, as in '[]( ... ){ ... } <here> ( ... )'.
|
# immediately invoked lambda, as in '[]( ... ){ ... } <here> ( ... )'.
|
||||||
sp_cpp_lambda_fparen = ignore # ignore/add/remove/force
|
sp_cpp_lambda_fparen = add # ignore/add/remove/force
|
||||||
|
|
||||||
# Add or remove space around assignment operator '=' in a prototype.
|
# Add or remove space around assignment operator '=' in a prototype.
|
||||||
#
|
#
|
||||||
# If set to ignore, use sp_assign.
|
# If set to ignore, use sp_assign.
|
||||||
sp_assign_default = ignore # ignore/add/remove/force
|
sp_assign_default = add # ignore/add/remove/force
|
||||||
|
|
||||||
# Add or remove space before assignment operator '=', '+=', etc.
|
# Add or remove space before assignment operator '=', '+=', etc.
|
||||||
#
|
#
|
||||||
# Overrides sp_assign.
|
# Overrides sp_assign.
|
||||||
sp_before_assign = ignore # ignore/add/remove/force
|
sp_before_assign = add # ignore/add/remove/force
|
||||||
|
|
||||||
# Add or remove space after assignment operator '=', '+=', etc.
|
# Add or remove space after assignment operator '=', '+=', etc.
|
||||||
#
|
#
|
||||||
# Overrides sp_assign.
|
# Overrides sp_assign.
|
||||||
sp_after_assign = ignore # ignore/add/remove/force
|
sp_after_assign = add # ignore/add/remove/force
|
||||||
|
|
||||||
# Add or remove space in 'NS_ENUM ('.
|
# Add or remove space in 'NS_ENUM ('.
|
||||||
sp_enum_paren = ignore # ignore/add/remove/force
|
sp_enum_paren = add # ignore/add/remove/force
|
||||||
|
|
||||||
# Add or remove space around assignment '=' in enum.
|
# Add or remove space around assignment '=' in enum.
|
||||||
sp_enum_assign = ignore # ignore/add/remove/force
|
sp_enum_assign = add # ignore/add/remove/force
|
||||||
|
|
||||||
# Add or remove space before assignment '=' in enum.
|
# Add or remove space before assignment '=' in enum.
|
||||||
#
|
#
|
||||||
# Overrides sp_enum_assign.
|
# Overrides sp_enum_assign.
|
||||||
sp_enum_before_assign = ignore # ignore/add/remove/force
|
sp_enum_before_assign = add # ignore/add/remove/force
|
||||||
|
|
||||||
# Add or remove space after assignment '=' in enum.
|
# Add or remove space after assignment '=' in enum.
|
||||||
#
|
#
|
||||||
# Overrides sp_enum_assign.
|
# Overrides sp_enum_assign.
|
||||||
sp_enum_after_assign = ignore # ignore/add/remove/force
|
sp_enum_after_assign = add # ignore/add/remove/force
|
||||||
|
|
||||||
# Add or remove space around assignment ':' in enum.
|
# Add or remove space around assignment ':' in enum.
|
||||||
sp_enum_colon = ignore # ignore/add/remove/force
|
sp_enum_colon = add # ignore/add/remove/force
|
||||||
|
|
||||||
# Add or remove space around preprocessor '##' concatenation operator.
|
# Add or remove space around preprocessor '##' concatenation operator.
|
||||||
#
|
#
|
||||||
|
|||||||
300
cppcheck_config.txt
Normal file
300
cppcheck_config.txt
Normal file
@@ -0,0 +1,300 @@
|
|||||||
|
src/GUI/IntelliPhotoGui.h:4:0: information: Include file: <QtWidgets> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/GUI/IntelliPhotoGui.h:5:0: information: Include file: <QPixmap> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/GUI/IntelliPhotoGui.h:6:0: information: Include file: <QList> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/GUI/IntelliPhotoGui.h:7:0: information: Include file: <QMainWindow> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/GUI/IntelliPhotoGui.h:8:0: information: Include file: <QGridLayout> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/GUI/IntelliPhotoGui.h:9:0: information: Include file: <QPushButton> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/GUI/IntelliPhotoGui.h:10:0: information: Include file: <QTextEdit> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/GUI/IntelliPhotoGui.h:11:0: information: Include file: <QLabel> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/GUI/IntelliPhotoGui.h:12:0: information: Include file: <QLineEdit> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/GUI/IntelliPhotoGui.cpp:4:0: information: Include file: "Layer/PaintingArea.h" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Image/IntelliImage.cpp:1:0: information: Include file: "Image/IntelliImage.h" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Image/IntelliImage.cpp:2:0: information: Include file: <QSize> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Image/IntelliImage.cpp:3:0: information: Include file: <QPainter> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Image/IntelliRasterImage.cpp:1:0: information: Include file: "Image/IntelliRasterImage.h" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Image/IntelliRasterImage.cpp:2:0: information: Include file: <QPainter> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Image/IntelliRasterImage.cpp:3:0: information: Include file: <QRect> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Image/IntelliRasterImage.cpp:4:0: information: Include file: <QDebug> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Image/IntelliShapedImage.cpp:1:0: information: Include file: "Image/IntelliShapedImage.h" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Image/IntelliShapedImage.cpp:2:0: information: Include file: "IntelliHelper/IntelliTriangulation.h" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Image/IntelliShapedImage.cpp:3:0: information: Include file: <QPainter> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Image/IntelliShapedImage.cpp:4:0: information: Include file: <QRect> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Image/IntelliShapedImage.cpp:5:0: information: Include file: <QDebug> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/IntelliHelper/IntelliColorPicker.h:4:0: information: Include file: "QColor" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/IntelliHelper/IntelliColorPicker.h:5:0: information: Include file: "QPoint" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/IntelliHelper/IntelliColorPicker.h:6:0: information: Include file: "QColorDialog" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/IntelliHelper/IntelliToolsettings.cpp:2:0: information: Include file: <QInputDialog> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/IntelliHelper/IntelliTriangulation.h:4:0: information: Include file: <QPoint> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/IntelliHelper/IntelliTriangulation.h:5:0: information: Include file: <vector> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/IntelliHelper/IntelliTriangulation.cpp:2:0: information: Include file: <algorithm> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/IntelliHelper/IntelliTriangulation.cpp:3:0: information: Include file: <queue> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/IntelliHelper/IntelliTriangulation.cpp:4:0: information: Include file: <cmath> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Layer/PaintingArea.cpp:2:0: information: Include file: "string.h" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Layer/PaintingArea.cpp:4:0: information: Include file: <vector> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Layer/PaintingArea.cpp:6:0: information: Include file: <QtWidgets> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Layer/PaintingArea.cpp:7:0: information: Include file: <QPoint> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Layer/PaintingArea.cpp:8:0: information: Include file: <QRect> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Layer/PaintingArea.h:5:0: information: Include file: <QColor> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Layer/PaintingArea.h:6:0: information: Include file: <QImage> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Layer/PaintingArea.h:7:0: information: Include file: <QPoint> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Layer/PaintingArea.h:8:0: information: Include file: <QWidget> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Layer/PaintingArea.h:9:0: information: Include file: <QList> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Layer/PaintingArea.h:10:0: information: Include file: "GUI/IntelliPhotoGui.h" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Layer/PaintingArea.h:11:0: information: Include file: "Image/IntelliImage.h" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Layer/PaintingArea.h:12:0: information: Include file: "Image/IntelliRasterImage.h" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Layer/PaintingArea.h:13:0: information: Include file: "Image/IntelliShapedImage.h" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Layer/PaintingArea.h:14:0: information: Include file: "Tool/IntelliTool.h" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Layer/PaintingArea.h:15:0: information: Include file: "IntelliHelper/IntelliColorPicker.h" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Layer/PaintingArea.cpp:11:0: information: Include file: "Image/IntelliRasterImage.h" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Layer/PaintingArea.cpp:12:0: information: Include file: "Image/IntelliShapedImage.h" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Layer/PaintingArea.cpp:13:0: information: Include file: "Tool/IntelliToolPen.h" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Layer/PaintingArea.cpp:14:0: information: Include file: "Tool/IntelliToolPlain.h" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Layer/PaintingArea.cpp:15:0: information: Include file: "Tool/IntelliToolLine.h" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Layer/PaintingArea.cpp:16:0: information: Include file: "Tool/IntelliToolCircle.h" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Layer/PaintingArea.cpp:17:0: information: Include file: "Tool/IntelliToolRectangle.h" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Layer/PaintingArea.cpp:18:0: information: Include file: "Tool/IntelliToolFloodFill.h" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Layer/PaintingArea.cpp:19:0: information: Include file: "Tool/IntelliToolPolygon.h" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliColorPicker.cpp:1:0: information: Include file: "IntelliColorPicker.h" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliColorPicker.cpp:2:0: information: Include file: "QDebug" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliTool.h:4:0: information: Include file: "IntelliHelper/IntelliColorPicker.h" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliTool.h:5:0: information: Include file: "IntelliHelper/IntelliToolsettings.h" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliTool.h:6:0: information: Include file: <vector> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliTool.cpp:2:0: information: Include file: "Layer/PaintingArea.h" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliToolCircle.h:5:0: information: Include file: "QColor" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliToolCircle.h:6:0: information: Include file: "QPoint" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliToolCircle.cpp:2:0: information: Include file: "Layer/PaintingArea.h" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliToolCircle.cpp:3:0: information: Include file: "QInputDialog" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliToolCircle.cpp:4:0: information: Include file: <cmath> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliToolFloodFill.h:5:0: information: Include file: "QColor" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliToolFloodFill.cpp:2:0: information: Include file: "Layer/PaintingArea.h" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliToolFloodFill.cpp:3:0: information: Include file: "QColorDialog" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliToolFloodFill.cpp:4:0: information: Include file: "QInputDialog" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliToolFloodFill.cpp:5:0: information: Include file: <functional> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliToolFloodFill.cpp:6:0: information: Include file: <queue> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliToolLine.h:5:0: information: Include file: "QPoint" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliToolLine.cpp:2:0: information: Include file: "Layer/PaintingArea.h" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliToolLine.cpp:3:0: information: Include file: "QColorDialog" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliToolLine.cpp:4:0: information: Include file: "QInputDialog" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliToolPen.h:5:0: information: Include file: "QColor" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliToolPen.h:6:0: information: Include file: "QPoint" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliToolPen.cpp:2:0: information: Include file: "Layer/PaintingArea.h" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliToolPen.cpp:3:0: information: Include file: "QDebug" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliToolPen.cpp:4:0: information: Include file: "QColorDialog" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliToolPen.cpp:5:0: information: Include file: "QInputDialog" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliToolPlain.h:5:0: information: Include file: "QColor" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliToolPlain.cpp:2:0: information: Include file: "Layer/PaintingArea.h" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliToolPlain.cpp:3:0: information: Include file: "QColorDialog" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliToolPolygon.h:5:0: information: Include file: "IntelliHelper/IntelliTriangulation.h" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliToolPolygon.h:6:0: information: Include file: <vector> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliToolPolygon.h:7:0: information: Include file: <QPoint> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliToolPolygon.cpp:2:0: information: Include file: "Layer/PaintingArea.h" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliToolPolygon.cpp:3:0: information: Include file: <QCursor> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliToolPolygon.cpp:4:0: information: Include file: <QInputDialog> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliToolPolygon.cpp:5:0: information: Include file: <QDebug> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliToolRectangle.h:6:0: information: Include file: "QColor" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliToolRectangle.h:7:0: information: Include file: "QPoint" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliToolRectangle.cpp:2:0: information: Include file: "Layer/PaintingArea.h" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/Tool/IntelliToolRectangle.cpp:3:0: information: Include file: "QInputDialog" not found. [missingInclude]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/main.cpp:2:0: information: Include file: <QApplication> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/main.cpp:3:0: information: Include file: <QDebug> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
|
src/main.cpp:4:0: information: Include file: <vector> not found. Please note: Cppcheck does not need standard library headers to get proper results. [missingIncludeSystem]
|
||||||
|
|
||||||
|
^
|
||||||
@@ -7,9 +7,9 @@ src/IntelliHelper/IntelliColorPicker.cpp:5:3: performance: Variable 'secondColor
|
|||||||
src/IntelliHelper/IntelliTriangulation.cpp:116:63: style: Parameter 'triangles' can be declared with const [constParameter]
|
src/IntelliHelper/IntelliTriangulation.cpp:116:63: style: Parameter 'triangles' can be declared with const [constParameter]
|
||||||
bool IntelliTriangulation::isInPolygon(std::vector<Triangle> &triangles, QPoint &point){
|
bool IntelliTriangulation::isInPolygon(std::vector<Triangle> &triangles, QPoint &point){
|
||||||
^
|
^
|
||||||
src/Layer/PaintingArea.cpp:334:28: style: Redundant condition: If 'activeLayer > 0', the comparison 'activeLayer != -1' is always true. [redundantCondition]
|
src/Layer/PaintingArea.cpp:334:22: style: Redundant condition: If 'activeLayer > 0', the comparison 'activeLayer != -1' is always true. [redundantCondition]
|
||||||
if(activeLayer!=-1 && activeLayer>0) {
|
if(activeLayer!=-1 && activeLayer>0) {
|
||||||
^
|
^
|
||||||
src/Tool/IntelliTool.cpp:4:14: warning: Member variable 'IntelliTool::ActiveType' is not initialized in the constructor. [uninitMemberVar]
|
src/Tool/IntelliTool.cpp:4:14: warning: Member variable 'IntelliTool::ActiveType' is not initialized in the constructor. [uninitMemberVar]
|
||||||
IntelliTool::IntelliTool(PaintingArea* Area, IntelliColorPicker* colorPicker, IntelliToolsettings* Toolsettings){
|
IntelliTool::IntelliTool(PaintingArea* Area, IntelliColorPicker* colorPicker, IntelliToolsettings* Toolsettings){
|
||||||
^
|
^
|
||||||
@@ -20,26 +20,23 @@ src/Tool/IntelliTool.cpp:4:14: warning: Member variable 'IntelliTool::Canvas' is
|
|||||||
IntelliTool::IntelliTool(PaintingArea* Area, IntelliColorPicker* colorPicker, IntelliToolsettings* Toolsettings){
|
IntelliTool::IntelliTool(PaintingArea* Area, IntelliColorPicker* colorPicker, IntelliToolsettings* Toolsettings){
|
||||||
^
|
^
|
||||||
src/Tool/IntelliToolCircle.cpp:42:9: style: Local variable 'yMin' shadows outer variable [shadowVariable]
|
src/Tool/IntelliToolCircle.cpp:42:9: style: Local variable 'yMin' shadows outer variable [shadowVariable]
|
||||||
int yMin = static_cast<int>(centerPoint.y()-sqrt(pow(radius,2)-pow(i-centerPoint.x(),2)));
|
int yMin = static_cast<int>(centerPoint.y() - sqrt(pow(radius,2) - pow(i - centerPoint.x(),2)));
|
||||||
^
|
^
|
||||||
src/Tool/IntelliToolCircle.cpp:18:7: note: Shadowed declaration
|
src/Tool/IntelliToolCircle.cpp:18:7: note: Shadowed declaration
|
||||||
int yMin, yMax, xMin, xMax;
|
int yMin, yMax, xMin, xMax;
|
||||||
^
|
^
|
||||||
src/Tool/IntelliToolCircle.cpp:42:9: note: Shadow variable
|
src/Tool/IntelliToolCircle.cpp:42:9: note: Shadow variable
|
||||||
int yMin = static_cast<int>(centerPoint.y()-sqrt(pow(radius,2)-pow(i-centerPoint.x(),2)));
|
int yMin = static_cast<int>(centerPoint.y() - sqrt(pow(radius,2) - pow(i - centerPoint.x(),2)));
|
||||||
^
|
^
|
||||||
src/Tool/IntelliToolCircle.cpp:43:9: style: Local variable 'yMax' shadows outer variable [shadowVariable]
|
src/Tool/IntelliToolCircle.cpp:43:9: style: Local variable 'yMax' shadows outer variable [shadowVariable]
|
||||||
int yMax = static_cast<int>(centerPoint.y()+sqrt(pow(radius,2)-pow(i-centerPoint.x(),2)));
|
int yMax = static_cast<int>(centerPoint.y() + sqrt(pow(radius,2) - pow(i - centerPoint.x(),2)));
|
||||||
^
|
^
|
||||||
src/Tool/IntelliToolCircle.cpp:18:13: note: Shadowed declaration
|
src/Tool/IntelliToolCircle.cpp:18:13: note: Shadowed declaration
|
||||||
int yMin, yMax, xMin, xMax;
|
int yMin, yMax, xMin, xMax;
|
||||||
^
|
^
|
||||||
src/Tool/IntelliToolCircle.cpp:43:9: note: Shadow variable
|
src/Tool/IntelliToolCircle.cpp:43:9: note: Shadow variable
|
||||||
int yMax = static_cast<int>(centerPoint.y()+sqrt(pow(radius,2)-pow(i-centerPoint.x(),2)));
|
int yMax = static_cast<int>(centerPoint.y() + sqrt(pow(radius,2) - pow(i - centerPoint.x(),2)));
|
||||||
^
|
^
|
||||||
src/Tool/IntelliToolLine.cpp:51:13: style: Variable 'c' is assigned a value that is never used. [unreadVariable]
|
|
||||||
int c = lineStartingPoint.y()-lineStartingPoint.x()*m;
|
|
||||||
^
|
|
||||||
src/Tool/IntelliToolPolygon.h:25:6: warning: The class 'IntelliToolPolygon' defines member variable with name 'isDrawing' also defined in its parent class 'IntelliTool'. [duplInheritedMember]
|
src/Tool/IntelliToolPolygon.h:25:6: warning: The class 'IntelliToolPolygon' defines member variable with name 'isDrawing' also defined in its parent class 'IntelliTool'. [duplInheritedMember]
|
||||||
bool isDrawing;
|
bool isDrawing;
|
||||||
^
|
^
|
||||||
|
|||||||
15
mergeprep.sh
Executable file
15
mergeprep.sh
Executable file
@@ -0,0 +1,15 @@
|
|||||||
|
# Run CPP Check
|
||||||
|
echo "Running CPPCheck..."
|
||||||
|
cppcheck --enable=all --output-file=cppcheck_errors.txt src/
|
||||||
|
cppcheck --check-config --output-file=cppcheck_config.txt src/
|
||||||
|
echo "CPPCheck finished"
|
||||||
|
# Uncrustify Files
|
||||||
|
echo "Running Uncrustify..."
|
||||||
|
find . \( -name "*.cpp" -o -name "*.c" -o -name "*.h" \) -exec uncrustify -c conf/uncrustify.cfg --no-backup {} +
|
||||||
|
echo "Uncrustify finished."
|
||||||
|
# Adding changes to git
|
||||||
|
echo "Committing Changes to Git..."
|
||||||
|
git add '*'
|
||||||
|
git commit -m "Automated Merge Preparation"
|
||||||
|
echo "Committed."
|
||||||
|
echo "Finished."
|
||||||
34
releaseprep.sh
Executable file
34
releaseprep.sh
Executable file
@@ -0,0 +1,34 @@
|
|||||||
|
# Discarding local changes
|
||||||
|
echo "This will discard all your uncommited changes and restore the last commit. Continue?"
|
||||||
|
read
|
||||||
|
git reset --hard
|
||||||
|
# Run CPP Check
|
||||||
|
echo "Running CPPCheck..."
|
||||||
|
cppcheck --enable=all --output-file=cppcheck_errors.txt src/
|
||||||
|
cppcheck --check-config --output-file=cppcheck_config.txt src/
|
||||||
|
echo "CPPCheck finished"
|
||||||
|
# Uncrustify Files
|
||||||
|
echo "Running Uncrustify..."
|
||||||
|
find . \( -name "*.cpp" -o -name "*.c" -o -name "*.h" \) -exec uncrustify -c conf/uncrustify.cfg --no-backup {} +
|
||||||
|
echo "Uncrustify finished."
|
||||||
|
# Run Unit Tests
|
||||||
|
echo "Running unit tests..."
|
||||||
|
|
||||||
|
echo "Finished unit testing."
|
||||||
|
# Remove Overhead Folders/ Files
|
||||||
|
echo "Cleaning directory..."
|
||||||
|
rm -r src/build-*
|
||||||
|
rm -r build-*/
|
||||||
|
rm -r Examples/
|
||||||
|
rm src/*.pro.user
|
||||||
|
echo "Directory cleaned."
|
||||||
|
# Run Doxygen
|
||||||
|
echo "Running Doxygen..."
|
||||||
|
doxygen conf/intelliphoto_dox
|
||||||
|
echo "Doxygen finished."
|
||||||
|
# Adding changes to git
|
||||||
|
echo "Committing Changes to Git..."
|
||||||
|
git add '*'
|
||||||
|
git commit -m "Automated Release Preparation"
|
||||||
|
echo "Committed."
|
||||||
|
echo "Finished."
|
||||||
86
src/GUI/IntelliInputDialog.cpp
Normal file
86
src/GUI/IntelliInputDialog.cpp
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
#include "IntelliInputDialog.h"
|
||||||
|
#include <QFile>
|
||||||
|
|
||||||
|
|
||||||
|
IntelliInputDialog::IntelliInputDialog(QString Title, QString Label, int value, int minValue, int maxValue, int step, bool* ok)
|
||||||
|
{
|
||||||
|
this->valueInt = value;
|
||||||
|
this->notClosed = ok;
|
||||||
|
if(notClosed != nullptr){
|
||||||
|
*notClosed = false;
|
||||||
|
}
|
||||||
|
createInputBox(Title, Label, value, minValue, maxValue, step);
|
||||||
|
createConnections();
|
||||||
|
setInputBoxStyle();
|
||||||
|
this->exec();
|
||||||
|
}
|
||||||
|
|
||||||
|
int IntelliInputDialog::getInt(QString Title, QString Label, int value, int minValue, int maxValue, int step, bool* ok){
|
||||||
|
IntelliInputDialog dialog(Title, Label, value, minValue, maxValue, step, ok);
|
||||||
|
return dialog.valueInt;
|
||||||
|
}
|
||||||
|
|
||||||
|
void IntelliInputDialog::createInputBox(QString Title, QString Label, int value, int minValue, int maxValue, int step){
|
||||||
|
this->setWindowFlags(this->windowFlags() & ~Qt::WindowContextHelpButtonHint);
|
||||||
|
if(Title == nullptr) {
|
||||||
|
this->setWindowTitle("Input Box");
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
this->setWindowTitle(Title);
|
||||||
|
}
|
||||||
|
this->Layout = new QGridLayout();
|
||||||
|
this->ButtonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
|
||||||
|
|
||||||
|
this->InputLabel = new QLabel();
|
||||||
|
if(Label == nullptr) {
|
||||||
|
this->InputLabel->setText("Width:");
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
this->InputLabel->setText(Label);
|
||||||
|
}
|
||||||
|
this->InputLabel->setFixedSize(Linesize);
|
||||||
|
|
||||||
|
this->Input = new QSpinBox();
|
||||||
|
this->Input->setFixedSize(Linesize);
|
||||||
|
this->Input->setRange(minValue,maxValue);
|
||||||
|
this->Input->setSingleStep(step);
|
||||||
|
this->Input->setValue(value);
|
||||||
|
|
||||||
|
this->okButton = ButtonBox->button(QDialogButtonBox::Ok);
|
||||||
|
this->okButton->setFixedSize(Buttonsize);
|
||||||
|
this->okButton->setAutoDefault(false);
|
||||||
|
this->okButton->setDefault(false);
|
||||||
|
|
||||||
|
this->cancelButton = ButtonBox->button(QDialogButtonBox::Cancel);
|
||||||
|
this->cancelButton->setFixedSize(Buttonsize);
|
||||||
|
this->cancelButton->setAutoDefault(false);
|
||||||
|
this->cancelButton->setDefault(false);
|
||||||
|
|
||||||
|
Layout->addWidget(InputLabel,1,1,1,1);
|
||||||
|
Layout->addWidget(Input,2,1,1,1);
|
||||||
|
Layout->addWidget(ButtonBox,3,1,1,1);
|
||||||
|
this->setLayout(Layout);
|
||||||
|
this->resize(172,94);
|
||||||
|
this->show();
|
||||||
|
}
|
||||||
|
|
||||||
|
void IntelliInputDialog::createConnections(){
|
||||||
|
connect(okButton, SIGNAL(clicked()), this, SLOT(slotEingabe()));
|
||||||
|
connect(cancelButton, SIGNAL(clicked()), this, SLOT(slotCloseEvent()));
|
||||||
|
}
|
||||||
|
|
||||||
|
void IntelliInputDialog::setInputBoxStyle(){
|
||||||
|
this->setStyleSheet("color: white;" "background-color: rgb(64, 64, 64);" "selection-color: rgb(200, 10, 10);" "selection-background-color: rgb(64, 64, 64);");
|
||||||
|
}
|
||||||
|
|
||||||
|
void IntelliInputDialog::slotCloseEvent(){
|
||||||
|
this->close();
|
||||||
|
}
|
||||||
|
|
||||||
|
void IntelliInputDialog::slotEingabe(){
|
||||||
|
valueInt = QString("%1").arg(Input->value()).toInt();
|
||||||
|
if(notClosed != nullptr){
|
||||||
|
*notClosed = true;
|
||||||
|
}
|
||||||
|
this->close();
|
||||||
|
}
|
||||||
39
src/GUI/IntelliInputDialog.h
Normal file
39
src/GUI/IntelliInputDialog.h
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
#ifndef INTELLIINPUTDIALOG_H
|
||||||
|
#define INTELLIINPUTDIALOG_H
|
||||||
|
|
||||||
|
#include <QtWidgets>
|
||||||
|
|
||||||
|
class IntelliInputDialog : public QDialog
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
IntelliInputDialog(QString Title = nullptr, QString Label = nullptr, int value = 5, int minValue = -2147483647, int maxValue = 2147483647, int step = 1, bool* ok = nullptr);
|
||||||
|
|
||||||
|
|
||||||
|
static int getInt(QString Title = nullptr, QString Label = nullptr, int value = 5, int minValue = -2147483647, int maxValue = 2147483647, int step = 1, bool* ok = nullptr);
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
void slotCloseEvent();
|
||||||
|
void slotEingabe();
|
||||||
|
|
||||||
|
private:
|
||||||
|
void createInputBox(QString Title = nullptr, QString Label = nullptr, int value = 5, int minValue = -2147483647, int maxValue = 2147483647, int step = 1);
|
||||||
|
void createConnections();
|
||||||
|
void setInputBoxStyle();
|
||||||
|
|
||||||
|
int valueInt;
|
||||||
|
|
||||||
|
QGridLayout* Layout;
|
||||||
|
QDialogButtonBox* ButtonBox;
|
||||||
|
QEventLoop loop;
|
||||||
|
bool* notClosed;
|
||||||
|
|
||||||
|
const QSize Linesize = QSize(150,20);
|
||||||
|
const QSize Buttonsize = QSize(72,20);
|
||||||
|
QLabel* InputLabel;
|
||||||
|
QSpinBox* Input;
|
||||||
|
QPushButton* okButton;
|
||||||
|
QPushButton* cancelButton;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // INTELLIINPUTDIALOG_H
|
||||||
@@ -15,7 +15,7 @@ IntelliPhotoGui::IntelliPhotoGui(){
|
|||||||
setIntelliStyle();
|
setIntelliStyle();
|
||||||
// Size the app
|
// Size the app
|
||||||
resize(600,600);
|
resize(600,600);
|
||||||
showMaximized();
|
//showMaximized();
|
||||||
setDefaultToolValue();
|
setDefaultToolValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -73,16 +73,10 @@ void IntelliPhotoGui::slotCreateNewRasterLayer(){
|
|||||||
// "New Layer" is the title of the window
|
// "New Layer" is the title of the window
|
||||||
// the next tr is the text to display
|
// the next tr is the text to display
|
||||||
// Define the standard Value, min, max, step and ok button
|
// Define the standard Value, min, max, step and ok button
|
||||||
QInputDialog Input;
|
int width = IntelliInputDialog::getInt("New Layer", "Width:", 200, 1, paintingArea->getMaxWidth(), 1, &ok1);
|
||||||
Input.setPalette(Palette);
|
|
||||||
|
|
||||||
int width = Input.getInt(this, tr("New Layer"),
|
int height = IntelliInputDialog::getInt("New Layer", "Height:", 200, 1, paintingArea->getMaxHeight(), 1, &ok2);
|
||||||
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
|
// Create New Layer
|
||||||
if (ok1&&ok2) {
|
if (ok1&&ok2) {
|
||||||
paintingArea->addLayer(width,height,0,0,IntelliImage::ImageType::RASTERIMAGE);
|
paintingArea->addLayer(width,height,0,0,IntelliImage::ImageType::RASTERIMAGE);
|
||||||
@@ -98,58 +92,48 @@ void IntelliPhotoGui::slotCreateNewShapedLayer(){
|
|||||||
// "New Layer" is the title of the window
|
// "New Layer" is the title of the window
|
||||||
// the next tr is the text to display
|
// the next tr is the text to display
|
||||||
// Define the standard Value, min, max, step and ok button
|
// Define the standard Value, min, max, step and ok button
|
||||||
QInputDialog Input;
|
int width = IntelliInputDialog::getInt("New Layer", "Width:", 200, 1, paintingArea->getMaxWidth(), 1, &ok1);
|
||||||
Input.setPalette(Palette);
|
|
||||||
|
|
||||||
int width = Input.getInt(this, tr("New Layer"),
|
int height = IntelliInputDialog::getInt("New Layer", "Height:", 200, 1, paintingArea->getMaxHeight(), 1, &ok2);
|
||||||
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
|
// Create New Layer
|
||||||
if (ok1&&ok2) {
|
if (ok1&&ok2) {
|
||||||
paintingArea->addLayer(width,height,0,0,IntelliImage::ImageType::SHAPEDIMAGE);
|
paintingArea->addLayer(width, height, 0, 0, IntelliImage::ImageType::SHAPEDIMAGE);
|
||||||
UpdateGui();
|
UpdateGui();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Opens a dialog that allows the user to delete a Layer
|
// Opens a dialog that allows the user to delete a Layer
|
||||||
void IntelliPhotoGui::slotDeleteLayer(){
|
void IntelliPhotoGui::slotDeleteLayer(){
|
||||||
// Stores button value
|
|
||||||
bool ok;
|
|
||||||
|
|
||||||
|
bool ok1;
|
||||||
// "delete Layer" is the title of the window
|
// "delete Layer" is the title of the window
|
||||||
// the next tr is the text to display
|
// the next tr is the text to display
|
||||||
// Define the standard Value, min, max, step and ok button
|
// Define the standard Value, min, max, step and ok button
|
||||||
int layerNumber = QInputDialog::getInt(this, tr("delete Layer"),
|
int layerNumber = IntelliInputDialog::getInt("Delete Layer", "Number:", paintingArea->getNumberOfActiveLayer() + 1, 1, static_cast<int>(paintingArea->layerBundle.size()), 1, &ok1);
|
||||||
tr("Number:"),
|
|
||||||
paintingArea->getNumberOfActiveLayer()+1,1, 501, 1, &ok);
|
|
||||||
// Create New Layer
|
// Create New Layer
|
||||||
if (ok) {
|
if(ok1) {
|
||||||
paintingArea->deleteLayer(layerNumber-1);
|
paintingArea->deleteLayer(layerNumber - 1);
|
||||||
UpdateGui();
|
UpdateGui();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void IntelliPhotoGui::slotSetActiveAlpha(){
|
void IntelliPhotoGui::slotSetActiveAlpha(){
|
||||||
// Stores button value
|
|
||||||
bool ok1, ok2;
|
|
||||||
|
|
||||||
|
bool ok1, ok2;
|
||||||
// "Layer to set on" is the title of the window
|
// "Layer to set on" is the title of the window
|
||||||
// the next tr is the text to display
|
// the next tr is the text to display
|
||||||
// Define the standard Value, min, max, step and ok button
|
// Define the standard Value, min, max, step and ok button
|
||||||
int layer = QInputDialog::getInt(this, tr("Layer to set on"),
|
|
||||||
tr("Layer:"),
|
int layer = IntelliInputDialog::getInt("Layer to set on", "Layer:", paintingArea->getNumberOfActiveLayer() + 1, 1, static_cast<int>(paintingArea->layerBundle.size()), 1, &ok1);
|
||||||
1,1,500,1, &ok1);
|
|
||||||
// "New Alpha" is the title of the window
|
// "New Alpha" is the title of the window
|
||||||
int alpha = QInputDialog::getInt(this, tr("New Alpha"),
|
int alpha = IntelliInputDialog::getInt("Layer to set on", "Alpha:", 255, 0, 255, 1, &ok2);
|
||||||
tr("Alpha:"),
|
|
||||||
255,0, 255, 1, &ok2);
|
|
||||||
if (ok1&&ok2)
|
if (ok1&&ok2)
|
||||||
{
|
{
|
||||||
paintingArea->setLayerAlpha(layer-1,alpha);
|
paintingArea->setLayerAlpha(layer - 1,alpha);
|
||||||
UpdateGui();
|
UpdateGui();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -161,13 +145,11 @@ void IntelliPhotoGui::slotSetPolygon(){
|
|||||||
// "Layer to set on" is the title of the window
|
// "Layer to set on" is the title of the window
|
||||||
// the next tr is the text to display
|
// the next tr is the text to display
|
||||||
// Define the standard Value, min, max, step and ok button
|
// Define the standard Value, min, max, step and ok button
|
||||||
int layer = QInputDialog::getInt(this, tr("Layer to set on"),
|
int layer = IntelliInputDialog::getInt("Layer to set on", "Layer:", paintingArea->getNumberOfActiveLayer() + 1, 1, static_cast<int>(paintingArea->layerBundle.size()), 1, &ok1);
|
||||||
tr("Layer:"),
|
|
||||||
1,1,500,1, &ok1);
|
|
||||||
|
|
||||||
if (ok1)
|
if (ok1)
|
||||||
{
|
{
|
||||||
paintingArea->setPolygon(layer-1);
|
paintingArea->setPolygon(layer - 1);
|
||||||
UpdateGui();
|
UpdateGui();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -203,18 +185,14 @@ void IntelliPhotoGui::slotMoveLayerDown(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void IntelliPhotoGui::slotSetActiveLayer(){
|
void IntelliPhotoGui::slotSetActiveLayer(){
|
||||||
// Stores button value
|
|
||||||
bool ok1;
|
bool ok1;
|
||||||
|
|
||||||
// "Layer to set on" is the title of the window
|
// "Layer to set on" is the title of the window
|
||||||
// the next tr is the text to display
|
// the next tr is the text to display
|
||||||
// Define the standard Value, min, max, step and ok button
|
// Define the standard Value, min, max, step and ok button
|
||||||
int layer = QInputDialog::getInt(this, tr("Layer to set on"),
|
int layer = IntelliInputDialog::getInt("Layer to set on", "Layer:", 1, 1, static_cast<int>(paintingArea->layerBundle.size()), 1, &ok1);
|
||||||
tr("Layer:"),
|
|
||||||
1,1,500,1, &ok1);
|
if(ok1) {
|
||||||
if (ok1)
|
paintingArea->setLayerActive(layer - 1);
|
||||||
{
|
|
||||||
paintingArea->setLayerActive(layer-1);
|
|
||||||
UpdateGui();
|
UpdateGui();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -310,13 +288,21 @@ void IntelliPhotoGui::slotResetTools(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void IntelliPhotoGui::slotSetWidth(){
|
void IntelliPhotoGui::slotSetWidth(){
|
||||||
paintingArea->Toolsettings.setLineWidth();
|
bool ok1;
|
||||||
EditLineWidth->setText(QString("%1").arg(paintingArea->Toolsettings.getLineWidth()));
|
int temp = IntelliInputDialog::getInt("Toolsettings", "Width:", 5, 1, 50, 1, &ok1);
|
||||||
|
if(ok1) {
|
||||||
|
paintingArea->Toolsettings.setLineWidth(temp);
|
||||||
|
EditLineWidth->setText(QString("%1").arg(temp));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void IntelliPhotoGui::slotSetInnerAlpha(){
|
void IntelliPhotoGui::slotSetInnerAlpha(){
|
||||||
paintingArea->Toolsettings.setInnerAlpha();
|
bool ok1;
|
||||||
EditLineInnerAlpha->setText(QString("%1").arg(paintingArea->Toolsettings.getInnerAlpha()));
|
int temp = IntelliInputDialog::getInt("Toolsettings", "Width:", 5, 1, 50, 1, &ok1);
|
||||||
|
if(ok1) {
|
||||||
|
paintingArea->Toolsettings.setInnerAlpha(temp);
|
||||||
|
EditLineInnerAlpha->setText(QString("%1").arg(temp));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Define menu actions that call functions
|
// Define menu actions that call functions
|
||||||
@@ -405,17 +391,17 @@ void IntelliPhotoGui::createActions(){
|
|||||||
actionMoveLayerUp->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_Up));
|
actionMoveLayerUp->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_Up));
|
||||||
connect(actionMoveLayerUp, SIGNAL(triggered()), this, SLOT(slotMoveLayerUp()));
|
connect(actionMoveLayerUp, SIGNAL(triggered()), this, SLOT(slotMoveLayerUp()));
|
||||||
|
|
||||||
actionMoveLayerDown= new QAction(tr("&move Layer Down"), this);
|
actionMoveLayerDown = new QAction(tr("&move Layer Down"), this);
|
||||||
actionMoveLayerDown->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_Down));
|
actionMoveLayerDown->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_Down));
|
||||||
connect(actionMoveLayerDown, SIGNAL(triggered()), this, SLOT(slotMoveLayerDown()));
|
connect(actionMoveLayerDown, SIGNAL(triggered()), this, SLOT(slotMoveLayerDown()));
|
||||||
|
|
||||||
//Create Update RenderSettings Actions here
|
//Create Update RenderSettings Actions here
|
||||||
actionUpdateRenderSettingsOn = new QAction(tr("&On"), this);
|
actionUpdateRenderSettingsOn = new QAction(tr("&On"), this);
|
||||||
actionUpdateRenderSettingsOn->setShortcut(QKeySequence(Qt::ALT +Qt::SHIFT + +Qt::Key_A));
|
actionUpdateRenderSettingsOn->setShortcut(QKeySequence(Qt::ALT + Qt::SHIFT + +Qt::Key_A));
|
||||||
connect(actionUpdateRenderSettingsOn, SIGNAL(triggered()),this, SLOT(slotUpdateRenderSettingsOn()));
|
connect(actionUpdateRenderSettingsOn, SIGNAL(triggered()),this, SLOT(slotUpdateRenderSettingsOn()));
|
||||||
|
|
||||||
actionUpdateRenderSettingsOff = new QAction(tr("&Off"), this);
|
actionUpdateRenderSettingsOff = new QAction(tr("&Off"), this);
|
||||||
actionUpdateRenderSettingsOff->setShortcut(QKeySequence(Qt::ALT +Qt::SHIFT + +Qt::Key_D));
|
actionUpdateRenderSettingsOff->setShortcut(QKeySequence(Qt::ALT + Qt::SHIFT + +Qt::Key_D));
|
||||||
connect(actionUpdateRenderSettingsOff, SIGNAL(triggered()),this, SLOT(slotUpdateRenderSettingsOff()));
|
connect(actionUpdateRenderSettingsOff, SIGNAL(triggered()),this, SLOT(slotUpdateRenderSettingsOff()));
|
||||||
|
|
||||||
//Create Color Actions here
|
//Create Color Actions here
|
||||||
@@ -436,38 +422,38 @@ void IntelliPhotoGui::createActions(){
|
|||||||
|
|
||||||
//Create Tool actions down here
|
//Create Tool actions down here
|
||||||
actionCreatePlainTool = new QAction(tr("&Plain"), this);
|
actionCreatePlainTool = new QAction(tr("&Plain"), this);
|
||||||
actionCreatePlainTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT +Qt::Key_P));
|
actionCreatePlainTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT + Qt::Key_P));
|
||||||
connect(actionCreatePlainTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
|
connect(actionCreatePlainTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
|
||||||
connect(actionCreatePlainTool, SIGNAL(triggered()), this, SLOT(slotCreatePlainTool()));
|
connect(actionCreatePlainTool, SIGNAL(triggered()), this, SLOT(slotCreatePlainTool()));
|
||||||
|
|
||||||
|
|
||||||
actionCreatePenTool = new QAction(tr("&Pen"),this);
|
actionCreatePenTool = new QAction(tr("&Pen"),this);
|
||||||
actionCreatePenTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT +Qt::Key_S));
|
actionCreatePenTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT + Qt::Key_S));
|
||||||
connect(actionCreatePenTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
|
connect(actionCreatePenTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
|
||||||
connect(actionCreatePenTool, SIGNAL(triggered()), this, SLOT(slotCreatePenTool()));
|
connect(actionCreatePenTool, SIGNAL(triggered()), this, SLOT(slotCreatePenTool()));
|
||||||
|
|
||||||
actionCreateLineTool = new QAction(tr("&Line"), this);
|
actionCreateLineTool = new QAction(tr("&Line"), this);
|
||||||
actionCreateLineTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT +Qt::Key_L));
|
actionCreateLineTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT + Qt::Key_L));
|
||||||
connect(actionCreateLineTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
|
connect(actionCreateLineTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
|
||||||
connect(actionCreateLineTool, SIGNAL(triggered()), this, SLOT(slotCreateLineTool()));
|
connect(actionCreateLineTool, SIGNAL(triggered()), this, SLOT(slotCreateLineTool()));
|
||||||
|
|
||||||
actionCreateCircleTool = new QAction(tr("&Circle"), this);
|
actionCreateCircleTool = new QAction(tr("&Circle"), this);
|
||||||
actionCreateCircleTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT +Qt::Key_C));
|
actionCreateCircleTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT + Qt::Key_C));
|
||||||
connect(actionCreateCircleTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
|
connect(actionCreateCircleTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
|
||||||
connect(actionCreateCircleTool, SIGNAL(triggered()), this, SLOT(slotCreateCircleTool()));
|
connect(actionCreateCircleTool, SIGNAL(triggered()), this, SLOT(slotCreateCircleTool()));
|
||||||
|
|
||||||
actionCreateRectangleTool = new QAction(tr("&Rectangle"), this);
|
actionCreateRectangleTool = new QAction(tr("&Rectangle"), this);
|
||||||
actionCreateRectangleTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT +Qt::Key_R));
|
actionCreateRectangleTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT + Qt::Key_R));
|
||||||
connect(actionCreateRectangleTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
|
connect(actionCreateRectangleTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
|
||||||
connect(actionCreateRectangleTool, SIGNAL(triggered()), this, SLOT(slotCreateRectangleTool()));
|
connect(actionCreateRectangleTool, SIGNAL(triggered()), this, SLOT(slotCreateRectangleTool()));
|
||||||
|
|
||||||
actionCreatePolygonTool = new QAction(tr("&Polygon"), this);
|
actionCreatePolygonTool = new QAction(tr("&Polygon"), this);
|
||||||
actionCreatePolygonTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT +Qt::Key_V));
|
actionCreatePolygonTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT + Qt::Key_V));
|
||||||
connect(actionCreatePolygonTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
|
connect(actionCreatePolygonTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
|
||||||
connect(actionCreatePolygonTool, SIGNAL(triggered()), this, SLOT(slotCreatePolygonTool()));
|
connect(actionCreatePolygonTool, SIGNAL(triggered()), this, SLOT(slotCreatePolygonTool()));
|
||||||
|
|
||||||
actionCreateFloodFillTool = new QAction(tr("&FloodFill"), this);
|
actionCreateFloodFillTool = new QAction(tr("&FloodFill"), this);
|
||||||
actionCreateFloodFillTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT +Qt::Key_F));
|
actionCreateFloodFillTool->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::SHIFT + Qt::Key_F));
|
||||||
connect(actionCreateFloodFillTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
|
connect(actionCreateFloodFillTool, SIGNAL(triggered()), this, SLOT(slotResetTools()));
|
||||||
connect(actionCreateFloodFillTool, SIGNAL(triggered()), this, SLOT(slotCreateFloodFillTool()));
|
connect(actionCreateFloodFillTool, SIGNAL(triggered()), this, SLOT(slotCreateFloodFillTool()));
|
||||||
|
|
||||||
@@ -518,10 +504,9 @@ void IntelliPhotoGui::createActions(){
|
|||||||
void IntelliPhotoGui::createMenus(){
|
void IntelliPhotoGui::createMenus(){
|
||||||
// Create Save As option and the list of file types
|
// Create Save As option and the list of file types
|
||||||
saveAsMenu = new QMenu(tr("&Save As"), this);
|
saveAsMenu = new QMenu(tr("&Save As"), this);
|
||||||
foreach (QAction *action, actionSaveAs)
|
foreach (QAction * action, actionSaveAs)
|
||||||
saveAsMenu->addAction(action);
|
saveAsMenu->addAction(action);
|
||||||
|
|
||||||
|
|
||||||
// Attach all actions to File
|
// Attach all actions to File
|
||||||
fileMenu = new QMenu(tr("&File"), this);
|
fileMenu = new QMenu(tr("&File"), this);
|
||||||
fileMenu->addAction(actionOpen);
|
fileMenu->addAction(actionOpen);
|
||||||
@@ -665,10 +650,10 @@ void IntelliPhotoGui::createGui(){
|
|||||||
|
|
||||||
WidthLine = new QLabel();
|
WidthLine = new QLabel();
|
||||||
WidthLine->setText("Width");
|
WidthLine->setText("Width");
|
||||||
WidthLine->setFixedSize(Buttonsize.width(),Buttonsize.height()/3);
|
WidthLine->setFixedSize(Buttonsize.width() * 2,(Buttonsize.height() * 2) / 3);
|
||||||
|
|
||||||
EditLineWidth = new QLineEdit();
|
EditLineWidth = new QLineEdit();
|
||||||
EditLineWidth->setFixedSize(Buttonsize.width(),Buttonsize.height()/3);
|
EditLineWidth->setFixedSize(Buttonsize.width() * 2,(Buttonsize.height() * 2) / 3);
|
||||||
EditLineWidth->setText("5");
|
EditLineWidth->setText("5");
|
||||||
ValidatorLineWidth = new QIntValidator();
|
ValidatorLineWidth = new QIntValidator();
|
||||||
ValidatorLineWidth->setTop(99);
|
ValidatorLineWidth->setTop(99);
|
||||||
@@ -677,10 +662,10 @@ void IntelliPhotoGui::createGui(){
|
|||||||
|
|
||||||
innerAlphaLine = new QLabel();
|
innerAlphaLine = new QLabel();
|
||||||
innerAlphaLine->setText("Inner Alpha");
|
innerAlphaLine->setText("Inner Alpha");
|
||||||
innerAlphaLine->setFixedSize(Buttonsize.width(),Buttonsize.height()/3);
|
innerAlphaLine->setFixedSize(Buttonsize.width() * 2,(Buttonsize.height() * 2) / 3);
|
||||||
|
|
||||||
EditLineInnerAlpha = new QLineEdit();
|
EditLineInnerAlpha = new QLineEdit();
|
||||||
EditLineInnerAlpha->setFixedSize(Buttonsize.width(),Buttonsize.height()/3);
|
EditLineInnerAlpha->setFixedSize(Buttonsize.width() * 2,(Buttonsize.height() * 2) / 3);
|
||||||
EditLineInnerAlpha->setText("255");
|
EditLineInnerAlpha->setText("255");
|
||||||
ValidatorInnerAlpha = new QIntValidator();
|
ValidatorInnerAlpha = new QIntValidator();
|
||||||
ValidatorInnerAlpha->setTop(999);
|
ValidatorInnerAlpha->setTop(999);
|
||||||
@@ -688,21 +673,21 @@ void IntelliPhotoGui::createGui(){
|
|||||||
EditLineInnerAlpha->setValidator(ValidatorInnerAlpha);
|
EditLineInnerAlpha->setValidator(ValidatorInnerAlpha);
|
||||||
|
|
||||||
FirstColorButton = new QPushButton();
|
FirstColorButton = new QPushButton();
|
||||||
FirstColorButton->setFixedSize(Buttonsize/2);
|
FirstColorButton->setFixedSize(Buttonsize);
|
||||||
|
|
||||||
SecondColorButton = new QPushButton();
|
SecondColorButton = new QPushButton();
|
||||||
SecondColorButton->setFixedSize(Buttonsize/2);
|
SecondColorButton->setFixedSize(Buttonsize);
|
||||||
|
|
||||||
preview = QPixmap(":/Icons/Buttons/icons/Wechselpfeile.png");
|
preview = QPixmap(":/Icons/Buttons/icons/Wechselpfeile.png");
|
||||||
SwitchColorButton = new QPushButton();
|
SwitchColorButton = new QPushButton();
|
||||||
SwitchColorButton->setFixedSize(Buttonsize.width(),Buttonsize.height()/2);
|
SwitchColorButton->setFixedSize(Buttonsize.width() * 2,Buttonsize.height());
|
||||||
SwitchColorButton->setIcon(preview);
|
SwitchColorButton->setIcon(preview);
|
||||||
SwitchColorButton->setIconSize(QSize(Buttonsize.width(),Buttonsize.height()/2));
|
SwitchColorButton->setIconSize(QSize(Buttonsize.width() * 2,Buttonsize.height()));
|
||||||
|
|
||||||
ActiveLayerLine = new QLabel();
|
ActiveLayerLine = new QLabel();
|
||||||
QString string = QString("Active Layer: %1").arg(paintingArea->getNumberOfActiveLayer() + 1);
|
QString string = QString("Active Layer: %1").arg(paintingArea->getNumberOfActiveLayer() + 1);
|
||||||
ActiveLayerLine->setText(string);
|
ActiveLayerLine->setText(string);
|
||||||
ActiveLayerLine->setFixedSize(Buttonsize.width()+10,Buttonsize.height()/3);
|
ActiveLayerLine->setFixedSize(Buttonsize.width() * 2 + 10,(Buttonsize.height() * 2) / 3);
|
||||||
|
|
||||||
IntelliImage* activePicture = paintingArea->getImageOfActiveLayer();
|
IntelliImage* activePicture = paintingArea->getImageOfActiveLayer();
|
||||||
if(activePicture) {
|
if(activePicture) {
|
||||||
@@ -713,63 +698,36 @@ void IntelliPhotoGui::createGui(){
|
|||||||
preview = preview.fromImage(tmp);
|
preview = preview.fromImage(tmp);
|
||||||
}
|
}
|
||||||
|
|
||||||
ActiveLayerImageLine = new QLabel();
|
ActiveLayerImageLabel = new QLabel();
|
||||||
ActiveLayerImageLine->setFixedSize(Buttonsize);
|
ActiveLayerImageLabel->setFixedSize(Buttonsize * 2);
|
||||||
ActiveLayerImageLine->setPixmap(preview.scaled(Buttonsize));
|
ActiveLayerImageLabel->setPixmap(preview.scaled(Buttonsize * 2));
|
||||||
|
|
||||||
// set gui elements
|
// set gui elements
|
||||||
|
|
||||||
mainLayout->addWidget(paintingArea,1,1,20,1);
|
mainLayout->addWidget(paintingArea,1,1,20,1);
|
||||||
mainLayout->addWidget(CircleButton,1,2,1,2);
|
mainLayout->addWidget(CircleButton,1,2,1,1);
|
||||||
mainLayout->addWidget(FloodFillButton,2,2,1,2);
|
mainLayout->addWidget(FloodFillButton,1,3,1,1);
|
||||||
mainLayout->addWidget(LineButton,3,2,1,2);
|
mainLayout->addWidget(LineButton,2,2,1,1);
|
||||||
mainLayout->addWidget(PenButton,4,2,1,2);
|
mainLayout->addWidget(PenButton,2,3,1,1);
|
||||||
mainLayout->addWidget(PlainButton,5,2,1,2);
|
mainLayout->addWidget(PlainButton,3,2,1,1);
|
||||||
mainLayout->addWidget(PolygonButton,6,2,1,2);
|
mainLayout->addWidget(PolygonButton,3,3,1,1);
|
||||||
mainLayout->addWidget(RectangleButton,7,2,1,2);
|
mainLayout->addWidget(RectangleButton,4,2,1,1);
|
||||||
mainLayout->addWidget(WidthLine,8,2,1,2);
|
mainLayout->addWidget(WidthLine,5,2,1,2);
|
||||||
mainLayout->addWidget(EditLineWidth,9,2,1,2);
|
mainLayout->addWidget(EditLineWidth,6,2,1,2);
|
||||||
mainLayout->addWidget(innerAlphaLine,10,2,1,2);
|
mainLayout->addWidget(innerAlphaLine,7,2,1,2);
|
||||||
mainLayout->addWidget(EditLineInnerAlpha,11,2,1,2);
|
mainLayout->addWidget(EditLineInnerAlpha,8,2,1,2);
|
||||||
mainLayout->addWidget(FirstColorButton,12,2,1,1);
|
mainLayout->addWidget(FirstColorButton,9,2,1,1);
|
||||||
mainLayout->addWidget(SecondColorButton,12,3,1,1);
|
mainLayout->addWidget(SecondColorButton,9,3,1,1);
|
||||||
mainLayout->addWidget(SwitchColorButton,13,2,1,2);
|
mainLayout->addWidget(SwitchColorButton,10,2,1,2);
|
||||||
mainLayout->addWidget(ActiveLayerLine,14,2,1,2);
|
mainLayout->addWidget(ActiveLayerLine,11,2,1,2);
|
||||||
mainLayout->addWidget(ActiveLayerImageLine,15,2,1,2);
|
mainLayout->addWidget(ActiveLayerImageLabel,12,2,1,2);
|
||||||
|
mainLayout->setHorizontalSpacing(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void IntelliPhotoGui::setIntelliStyle(){
|
void IntelliPhotoGui::setIntelliStyle(){
|
||||||
// Set the title
|
// Set the title
|
||||||
setWindowTitle("IntelliPhoto Prototype");
|
setWindowTitle("IntelliPhoto Prototype");
|
||||||
Palette.setBrush(QPalette::HighlightedText, QColor(200, 10, 10));
|
|
||||||
Palette.setBrush(QPalette::Highlight, QColor(100, 5, 5));
|
|
||||||
Palette.setBrush(QPalette::ButtonText, QColor(255, 255, 255));
|
|
||||||
Palette.setBrush(QPalette::Button, QColor(64, 64, 64));
|
|
||||||
Palette.setBrush(QPalette::Window, QColor(0, 0, 0));
|
|
||||||
Palette.setBrush(QPalette::WindowText, QColor(255, 255, 255));
|
|
||||||
Palette.setBrush(QPalette::PlaceholderText, QColor(255, 255, 255));
|
|
||||||
Palette.setBrush(QPalette::ToolTipText, QColor(255, 255, 255));
|
|
||||||
Palette.setBrush(QPalette::Text, QColor(255, 255, 255));
|
|
||||||
// Set style sheet
|
// Set style sheet
|
||||||
this->setStyleSheet("background-color:rgb(64,64,64)");
|
this->setStyleSheet("color: white;" "background-color: rgb(64, 64, 64);" "selection-color: rgb(200, 10, 10);" "selection-background-color: rgb(64, 64, 64);");
|
||||||
this->menuBar()->setPalette(Palette);
|
|
||||||
this->fileMenu->setPalette(Palette);
|
|
||||||
this->saveAsMenu->setPalette(Palette);
|
|
||||||
this->optionMenu->setPalette(Palette);
|
|
||||||
this->helpMenu->setPalette(Palette);
|
|
||||||
this->renderMenu->setPalette(Palette);
|
|
||||||
this->toolMenu->setPalette(Palette);
|
|
||||||
this->layerCreationMenu->setPalette(Palette);
|
|
||||||
this->layerMenu->setPalette(Palette);
|
|
||||||
this->colorMenu->setPalette(Palette);
|
|
||||||
this->toolCreationMenu->setPalette(Palette);
|
|
||||||
this->toolSettingsMenu->setPalette(Palette);
|
|
||||||
|
|
||||||
this->WidthLine->setPalette(Palette);
|
|
||||||
this->EditLineWidth->setPalette(Palette);
|
|
||||||
this->innerAlphaLine->setPalette(Palette);
|
|
||||||
this->EditLineInnerAlpha->setPalette(Palette);
|
|
||||||
this->ActiveLayerLine->setPalette(Palette);
|
|
||||||
|
|
||||||
QString string = QString("background-color: %1").arg(paintingArea->colorPicker.getFirstColor().name());
|
QString string = QString("background-color: %1").arg(paintingArea->colorPicker.getFirstColor().name());
|
||||||
FirstColorButton->setStyleSheet(string);
|
FirstColorButton->setStyleSheet(string);
|
||||||
@@ -829,6 +787,15 @@ void IntelliPhotoGui::setDefaultToolValue(){
|
|||||||
slotEnterPressed();
|
slotEnterPressed();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void IntelliPhotoGui::setToolWidth(int value){
|
||||||
|
if(value < 1) {
|
||||||
|
value = 1;
|
||||||
|
}else if(value > 50) {
|
||||||
|
value = 50;
|
||||||
|
}
|
||||||
|
EditLineWidth->setText(QString("%1").arg(value));
|
||||||
|
}
|
||||||
|
|
||||||
void IntelliPhotoGui::UpdateGui(){
|
void IntelliPhotoGui::UpdateGui(){
|
||||||
QString string = QString("Active Layer: %1").arg(paintingArea->getNumberOfActiveLayer() + 1);
|
QString string = QString("Active Layer: %1").arg(paintingArea->getNumberOfActiveLayer() + 1);
|
||||||
ActiveLayerLine->setText(string);
|
ActiveLayerLine->setText(string);
|
||||||
@@ -841,7 +808,7 @@ void IntelliPhotoGui::UpdateGui(){
|
|||||||
tmp.fill(Qt::transparent);
|
tmp.fill(Qt::transparent);
|
||||||
preview = preview.fromImage(tmp);
|
preview = preview.fromImage(tmp);
|
||||||
}
|
}
|
||||||
ActiveLayerImageLine->setPixmap(preview.scaled(Buttonsize));
|
ActiveLayerImageLabel->setPixmap(preview.scaled(Buttonsize * 2));
|
||||||
|
|
||||||
string = QString("background-color: %1").arg(paintingArea->colorPicker.getFirstColor().name());
|
string = QString("background-color: %1").arg(paintingArea->colorPicker.getFirstColor().name());
|
||||||
FirstColorButton->setStyleSheet(string);
|
FirstColorButton->setStyleSheet(string);
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
#include <QTextEdit>
|
#include <QTextEdit>
|
||||||
#include <QLabel>
|
#include <QLabel>
|
||||||
#include <QLineEdit>
|
#include <QLineEdit>
|
||||||
|
#include "IntelliInputDialog.h"
|
||||||
|
|
||||||
//for unit testing
|
//for unit testing
|
||||||
class UnitTest;
|
class UnitTest;
|
||||||
@@ -22,7 +23,7 @@ class IntelliTool;
|
|||||||
class IntelliColorPicker;
|
class IntelliColorPicker;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief The IntelliPhotoGui class handles the graphical user interface for the intelliPhoto program
|
* \brief The IntelliPhotoGui base class handles the graphical user interface and events for the intelliPhoto program
|
||||||
*/
|
*/
|
||||||
class IntelliPhotoGui : public QMainWindow {
|
class IntelliPhotoGui : public QMainWindow {
|
||||||
friend UnitTest;
|
friend UnitTest;
|
||||||
@@ -38,12 +39,15 @@ IntelliPhotoGui();
|
|||||||
|
|
||||||
void UpdateGui();
|
void UpdateGui();
|
||||||
|
|
||||||
|
void setToolWidth(int value);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// Function used to close an event
|
/*!
|
||||||
|
* \brief The closeEvent function handles closing events
|
||||||
|
*/
|
||||||
void closeEvent(QCloseEvent*event) override;
|
void closeEvent(QCloseEvent*event) override;
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
// meta slots here (need further )
|
|
||||||
void slotOpen();
|
void slotOpen();
|
||||||
void slotSave();
|
void slotSave();
|
||||||
|
|
||||||
@@ -61,16 +65,13 @@ void slotPositionMoveRight();
|
|||||||
void slotMoveLayerUp();
|
void slotMoveLayerUp();
|
||||||
void slotMoveLayerDown();
|
void slotMoveLayerDown();
|
||||||
|
|
||||||
//Rendersetting slots here
|
|
||||||
void slotUpdateRenderSettingsOn();
|
void slotUpdateRenderSettingsOn();
|
||||||
void slotUpdateRenderSettingsOff();
|
void slotUpdateRenderSettingsOff();
|
||||||
|
|
||||||
// color Picker slots here
|
|
||||||
void slotSetFirstColor();
|
void slotSetFirstColor();
|
||||||
void slotSetSecondColor();
|
void slotSetSecondColor();
|
||||||
void slotSwapColor();
|
void slotSwapColor();
|
||||||
|
|
||||||
// tool slots here
|
|
||||||
void slotCreatePenTool();
|
void slotCreatePenTool();
|
||||||
void slotCreatePlainTool();
|
void slotCreatePlainTool();
|
||||||
void slotCreateLineTool();
|
void slotCreateLineTool();
|
||||||
@@ -79,7 +80,6 @@ void slotCreateCircleTool();
|
|||||||
void slotCreatePolygonTool();
|
void slotCreatePolygonTool();
|
||||||
void slotCreateFloodFillTool();
|
void slotCreateFloodFillTool();
|
||||||
|
|
||||||
// slots for dialogs
|
|
||||||
void slotAboutDialog();
|
void slotAboutDialog();
|
||||||
|
|
||||||
void slotEnterPressed();
|
void slotEnterPressed();
|
||||||
@@ -90,12 +90,10 @@ void slotSetInnerAlpha();
|
|||||||
void slotResetTools();
|
void slotResetTools();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// Will tie user actions to functions
|
|
||||||
void createActions();
|
void createActions();
|
||||||
void createMenus();
|
void createMenus();
|
||||||
// setup GUI elements
|
|
||||||
void createGui();
|
void createGui();
|
||||||
// set style of the GUI
|
// Set the style of the GUI
|
||||||
void setIntelliStyle();
|
void setIntelliStyle();
|
||||||
|
|
||||||
// Will check if changes have occurred since last save
|
// Will check if changes have occurred since last save
|
||||||
@@ -108,7 +106,7 @@ void setDefaultToolValue();
|
|||||||
// What we'll draw on
|
// What we'll draw on
|
||||||
PaintingArea* paintingArea;
|
PaintingArea* paintingArea;
|
||||||
|
|
||||||
const QSize Buttonsize = QSize(70,70);
|
const QSize Buttonsize = QSize(35,35);
|
||||||
QPixmap preview;
|
QPixmap preview;
|
||||||
QPushButton* CircleButton;
|
QPushButton* CircleButton;
|
||||||
QPushButton* FloodFillButton;
|
QPushButton* FloodFillButton;
|
||||||
@@ -129,9 +127,7 @@ QPushButton* SecondColorButton;
|
|||||||
QPushButton* SwitchColorButton;
|
QPushButton* SwitchColorButton;
|
||||||
|
|
||||||
QLabel* ActiveLayerLine;
|
QLabel* ActiveLayerLine;
|
||||||
QLabel* ActiveLayerImageLine;
|
QLabel* ActiveLayerImageLabel;
|
||||||
|
|
||||||
QPalette Palette;
|
|
||||||
|
|
||||||
// The menu widgets
|
// The menu widgets
|
||||||
QMenu*saveAsMenu;
|
QMenu*saveAsMenu;
|
||||||
|
|||||||
@@ -108,7 +108,7 @@ virtual QImage getDisplayable(const QSize& displaySize, int alpha) = 0;
|
|||||||
* @param alpha - The maximum alpha value, a pixel can have.
|
* @param alpha - The maximum alpha value, a pixel can have.
|
||||||
* @return A QImage which is ready to be displayed.
|
* @return A QImage which is ready to be displayed.
|
||||||
*/
|
*/
|
||||||
virtual QImage getDisplayable(int alpha=255) = 0;
|
virtual QImage getDisplayable(int alpha = 255) = 0;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief A function that copys all that returns a [allocated] Image
|
* \brief A function that copys all that returns a [allocated] Image
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ virtual QImage getDisplayable(const QSize& displaySize,int alpha) override;
|
|||||||
* @param alpha - The maximum alpha value, a pixel can have.
|
* @param alpha - The maximum alpha value, a pixel can have.
|
||||||
* @return A QImage which is ready to be displayed.
|
* @return A QImage which is ready to be displayed.
|
||||||
*/
|
*/
|
||||||
virtual QImage getDisplayable(int alpha=255) override;
|
virtual QImage getDisplayable(int alpha = 255) override;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief A function that copys all that returns a [allocated] Image
|
* \brief A function that copys all that returns a [allocated] Image
|
||||||
|
|||||||
@@ -36,8 +36,8 @@ void IntelliShapedImage::calculateVisiblity(){
|
|||||||
|
|
||||||
if(polygonData.size()<=2) {
|
if(polygonData.size()<=2) {
|
||||||
QColor clr;
|
QColor clr;
|
||||||
for(int y=0; y<imageData.height(); y++) {
|
for(int y = 0; y<imageData.height(); y++) {
|
||||||
for(int x=0; x<imageData.width(); x++) {
|
for(int x = 0; x<imageData.width(); x++) {
|
||||||
clr = imageData.pixel(x,y);
|
clr = imageData.pixel(x,y);
|
||||||
clr.setAlpha(255);
|
clr.setAlpha(255);
|
||||||
imageData.setPixelColor(x,y,clr);
|
imageData.setPixelColor(x,y,clr);
|
||||||
@@ -49,8 +49,8 @@ void IntelliShapedImage::calculateVisiblity(){
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
QColor clr;
|
QColor clr;
|
||||||
for(int y=0; y<imageData.height(); y++) {
|
for(int y = 0; y<imageData.height(); y++) {
|
||||||
for(int x=0; x<imageData.width(); x++) {
|
for(int x = 0; x<imageData.width(); x++) {
|
||||||
QPoint ptr(x,y);
|
QPoint ptr(x,y);
|
||||||
clr = imageData.pixelColor(x,y);
|
clr = imageData.pixelColor(x,y);
|
||||||
bool isInPolygon = IntelliTriangulation::isInPolygon(triangles, ptr);
|
bool isInPolygon = IntelliTriangulation::isInPolygon(triangles, ptr);
|
||||||
|
|||||||
@@ -49,14 +49,14 @@ virtual ~IntelliShapedImage() override;
|
|||||||
* \param alpha - The maximum alpha value, a pixel can have.
|
* \param alpha - The maximum alpha value, a pixel can have.
|
||||||
* \return A QImage which is ready to be displayed.
|
* \return A QImage which is ready to be displayed.
|
||||||
*/
|
*/
|
||||||
virtual QImage getDisplayable(const QSize& displaySize, int alpha=255) override;
|
virtual QImage getDisplayable(const QSize& displaySize, int alpha = 255) override;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief A function returning the displayable ImageData in a requested transparence and it's standart size.
|
* @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.
|
* @param alpha - The maximum alpha value, a pixel can have.
|
||||||
* @return A QImage which is ready to be displayed.
|
* @return A QImage which is ready to be displayed.
|
||||||
*/
|
*/
|
||||||
virtual QImage getDisplayable(int alpha=255) override;
|
virtual QImage getDisplayable(int alpha = 255) override;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief A function that copys all that returns a [allocated] Image
|
* \brief A function that copys all that returns a [allocated] Image
|
||||||
|
|||||||
@@ -65,4 +65,4 @@ QColor firstColor;
|
|||||||
QColor secondColor;
|
QColor secondColor;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // INTELLITOOLSETCOLORTOOL_H
|
#endif
|
||||||
|
|||||||
@@ -26,4 +26,4 @@ private:
|
|||||||
bool fastRenderering = true;
|
bool fastRenderering = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // INTELLIRENDERSETTINGS_H
|
#endif
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ IntelliToolsettings::IntelliToolsettings()
|
|||||||
{
|
{
|
||||||
lineWidth = 1;
|
lineWidth = 1;
|
||||||
innerAlpha = 255;
|
innerAlpha = 255;
|
||||||
Linestyle = LineStyle::SOLID_LINE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
IntelliToolsettings::~IntelliToolsettings(){
|
IntelliToolsettings::~IntelliToolsettings(){
|
||||||
@@ -16,38 +15,26 @@ int IntelliToolsettings::getLineWidth(){
|
|||||||
return lineWidth;
|
return lineWidth;
|
||||||
}
|
}
|
||||||
|
|
||||||
void IntelliToolsettings::setLineWidth(){
|
|
||||||
lineWidth = QInputDialog::getInt(nullptr,"Line Width Input", "Width",1,1,50,1);
|
|
||||||
}
|
|
||||||
|
|
||||||
void IntelliToolsettings::setLineWidth(int LineWidth){
|
void IntelliToolsettings::setLineWidth(int LineWidth){
|
||||||
if(LineWidth < 1) {
|
if(LineWidth < 1){
|
||||||
LineWidth = 1;
|
LineWidth = 1;
|
||||||
}
|
}
|
||||||
else if(LineWidth > 50) {
|
else if(LineWidth > 50){
|
||||||
LineWidth = 50;
|
LineWidth = 50;
|
||||||
}
|
}
|
||||||
lineWidth = LineWidth;
|
lineWidth = LineWidth;
|
||||||
}
|
}
|
||||||
|
|
||||||
int IntelliToolsettings::getInnerAlpha(){
|
int IntelliToolsettings::getInnerAlpha(){
|
||||||
return this->innerAlpha;
|
return this->innerAlpha;
|
||||||
}
|
}
|
||||||
|
|
||||||
void IntelliToolsettings::setInnerAlpha(){
|
|
||||||
this->innerAlpha = QInputDialog::getInt(nullptr,"Inner Aplha Input", "Value",0,0,255,1);
|
|
||||||
}
|
|
||||||
|
|
||||||
void IntelliToolsettings::setInnerAlpha(int innerAlpha){
|
void IntelliToolsettings::setInnerAlpha(int innerAlpha){
|
||||||
if(innerAlpha < 0) {
|
if(innerAlpha < 0){
|
||||||
innerAlpha = 0;
|
innerAlpha = 0;
|
||||||
}
|
}
|
||||||
else if(innerAlpha > 255) {
|
else if(innerAlpha > 255){
|
||||||
innerAlpha = 255;
|
innerAlpha = 255;
|
||||||
}
|
}
|
||||||
this->innerAlpha = innerAlpha;
|
this->innerAlpha = innerAlpha;
|
||||||
}
|
|
||||||
|
|
||||||
IntelliToolsettings::LineStyle IntelliToolsettings::getLinestyle(){
|
|
||||||
return Linestyle;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,33 +5,20 @@
|
|||||||
class UnitTest;
|
class UnitTest;
|
||||||
|
|
||||||
class IntelliToolsettings {
|
class IntelliToolsettings {
|
||||||
friend UnitTest;
|
friend UnitTest;
|
||||||
public:
|
public:
|
||||||
/*!
|
|
||||||
* \brief The LineStyle enum classifing all ways of drawing a line.
|
|
||||||
*/
|
|
||||||
enum class LineStyle {
|
|
||||||
SOLID_LINE,
|
|
||||||
DOTTED_LINE
|
|
||||||
};
|
|
||||||
|
|
||||||
IntelliToolsettings();
|
IntelliToolsettings();
|
||||||
virtual ~IntelliToolsettings();
|
virtual ~IntelliToolsettings();
|
||||||
|
|
||||||
int getLineWidth();
|
int getLineWidth();
|
||||||
void setLineWidth();
|
|
||||||
void setLineWidth(int LineWidth);
|
void setLineWidth(int LineWidth);
|
||||||
|
|
||||||
int getInnerAlpha();
|
int getInnerAlpha();
|
||||||
void setInnerAlpha();
|
|
||||||
void setInnerAlpha(int innerAlpha);
|
void setInnerAlpha(int innerAlpha);
|
||||||
|
|
||||||
LineStyle getLinestyle();
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int lineWidth;
|
int lineWidth;
|
||||||
int innerAlpha;
|
int innerAlpha;
|
||||||
LineStyle Linestyle;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // INTELLITOOLSETTINGS_H
|
#endif
|
||||||
|
|||||||
@@ -14,46 +14,46 @@ std::vector<Triangle> IntelliTriangulation::calculateTriangles(std::vector<QPoin
|
|||||||
};
|
};
|
||||||
|
|
||||||
// calculates the inner angle of 'point'
|
// calculates the inner angle of 'point'
|
||||||
auto calculateInner = [](QPoint& point, QPoint& prev, QPoint& post){
|
auto calculateInner = [] (QPoint& point, QPoint& prev, QPoint& post) {
|
||||||
QPoint AP(point.x()-prev.x(), point.y()-prev.y());
|
QPoint AP(point.x() - prev.x(), point.y() - prev.y());
|
||||||
QPoint BP(point.x()-post.x(), point.y()-post.y());
|
QPoint BP(point.x() - post.x(), point.y() - post.y());
|
||||||
|
|
||||||
float topSclar = AP.x()*BP.x()+AP.y()*BP.y();
|
float topSclar = AP.x() * BP.x() + AP.y() * BP.y();
|
||||||
float absolute = static_cast<float>(sqrt(pow(AP.x(),2.)+pow(AP.y(),2.))*sqrt(pow(BP.x(),2.)+pow(BP.y(),2.)));
|
float absolute = static_cast<float>(sqrt(pow(AP.x(),2.) + pow(AP.y(),2.)) * sqrt(pow(BP.x(),2.) + pow(BP.y(),2.)));
|
||||||
return acos(topSclar/absolute);
|
return acos(topSclar / absolute);
|
||||||
};
|
};
|
||||||
|
|
||||||
// gets the first element of vec for which element.isTip == true holds
|
// gets the first element of vec for which element.isTip == true holds
|
||||||
auto getTip= [](const std::vector<TriangleHelper>& vec){
|
auto getTip = [] (const std::vector<TriangleHelper>& vec) {
|
||||||
size_t min = 0;
|
size_t min = 0;
|
||||||
for(size_t i=0; i<vec.size(); i++) {
|
for(size_t i = 0; i<vec.size(); i++) {
|
||||||
if(vec[i].interiorAngle<vec[min].interiorAngle) {
|
if(vec[i].interiorAngle<vec[min].interiorAngle) {
|
||||||
min = i;
|
min = i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return vec[min];
|
return vec[min];
|
||||||
};
|
};
|
||||||
|
|
||||||
// get the vertex idx bevor idx in relation to the container length
|
// get the vertex idx bevor idx in relation to the container length
|
||||||
auto getPrev = [](int idx, int length){
|
auto getPrev = [] (int idx, int length) {
|
||||||
return (idx-1)>=0 ? (idx-1) : (length-1);
|
return (idx - 1)>=0 ? (idx - 1) : (length - 1);
|
||||||
};
|
};
|
||||||
|
|
||||||
// get the vertex idx after idx in relation to the container lenght
|
// get the vertex idx after idx in relation to the container lenght
|
||||||
auto getPost = [](int idx, int length){
|
auto getPost = [] (int idx, int length) {
|
||||||
return (idx+1)%length;
|
return (idx + 1) % length;
|
||||||
};
|
};
|
||||||
|
|
||||||
// return if the vertex is a tip
|
// return if the vertex is a tip
|
||||||
auto isTip = [](float angle){
|
auto isTip = [] (float angle) {
|
||||||
return static_cast<double>(angle)<(pi/2.);
|
return static_cast<double>(angle)<(pi / 2.);
|
||||||
};
|
};
|
||||||
|
|
||||||
std::vector<TriangleHelper> Vertices;
|
std::vector<TriangleHelper> Vertices;
|
||||||
std::vector<Triangle> Triangles;
|
std::vector<Triangle> Triangles;
|
||||||
|
|
||||||
// set up all vertices and calculate intirior angle
|
// set up all vertices and calculate intirior angle
|
||||||
for(int i=0; i<static_cast<int>(polyPoints.size()); i++) {
|
for(int i = 0; i<static_cast<int>(polyPoints.size()); i++) {
|
||||||
TriangleHelper helper;
|
TriangleHelper helper;
|
||||||
int prev = getPrev(i, static_cast<int>(polyPoints.size()));
|
int prev = getPrev(i, static_cast<int>(polyPoints.size()));
|
||||||
int post = getPost(i, static_cast<int>(polyPoints.size()));
|
int post = getPost(i, static_cast<int>(polyPoints.size()));
|
||||||
@@ -69,7 +69,7 @@ std::vector<Triangle> IntelliTriangulation::calculateTriangles(std::vector<QPoin
|
|||||||
}
|
}
|
||||||
|
|
||||||
// search triangles based on the intirior angles of each vertey
|
// search triangles based on the intirior angles of each vertey
|
||||||
while(Triangles.size() != polyPoints.size()-2) {
|
while(Triangles.size() != polyPoints.size() - 2) {
|
||||||
Triangle tri;
|
Triangle tri;
|
||||||
TriangleHelper smallest = getTip(Vertices);
|
TriangleHelper smallest = getTip(Vertices);
|
||||||
int prev = getPrev(smallest.idx, static_cast<int>(Vertices.size()));
|
int prev = getPrev(smallest.idx, static_cast<int>(Vertices.size()));
|
||||||
@@ -82,14 +82,14 @@ std::vector<Triangle> IntelliTriangulation::calculateTriangles(std::vector<QPoin
|
|||||||
Triangles.push_back(tri);
|
Triangles.push_back(tri);
|
||||||
|
|
||||||
// update Vertice array
|
// update Vertice array
|
||||||
Vertices.erase(Vertices.begin()+smallest.idx);
|
Vertices.erase(Vertices.begin() + smallest.idx);
|
||||||
for(size_t i=static_cast<size_t>(smallest.idx); i<Vertices.size(); i++) {
|
for(size_t i = static_cast<size_t>(smallest.idx); i<Vertices.size(); i++) {
|
||||||
Vertices[i].idx-=1;
|
Vertices[i].idx -= 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// update post und prev idx
|
// update post und prev idx
|
||||||
post = getPrev(post, Vertices.size());
|
post = getPrev(post, Vertices.size());
|
||||||
prev = prev<smallest.idx ? prev : (prev-1);
|
prev = prev<smallest.idx ? prev : (prev - 1);
|
||||||
|
|
||||||
// calcultae neighboors of prev and post to calculate new interior angles
|
// calcultae neighboors of prev and post to calculate new interior angles
|
||||||
int prevOfPrev = getPrev(prev, static_cast<int>(Vertices.size()));
|
int prevOfPrev = getPrev(prev, static_cast<int>(Vertices.size()));
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ namespace IntelliTriangulation {
|
|||||||
* \return Returns the area of the traingle*2
|
* \return Returns the area of the traingle*2
|
||||||
*/
|
*/
|
||||||
inline float sign(QPoint& p1, QPoint& p2, QPoint& p3){
|
inline float sign(QPoint& p1, QPoint& p2, QPoint& p3){
|
||||||
return (p1.x()-p3.x())*(p2.y()-p3.y())-(p2.x()-p3.x())*(p1.y()-p3.y());
|
return (p1.x() - p3.x()) * (p2.y() - p3.y()) - (p2.x() - p3.x()) * (p1.y() - p3.y());
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ DEFINES += QT_DEPRECATED_WARNINGS
|
|||||||
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
|
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
|
||||||
|
|
||||||
SOURCES += \
|
SOURCES += \
|
||||||
|
GUI/IntelliInputDialog.cpp \
|
||||||
GUI/IntelliPhotoGui.cpp \
|
GUI/IntelliPhotoGui.cpp \
|
||||||
Image/IntelliImage.cpp \
|
Image/IntelliImage.cpp \
|
||||||
Image/IntelliRasterImage.cpp \
|
Image/IntelliRasterImage.cpp \
|
||||||
@@ -36,6 +37,7 @@ SOURCES += \
|
|||||||
main.cpp
|
main.cpp
|
||||||
|
|
||||||
HEADERS += \
|
HEADERS += \
|
||||||
|
GUI/IntelliInputDialog.h \
|
||||||
GUI/IntelliPhotoGui.h \
|
GUI/IntelliPhotoGui.h \
|
||||||
Image/IntelliImage.h \
|
Image/IntelliImage.h \
|
||||||
Image/IntelliRasterImage.h \
|
Image/IntelliRasterImage.h \
|
||||||
@@ -70,3 +72,5 @@ else: unix:!android: target.path = /opt/$${TARGET}/bin
|
|||||||
|
|
||||||
RESOURCES += \
|
RESOURCES += \
|
||||||
Bilder.qrc
|
Bilder.qrc
|
||||||
|
|
||||||
|
DISTFILES +=
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ PaintingArea::PaintingArea(int maxWidth, int maxHeight, QWidget*parent)
|
|||||||
this->Tool = nullptr;
|
this->Tool = nullptr;
|
||||||
this->setLayerDimensions(maxWidth, maxHeight);
|
this->setLayerDimensions(maxWidth, maxHeight);
|
||||||
|
|
||||||
activeLayer=-1;
|
activeLayer = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
PaintingArea::~PaintingArea(){
|
PaintingArea::~PaintingArea(){
|
||||||
@@ -32,7 +32,7 @@ PaintingArea::~PaintingArea(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void PaintingArea::setRenderSettings(bool isFastRenderingOn){
|
void PaintingArea::setRenderSettings(bool isFastRenderingOn){
|
||||||
if(isFastRenderingOn != renderSettings.isFastRenderering()) {
|
if(isFastRenderingOn != renderSettings.isFastRenderering() && !Tool->getIsDrawing()) {
|
||||||
renderSettings.setFastRendering(isFastRenderingOn);
|
renderSettings.setFastRendering(isFastRenderingOn);
|
||||||
for(auto& layer : layerBundle) {
|
for(auto& layer : layerBundle) {
|
||||||
layer.image->updateRendererSetting(isFastRenderingOn);
|
layer.image->updateRendererSetting(isFastRenderingOn);
|
||||||
@@ -65,7 +65,7 @@ int PaintingArea::addLayer(int width, int height, int widthOffset, int heightOff
|
|||||||
}
|
}
|
||||||
newLayer.alpha = 255;
|
newLayer.alpha = 255;
|
||||||
this->layerBundle.push_back(newLayer);
|
this->layerBundle.push_back(newLayer);
|
||||||
activeLayer = static_cast<int>(layerBundle.size())-1;
|
activeLayer = static_cast<int>(layerBundle.size()) - 1;
|
||||||
return activeLayer;
|
return activeLayer;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -75,19 +75,19 @@ void PaintingArea::deleteLayer(int idx, bool isTool){
|
|||||||
updateTools();
|
updateTools();
|
||||||
}
|
}
|
||||||
if(idx<static_cast<int>(layerBundle.size())&&idx>=0) {
|
if(idx<static_cast<int>(layerBundle.size())&&idx>=0) {
|
||||||
this->layerBundle.erase(layerBundle.begin()+idx);
|
this->layerBundle.erase(layerBundle.begin() + idx);
|
||||||
if(activeLayer>=idx) {
|
if(activeLayer>=idx) {
|
||||||
activeLayer--;
|
activeLayer--;
|
||||||
}
|
}
|
||||||
if(activeLayer < 0 && layerBundle.size()) {
|
if(activeLayer < 0 && layerBundle.size()) {
|
||||||
activeLayer=0;
|
activeLayer = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void PaintingArea::slotDeleteActiveLayer(){
|
void PaintingArea::slotDeleteActiveLayer(){
|
||||||
if(activeLayer>=0 && activeLayer < static_cast<int>(layerBundle.size())) {
|
if(activeLayer>=0 && activeLayer < static_cast<int>(layerBundle.size())) {
|
||||||
this->layerBundle.erase(layerBundle.begin()+activeLayer);
|
this->layerBundle.erase(layerBundle.begin() + activeLayer);
|
||||||
activeLayer--;
|
activeLayer--;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -95,14 +95,14 @@ void PaintingArea::slotDeleteActiveLayer(){
|
|||||||
void PaintingArea::setLayerActive(int idx){
|
void PaintingArea::setLayerActive(int idx){
|
||||||
updateTools();
|
updateTools();
|
||||||
if(idx>=0&&idx<static_cast<int>(layerBundle.size())) {
|
if(idx>=0&&idx<static_cast<int>(layerBundle.size())) {
|
||||||
this->activeLayer=idx;
|
this->activeLayer = idx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void PaintingArea::setLayerAlpha(int idx, int alpha){
|
void PaintingArea::setLayerAlpha(int idx, int alpha){
|
||||||
if(idx>=0&&idx<static_cast<int>(layerBundle.size())) {
|
if(idx>=0&&idx<static_cast<int>(layerBundle.size())) {
|
||||||
if(alpha>=0 && alpha<=255) {
|
if(alpha>=0 && alpha<=255) {
|
||||||
layerBundle[static_cast<size_t>(idx)].alpha=alpha;
|
layerBundle[static_cast<size_t>(idx)].alpha = alpha;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -112,6 +112,7 @@ void PaintingArea::setPolygon(int idx){
|
|||||||
delete this->Tool;
|
delete this->Tool;
|
||||||
this->Tool = new IntelliToolPolygon(this,&colorPicker,&Toolsettings, true);
|
this->Tool = new IntelliToolPolygon(this,&colorPicker,&Toolsettings, true);
|
||||||
isSettingPolygon = true;
|
isSettingPolygon = true;
|
||||||
|
this->DummyGui->setToolWidth(5);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -165,6 +166,7 @@ void PaintingArea::moveActiveLayer(int idx){
|
|||||||
}else if(idx==-1) {
|
}else if(idx==-1) {
|
||||||
this->selectLayerDown();
|
this->selectLayerDown();
|
||||||
}
|
}
|
||||||
|
DummyGui->UpdateGui();
|
||||||
}
|
}
|
||||||
|
|
||||||
void PaintingArea::slotActivateLayer(int a){
|
void PaintingArea::slotActivateLayer(int a){
|
||||||
@@ -230,6 +232,14 @@ int PaintingArea::getHeightOfActive(){
|
|||||||
return this->layerBundle[static_cast<unsigned long long>(activeLayer)].height;
|
return this->layerBundle[static_cast<unsigned long long>(activeLayer)].height;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int PaintingArea::getMaxWidth(){
|
||||||
|
return this->maxWidth;
|
||||||
|
}
|
||||||
|
|
||||||
|
int PaintingArea::getMaxHeight(){
|
||||||
|
return this->maxHeight;
|
||||||
|
}
|
||||||
|
|
||||||
IntelliImage::ImageType PaintingArea::getTypeOfImageRealLayer(){
|
IntelliImage::ImageType PaintingArea::getTypeOfImageRealLayer(){
|
||||||
return this->layerBundle[static_cast<unsigned long long>(activeLayer)].image->getTypeOfImage();
|
return this->layerBundle[static_cast<unsigned long long>(activeLayer)].image->getTypeOfImage();
|
||||||
}
|
}
|
||||||
@@ -247,8 +257,8 @@ void PaintingArea::mousePressEvent(QMouseEvent*event){
|
|||||||
}
|
}
|
||||||
if(Tool == nullptr)
|
if(Tool == nullptr)
|
||||||
return;
|
return;
|
||||||
int x = event->x()-layerBundle[static_cast<unsigned long long>(activeLayer)].widthOffset;
|
int x = event->x() - layerBundle[static_cast<unsigned long long>(activeLayer)].widthOffset;
|
||||||
int y = event->y()-layerBundle[static_cast<unsigned long long>(activeLayer)].heightOffset;
|
int y = event->y() - layerBundle[static_cast<unsigned long long>(activeLayer)].heightOffset;
|
||||||
if(event->button() == Qt::LeftButton) {
|
if(event->button() == Qt::LeftButton) {
|
||||||
Tool->onMouseLeftPressed(x, y);
|
Tool->onMouseLeftPressed(x, y);
|
||||||
}else if(event->button() == Qt::RightButton) {
|
}else if(event->button() == Qt::RightButton) {
|
||||||
@@ -266,8 +276,8 @@ void PaintingArea::mouseMoveEvent(QMouseEvent*event){
|
|||||||
}
|
}
|
||||||
if(Tool == nullptr)
|
if(Tool == nullptr)
|
||||||
return;
|
return;
|
||||||
int x = event->x()-layerBundle[static_cast<unsigned long long>(activeLayer)].widthOffset;
|
int x = event->x() - layerBundle[static_cast<unsigned long long>(activeLayer)].widthOffset;
|
||||||
int y = event->y()-layerBundle[static_cast<unsigned long long>(activeLayer)].heightOffset;
|
int y = event->y() - layerBundle[static_cast<unsigned long long>(activeLayer)].heightOffset;
|
||||||
Tool->onMouseMoved(x, y);
|
Tool->onMouseMoved(x, y);
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
@@ -278,8 +288,8 @@ void PaintingArea::mouseReleaseEvent(QMouseEvent*event){
|
|||||||
return;
|
return;
|
||||||
if(Tool == nullptr)
|
if(Tool == nullptr)
|
||||||
return;
|
return;
|
||||||
int x = event->x()-layerBundle[static_cast<unsigned long long>(activeLayer)].widthOffset;
|
int x = event->x() - layerBundle[static_cast<unsigned long long>(activeLayer)].widthOffset;
|
||||||
int y = event->y()-layerBundle[static_cast<unsigned long long>(activeLayer)].heightOffset;
|
int y = event->y() - layerBundle[static_cast<unsigned long long>(activeLayer)].heightOffset;
|
||||||
if(event->button() == Qt::LeftButton) {
|
if(event->button() == Qt::LeftButton) {
|
||||||
Tool->onMouseLeftReleased(x, y);
|
Tool->onMouseLeftReleased(x, y);
|
||||||
}else if(event->button() == Qt::RightButton) {
|
}else if(event->button() == Qt::RightButton) {
|
||||||
@@ -295,7 +305,7 @@ void PaintingArea::wheelEvent(QWheelEvent*event){
|
|||||||
QPoint numDegrees = event->angleDelta() / 8;
|
QPoint numDegrees = event->angleDelta() / 8;
|
||||||
if(!numDegrees.isNull()) {
|
if(!numDegrees.isNull()) {
|
||||||
QPoint numSteps = numDegrees / 15;
|
QPoint numSteps = numDegrees / 15;
|
||||||
Tool->onWheelScrolled(numSteps.y()* -1);
|
Tool->onWheelScrolled(numSteps.y() * -1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -325,8 +335,8 @@ void PaintingArea::resizeLayer(QImage*image_res, const QSize &newSize){
|
|||||||
|
|
||||||
void PaintingArea::selectLayerUp(){
|
void PaintingArea::selectLayerUp(){
|
||||||
updateTools();
|
updateTools();
|
||||||
if(activeLayer!=-1 && static_cast<unsigned long long>(activeLayer)<layerBundle.size()-1) {
|
if(activeLayer!=-1 && static_cast<unsigned long long>(activeLayer)<layerBundle.size() - 1) {
|
||||||
std::swap(layerBundle[static_cast<unsigned long long>(activeLayer)], layerBundle[static_cast<unsigned long long>(activeLayer+1)]);
|
std::swap(layerBundle[static_cast<unsigned long long>(activeLayer)], layerBundle[static_cast<unsigned long long>(activeLayer + 1)]);
|
||||||
activeLayer++;
|
activeLayer++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -334,7 +344,7 @@ void PaintingArea::selectLayerUp(){
|
|||||||
void PaintingArea::selectLayerDown(){
|
void PaintingArea::selectLayerDown(){
|
||||||
updateTools();
|
updateTools();
|
||||||
if(activeLayer!=-1 && activeLayer>0) {
|
if(activeLayer!=-1 && activeLayer>0) {
|
||||||
std::swap(layerBundle[static_cast<unsigned long long>(activeLayer)], layerBundle[static_cast<unsigned long long>(activeLayer-1)]);
|
std::swap(layerBundle[static_cast<unsigned long long>(activeLayer)], layerBundle[static_cast<unsigned long long>(activeLayer - 1)]);
|
||||||
activeLayer--;
|
activeLayer--;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -345,30 +355,30 @@ void PaintingArea::drawLayers(bool forSaving){
|
|||||||
}else{
|
}else{
|
||||||
Canvas->fill(Qt::GlobalColor::black);
|
Canvas->fill(Qt::GlobalColor::black);
|
||||||
}
|
}
|
||||||
for(size_t i=0; i<layerBundle.size(); i++) {
|
for(size_t i = 0; i<layerBundle.size(); i++) {
|
||||||
LayerObject layer = layerBundle[i];
|
LayerObject layer = layerBundle[i];
|
||||||
QImage cpy = layer.image->getDisplayable(layer.alpha);
|
QImage cpy = layer.image->getDisplayable(layer.alpha);
|
||||||
QColor clr_0;
|
QColor clr_0;
|
||||||
QColor clr_1;
|
QColor clr_1;
|
||||||
for(int y=0; y<layer.height; y++) {
|
for(int y = 0; y<layer.height; y++) {
|
||||||
if(layer.heightOffset+y<0) continue;
|
if(layer.heightOffset + y<0) continue;
|
||||||
if(layer.heightOffset+y>=maxHeight) break;
|
if(layer.heightOffset + y>=maxHeight) break;
|
||||||
for(int x=0; x<layer.width; x++) {
|
for(int x = 0; x<layer.width; x++) {
|
||||||
if(layer.widthOffset+x<0) continue;
|
if(layer.widthOffset + x<0) continue;
|
||||||
if(layer.widthOffset+x>=maxWidth) break;
|
if(layer.widthOffset + x>=maxWidth) break;
|
||||||
clr_0=Canvas->pixelColor(layer.widthOffset+x, layer.heightOffset+y);
|
clr_0 = Canvas->pixelColor(layer.widthOffset + x, layer.heightOffset + y);
|
||||||
clr_1=cpy.pixelColor(x,y);
|
clr_1 = cpy.pixelColor(x,y);
|
||||||
float t = static_cast<float>(clr_1.alpha())/255.f;
|
float t = static_cast<float>(clr_1.alpha()) / 255.f;
|
||||||
int r =static_cast<int>(static_cast<float>(clr_1.red())*(t)+static_cast<float>(clr_0.red())*(1.f-t)+0.5f);
|
int r = static_cast<int>(static_cast<float>(clr_1.red()) * (t) + static_cast<float>(clr_0.red()) * (1.f - t) + 0.5f);
|
||||||
int g =static_cast<int>(static_cast<float>(clr_1.green())*(t)+static_cast<float>(clr_0.green())*(1.f-t)+0.5f);
|
int g = static_cast<int>(static_cast<float>(clr_1.green()) * (t) + static_cast<float>(clr_0.green()) * (1.f - t) + 0.5f);
|
||||||
int b =static_cast<int>(static_cast<float>(clr_1.blue())*(t)+static_cast<float>(clr_0.blue()*(1.f-t))+0.5f);
|
int b = static_cast<int>(static_cast<float>(clr_1.blue()) * (t) + static_cast<float>(clr_0.blue() * (1.f - t)) + 0.5f);
|
||||||
int a =std::min(clr_0.alpha()+clr_1.alpha(), 255);
|
int a = std::min(clr_0.alpha() + clr_1.alpha(), 255);
|
||||||
clr_0.setRed(r);
|
clr_0.setRed(r);
|
||||||
clr_0.setGreen(g);
|
clr_0.setGreen(g);
|
||||||
clr_0.setBlue(b);
|
clr_0.setBlue(b);
|
||||||
clr_0.setAlpha(a);
|
clr_0.setAlpha(a);
|
||||||
|
|
||||||
Canvas->setPixelColor(layer.widthOffset+x, layer.heightOffset+y, clr_0);
|
Canvas->setPixelColor(layer.widthOffset + x, layer.heightOffset + y, clr_0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -383,7 +393,7 @@ bool PaintingArea::createTempTopLayer(int idx){
|
|||||||
newLayer.heightOffset = layerBundle[static_cast<unsigned long long>(idx)].heightOffset;
|
newLayer.heightOffset = layerBundle[static_cast<unsigned long long>(idx)].heightOffset;
|
||||||
newLayer.widthOffset = layerBundle[static_cast<unsigned long long>(idx)].widthOffset;
|
newLayer.widthOffset = layerBundle[static_cast<unsigned long long>(idx)].widthOffset;
|
||||||
newLayer.image = layerBundle[static_cast<unsigned long long>(idx)].image->getDeepCopy();
|
newLayer.image = layerBundle[static_cast<unsigned long long>(idx)].image->getDeepCopy();
|
||||||
layerBundle.insert(layerBundle.begin()+idx+1,newLayer);
|
layerBundle.insert(layerBundle.begin() + idx + 1,newLayer);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ struct LayerObject {
|
|||||||
int height;
|
int height;
|
||||||
int widthOffset;
|
int widthOffset;
|
||||||
int heightOffset;
|
int heightOffset;
|
||||||
int alpha=255;
|
int alpha = 255;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@@ -53,15 +53,13 @@ public:
|
|||||||
* \param maxHeight - The maximum amount of pixles that are inside painting area from top to bottom (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)
|
* \param parent - The parent window of the main window (default=nullptr)
|
||||||
*/
|
*/
|
||||||
PaintingArea(int maxWidth=600, int maxHeight=600, QWidget*parent = nullptr);
|
PaintingArea(int maxWidth = 600, int maxHeight = 600, QWidget*parent = nullptr);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief This deconstructor is used to clear up the memory and remove the currently active window
|
* \brief This deconstructor is used to clear up the memory and remove the currently active window
|
||||||
*/
|
*/
|
||||||
~PaintingArea() override;
|
~PaintingArea() override;
|
||||||
|
|
||||||
// Handles all events
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief setRenderSettings updates all Images to the new Rendersetting.
|
* \brief setRenderSettings updates all Images to the new Rendersetting.
|
||||||
* \param isFastRenderingOn is the new given flag for the FastRenderer.
|
* \param isFastRenderingOn is the new given flag for the FastRenderer.
|
||||||
@@ -91,7 +89,7 @@ bool save(const QString &filePath, const char*fileFormat);
|
|||||||
* \param type - Defining the ImageType of the new layer
|
* \param type - Defining the ImageType of the new layer
|
||||||
* \return Returns the number of layers in the project
|
* \return Returns the number of layers in the project
|
||||||
*/
|
*/
|
||||||
int addLayer(int width, int height, int widthOffset=0, int heightOffset=0, IntelliImage::ImageType type = IntelliImage::ImageType::RASTERIMAGE);
|
int addLayer(int width, int height, int widthOffset = 0, int heightOffset = 0, IntelliImage::ImageType type = IntelliImage::ImageType::RASTERIMAGE);
|
||||||
/*!
|
/*!
|
||||||
* \brief The addLayerAt adds a layer to the current project/ painting area at a specific position in the layer stack
|
* \brief The addLayerAt adds a layer to the current project/ painting area at a specific position in the layer stack
|
||||||
* \param idx - Index of the position the new layer should be added
|
* \param idx - Index of the position the new layer should be added
|
||||||
@@ -102,7 +100,7 @@ int addLayer(int width, int height, int widthOffset=0, int heightOffset=0, Intel
|
|||||||
* \param type - Defining the ImageType of the new layer
|
* \param type - Defining the ImageType of the new layer
|
||||||
* \return Returns the id of the layer position
|
* \return Returns the id of the layer position
|
||||||
*/
|
*/
|
||||||
int addLayerAt(int idx, int width, int height, int widthOffset=0, int heightOffset=0, IntelliImage::ImageType type = IntelliImage::ImageType::RASTERIMAGE);
|
int addLayerAt(int idx, int width, int height, int widthOffset = 0, int heightOffset = 0, IntelliImage::ImageType type = IntelliImage::ImageType::RASTERIMAGE);
|
||||||
/*!
|
/*!
|
||||||
* \brief The deleteLayer method removes a layer at a given idx
|
* \brief The deleteLayer method removes a layer at a given idx
|
||||||
* \param idx - The index of the layer to be removed
|
* \param idx - The index of the layer to be removed
|
||||||
@@ -137,7 +135,6 @@ void movePositionActive(int x, int y);
|
|||||||
*/
|
*/
|
||||||
void moveActiveLayer(int idx);
|
void moveActiveLayer(int idx);
|
||||||
|
|
||||||
//change properties of colorPicker
|
|
||||||
/*!
|
/*!
|
||||||
* \brief The colorPickerSetFirstColor calls the QTColorPicker to determine the primary drawing color
|
* \brief The colorPickerSetFirstColor calls the QTColorPicker to determine the primary drawing color
|
||||||
*/
|
*/
|
||||||
@@ -151,7 +148,6 @@ void colorPickerSetSecondColor();
|
|||||||
*/
|
*/
|
||||||
void colorPickerSwapColors();
|
void colorPickerSwapColors();
|
||||||
|
|
||||||
// Create tools
|
|
||||||
void createPenTool();
|
void createPenTool();
|
||||||
void createPlainTool();
|
void createPlainTool();
|
||||||
void createLineTool();
|
void createLineTool();
|
||||||
@@ -171,6 +167,10 @@ int getWidthOfActive();
|
|||||||
*/
|
*/
|
||||||
int getHeightOfActive();
|
int getHeightOfActive();
|
||||||
|
|
||||||
|
int getMaxWidth();
|
||||||
|
|
||||||
|
int getMaxHeight();
|
||||||
|
|
||||||
IntelliImage::ImageType getTypeOfImageRealLayer();
|
IntelliImage::ImageType getTypeOfImageRealLayer();
|
||||||
|
|
||||||
std::vector<QPoint> getPolygonDataOfRealLayer();
|
std::vector<QPoint> getPolygonDataOfRealLayer();
|
||||||
@@ -189,7 +189,6 @@ IntelliToolsettings Toolsettings;
|
|||||||
IntelliColorPicker colorPicker;
|
IntelliColorPicker colorPicker;
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
// Events to handle
|
|
||||||
/*!
|
/*!
|
||||||
* \brief The slotActivateLayer method handles the event of selecting one layer as active
|
* \brief The slotActivateLayer method handles the event of selecting one layer as active
|
||||||
* \param a - idx of the layer to be active
|
* \param a - idx of the layer to be active
|
||||||
@@ -206,11 +205,9 @@ void mouseMoveEvent(QMouseEvent*event) override;
|
|||||||
void mouseReleaseEvent(QMouseEvent*event) override;
|
void mouseReleaseEvent(QMouseEvent*event) override;
|
||||||
|
|
||||||
void wheelEvent(QWheelEvent*event) override;
|
void wheelEvent(QWheelEvent*event) override;
|
||||||
// Updates the painting area where we are painting
|
|
||||||
void paintEvent(QPaintEvent*event) override;
|
void paintEvent(QPaintEvent*event) override;
|
||||||
|
|
||||||
// Makes sure the area we are drawing on remains
|
|
||||||
// as large as the widget
|
|
||||||
void resizeEvent(QResizeEvent*event) override;
|
void resizeEvent(QResizeEvent*event) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@@ -230,16 +227,14 @@ IntelliTool* Tool;
|
|||||||
IntelliPhotoGui* DummyGui;
|
IntelliPhotoGui* DummyGui;
|
||||||
|
|
||||||
std::vector<LayerObject> layerBundle;
|
std::vector<LayerObject> layerBundle;
|
||||||
int activeLayer=-1;
|
int activeLayer = -1;
|
||||||
|
|
||||||
void drawLayers(bool forSaving=false);
|
void drawLayers(bool forSaving = false);
|
||||||
|
|
||||||
void resizeLayer(QImage*image_res, const QSize &newSize);
|
void resizeLayer(QImage*image_res, const QSize &newSize);
|
||||||
|
|
||||||
// Helper for Tool
|
|
||||||
bool createTempTopLayer(int idx);
|
bool createTempTopLayer(int idx);
|
||||||
|
|
||||||
//this function is needed to avoid errors in inputhandeling if a layer has changed
|
|
||||||
void updateTools();
|
void updateTools();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -2,10 +2,10 @@
|
|||||||
#include "Layer/PaintingArea.h"
|
#include "Layer/PaintingArea.h"
|
||||||
|
|
||||||
IntelliTool::IntelliTool(PaintingArea* Area, IntelliColorPicker* colorPicker, IntelliToolsettings* Toolsettings){
|
IntelliTool::IntelliTool(PaintingArea* Area, IntelliColorPicker* colorPicker, IntelliToolsettings* Toolsettings){
|
||||||
this->Area=Area;
|
this->Area = Area;
|
||||||
this->colorPicker=colorPicker;
|
this->colorPicker = colorPicker;
|
||||||
this->Toolsettings=Toolsettings;
|
this->Toolsettings = Toolsettings;
|
||||||
this->isDrawing = false;
|
this->isDrawing = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
IntelliTool::~IntelliTool(){
|
IntelliTool::~IntelliTool(){
|
||||||
@@ -14,7 +14,7 @@ IntelliTool::~IntelliTool(){
|
|||||||
|
|
||||||
void IntelliTool::onMouseRightPressed(int x, int y){
|
void IntelliTool::onMouseRightPressed(int x, int y){
|
||||||
if(isDrawing) {
|
if(isDrawing) {
|
||||||
isDrawing=false;
|
isDrawing = false;
|
||||||
this->deleteToolLayer();
|
this->deleteToolLayer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -24,7 +24,7 @@ void IntelliTool::onMouseRightReleased(int x, int y){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void IntelliTool::onMouseLeftPressed(int x, int y){
|
void IntelliTool::onMouseLeftPressed(int x, int y){
|
||||||
this->isDrawing=this->createToolLayer();
|
this->isDrawing = this->createToolLayer();
|
||||||
if(isDrawing) {
|
if(isDrawing) {
|
||||||
Canvas->image->calculateVisiblity();
|
Canvas->image->calculateVisiblity();
|
||||||
}
|
}
|
||||||
@@ -32,7 +32,7 @@ void IntelliTool::onMouseLeftPressed(int x, int y){
|
|||||||
|
|
||||||
void IntelliTool::onMouseLeftReleased(int x, int y){
|
void IntelliTool::onMouseLeftReleased(int x, int y){
|
||||||
if(isDrawing) {
|
if(isDrawing) {
|
||||||
isDrawing=false;
|
isDrawing = false;
|
||||||
this->mergeToolLayer();
|
this->mergeToolLayer();
|
||||||
this->deleteToolLayer();
|
this->deleteToolLayer();
|
||||||
activeLayer->image->calculateVisiblity();
|
activeLayer->image->calculateVisiblity();
|
||||||
@@ -47,12 +47,13 @@ void IntelliTool::onMouseMoved(int x, int y){
|
|||||||
|
|
||||||
void IntelliTool::onWheelScrolled(int value){
|
void IntelliTool::onWheelScrolled(int value){
|
||||||
//if needed for future general tasks implement in here
|
//if needed for future general tasks implement in here
|
||||||
|
Area->DummyGui->setToolWidth(value + Toolsettings->getLineWidth());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool IntelliTool::createToolLayer(){
|
bool IntelliTool::createToolLayer(){
|
||||||
if(Area->createTempTopLayer(Area->activeLayer)) {
|
if(Area->createTempTopLayer(Area->activeLayer)) {
|
||||||
this->activeLayer=&Area->layerBundle[static_cast<unsigned long long>(Area->activeLayer)];
|
this->activeLayer = &Area->layerBundle[static_cast<unsigned long long>(Area->activeLayer)];
|
||||||
this->Canvas=&Area->layerBundle[static_cast<unsigned long long>(Area->activeLayer+1)];
|
this->Canvas = &Area->layerBundle[static_cast<unsigned long long>(Area->activeLayer + 1)];
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@@ -63,15 +64,15 @@ void IntelliTool::mergeToolLayer(){
|
|||||||
QColor clr_1;
|
QColor clr_1;
|
||||||
QImage updatedImage = activeLayer->image->getImageData();
|
QImage updatedImage = activeLayer->image->getImageData();
|
||||||
|
|
||||||
for(int y=0; y<activeLayer->height; y++) {
|
for(int y = 0; y<activeLayer->height; y++) {
|
||||||
for(int x=0; x<activeLayer->width; x++) {
|
for(int x = 0; x<activeLayer->width; x++) {
|
||||||
clr_0=updatedImage.pixelColor(x,y);
|
clr_0 = updatedImage.pixelColor(x,y);
|
||||||
clr_1=Canvas->image->imageData.pixelColor(x,y);
|
clr_1 = Canvas->image->imageData.pixelColor(x,y);
|
||||||
float t = static_cast<float>(clr_1.alpha())/255.f;
|
float t = static_cast<float>(clr_1.alpha()) / 255.f;
|
||||||
int r =static_cast<int>(static_cast<float>(clr_1.red())*(t)+static_cast<float>(clr_0.red())*(1.f-t)+0.5f);
|
int r = static_cast<int>(static_cast<float>(clr_1.red()) * (t) + static_cast<float>(clr_0.red()) * (1.f - t) + 0.5f);
|
||||||
int g =static_cast<int>(static_cast<float>(clr_1.green())*(t)+static_cast<float>(clr_0.green())*(1.f-t)+0.5f);
|
int g = static_cast<int>(static_cast<float>(clr_1.green()) * (t) + static_cast<float>(clr_0.green()) * (1.f - t) + 0.5f);
|
||||||
int b =static_cast<int>(static_cast<float>(clr_1.blue())*(t)+static_cast<float>(clr_0.blue()*(1.f-t))+0.5f);
|
int b = static_cast<int>(static_cast<float>(clr_1.blue()) * (t) + static_cast<float>(clr_0.blue() * (1.f - t)) + 0.5f);
|
||||||
int a =std::min(clr_0.alpha()+clr_1.alpha(), 255);
|
int a = std::min(clr_0.alpha() + clr_1.alpha(), 255);
|
||||||
clr_0.setRed(r);
|
clr_0.setRed(r);
|
||||||
clr_0.setGreen(g);
|
clr_0.setGreen(g);
|
||||||
clr_0.setBlue(b);
|
clr_0.setBlue(b);
|
||||||
@@ -88,8 +89,8 @@ void IntelliTool::mergeToolLayer(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void IntelliTool::deleteToolLayer(){
|
void IntelliTool::deleteToolLayer(){
|
||||||
Area->deleteLayer(Area->activeLayer+1, true);
|
Area->deleteLayer(Area->activeLayer + 1, true);
|
||||||
this->Canvas=nullptr;
|
this->Canvas = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
IntelliTool::Tooltype IntelliTool::getTooltype(){
|
IntelliTool::Tooltype IntelliTool::getTooltype(){
|
||||||
|
|||||||
@@ -16,31 +16,31 @@ void IntelliToolCircle::drawCircle(int radius){
|
|||||||
QColor inner = this->colorPicker->getSecondColor();
|
QColor inner = this->colorPicker->getSecondColor();
|
||||||
inner.setAlpha(Toolsettings->getInnerAlpha());
|
inner.setAlpha(Toolsettings->getInnerAlpha());
|
||||||
int yMin, yMax, xMin, xMax;
|
int yMin, yMax, xMin, xMax;
|
||||||
yMin = centerPoint.y()-radius;
|
yMin = centerPoint.y() - radius;
|
||||||
yMax = centerPoint.y()+radius;
|
yMax = centerPoint.y() + radius;
|
||||||
// x = x0+-sqrt(r2-(y-y0)2)
|
// x = x0+-sqrt(r2-(y-y0)2)
|
||||||
for(int i=yMin; i<=yMax; i++) {
|
for(int i = yMin; i<=yMax; i++) {
|
||||||
xMin = static_cast<int>(centerPoint.x()-sqrt(pow(radius,2)-pow(i-centerPoint.y(),2)));
|
xMin = static_cast<int>(centerPoint.x() - sqrt(pow(radius,2) - pow(i - centerPoint.y(),2)));
|
||||||
xMax = static_cast<int>(centerPoint.x()+sqrt(pow(radius,2)-pow(i-centerPoint.y(),2)));
|
xMax = static_cast<int>(centerPoint.x() + sqrt(pow(radius,2) - pow(i - centerPoint.y(),2)));
|
||||||
this->Canvas->image->drawLine(QPoint(xMin,i), QPoint(xMax,i),inner,1);
|
this->Canvas->image->drawLine(QPoint(xMin,i), QPoint(xMax,i),inner,1);
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO implement circle drawing algorithm bresenham
|
//TODO implement circle drawing algorithm bresenham
|
||||||
radius = static_cast<int>(radius +(Toolsettings->getLineWidth()/2.));
|
radius = static_cast<int>(radius + (Toolsettings->getLineWidth() / 2.));
|
||||||
yMin = (centerPoint.y()-radius);
|
yMin = (centerPoint.y() - radius);
|
||||||
yMax = (centerPoint.y()+radius);
|
yMax = (centerPoint.y() + radius);
|
||||||
for(int i=yMin; i<=yMax; i++) {
|
for(int i = yMin; i<=yMax; i++) {
|
||||||
xMin = static_cast<int>(centerPoint.x()-sqrt(pow(radius,2)-pow(i-centerPoint.y(),2)));
|
xMin = static_cast<int>(centerPoint.x() - sqrt(pow(radius,2) - pow(i - centerPoint.y(),2)));
|
||||||
xMax = static_cast<int>(centerPoint.x()+sqrt(pow(radius,2)-pow(i-centerPoint.y(),2)));
|
xMax = static_cast<int>(centerPoint.x() + sqrt(pow(radius,2) - pow(i - centerPoint.y(),2)));
|
||||||
this->Canvas->image->drawPoint(QPoint(xMin,i), colorPicker->getFirstColor(),Toolsettings->getLineWidth());
|
this->Canvas->image->drawPoint(QPoint(xMin,i), colorPicker->getFirstColor(),Toolsettings->getLineWidth());
|
||||||
this->Canvas->image->drawPoint(QPoint(xMax,i), colorPicker->getFirstColor(),Toolsettings->getLineWidth());
|
this->Canvas->image->drawPoint(QPoint(xMax,i), colorPicker->getFirstColor(),Toolsettings->getLineWidth());
|
||||||
}
|
}
|
||||||
|
|
||||||
xMin = (centerPoint.x()-radius);
|
xMin = (centerPoint.x() - radius);
|
||||||
xMax = (centerPoint.x()+radius);
|
xMax = (centerPoint.x() + radius);
|
||||||
for(int i=xMin; i<=xMax; i++) {
|
for(int i = xMin; i<=xMax; i++) {
|
||||||
int yMin = static_cast<int>(centerPoint.y()-sqrt(pow(radius,2)-pow(i-centerPoint.x(),2)));
|
int yMin = static_cast<int>(centerPoint.y() - sqrt(pow(radius,2) - pow(i - centerPoint.x(),2)));
|
||||||
int yMax = static_cast<int>(centerPoint.y()+sqrt(pow(radius,2)-pow(i-centerPoint.x(),2)));
|
int yMax = static_cast<int>(centerPoint.y() + sqrt(pow(radius,2) - pow(i - centerPoint.x(),2)));
|
||||||
this->Canvas->image->drawPoint(QPoint(i, yMin), colorPicker->getFirstColor(),Toolsettings->getLineWidth());
|
this->Canvas->image->drawPoint(QPoint(i, yMin), colorPicker->getFirstColor(),Toolsettings->getLineWidth());
|
||||||
this->Canvas->image->drawPoint(QPoint(i, yMax), colorPicker->getFirstColor(),Toolsettings->getLineWidth());
|
this->Canvas->image->drawPoint(QPoint(i, yMax), colorPicker->getFirstColor(),Toolsettings->getLineWidth());
|
||||||
}
|
}
|
||||||
@@ -57,7 +57,7 @@ void IntelliToolCircle::onMouseRightReleased(int x, int y){
|
|||||||
void IntelliToolCircle::onMouseLeftPressed(int x, int y){
|
void IntelliToolCircle::onMouseLeftPressed(int x, int y){
|
||||||
IntelliTool::onMouseLeftPressed(x,y);
|
IntelliTool::onMouseLeftPressed(x,y);
|
||||||
if(this->isDrawing) {
|
if(this->isDrawing) {
|
||||||
this->centerPoint=QPoint(x,y);
|
this->centerPoint = QPoint(x,y);
|
||||||
int radius = 1;
|
int radius = 1;
|
||||||
drawCircle(radius);
|
drawCircle(radius);
|
||||||
Canvas->image->calculateVisiblity();
|
Canvas->image->calculateVisiblity();
|
||||||
@@ -70,14 +70,14 @@ void IntelliToolCircle::onMouseLeftReleased(int x, int y){
|
|||||||
|
|
||||||
void IntelliToolCircle::onWheelScrolled(int value){
|
void IntelliToolCircle::onWheelScrolled(int value){
|
||||||
IntelliTool::onWheelScrolled(value);
|
IntelliTool::onWheelScrolled(value);
|
||||||
Toolsettings->setLineWidth(Toolsettings->getLineWidth()+value);
|
Toolsettings->setLineWidth(Toolsettings->getLineWidth() + value);
|
||||||
}
|
}
|
||||||
|
|
||||||
void IntelliToolCircle::onMouseMoved(int x, int y){
|
void IntelliToolCircle::onMouseMoved(int x, int y){
|
||||||
if(this->isDrawing) {
|
if(this->isDrawing) {
|
||||||
this->Canvas->image->drawPlain(Qt::transparent);
|
this->Canvas->image->drawPlain(Qt::transparent);
|
||||||
QPoint next(x,y);
|
QPoint next(x,y);
|
||||||
int radius = static_cast<int>(sqrt(pow((centerPoint.x()-x),2)+pow((centerPoint.y()-y),2)));
|
int radius = static_cast<int>(sqrt(pow((centerPoint.x() - x),2) + pow((centerPoint.y() - y),2)));
|
||||||
drawCircle(radius);
|
drawCircle(radius);
|
||||||
}
|
}
|
||||||
IntelliTool::onMouseMoved(x,y);
|
IntelliTool::onMouseMoved(x,y);
|
||||||
|
|||||||
@@ -79,4 +79,4 @@ virtual void onWheelScrolled(int value) override;
|
|||||||
virtual void onMouseMoved(int x, int y) override;
|
virtual void onMouseMoved(int x, int y) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // INTELLITOOLCIRCLE_H
|
#endif
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ void IntelliToolFloodFill::onMouseRightReleased(int x, int y){
|
|||||||
void IntelliToolFloodFill::onMouseLeftPressed(int x, int y){
|
void IntelliToolFloodFill::onMouseLeftPressed(int x, int y){
|
||||||
if(!(x>=0 && x<Area->getWidthOfActive() && y>=0 && y<Area->getHeightOfActive())) {
|
if(!(x>=0 && x<Area->getWidthOfActive() && y>=0 && y<Area->getHeightOfActive())) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
IntelliTool::onMouseLeftPressed(x,y);
|
IntelliTool::onMouseLeftPressed(x,y);
|
||||||
|
|
||||||
QPoint start(x,y);
|
QPoint start(x,y);
|
||||||
@@ -33,10 +33,10 @@ void IntelliToolFloodFill::onMouseLeftPressed(int x, int y){
|
|||||||
Q.push(start);
|
Q.push(start);
|
||||||
|
|
||||||
QColor oldColor = this->activeLayer->image->getPixelColor(start);
|
QColor oldColor = this->activeLayer->image->getPixelColor(start);
|
||||||
QColor newColor = this->colorPicker->getFirstColor();
|
QColor newColor = this->colorPicker->getFirstColor();
|
||||||
if(newColor == oldColor){
|
if(newColor == oldColor) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Canvas->image->drawPixel(start,newColor);
|
Canvas->image->drawPixel(start,newColor);
|
||||||
|
|
||||||
QPoint left, right, top, down;
|
QPoint left, right, top, down;
|
||||||
@@ -44,24 +44,24 @@ void IntelliToolFloodFill::onMouseLeftPressed(int x, int y){
|
|||||||
QPoint Current = Q.front();
|
QPoint Current = Q.front();
|
||||||
Q.pop();
|
Q.pop();
|
||||||
|
|
||||||
left = QPoint(Current.x()-1,Current.y() );
|
left = QPoint(Current.x() - 1,Current.y() );
|
||||||
right = QPoint(Current.x()+1,Current.y() );
|
right = QPoint(Current.x() + 1,Current.y() );
|
||||||
top = QPoint(Current.x(),Current.y()-1);
|
top = QPoint(Current.x(),Current.y() - 1);
|
||||||
down = QPoint(Current.x(),Current.y()+1);
|
down = QPoint(Current.x(),Current.y() + 1);
|
||||||
if((right.x() < Canvas->width) && (Canvas->image->getPixelColor(right) != newColor) && (activeLayer->image->getPixelColor(right) == oldColor)) {
|
if((right.x() < Canvas->width) && (Canvas->image->getPixelColor(right) != newColor) && (activeLayer->image->getPixelColor(right) == oldColor)) {
|
||||||
Canvas->image->drawPixel(right,newColor);
|
Canvas->image->drawPixel(right,newColor);
|
||||||
Q.push(right);
|
Q.push(right);
|
||||||
}
|
}
|
||||||
if((left.x() >= 0) && (Canvas->image->getPixelColor(left) != newColor) && (activeLayer->image->getPixelColor(left) == oldColor)) {
|
if((left.x() >= 0) && (Canvas->image->getPixelColor(left) != newColor) && (activeLayer->image->getPixelColor(left) == oldColor)) {
|
||||||
Canvas->image->drawPixel(left,newColor);
|
Canvas->image->drawPixel(left,newColor);
|
||||||
Q.push(left);
|
Q.push(left);
|
||||||
}
|
}
|
||||||
if((top.y() >= 0) && (Canvas->image->getPixelColor(top) != newColor) && (activeLayer->image->getPixelColor(top) == oldColor)) {
|
if((top.y() >= 0) && (Canvas->image->getPixelColor(top) != newColor) && (activeLayer->image->getPixelColor(top) == oldColor)) {
|
||||||
Canvas->image->drawPixel(top,newColor);
|
Canvas->image->drawPixel(top,newColor);
|
||||||
Q.push(top);
|
Q.push(top);
|
||||||
}
|
}
|
||||||
if((down.y() < Canvas->height) && (Canvas->image->getPixelColor(down) != newColor) && (activeLayer->image->getPixelColor(down) == oldColor)) {
|
if((down.y() < Canvas->height) && (Canvas->image->getPixelColor(down) != newColor) && (activeLayer->image->getPixelColor(down) == oldColor)) {
|
||||||
Canvas->image->drawPixel(down,newColor);
|
Canvas->image->drawPixel(down,newColor);
|
||||||
Q.push(down);
|
Q.push(down);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -69,4 +69,4 @@ virtual void onWheelScrolled(int value) override;
|
|||||||
virtual void onMouseMoved(int x, int y) override;
|
virtual void onMouseMoved(int x, int y) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // INTELLITOOLFLOODFILL_H
|
#endif
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ void IntelliToolLine::onMouseRightReleased(int x, int y){
|
|||||||
|
|
||||||
void IntelliToolLine::onMouseLeftPressed(int x, int y){
|
void IntelliToolLine::onMouseLeftPressed(int x, int y){
|
||||||
IntelliTool::onMouseLeftPressed(x,y);
|
IntelliTool::onMouseLeftPressed(x,y);
|
||||||
this->lineStartingPoint=QPoint(x,y);
|
this->lineStartingPoint = QPoint(x,y);
|
||||||
this->Canvas->image->drawPoint(lineStartingPoint, colorPicker->getFirstColor(),Toolsettings->getLineWidth());
|
this->Canvas->image->drawPoint(lineStartingPoint, colorPicker->getFirstColor(),Toolsettings->getLineWidth());
|
||||||
Canvas->image->calculateVisiblity();
|
Canvas->image->calculateVisiblity();
|
||||||
}
|
}
|
||||||
@@ -33,25 +33,14 @@ void IntelliToolLine::onMouseLeftReleased(int x, int y){
|
|||||||
|
|
||||||
void IntelliToolLine::onWheelScrolled(int value){
|
void IntelliToolLine::onWheelScrolled(int value){
|
||||||
IntelliTool::onWheelScrolled(value);
|
IntelliTool::onWheelScrolled(value);
|
||||||
Toolsettings->setLineWidth(Toolsettings->getLineWidth()+value);
|
Toolsettings->setLineWidth(Toolsettings->getLineWidth() + value);
|
||||||
}
|
}
|
||||||
|
|
||||||
void IntelliToolLine::onMouseMoved(int x, int y){
|
void IntelliToolLine::onMouseMoved(int x, int y){
|
||||||
if(this->isDrawing) {
|
if(this->isDrawing) {
|
||||||
this->Canvas->image->drawPlain(Qt::transparent);
|
this->Canvas->image->drawPlain(Qt::transparent);
|
||||||
QPoint next(x,y);
|
QPoint next(x,y);
|
||||||
switch(Toolsettings->getLinestyle()) {
|
this->Canvas->image->drawLine(lineStartingPoint,next,colorPicker->getFirstColor(),Toolsettings->getLineWidth());
|
||||||
case IntelliToolsettings::LineStyle::SOLID_LINE:
|
|
||||||
this->Canvas->image->drawLine(lineStartingPoint,next,colorPicker->getFirstColor(),Toolsettings->getLineWidth());
|
|
||||||
break;
|
|
||||||
case IntelliToolsettings::LineStyle::DOTTED_LINE:
|
|
||||||
QPoint p1 =lineStartingPoint.x() <= next.x() ? lineStartingPoint : next;
|
|
||||||
QPoint p2 =lineStartingPoint.x() < next.x() ? next : lineStartingPoint;
|
|
||||||
int m = static_cast<int>(static_cast<float>(p2.y()-p1.y())/static_cast<float>(p2.x()-p1.x())+0.5f);
|
|
||||||
int c = lineStartingPoint.y()-lineStartingPoint.x()*m;
|
|
||||||
//TODO implement dotted algorithm
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
IntelliTool::onMouseMoved(x,y);
|
IntelliTool::onMouseMoved(x,y);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ QPoint lineStartingPoint;
|
|||||||
public:
|
public:
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief A constructor setting the general paintingArea and colorPicker. And reading in the lineWidth and lineStyle.
|
* \brief A constructor setting the general paintingArea and colorPicker.
|
||||||
* \param Area - The general paintingArea used by the project.
|
* \param Area - The general paintingArea used by the project.
|
||||||
* \param colorPicker - The general colorPicker used by the project.
|
* \param colorPicker - The general colorPicker used by the project.
|
||||||
*/
|
*/
|
||||||
@@ -73,4 +73,4 @@ virtual void onWheelScrolled(int value) override;
|
|||||||
virtual void onMouseMoved(int x, int y) override;
|
virtual void onMouseMoved(int x, int y) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // INTELLITOOLLINE_H
|
#endif
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ void IntelliToolPen::onMouseRightReleased(int x, int y){
|
|||||||
|
|
||||||
void IntelliToolPen::onMouseLeftPressed(int x, int y){
|
void IntelliToolPen::onMouseLeftPressed(int x, int y){
|
||||||
IntelliTool::onMouseLeftPressed(x,y);
|
IntelliTool::onMouseLeftPressed(x,y);
|
||||||
this->previousPoint=QPoint(x,y);
|
this->previousPoint = QPoint(x,y);
|
||||||
this->Canvas->image->drawPoint(previousPoint, colorPicker->getFirstColor(), Toolsettings->getLineWidth());
|
this->Canvas->image->drawPoint(previousPoint, colorPicker->getFirstColor(), Toolsettings->getLineWidth());
|
||||||
Canvas->image->calculateVisiblity();
|
Canvas->image->calculateVisiblity();
|
||||||
}
|
}
|
||||||
@@ -36,12 +36,12 @@ void IntelliToolPen::onMouseMoved(int x, int y){
|
|||||||
if(this->isDrawing) {
|
if(this->isDrawing) {
|
||||||
QPoint newPoint(x,y);
|
QPoint newPoint(x,y);
|
||||||
this->Canvas->image->drawLine(this->previousPoint, newPoint, colorPicker->getFirstColor(), Toolsettings->getLineWidth());
|
this->Canvas->image->drawLine(this->previousPoint, newPoint, colorPicker->getFirstColor(), Toolsettings->getLineWidth());
|
||||||
this->previousPoint=newPoint;
|
this->previousPoint = newPoint;
|
||||||
}
|
}
|
||||||
IntelliTool::onMouseMoved(x,y);
|
IntelliTool::onMouseMoved(x,y);
|
||||||
}
|
}
|
||||||
|
|
||||||
void IntelliToolPen::onWheelScrolled(int value){
|
void IntelliToolPen::onWheelScrolled(int value){
|
||||||
IntelliTool::onWheelScrolled(value);
|
IntelliTool::onWheelScrolled(value);
|
||||||
Toolsettings->setLineWidth(Toolsettings->getLineWidth()+value);
|
Toolsettings->setLineWidth(Toolsettings->getLineWidth() + value);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -71,4 +71,4 @@ virtual void onWheelScrolled(int value) override;
|
|||||||
virtual void onMouseMoved(int x, int y) override;
|
virtual void onMouseMoved(int x, int y) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // INTELLITOOLPEN_H
|
#endif
|
||||||
|
|||||||
@@ -67,4 +67,4 @@ virtual void onMouseMoved(int x, int y) override;
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // INTELLITOOLFLOODFILLTOOL_H
|
#endif
|
||||||
|
|||||||
@@ -10,6 +10,9 @@ IntelliToolPolygon::IntelliToolPolygon(PaintingArea* Area, IntelliColorPicker* c
|
|||||||
drawingOfPolygon = false;
|
drawingOfPolygon = false;
|
||||||
isInside = false;
|
isInside = false;
|
||||||
this->isSettingPolygon = isSettingPolygon;
|
this->isSettingPolygon = isSettingPolygon;
|
||||||
|
if(isSettingPolygon) {
|
||||||
|
Toolsettings->setLineWidth(5);
|
||||||
|
}
|
||||||
this->ActiveType = Tooltype::POLYGON;
|
this->ActiveType = Tooltype::POLYGON;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -101,8 +104,8 @@ void IntelliToolPolygon::onMouseLeftReleased(int x, int y){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for(int i=0; i<static_cast<int>(QPointList.size()); i++) {
|
for(int i = 0; i<static_cast<int>(QPointList.size()); i++) {
|
||||||
int next = static_cast<int>((i+static_cast<int>(1))%static_cast<int>(QPointList.size()));
|
int next = static_cast<int>((i + static_cast<int>(1)) % static_cast<int>(QPointList.size()));
|
||||||
this->Canvas->image->drawLine(QPointList[static_cast<unsigned long long>(i)], QPointList[static_cast<unsigned long long>(next)], colorPicker->getFirstColor(), Toolsettings->getLineWidth());
|
this->Canvas->image->drawLine(QPointList[static_cast<unsigned long long>(i)], QPointList[static_cast<unsigned long long>(next)], colorPicker->getFirstColor(), Toolsettings->getLineWidth());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -121,14 +124,18 @@ void IntelliToolPolygon::onMouseRightReleased(int x, int y){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void IntelliToolPolygon::onWheelScrolled(int value){
|
void IntelliToolPolygon::onWheelScrolled(int value){
|
||||||
IntelliTool::onWheelScrolled(value);
|
if(!isSettingPolygon) {
|
||||||
if(!drawingOfPolygon) {
|
IntelliTool::onWheelScrolled(value);
|
||||||
Toolsettings->setLineWidth(Toolsettings->getLineWidth() + value);
|
if(!isDrawing) {
|
||||||
|
Toolsettings->setLineWidth(Toolsettings->getLineWidth() + value);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void IntelliToolPolygon::onMouseMoved(int x, int y){
|
void IntelliToolPolygon::onMouseMoved(int x, int y){
|
||||||
IntelliTool::onMouseMoved(x,y);
|
if(!isSettingPolygon) {
|
||||||
|
IntelliTool::onMouseMoved(x,y);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool IntelliToolPolygon::isNearStart(int x, int y, QPoint Startpoint){
|
bool IntelliToolPolygon::isNearStart(int x, int y, QPoint Startpoint){
|
||||||
|
|||||||
@@ -104,4 +104,4 @@ virtual void onMouseMoved(int x, int y) override;
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // INTELLITOOLPOLYGON_H
|
#endif
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ void IntelliToolRectangle::drawRectangle(QPoint otherCorner){
|
|||||||
|
|
||||||
QColor clr = colorPicker->getSecondColor();
|
QColor clr = colorPicker->getSecondColor();
|
||||||
clr.setAlpha(Toolsettings->getInnerAlpha());
|
clr.setAlpha(Toolsettings->getInnerAlpha());
|
||||||
for(int y=yMin; y<=yMax; y++) {
|
for(int y = yMin; y<=yMax; y++) {
|
||||||
this->Canvas->image->drawLine(QPoint(xMin,y), QPoint(xMax, y), clr, 1);
|
this->Canvas->image->drawLine(QPoint(xMin,y), QPoint(xMax, y), clr, 1);
|
||||||
}
|
}
|
||||||
this->Canvas->image->drawLine(QPoint(xMin, yMin),QPoint(xMin, yMax), this->colorPicker->getFirstColor(), Toolsettings->getLineWidth());
|
this->Canvas->image->drawLine(QPoint(xMin, yMin),QPoint(xMin, yMax), this->colorPicker->getFirstColor(), Toolsettings->getLineWidth());
|
||||||
@@ -39,7 +39,7 @@ void IntelliToolRectangle::onMouseRightReleased(int x, int y){
|
|||||||
|
|
||||||
void IntelliToolRectangle::onMouseLeftPressed(int x, int y){
|
void IntelliToolRectangle::onMouseLeftPressed(int x, int y){
|
||||||
IntelliTool::onMouseLeftPressed(x,y);
|
IntelliTool::onMouseLeftPressed(x,y);
|
||||||
this->originCorner=QPoint(x,y);
|
this->originCorner = QPoint(x,y);
|
||||||
drawRectangle(originCorner);
|
drawRectangle(originCorner);
|
||||||
Canvas->image->calculateVisiblity();
|
Canvas->image->calculateVisiblity();
|
||||||
}
|
}
|
||||||
@@ -59,5 +59,5 @@ void IntelliToolRectangle::onMouseMoved(int x, int y){
|
|||||||
|
|
||||||
void IntelliToolRectangle::onWheelScrolled(int value){
|
void IntelliToolRectangle::onWheelScrolled(int value){
|
||||||
IntelliTool::onWheelScrolled(value);
|
IntelliTool::onWheelScrolled(value);
|
||||||
Toolsettings->setLineWidth(Toolsettings->getLineWidth()+value);
|
Toolsettings->setLineWidth(Toolsettings->getLineWidth() + value);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,4 +78,4 @@ virtual void onWheelScrolled(int value) override;
|
|||||||
virtual void onMouseMoved(int x, int y) override;
|
virtual void onMouseMoved(int x, int y) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // INTELLIRECTANGLETOOL_H
|
#endif
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ int main(int argc, char*argv[]){
|
|||||||
QApplication app(argc, argv);
|
QApplication app(argc, argv);
|
||||||
|
|
||||||
// Create and open the main window
|
// Create and open the main window
|
||||||
IntelliPhotoGui window;
|
IntelliPhotoGui window;
|
||||||
window.show();
|
window.show();
|
||||||
|
|
||||||
return app.exec();
|
return app.exec();
|
||||||
|
|||||||
Reference in New Issue
Block a user