diff options
| author | Sylvain Chiron <chironsylvain@orange.fr> | 2017-07-01 12:08:02 +0000 |
|---|---|---|
| committer | Sylvain Chiron <chironsylvain@orange.fr> | 2017-07-01 12:08:02 +0000 |
| commit | b311d097b148a2cf5213ca86a45cb562bdd02986 (patch) | |
| tree | 56b5c507727a852325a093ddedd2c3f44793c4ce | |
| parent | Updated libs from the Adaptagrams project: libavoid, libcola and libvspc; cha... (diff) | |
| parent | Fix a compiling error on debian testing (diff) | |
| download | inkscape-b311d097b148a2cf5213ca86a45cb562bdd02986.tar.gz inkscape-b311d097b148a2cf5213ca86a45cb562bdd02986.zip | |
Merge branch 'master' of gitlab.com:inkscape/inkscape
129 files changed, 7009 insertions, 918 deletions
diff --git a/.gitignore b/.gitignore index a56790eb5..8d7ae7a81 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ share/*/*.h *.old *.swp +*~ diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2d36019e6..55d72b92a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,12 +3,6 @@ # the new ones here in these builds. image: registry.gitlab.com/inkscape/inkscape-ci-docker/master -before_script: - # CCache Config - - mkdir -p ccache - - export CCACHE_BASEDIR=${PWD} - - export CCACHE_DIR=${PWD}/ccache - cache: paths: - ccache/ @@ -16,6 +10,11 @@ cache: # Building inkscape inkscape: stage: build + before_script: + # CCache Config + - mkdir -p ccache + - export CCACHE_BASEDIR=${PWD} + - export CCACHE_DIR=${PWD}/ccache script: - mkdir -p build - cd build @@ -27,6 +26,36 @@ inkscape: paths: - build/ +inkscape:mac: + stage: build + tags: + - mac + before_script: + - brew update + - brew upgrade + # Tools + - brew install cmake intltool libtool pkg-config ccache + # Libraries + - brew install bdw-gc boost gdl gettext gsl gtkmm3 libcdr libvisio libwpg pango popt poppler potrace + # Testing tools + # TODO + # Cleanup + - brew cleanup + # CCache Config + - mkdir -p ccache + - export CCACHE_BASEDIR=${PWD} + - export CCACHE_DIR=${PWD}/ccache + script: + - mkdir -p build + - cd build + - cmake .. -DIntl_INCLUDE_DIR=/usr/local/opt/gettext/include -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_BUILD_TYPE=Debug + - make -j1 + - cd .. + artifacts: + expire_in: 1 year + paths: + - build/ + # This job is a static analysis build by clang. # It takes MORE THAN 3 HOURS, and depending on worker sometimes 4 hours. # Make sure the timeout of the build is big enough diff --git a/CMakeLists.txt b/CMakeLists.txt index 8daaabe3b..7bd6294ee 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -151,9 +151,11 @@ endif() # ----------------------------------------------------------------------------- # Dist Target # ----------------------------------------------------------------------------- -if(EXISTS ${CMAKE_SOURCE_DIR}/.bzr/) - execute_process(COMMAND - bzr revno --tree ${CMAKE_SOURCE_DIR} +if(EXISTS ${CMAKE_SOURCE_DIR}/.git/) + execute_process( + COMMAND git show --format=format:"%ad %h" --date=short + COMMAND head -n 1 + COMMAND tr "\n" " " OUTPUT_VARIABLE INKSCAPE_REVISION OUTPUT_STRIP_TRAILING_WHITESPACE) else() @@ -161,11 +163,10 @@ else() endif() set(INKSCAPE_DIST_PREFIX "${PROJECT_NAME}-${INKSCAPE_VERSION}") add_custom_target(dist - COMMAND sed -i "s/unknown/r${INKSCAPE_REVISION}/" CMakeScripts/inkscape-version.cmake + COMMAND sed -i "s/unknown//" CMakeScripts/inkscape-version.cmake && sed -i "s/custom//" CMakeScripts/inkscape-version.cmake - && bzr export --uncommitted --root=${INKSCAPE_DIST_PREFIX} - "${CMAKE_BINARY_DIR}/${INKSCAPE_DIST_PREFIX}.tar.bz2" - && bzr revert ${CMAKE_SOURCE_DIR}/CMakeScripts/inkscape-version.cmake + && tar cfz ${CMAKE_BINARY_DIR}/${INKSCAPE_DIST_PREFIX}.tar.gz ${CMAKE_SOURCE_DIR} --exclude=".*" --exclude-vcs-ignores + && git checkout ${CMAKE_SOURCE_DIR}/CMakeScripts/inkscape-version.cmake WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}") # ----------------------------------------------------------------------------- diff --git a/CMakeScripts/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake index 1fead418a..0a8782f27 100644 --- a/CMakeScripts/DefineDependsandFlags.cmake +++ b/CMakeScripts/DefineDependsandFlags.cmake @@ -67,6 +67,11 @@ if(WITH_GNOME_VFS) endif() endif() +find_package(JeMalloc) +if (JEMALLOC_FOUND) + list(APPEND INKSCAPE_LIBS ${JEMALLOC_LIBRARIES}) +endif() + if(ENABLE_LCMS) unset(HAVE_LIBLCMS1) unset(HAVE_LIBLCMS2) @@ -258,6 +263,30 @@ set(TRY_GTKSPELL ON) set (WITH_GTKMM_3_10 ON) endif() + # Check whether we can use new features in Gtkmm 3.12 + # TODO: Drop this test and bump the version number in the GTK test above + # as soon as all supported distributions provide Gtkmm >= 3.12 + pkg_check_modules(GTKMM_3_12 + gtkmm-3.0>=3.12, + ) + + if("${GTKMM_3_12_FOUND}") + message("Using Gtkmm 3.12 build") + set (WITH_GTKMM_3_12 ON) + endif() + + # Check whether we can use new features in Gtkmm 3.16 + # TODO: Drop this test and bump the version number in the GTK test above + # as soon as all supported distributions provide Gtkmm >= 3.16 + pkg_check_modules(GTKMM_3_16 + gtkmm-3.0>=3.16, + ) + + if("${GTKMM_3_16_FOUND}") + message("Using Gtkmm 3.16 build") + set (WITH_GTKMM_3_16 ON) + endif() + # Check whether we can use new features in Gtkmm 3.22 # TODO: Drop this test and bump the version number in the GTK test above # as soon as all supported distributions provide Gtkmm >= 3.22 @@ -349,7 +378,7 @@ list(APPEND INKSCAPE_INCS_SYS ${ZLIB_INCLUDE_DIRS}) list(APPEND INKSCAPE_LIBS ${ZLIB_LIBRARIES}) if(WITH_IMAGE_MAGICK) - pkg_check_modules(ImageMagick ImageMagick MagickCore Magick++ ) + pkg_check_modules(ImageMagick ImageMagick++ ) if(ImageMagick_FOUND) list(APPEND INKSCAPE_LIBS ${ImageMagick_LDFLAGS}) diff --git a/CMakeScripts/Modules/FindJeMalloc.cmake b/CMakeScripts/Modules/FindJeMalloc.cmake new file mode 100644 index 000000000..5c7aa2cf1 --- /dev/null +++ b/CMakeScripts/Modules/FindJeMalloc.cmake @@ -0,0 +1,70 @@ +# - Find JeMalloc library +# Find the native JeMalloc includes and library +# This module defines +# JEMALLOC_INCLUDE_DIRS, where to find jemalloc.h, Set when +# JEMALLOC_INCLUDE_DIR is found. +# JEMALLOC_LIBRARIES, libraries to link against to use JeMalloc. +# JEMALLOC_ROOT_DIR, The base directory to search for JeMalloc. +# This can also be an environment variable. +# JEMALLOC_FOUND, If false, do not try to use JeMalloc. +# +# also defined, but not for general use are +# JEMALLOC_LIBRARY, where to find the JeMalloc library. + +#============================================================================= +# Copyright 2011 Blender Foundation. +# +# Distributed under the OSI-approved BSD License (the "License"); +# see accompanying file Copyright.txt for details. +# +# This software is distributed WITHOUT ANY WARRANTY; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the License for more information. +#============================================================================= + +# If JEMALLOC_ROOT_DIR was defined in the environment, use it. +IF(NOT JEMALLOC_ROOT_DIR AND NOT $ENV{JEMALLOC_ROOT_DIR} STREQUAL "") + SET(JEMALLOC_ROOT_DIR $ENV{JEMALLOC_ROOT_DIR}) +ENDIF() + +SET(_jemalloc_SEARCH_DIRS + ${JEMALLOC_ROOT_DIR} + /usr/local + /sw # Fink + /opt/local # DarwinPorts + /opt/csw # Blastwave +) + +FIND_PATH(JEMALLOC_INCLUDE_DIR + NAMES + jemalloc.h + HINTS + ${_jemalloc_SEARCH_DIRS} + PATH_SUFFIXES + include/jemalloc +) + +FIND_LIBRARY(JEMALLOC_LIBRARY + NAMES + jemalloc + HINTS + ${_jemalloc_SEARCH_DIRS} + PATH_SUFFIXES + lib64 lib + ) + +# handle the QUIETLY and REQUIRED arguments and set JEMALLOC_FOUND to TRUE if +# all listed variables are TRUE +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(JeMalloc DEFAULT_MSG + JEMALLOC_LIBRARY JEMALLOC_INCLUDE_DIR) + +IF(JEMALLOC_FOUND) + SET(JEMALLOC_LIBRARIES ${JEMALLOC_LIBRARY}) + SET(JEMALLOC_INCLUDE_DIRS ${JEMALLOC_INCLUDE_DIR}) +ENDIF(JEMALLOC_FOUND) + +MARK_AS_ADVANCED( + JEMALLOC_INCLUDE_DIR + JEMALLOC_LIBRARY +) diff --git a/CMakeScripts/inkscape-version.cmake b/CMakeScripts/inkscape-version.cmake index 2e23925c4..12b8a26d8 100644 --- a/CMakeScripts/inkscape-version.cmake +++ b/CMakeScripts/inkscape-version.cmake @@ -11,14 +11,22 @@ set(INKSCAPE_REVISION "unknown") set(INKSCAPE_CUSTOM "custom") -if(EXISTS ${INKSCAPE_SOURCE_DIR}/.bzr/) - execute_process(COMMAND - bzr revno --tree ${INKSCAPE_SOURCE_DIR} - OUTPUT_VARIABLE INKSCAPE_REVISION - OUTPUT_STRIP_TRAILING_WHITESPACE) +if(EXISTS ${INKSCAPE_SOURCE_DIR}/.git/) + + execute_process(COMMAND git describe + COMMAND tr "\n" " " + WORKING_DIRECTORY ${INKSCAPE_SOURCE_DIR} + OUTPUT_VARIABLE INKSCAPE_REV1) + execute_process(COMMAND git show --format=format:%ad --date=short + COMMAND head -n 1 + COMMAND tr "\n" " " + WORKING_DIRECTORY ${INKSCAPE_SOURCE_DIR} + OUTPUT_VARIABLE INKSCAPE_REV2 + OUTPUT_STRIP_TRAILING_WHITESPACE) + set(INKSCAPE_REVISION ${INKSCAPE_REV1} ${INKSCAPE_REV2}) execute_process(COMMAND - bzr status -S -V ${INKSCAPE_SOURCE_DIR}/src + git status -s ${INKSCAPE_SOURCE_DIR}/src OUTPUT_VARIABLE INKSCAPE_SOURCE_MODIFIED OUTPUT_STRIP_TRAILING_WHITESPACE) if(NOT INKSCAPE_SOURCE_MODIFIED STREQUAL "") diff --git a/config.h.cmake b/config.h.cmake index 2cd660d87..134f7539d 100644 --- a/config.h.cmake +++ b/config.h.cmake @@ -56,6 +56,12 @@ /* Build with Gtkmm 3.10.x or higher */ #cmakedefine WITH_GTKMM_3_10 1 +/* Build with Gtkmm 3.12.x or higher */ +#cmakedefine WITH_GTKMM_3_12 1 + +/* Build with Gtkmm 3.16.x or higher */ +#cmakedefine WITH_GTKMM_3_16 1 + /* Build with Gtkmm 3.22.x or higher */ #cmakedefine WITH_GTKMM_3_22 1 diff --git a/share/icons/format-text-direction-horizontal.svg b/share/icons/format-text-direction-horizontal.svg index ecac387c4..351ea6036 100644 --- a/share/icons/format-text-direction-horizontal.svg +++ b/share/icons/format-text-direction-horizontal.svg @@ -1,48 +1,36 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://web.resource.org/cc/" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - id="svg1" width="24" height="24" > - <sodipodi:namedview - id="base" - showgrid="true" - gridspacingy="1pt" - gridspacingx="1pt" - gridoriginy="0pt" - gridoriginx="0pt" - /> - <defs id="defs3"> - - <linearGradient id="linearGradient6524"> - <stop id="stop6526" offset="0" style="stop-color:#ffffff;stop-opacity:1"/> - <stop id="stop6528" offset="1" style="stop-color:#e2e1e1;stop-opacity:1"/> + <defs> + <linearGradient id="linearGradientA" + xlink:href="#linearGradientVector" + gradientUnits="userSpaceOnUse" + x1="30" x2="4" y1="25" y2="4" /> + <linearGradient id="linearGradientVector"> + <stop offset="0" style="stop-color:#ffffff"/> + <stop offset="1" style="stop-color:#e2e1e1"/> </linearGradient> - <linearGradient gradientUnits="userSpaceOnUse" id="linearGradient3749" inkscape:collect="always" x1="860.239" x2="843.9635" xlink:href="#linearGradient6524" y1="45.30668" y2="28.96459"/> </defs> -<g id="format-text-direction-horizontal" inkscape:label="#writing_mode_lr" transform="translate(-839.5246,-24.9991)"> - <g id="use5602" transform="translate(-0.4754,-9e-4)"> - <path d="M 841,26 863,26 864,27 864,47 862,49 842,49 841,48 841,26 Z" id="path3731" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccc" style="color:#000000;fill:#000000;fill-opacity:0.0666667;fill-rule:evenodd"/> - <path d="M 840,26 841,26 841,46 840,46 840,26 Z" id="path3733" inkscape:connector-curvature="0" style="color:#000000;fill:#000000;fill-rule:evenodd"/> - <rect height="20" id="rect3735" style="color:#000000;fill:#000000;fill-rule:evenodd" width="1" x="861" y="26"/> - <rect height="20" id="rect3737" style="color:#000000;fill:#000000;fill-rule:evenodd" transform="rotate(-90)" width="1" x="-26" y="841"/> - <rect height="20" id="rect3739" style="color:#000000;fill:#000000;fill-rule:evenodd" transform="rotate(-90)" width="1" x="-47" y="841"/> - <rect height="20" id="rect3741" style="color:#000000;fill:url(#linearGradient3749);fill-rule:evenodd" width="20" x="841" y="26"/> - <path d="M 842,46 841,46 841,26 861,26 861,27 842,27 842,46 Z" id="path3743" inkscape:connector-curvature="0" style="fill:#ffffff;fill-rule:evenodd"/> - <path d="M 843.5,34.75 843.5,30.75 C 843.5,27.75 848.5,27.75 848.5,30.75 L 848.5,34.75" id="path3745" inkscape:connector-curvature="0" sodipodi:nodetypes="cccc" style="fill:none;stroke:#383838;stroke-width:1.0000001px;stroke-linecap:round"/> - <path d="M 843.5,32 848.6429,32" id="path3747" inkscape:connector-curvature="0" style="fill:none;stroke:#383838;stroke-width:1.0000001px"/> + <g id="format-text-direction-horizontal" inkscape:label="#writing_mode_lr"> + + <!-- Background --> + <path d="m 1,1 h 22 l 1,1 v 20 l -2,2 h -20 l -1,-1 z" style="fill:black;fill-opacity:0.0667" /> + <rect x="0.5" y="0.5" width="21" height="21" style="fill:url(#linearGradientA);stroke:black;stroke-linejoin:round" /> + <path d="m 2,21 h -1 v -20 h 20 v 1 h -19 z" style="fill:white" /> + + <!-- A --> + <path d="m 3.5,9.75 v -4 c 0,-3 5,-3 5,0 v 4" style="fill:none;stroke:#383838;stroke-linecap:round" /> + <path d="m 3.5,7 h 5.1" style="fill:none;stroke:#383838" /> + + <!-- Arrows --> + <path d="m 20,5.5 -3,-2.5 v 2 h -7 v 1 h 7 v 2 z" style="fill:#5a5a5a" /> + <path d="m 20,11.5 -3,-2.5 v 2 h -15 v 1 h 15 v 2 z" style="fill:#5a5a5a" /> + <path d="m 20,17.5 -3,-2.5 v 2 h -15 v 1 h 15 v 2 z" style="fill:#5a5a5a" /> </g> - <path d="M 859.5492,30.4982 856.5246,27.9991 856.5246,29.9991 849.5246,29.9991 849.5246,30.9991 856.5246,30.9991 856.5246,32.9991 859.5492,30.4982 Z" id="path6495" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccc" style="fill:#5a5a5a;fill-rule:evenodd"/> - <path d="M 859.5492,36.4982 856.5246,33.9991 856.5246,35.9991 841.5246,35.9991 841.5246,36.9991 856.5246,36.9991 856.5246,38.9991 859.5492,36.4982 Z" id="path6497" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccc" style="fill:#5a5a5a;fill-rule:evenodd"/> - <path d="M 859.5492,36.4982 856.5246,33.9991 856.5246,35.9991 841.5246,35.9991 841.5246,36.9991 856.5246,36.9991 856.5246,38.9991 859.5492,36.4982 Z" id="use5502" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccc" style="fill:#5a5a5a;fill-rule:evenodd" transform="matrix(1,0,0,1,0,6)"/> -</g> </svg> diff --git a/share/icons/format-text-direction-r2l.svg b/share/icons/format-text-direction-r2l.svg index 22abacfcf..fd2cd7ea1 100644 --- a/share/icons/format-text-direction-r2l.svg +++ b/share/icons/format-text-direction-r2l.svg @@ -1,44 +1,37 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://web.resource.org/cc/" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - id="svg1" width="24" height="24" > - <sodipodi:namedview - id="base" - showgrid="true" - gridspacingy="1pt" - gridspacingx="1pt" - gridoriginy="0pt" - gridoriginx="0pt" - /> - <defs id="defs3"> - + <defs> + <linearGradient id="linearGradientA" + xlink:href="#linearGradientVector" + gradientUnits="userSpaceOnUse" + x1="30" x2="4" y1="25" y2="4" /> + <linearGradient id="linearGradientVector"> + <stop offset="0" style="stop-color:#ffffff"/> + <stop offset="1" style="stop-color:#e2e1e1"/> + </linearGradient> </defs> -<g id="format-text-direction-r2l" inkscape:label="#writing_mode_rl" transform="translate(-839.5246,-25)"> + <!-- Note "format-text-direction-rtl" is the GTK icon name but we want to use our own. --> - <g id="g10375" transform="translate(-0.4754,0)"> - <path d="m 841,26 h 22 l 1,1 v 20 l -2,2 h -20 l -1,-1 z" id="path10356" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccc" style="color:#000000;fill:#000000;fill-opacity:0.06666673;fill-rule:evenodd"/> - <path d="m 840,26 h 1 v 20 h -1 z" id="path10358" inkscape:connector-curvature="0" style="color:#000000;fill:#000000;fill-rule:evenodd"/> - <rect height="20" id="rect10361" style="color:#000000;fill:#000000;fill-rule:evenodd" width="1" x="861" y="26"/> - <rect height="20" id="rect10363" style="color:#000000;fill:#000000;fill-rule:evenodd" transform="rotate(-90)" width="1" x="-26" y="841"/> - <rect height="20" id="rect10365" style="color:#000000;fill:#000000;fill-rule:evenodd" transform="rotate(-90)" width="1" x="-47" y="841"/> - <rect height="20" id="rect10367" style="color:#000000;fill:url(#linearGradient10389);fill-rule:evenodd" width="20" x="841" y="26"/> - <path d="m 842,46 h -1 V 26 h 20 v 1 h -19 z" id="path10369" inkscape:connector-curvature="0" style="fill:#ffffff;fill-rule:evenodd"/> - <path d="m 858.5246,34.75 v -4 c 0,-3 -5,-3 -5,0 v 4" id="path10371" inkscape:connector-curvature="0" sodipodi:nodetypes="cccc" style="fill:none;stroke:#383838;stroke-linecap:round"/> - <path d="m 858.5246,32 h -5.1429" id="path10373" inkscape:connector-curvature="0" style="fill:none;stroke:#383838"/> - </g> - <path d="m 841.5246,30.4982 3.0246,-2.4991 v 2 h 7 v 1 h -7 v 2 z" id="path10377" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccc" style="fill:#5a5a5a;fill-rule:evenodd"/> - <path d="m 841.5246,36.4982 3.0246,-2.4991 v 2 h 15 v 1 h -15 v 2 z" id="path10379" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccc" style="fill:#5a5a5a;fill-rule:evenodd"/> - <path d="M 859.5492,36.4982 856.5246,33.9991 856.5246,35.9991 841.5246,35.9991 841.5246,36.9991 856.5246,36.9991 856.5246,38.9991 859.5492,36.4982 Z" id="use10381" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccc" style="fill:#5a5a5a;fill-rule:evenodd" transform="matrix(-1,0,0,1,1701.0738,6)"/> -</g> + <g id="format-text-direction-r2l" inkscape:label="#writing_mode_rl"> + <!-- Background --> + <path d="m 1,1 h 22 l 1,1 v 20 l -2,2 h -20 l -1,-1 z" style="fill:black;fill-opacity:0.0667" /> + <rect x="0.5" y="0.5" width="21" height="21" style="fill:url(#linearGradientA);stroke:black;stroke-linejoin:round" /> + <path d="m 2,21 h -1 v -20 h 20 v 1 h -19 z" style="fill:white" /> + + <!-- A --> + <path d="m 18.5,9.75 v -4 c 0,-3 -5,-3 -5,0 v 4" style="fill:none;stroke:#383838;stroke-linecap:round" /> + <path d="m 18.5,7 h -5.1" style="fill:none;stroke:#383838" /> + + <!-- Arrows --> + <path d="m 2,5.5 3,-2.5 v 2 h 7 v 1 h -7 v 2 z" style="fill:#5a5a5a" /> + <path d="m 2,11.5 3,-2.5 v 2 h 15 v 1 h -15 v 2 z" style="fill:#5a5a5a" /> + <path d="m 2,17.5 3,-2.5 v 2 h 15 v 1 h -15 v 2 z" style="fill:#5a5a5a" /> + </g> </svg> diff --git a/share/icons/format-text-direction-vertical.svg b/share/icons/format-text-direction-vertical.svg index fb5b5f7fe..3d61497e7 100644 --- a/share/icons/format-text-direction-vertical.svg +++ b/share/icons/format-text-direction-vertical.svg @@ -1,46 +1,40 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://web.resource.org/cc/" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - id="svg1" width="24" height="24" > - <sodipodi:namedview - id="base" - showgrid="true" - gridspacingy="1pt" - gridspacingx="1pt" - gridoriginy="0pt" - gridoriginx="0pt" - /> - <defs id="defs3"> - - <linearGradient gradientUnits="userSpaceOnUse" id="linearGradient3755" inkscape:collect="always" x1="860.239" x2="843.9635" xlink:href="#linearGradient6524" y1="45.30668" y2="28.96459"/> - <linearGradient id="linearGradient6524"> - <stop id="stop6526" offset="0" style="stop-color:#ffffff;stop-opacity:1"/> - <stop id="stop6528" offset="1" style="stop-color:#e2e1e1;stop-opacity:1"/> + <defs> + <linearGradient id="linearGradientA" + xlink:href="#linearGradientVector" + gradientUnits="userSpaceOnUse" + x1="30" x2="4" y1="25" y2="4" /> + <linearGradient id="linearGradientVector"> + <stop offset="0" style="stop-color:#ffffff"/> + <stop offset="1" style="stop-color:#e2e1e1"/> </linearGradient> </defs> -<g id="format-text-direction-vertical" inkscape:label="#writing_mode_tb" transform="translate(-840,-25)"> - <path d="M 841,26 863,26 864,27 864,47 862,49 842,49 841,48 841,26 Z" id="path6536" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccc" style="color:#000000;fill:#000000;fill-opacity:0.0666667;fill-rule:evenodd"/> - <path d="M 840,26 841,26 841,46 840,46 840,26 Z" id="rect6538" inkscape:connector-curvature="0" style="color:#000000;fill:#000000;fill-rule:evenodd"/> - <rect height="20" id="rect6540" style="color:#000000;fill:#000000;fill-rule:evenodd" width="1" x="861" y="26"/> - <rect height="20" id="rect6542" style="color:#000000;fill:#000000;fill-rule:evenodd" transform="rotate(-90)" width="1" x="-26" y="841"/> - <rect height="20" id="rect6544" style="color:#000000;fill:#000000;fill-rule:evenodd" transform="rotate(-90)" width="1" x="-47" y="841"/> - <rect height="20" id="rect6546" style="color:#000000;fill:url(#linearGradient3755);fill-rule:evenodd" width="20" x="841" y="26"/> - <path d="M 842,46 841,46 841,26 861,26 861,27 842,27 842,46 Z" id="path6565" inkscape:connector-curvature="0" style="fill:#ffffff;fill-rule:evenodd"/> - <path d="M 859.5246,34.7491 859.5246,30.7491 C 859.5246,27.7491 854.5246,27.7491 854.5246,30.7491 L 854.5246,34.7491" id="path6554" inkscape:connector-curvature="0" sodipodi:nodetypes="cccc" style="fill:none;stroke:#383838;stroke-width:1.0000001px;stroke-linecap:round"/> - <path d="M 859.6675,31.9991 854.5246,31.9991" id="path6556" inkscape:connector-curvature="0" style="fill:none;stroke:#383838;stroke-width:1.0000001px"/> - <path d="M 857.4754,45.0009 855,42 857,42 857,35 858,35 858,42 860,42 857.4754,45.0009 Z" id="path6548" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccc" style="fill:#5a5a5a;fill-rule:evenodd"/> - <path d="M 851.4754,45 849,42 851,42 851,27 852,27 852,42 854,42 851.4754,45 Z" id="path6550" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccc" style="fill:#5a5a5a;fill-rule:evenodd"/> - <path d="M 851.4754,45 849,42 851,42 851,27 852,27 852,42 854,42 851.4754,45 Z" id="use5600" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccc" style="fill:#5a5a5a;fill-rule:evenodd" transform="matrix(1,0,0,1,0,0)"/> -</g> + <g id="format-text-direction-vertical" inkscape:label="#writing_mode_tb"> + + <!-- Background --> + <path d="m 1,1 h 22 l 1,1 v 20 l -2,2 h -20 l -1,-1 z" + style="fill:black;fill-opacity:0.0667" /> + <path d="m 0.5,1 0,20" style="fill:none;stroke:black" /> + <path d="m 21.5,1 0,20" style="fill:none;stroke:black" /> + <path d="m 1,0.5 20,0" style="fill:none;stroke:black" /> + <path d="m 1,21.5 20,0" style="fill:none;stroke:black" /> + <rect x="1" y="1" width="20" height="20" style="fill:url(#linearGradientA)" /> + <path d="m 2,21 h -1 v -20 h 20 v 1 h -19 z" style="fill:white" /> + + <!-- A --> + <path d="m 19.5,9.75 v -4 c 0,-3 -5,-3 -5,0 v 4" style="fill:none;stroke:#383838;stroke-linecap:round" /> + <path d="m 19.7,7 h -5.2" style="fill:none;stroke:#383838" /> + <!-- Arrows --> + <path d="m 17.5,20 -2.5,-3 h 2 v -7 h 1 v 7 h 2 z" style="fill:#5a5a5a" /> + <path d="m 11.5,20 -2.5,-3 h 2 v -15 h 1 v 15 h 2 z" style="fill:#5a5a5a" /> + <path d="m 5.5,20 -2.5,-3 h 2 v -15 h 1 v 15 h 2 z" style="fill:#5a5a5a" /> + </g> </svg> diff --git a/share/icons/text-orientation-auto.svg b/share/icons/text-orientation-auto.svg index 8e4428bac..a4bf06643 100644 --- a/share/icons/text-orientation-auto.svg +++ b/share/icons/text-orientation-auto.svg @@ -1,45 +1,37 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://web.resource.org/cc/" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - id="svg1" width="24" height="24" > - <sodipodi:namedview - id="base" - showgrid="true" - gridspacingy="1pt" - gridspacingx="1pt" - gridoriginy="0pt" - gridoriginx="0pt" - /> - <defs id="defs3"> - - <linearGradient gradientTransform="translate(-256,405)" gradientUnits="userSpaceOnUse" id="linearGradient10161" inkscape:collect="always" x1="860.239" x2="843.9635" xlink:href="#linearGradient6524" y1="45.30668" y2="28.96459"/> - <linearGradient id="linearGradient6524"> - <stop id="stop6526" offset="0" style="stop-color:#ffffff;stop-opacity:1"/> - <stop id="stop6528" offset="1" style="stop-color:#e2e1e1;stop-opacity:1"/> + <defs> + <linearGradient id="linearGradientA" + xlink:href="#linearGradientVector" + gradientUnits="userSpaceOnUse" + x1="30" x2="4" y1="25" y2="4" /> + <linearGradient id="linearGradientVector"> + <stop offset="0" style="stop-color:#ffffff"/> + <stop offset="1" style="stop-color:#e2e1e1"/> </linearGradient> </defs> -<g id="text-orientation-auto" inkscape:label="#text_orientation_auto" transform="translate(-584,-430)"> - <path d="m 585,431 22,0 1,1 0,20 -2,2 -20,0 -1,-1 0,-22 z" id="path10137" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccc" style="color:#000000;fill:#000000;fill-opacity:0.06666673;fill-rule:evenodd"/> - <path d="m 584,431 1,0 0,20 -1,0 0,-20 z" id="path10139" inkscape:connector-curvature="0" style="color:#000000;fill:#000000;fill-rule:evenodd"/> - <rect height="20" id="rect10141" style="color:#000000;fill:#000000;fill-rule:evenodd" width="1" x="605" y="431"/> - <rect height="20" id="rect10143" style="color:#000000;fill:#000000;fill-rule:evenodd" transform="matrix(0,-1,1,0,0,0)" width="1" x="-431" y="585"/> - <rect height="20" id="rect10145" style="color:#000000;fill:#000000;fill-rule:evenodd" transform="matrix(0,-1,1,0,0,0)" width="1" x="-452" y="585"/> - <rect height="20" id="rect10147" style="color:#000000;fill:url(#linearGradient10161);fill-rule:evenodd" width="20" x="585" y="431"/> - <path d="m 586,451 -1,0 0,-20 20,0 0,1 -19,0 0,19 z" id="path10149" inkscape:connector-curvature="0" style="fill:#ffffff;fill-rule:evenodd"/> - <path d="m 595.30711,449.12856 4,0 c 3,0 3,-5 0,-5 l -4,0" id="path10151" inkscape:connector-curvature="0" sodipodi:nodetypes="cccc" style="fill:none;stroke:#383838;stroke-width:1.00000012px;stroke-linecap:round"/> - <path d="m 598.05711,449.27146 0,-5.1429" id="path10153" inkscape:connector-curvature="0" style="fill:none;stroke:#383838;stroke-width:1.00000012px"/> - <path d="M 851.4754,45 849,42 851,42 851,27 852,27 852,42 854,42 851.4754,45 Z" id="use10159" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccc" style="fill:#5a5a5a;fill-rule:evenodd" transform="matrix(1,0,0,1,-261,405)"/> - <path d="m 595,438.5 7.5,0.0854 m -6,-2.5854 4.20941,0 -1.70941,1.5 0.0234,3 c -0.0234,0.5 -0.52344,1 -1.02344,1 l -1,0 m 2.00004,-7.72791 -0.5,-0.77209 m -3.5,2.00274 0,-1.00274 7.5,0 -0.0207,0.98202" id="path11017" inkscape:connector-curvature="0" style="color:#000000;solid-opacity:1;fill:none;stroke:#383838;stroke-width:1.00000012px;stroke-linecap:round;stroke-linejoin:round"/> -</g> + <!-- Note "format-text-direction-rtl" is the GTK icon name but we want to use our own. --> + <g id="format-text-direction-r2l" inkscape:label="#writing_mode_rl"> + + <!-- Background --> + <path d="m 1,1 h 22 l 1,1 v 20 l -2,2 h -20 l -1,-1 z" style="fill:black;fill-opacity:0.0667" /> + <rect x="0.5" y="0.5" width="21" height="21" style="fill:url(#linearGradientA);stroke:black;stroke-linejoin:round" /> + <path d="m 2,21 h -1 v -20 h 20 v 1 h -19 z" style="fill:white" /> + + <!-- Glyphs --> + <path d="m 11.3,19.1 h 4 c 3,0 3,-5 0,-5 h -4" style="fill:none;stroke:#383838;stroke-linecap:round"/> + <path d="m 14.1,19.3 v -5.2" style="fill:none;stroke:#383838"/> + <path d="m 11,8.5 7.5,0.1 m -6,-2.6 h 4.2 l -1.7,1.5 v 3 c 0,0.5 -0.5,1 -1,1 h -1 m 2,-7.7 -0.5,-0.8 m -3.5,2 v -1 h 7.5 v 1" + style="fill:none;stroke:#383838;stroke-linecap:round;stroke-linejoin:round" /> + + <!-- Arrow --> + <path d="m 6.5,20 -2.5,-3 h 2 v -15 h 1 v 15 h 2 z" style="fill:#5a5a5a"/> + </g> </svg> diff --git a/share/icons/text-orientation-sideways.svg b/share/icons/text-orientation-sideways.svg index 97bb55173..a6ce53531 100644 --- a/share/icons/text-orientation-sideways.svg +++ b/share/icons/text-orientation-sideways.svg @@ -1,45 +1,37 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://web.resource.org/cc/" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - id="svg1" width="24" height="24" > - <sodipodi:namedview - id="base" - showgrid="true" - gridspacingy="1pt" - gridspacingx="1pt" - gridoriginy="0pt" - gridoriginx="0pt" - /> - <defs id="defs3"> - - <linearGradient id="linearGradient6524"> - <stop id="stop6526" offset="0" style="stop-color:#ffffff;stop-opacity:1"/> - <stop id="stop6528" offset="1" style="stop-color:#e2e1e1;stop-opacity:1"/> + <defs> + <linearGradient id="linearGradientA" + xlink:href="#linearGradientVector" + gradientUnits="userSpaceOnUse" + x1="30" x2="4" y1="25" y2="4" /> + <linearGradient id="linearGradientVector"> + <stop offset="0" style="stop-color:#ffffff"/> + <stop offset="1" style="stop-color:#e2e1e1"/> </linearGradient> - <linearGradient gradientTransform="translate(-196,405)" gradientUnits="userSpaceOnUse" id="linearGradient11155" inkscape:collect="always" x1="860.239" x2="843.9635" xlink:href="#linearGradient6524" y1="45.30668" y2="28.96459"/> </defs> -<g id="text-orientation-sideways" inkscape:label="#text_orientation_sideways" transform="translate(-644,-430)"> - <path d="m 645,431 22,0 1,1 0,20 -2,2 -20,0 -1,-1 0,-22 z" id="path11133" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccc" style="color:#000000;fill:#000000;fill-opacity:0.06666673;fill-rule:evenodd"/> - <path d="m 644,431 1,0 0,20 -1,0 0,-20 z" id="path11135" inkscape:connector-curvature="0" style="color:#000000;fill:#000000;fill-rule:evenodd"/> - <rect height="20" id="rect11137" style="color:#000000;fill:#000000;fill-rule:evenodd" width="1" x="665" y="431"/> - <rect height="20" id="rect11139" style="color:#000000;fill:#000000;fill-rule:evenodd" transform="matrix(0,-1,1,0,0,0)" width="1" x="-431" y="645"/> - <rect height="20" id="rect11141" style="color:#000000;fill:#000000;fill-rule:evenodd" transform="matrix(0,-1,1,0,0,0)" width="1" x="-452" y="645"/> - <rect height="20" id="rect11143" style="color:#000000;fill:url(#linearGradient11155);fill-rule:evenodd" width="20" x="645" y="431"/> - <path d="m 646,451 -1,0 0,-20 20,0 0,1 -19,0 0,19 z" id="path11145" inkscape:connector-curvature="0" style="fill:#ffffff;fill-rule:evenodd"/> - <path d="m 655.30711,449.12856 4,0 c 3,0 3,-5 0,-5 l -4,0" id="path11147" inkscape:connector-curvature="0" sodipodi:nodetypes="cccc" style="fill:none;stroke:#383838;stroke-width:1.00000012px;stroke-linecap:round"/> - <path d="m 658.05711,449.27146 0,-5.1429" id="path11149" inkscape:connector-curvature="0" style="fill:none;stroke:#383838;stroke-width:1.00000012px"/> - <path d="M 851.4754,45 849,42 851,42 851,27 852,27 852,42 854,42 851.4754,45 Z" id="use11151" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccc" style="fill:#5a5a5a;fill-rule:evenodd" transform="matrix(1,0,0,1,-201,405)"/> - <path d="m 657.49703,433.49703 -0.0854,7.5 m 2.5854,-6 0,4.20941 -1.5,-1.70941 -3,0.0234 c -0.5,-0.0234 -1,-0.52344 -1,-1.02344 l 0,-1 m 7.72791,2.00004 0.77209,-0.5 m -2.00274,-3.5 1.00274,0 0,7.5 -0.98202,-0.0207" id="path11153" inkscape:connector-curvature="0" style="color:#000000;solid-opacity:1;fill:none;stroke:#383838;stroke-width:1.00000012px;stroke-linecap:round;stroke-linejoin:round"/> -</g> + <!-- Note "format-text-direction-rtl" is the GTK icon name but we want to use our own. --> + <g id="format-text-direction-r2l" inkscape:label="#writing_mode_rl"> + + <!-- Background --> + <path d="m 1,1 h 22 l 1,1 v 20 l -2,2 h -20 l -1,-1 z" style="fill:black;fill-opacity:0.0667" /> + <rect x="0.5" y="0.5" width="21" height="21" style="fill:url(#linearGradientA);stroke:black;stroke-linejoin:round" /> + <path d="m 2,21 h -1 v -20 h 20 v 1 h -19 z" style="fill:white" /> + + <!-- Glyphs --> + <path d="m 11.3,19.1 h 4 c 3,0 3,-5 0,-5 h -4" style="fill:none;stroke:#383838;stroke-linecap:round"/> + <path d="m 14.1,19.3 v -5.2" style="fill:none;stroke:#383838"/> + <path d="m 13.5,3.5 -0.1,7.5 m 2.6,-6 v 4.2 l -1.5,-1.7 h -3 c -0.5,0 -1,-0.5 -1,-1 v -1 m 7.7,2 0.8,-0.5 m -2,-3.5 h 1 v 7.5 h -1" + style="fill:none;stroke:#383838;stroke-linecap:round;stroke-linejoin:round" /> + + <!-- Arrow --> + <path d="m 6.5,20 -2.5,-3 h 2 v -15 h 1 v 15 h 2 z" style="fill:#5a5a5a"/> + </g> </svg> diff --git a/share/icons/text-orientation-upright.svg b/share/icons/text-orientation-upright.svg index 5092b267b..222a3d518 100644 --- a/share/icons/text-orientation-upright.svg +++ b/share/icons/text-orientation-upright.svg @@ -1,45 +1,37 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://web.resource.org/cc/" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - id="svg1" width="24" height="24" > - <sodipodi:namedview - id="base" - showgrid="true" - gridspacingy="1pt" - gridspacingx="1pt" - gridoriginy="0pt" - gridoriginx="0pt" - /> - <defs id="defs3"> - - <linearGradient gradientTransform="translate(-226,405)" gradientUnits="userSpaceOnUse" id="linearGradient11127" inkscape:collect="always" x1="860.239" x2="843.9635" xlink:href="#linearGradient6524" y1="45.30668" y2="28.96459"/> - <linearGradient id="linearGradient6524"> - <stop id="stop6526" offset="0" style="stop-color:#ffffff;stop-opacity:1"/> - <stop id="stop6528" offset="1" style="stop-color:#e2e1e1;stop-opacity:1"/> + <defs> + <linearGradient id="linearGradientA" + xlink:href="#linearGradientVector" + gradientUnits="userSpaceOnUse" + x1="30" x2="4" y1="25" y2="4" /> + <linearGradient id="linearGradientVector"> + <stop offset="0" style="stop-color:#ffffff"/> + <stop offset="1" style="stop-color:#e2e1e1"/> </linearGradient> </defs> -<g id="text-orientation-upright" inkscape:label="#text_orientation_upright" transform="translate(-614,-430)"> - <path d="m 615,431 22,0 1,1 0,20 -2,2 -20,0 -1,-1 0,-22 z" id="path11105" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccc" style="color:#000000;fill:#000000;fill-opacity:0.06666673;fill-rule:evenodd"/> - <path d="m 614,431 1,0 0,20 -1,0 0,-20 z" id="path11107" inkscape:connector-curvature="0" style="color:#000000;fill:#000000;fill-rule:evenodd"/> - <rect height="20" id="rect11109" style="color:#000000;fill:#000000;fill-rule:evenodd" width="1" x="635" y="431"/> - <rect height="20" id="rect11111" style="color:#000000;fill:#000000;fill-rule:evenodd" transform="matrix(0,-1,1,0,0,0)" width="1" x="-431" y="615"/> - <rect height="20" id="rect11113" style="color:#000000;fill:#000000;fill-rule:evenodd" transform="matrix(0,-1,1,0,0,0)" width="1" x="-452" y="615"/> - <rect height="20" id="rect11115" style="color:#000000;fill:url(#linearGradient11127);fill-rule:evenodd" width="20" x="615" y="431"/> - <path d="m 616,451 -1,0 0,-20 20,0 0,1 -19,0 0,19 z" id="path11117" inkscape:connector-curvature="0" style="fill:#ffffff;fill-rule:evenodd"/> - <path d="m 630.92855,449.75 0,-4 c 0,-3 -5,-3 -5,0 l 0,4" id="path11119" inkscape:connector-curvature="0" sodipodi:nodetypes="cccc" style="fill:none;stroke:#383838;stroke-width:1.00000012px;stroke-linecap:round"/> - <path d="m 631.07145,447 -5.1429,0" id="path11121" inkscape:connector-curvature="0" style="fill:none;stroke:#383838;stroke-width:1.00000012px"/> - <path d="M 851.4754,45 849,42 851,42 851,27 852,27 852,42 854,42 851.4754,45 Z" id="use11123" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccc" style="fill:#5a5a5a;fill-rule:evenodd" transform="matrix(1,0,0,1,-231,405)"/> - <path d="m 625,438.5 7.5,0.0854 m -6,-2.5854 4.20941,0 -1.70941,1.5 0.0234,3 c -0.0234,0.5 -0.52344,1 -1.02344,1 l -1,0 m 2.00004,-7.72791 -0.5,-0.77209 m -3.5,2.00274 0,-1.00274 7.5,0 -0.0207,0.98202" id="path11125" inkscape:connector-curvature="0" style="color:#000000;solid-opacity:1;fill:none;stroke:#383838;stroke-width:1.00000012px;stroke-linecap:round;stroke-linejoin:round"/> -</g> + <!-- Note "format-text-direction-rtl" is the GTK icon name but we want to use our own. --> + <g id="format-text-direction-r2l" inkscape:label="#writing_mode_rl"> + + <!-- Background --> + <path d="m 1,1 h 22 l 1,1 v 20 l -2,2 h -20 l -1,-1 z" style="fill:black;fill-opacity:0.0667" /> + <rect x="0.5" y="0.5" width="21" height="21" style="fill:url(#linearGradientA);stroke:black;stroke-linejoin:round" /> + <path d="m 2,21 h -1 v -20 h 20 v 1 h -19 z" style="fill:white" /> + + <!-- Glyphs --> + <path d="m 16.9,19.8 v -4 c 0,-3 -5,-3 -5,0 v 4" style="fill:none;stroke:#383838;stroke-linecap:round"/> + <path d="m 17.1,17 h -5.2" style="fill:none;stroke:#383838" /> + <path d="m 11,8.5 7.5,0.1 m -6,-2.6 h 4.2 l -1.7,1.5 v 3 c 0,0.5 -0.5,1 -1,1 h -1 m 2,-7.7 -0.5,-0.8 m -3.5,2 v -1 h 7.5 v 1" + style="fill:none;stroke:#383838;stroke-linecap:round;stroke-linejoin:round" /> + + <!-- Arrow --> + <path d="m 6.5,20 -2.5,-3 h 2 v -15 h 1 v 15 h 2 z" style="fill:#5a5a5a"/> + </g> </svg> diff --git a/share/keys/default.xml b/share/keys/default.xml index 134251752..9a072d9da 100644 --- a/share/keys/default.xml +++ b/share/keys/default.xml @@ -11,7 +11,9 @@ source locally, you can view that file at: http://git.gnome.org/browse/gtk+/plain/gdk/gdkkeysyms.h - The "modifiers" attribute contains a comma-separated list of modifiers, which can be -one or more of: "Ctrl", "Shift", "Alt". +one or more of: "Ctrl", "Shift", "Alt", "Meta", "Super", "Hyper", or "Primary". + +"Primary" means Meta on Apple and Primary everywhere else, it's recommended over the use of Ctrl. - The "action" attribute contains the name of the action. The complete list of actions (called "verbs") is in the file src/verbs.cpp in Inkscape source; there you can see @@ -41,42 +43,42 @@ override) the bindings in the main default.xml. <!-- File --> - <bind key="n" modifiers="Ctrl" action="FileNew" display="true" /> - <bind key="N" modifiers="Ctrl" action="FileNew" /> + <bind key="n" modifiers="Primary" action="FileNew" display="true" /> + <bind key="N" modifiers="Primary" action="FileNew" /> - <bind key="n" modifiers="Ctrl,Alt" action="FileTemplates" display="true" /> - <bind key="N" modifiers="Ctrl,Alt" action="FileTemplates" /> + <bind key="n" modifiers="Primary,Alt" action="FileTemplates" display="true" /> + <bind key="N" modifiers="Primary,Alt" action="FileTemplates" /> - <bind key="o" modifiers="Ctrl" action="FileOpen" display="true" /> - <bind key="O" modifiers="Ctrl" action="FileOpen" /> + <bind key="o" modifiers="Primary" action="FileOpen" display="true" /> + <bind key="O" modifiers="Primary" action="FileOpen" /> <bind action="FileRevert" /> - <bind key="s" modifiers="Ctrl" action="FileSave" display="true" /> - <bind key="S" modifiers="Ctrl" action="FileSave" /> + <bind key="s" modifiers="Primary" action="FileSave" display="true" /> + <bind key="S" modifiers="Primary" action="FileSave" /> - <bind key="s" modifiers="Ctrl,Shift" action="FileSaveAs" display="true" /> - <bind key="S" modifiers="Ctrl,Shift" action="FileSaveAs" /> + <bind key="s" modifiers="Primary,Shift" action="FileSaveAs" display="true" /> + <bind key="S" modifiers="Primary,Shift" action="FileSaveAs" /> - <bind key="s" modifiers="Ctrl,Shift,Alt" action="FileSaveACopy" display="true" /> - <bind key="S" modifiers="Ctrl,Shift,Alt" action="FileSaveACopy" /> + <bind key="s" modifiers="Primary,Shift,Alt" action="FileSaveACopy" display="true" /> + <bind key="S" modifiers="Primary,Shift,Alt" action="FileSaveACopy" /> - <bind key="p" modifiers="Ctrl" action="FilePrint" display="true" /> - <bind key="P" modifiers="Ctrl" action="FilePrint" /> + <bind key="p" modifiers="Primary" action="FilePrint" display="true" /> + <bind key="P" modifiers="Primary" action="FilePrint" /> - <bind key="i" modifiers="Ctrl" action="FileImport" display="true" /> - <bind key="I" modifiers="Ctrl" action="FileImport" /> + <bind key="i" modifiers="Primary" action="FileImport" display="true" /> + <bind key="I" modifiers="Primary" action="FileImport" /> - <bind key="e" modifiers="Ctrl,Shift" action="DialogExport" display="true" /> - <bind key="E" modifiers="Ctrl,Shift" action="DialogExport" /> + <bind key="e" modifiers="Primary,Shift" action="DialogExport" display="true" /> + <bind key="E" modifiers="Primary,Shift" action="DialogExport" /> <bind action="FileVacuum" /> - <bind key="w" modifiers="Ctrl" action="FileClose" display="true" /> - <bind key="W" modifiers="Ctrl" action="FileClose" /> + <bind key="w" modifiers="Primary" action="FileClose" display="true" /> + <bind key="W" modifiers="Primary" action="FileClose" /> - <bind key="q" modifiers="Ctrl" action="FileQuit" display="true" /> - <bind key="Q" modifiers="Ctrl" action="FileQuit" /> + <bind key="q" modifiers="Primary" action="FileQuit" display="true" /> + <bind key="Q" modifiers="Primary" action="FileQuit" /> <!-- Tools --> @@ -152,7 +154,7 @@ override) the bindings in the main default.xml. <bind action="PenPrefs" /> - <bind key="F6" modifiers="Ctrl" action="ToolCalligraphic" display="true" /> + <bind key="F6" modifiers="Primary" action="ToolCalligraphic" display="true" /> <bind key="c" action="ToolCalligraphic" /> <bind key="C" action="ToolCalligraphic" /> @@ -174,13 +176,13 @@ override) the bindings in the main default.xml. <bind action="TextPrefs" /> - <bind key="F1" modifiers="Ctrl" action="ToolGradient" display="true" /> + <bind key="F1" modifiers="Primary" action="ToolGradient" display="true" /> <bind key="g" action="ToolGradient" /> <bind key="G" action="ToolGradient" /> <bind action="GradientPrefs" /> - <bind key="F2" modifiers="Ctrl" action="ToolConnector" display="true" /> + <bind key="F2" modifiers="Primary" action="ToolConnector" display="true" /> <bind key="o" action="ToolConnector" /> <bind key="O" action="ToolConnector" /> @@ -232,8 +234,8 @@ override) the bindings in the main default.xml. <bind key="6" modifiers="Shift" action="ZoomPageWidth" /> <bind key="KP_6" action="ZoomPageWidth" /> - <bind key="e" modifiers="Ctrl" action="ZoomPageWidth" /> - <bind key="E" modifiers="Ctrl" action="ZoomPageWidth" /> + <bind key="e" modifiers="Primary" action="ZoomPageWidth" /> + <bind key="E" modifiers="Primary" action="ZoomPageWidth" /> <bind key="grave" modifiers="Shift" action="ZoomNext" display="true" /> <!-- ` --> <bind key="asciitilde" modifiers="Shift" action="ZoomNext" /> <!-- ~ --> @@ -245,12 +247,12 @@ override) the bindings in the main default.xml. <bind key="F11" action="FullScreen" display="true" /> <bind key="F11" action="FocusToggle" modifiers="Shift" display="true" /> - <bind key="F11" action="FullScreenFocus" modifiers="Ctrl" display="true" /> + <bind key="F11" action="FullScreenFocus" modifiers="Primary" display="true" /> - <bind key="Tab" modifiers="Ctrl" action="NextWindow" display="true" /> - <bind key="ISO_Left_Tab" modifiers="Ctrl" action="NextWindow" /> - <bind key="Tab" modifiers="Ctrl,Shift" action="PrevWindow" display="true" /> - <bind key="ISO_Left_Tab" modifiers="Ctrl,Shift" action="PrevWindow" /> + <bind key="Tab" modifiers="Primary" action="NextWindow" display="true" /> + <bind key="ISO_Left_Tab" modifiers="Primary" action="NextWindow" /> + <bind key="Tab" modifiers="Primary,Shift" action="PrevWindow" display="true" /> + <bind key="ISO_Left_Tab" modifiers="Primary,Shift" action="PrevWindow" /> <bind key="numbersign" modifiers="Shift" action="ToggleGrid" /> <!-- # --> <bind key="numbersign" action="ToggleGrid" display="true" /> @@ -266,11 +268,11 @@ override) the bindings in the main default.xml. <bind action="ToggleToolToolbar" /> <bind action="ToggleToolbox" /> - <bind key="r" modifiers="Ctrl" action="ToggleRulers" display="true" /> - <bind key="R" modifiers="Ctrl" action="ToggleRulers" /> + <bind key="r" modifiers="Primary" action="ToggleRulers" display="true" /> + <bind key="R" modifiers="Primary" action="ToggleRulers" /> - <bind key="b" modifiers="Ctrl" action="ToggleScrollbars" display="true" /> - <bind key="B" modifiers="Ctrl" action="ToggleScrollbars" /> + <bind key="b" modifiers="Primary" action="ToggleScrollbars" display="true" /> + <bind key="B" modifiers="Primary" action="ToggleScrollbars" /> <bind key="p" modifiers="Shift,Alt" action="TogglePalette" display="true" /> <bind key="P" modifiers="Shift,Alt" action="TogglePalette" /> @@ -281,8 +283,8 @@ override) the bindings in the main default.xml. <bind action="ViewNewPreview" /> <bind action="ViewIconPreview" /> - <bind key="KP_5" modifiers="Ctrl" action="ViewModeToggle" display="true" /> - <bind key="KP_Begin" modifiers="Ctrl" action="ViewModeToggle" /> + <bind key="KP_5" modifiers="Primary" action="ViewModeToggle" display="true" /> + <bind key="KP_Begin" modifiers="Primary" action="ViewModeToggle" /> <bind action="ViewModeNormal" /> <bind action="ViewModeNoFilters" /> @@ -295,35 +297,35 @@ override) the bindings in the main default.xml. <!-- Edit --> - <bind key="z" modifiers="Ctrl" action="EditUndo" display="true" /> - <bind key="Z" modifiers="Ctrl" action="EditUndo" /> - <!--Do not put in Ctrl,Shift+Y, already used--> + <bind key="z" modifiers="Primary" action="EditUndo" display="true" /> + <bind key="Z" modifiers="Primary" action="EditUndo" /> + <!--Do not put in Primary,Shift+Y, already used--> - <bind key="z" modifiers="Ctrl,Shift" action="EditRedo" display="true" /> - <bind key="Z" modifiers="Ctrl,Shift" action="EditRedo" /> - <bind key="y" modifiers="Ctrl" action="EditRedo" /> - <bind key="Y" modifiers="Ctrl" action="EditRedo" /> + <bind key="z" modifiers="Primary,Shift" action="EditRedo" display="true" /> + <bind key="Z" modifiers="Primary,Shift" action="EditRedo" /> + <bind key="y" modifiers="Primary" action="EditRedo" /> + <bind key="Y" modifiers="Primary" action="EditRedo" /> - <bind key="h" modifiers="Ctrl,Shift" action="DialogUndoHistory" display="true" /> - <bind key="H" modifiers="Ctrl,Shift" action="DialogUndoHistory" /> + <bind key="h" modifiers="Primary,Shift" action="DialogUndoHistory" display="true" /> + <bind key="H" modifiers="Primary,Shift" action="DialogUndoHistory" /> - <bind key="x" modifiers="Ctrl" action="EditCut" display="true" /> - <bind key="X" modifiers="Ctrl" action="EditCut" /> + <bind key="x" modifiers="Primary" action="EditCut" display="true" /> + <bind key="X" modifiers="Primary" action="EditCut" /> <bind key="Delete" modifiers="Shift" action="EditCut"/> - <bind key="c" modifiers="Ctrl" action="EditCopy" display="true" /> - <bind key="C" modifiers="Ctrl" action="EditCopy" /> - <bind key="Insert" modifiers="Ctrl" action="EditCopy"/> + <bind key="c" modifiers="Primary" action="EditCopy" display="true" /> + <bind key="C" modifiers="Primary" action="EditCopy" /> + <bind key="Insert" modifiers="Primary" action="EditCopy"/> - <bind key="v" modifiers="Ctrl" action="EditPaste" display="true" /> - <bind key="V" modifiers="Ctrl" action="EditPaste" /> + <bind key="v" modifiers="Primary" action="EditPaste" display="true" /> + <bind key="V" modifiers="Primary" action="EditPaste" /> <bind key="Insert" modifiers="Shift" action="EditPaste"/> - <bind key="v" modifiers="Ctrl,Shift" action="EditPasteStyle" display="true" /> - <bind key="V" modifiers="Ctrl,Shift" action="EditPasteStyle" /> + <bind key="v" modifiers="Primary,Shift" action="EditPasteStyle" display="true" /> + <bind key="V" modifiers="Primary,Shift" action="EditPasteStyle" /> - <bind key="v" modifiers="Ctrl,Alt" action="EditPasteInPlace" display="true" /> - <bind key="V" modifiers="Ctrl,Alt" action="EditPasteInPlace" /> + <bind key="v" modifiers="Primary,Alt" action="EditPasteInPlace" display="true" /> + <bind key="V" modifiers="Primary,Alt" action="EditPasteInPlace" /> <bind action="EditPasteSize" /> <bind action="EditPasteWidth" /> @@ -336,8 +338,8 @@ override) the bindings in the main default.xml. <bind key="KP_Delete" action="EditDelete" /> <bind key="BackSpace" action="EditDelete" /> - <bind key="d" modifiers="Ctrl" action="EditDuplicate" display="true" /> - <bind key="D" modifiers="Ctrl" action="EditDuplicate" /> + <bind key="d" modifiers="Primary" action="EditDuplicate" display="true" /> + <bind key="D" modifiers="Primary" action="EditDuplicate" /> <bind key="d" modifiers="Alt" action="EditClone" display="true" /> <bind key="D" modifiers="Alt" action="EditClone" /> @@ -352,13 +354,13 @@ override) the bindings in the main default.xml. <bind action="EditCloneOriginalPathLPE" /> - <bind key="a" modifiers="Ctrl" action="EditSelectAll" display="true" /> - <bind key="A" modifiers="Ctrl" action="EditSelectAll" /> + <bind key="a" modifiers="Primary" action="EditSelectAll" display="true" /> + <bind key="A" modifiers="Primary" action="EditSelectAll" /> <bind action="EditClearAll" /> - <bind key="a" modifiers="Ctrl,Alt" action="EditSelectAllInAllLayers" display="true" /> - <bind key="A" modifiers="Ctrl,Alt" action="EditSelectAllInAllLayers" /> + <bind key="a" modifiers="Primary,Alt" action="EditSelectAllInAllLayers" display="true" /> + <bind key="A" modifiers="Primary,Alt" action="EditSelectAllInAllLayers" /> <bind action="EditSelectSameFillStroke" /> <bind action="EditSelectSameFillColor" /> @@ -385,8 +387,8 @@ override) the bindings in the main default.xml. <bind action="EditSwapFillStroke" display="true" /> - <bind key="r" modifiers="Ctrl,Shift" action="FitCanvasToSelectionOrDrawing" display="true" /> - <bind key="R" modifiers="Ctrl,Shift" action="FitCanvasToSelectionOrDrawing" display="true" /> + <bind key="r" modifiers="Primary,Shift" action="FitCanvasToSelectionOrDrawing" display="true" /> + <bind key="R" modifiers="Primary,Shift" action="FitCanvasToSelectionOrDrawing" display="true" /> <!-- Objects/selection --> @@ -414,8 +416,8 @@ override) the bindings in the main default.xml. <bind key="comma" modifiers="Alt" action="SelectionShrinkScreen" /> <bind key="less" modifiers="Alt" action="SelectionShrinkScreen" /> - <bind key="comma" modifiers="Ctrl" action="SelectionShrinkHalve" /> - <bind key="less" modifiers="Ctrl" action="SelectionShrinkHalve" /> + <bind key="comma" modifiers="Primary" action="SelectionShrinkHalve" /> + <bind key="less" modifiers="Primary" action="SelectionShrinkHalve" /> <bind key="period" action="SelectionGrow" display="true" /> <bind key="greater" action="SelectionGrow" /> @@ -423,18 +425,18 @@ override) the bindings in the main default.xml. <bind key="period" modifiers="Alt" action="SelectionGrowScreen" /> <bind key="greater" modifiers="Alt" action="SelectionGrowScreen" /> - <bind key="period" modifiers="Ctrl" action="SelectionGrowDouble" /> - <bind key="greater" modifiers="Ctrl" action="SelectionGrowDouble" /> + <bind key="period" modifiers="Primary" action="SelectionGrowDouble" /> + <bind key="greater" modifiers="Primary" action="SelectionGrowDouble" /> - <bind key="g" modifiers="Ctrl" action="SelectionGroup" display="true" /> - <bind key="G" modifiers="Ctrl" action="SelectionGroup" /> - <bind key="u" modifiers="Ctrl,Shift" action="SelectionGroup" /> - <bind key="U" modifiers="Ctrl,Shift" action="SelectionGroup" /> + <bind key="g" modifiers="Primary" action="SelectionGroup" display="true" /> + <bind key="G" modifiers="Primary" action="SelectionGroup" /> + <bind key="u" modifiers="Primary,Shift" action="SelectionGroup" /> + <bind key="U" modifiers="Primary,Shift" action="SelectionGroup" /> - <bind key="g" modifiers="Ctrl,Shift" action="SelectionUnGroup" display="true" /> - <bind key="G" modifiers="Ctrl,Shift" action="SelectionUnGroup" /> - <bind key="u" modifiers="Ctrl" action="SelectionUnGroup" /> - <bind key="U" modifiers="Ctrl" action="SelectionUnGroup" /> + <bind key="g" modifiers="Primary,Shift" action="SelectionUnGroup" display="true" /> + <bind key="G" modifiers="Primary,Shift" action="SelectionUnGroup" /> + <bind key="u" modifiers="Primary" action="SelectionUnGroup" /> + <bind key="U" modifiers="Primary" action="SelectionUnGroup" /> <bind key="b" modifiers="Alt" action="SelectionCreateBitmap" display="true" /> <bind key="B" modifiers="Alt" action="SelectionCreateBitmap" /> @@ -471,46 +473,46 @@ override) the bindings in the main default.xml. <!-- Path --> - <bind key="c" modifiers="Ctrl,Shift" action="ObjectToPath" display="true" /> - <bind key="C" modifiers="Ctrl,Shift" action="ObjectToPath" /> + <bind key="c" modifiers="Primary,Shift" action="ObjectToPath" display="true" /> + <bind key="C" modifiers="Primary,Shift" action="ObjectToPath" /> - <bind key="c" modifiers="Ctrl,Alt" action="StrokeToPath" display="true" /> - <bind key="C" modifiers="Ctrl,Alt" action="StrokeToPath" /> + <bind key="c" modifiers="Primary,Alt" action="StrokeToPath" display="true" /> + <bind key="C" modifiers="Primary,Alt" action="StrokeToPath" /> - <bind key="k" modifiers="Ctrl" action="SelectionCombine" display="true" /> - <bind key="K" modifiers="Ctrl" action="SelectionCombine" /> + <bind key="k" modifiers="Primary" action="SelectionCombine" display="true" /> + <bind key="K" modifiers="Primary" action="SelectionCombine" /> - <bind key="k" modifiers="Ctrl,Shift" action="SelectionBreakApart" display="true" /> - <bind key="K" modifiers="Ctrl,Shift" action="SelectionBreakApart" /> + <bind key="k" modifiers="Primary,Shift" action="SelectionBreakApart" display="true" /> + <bind key="K" modifiers="Primary,Shift" action="SelectionBreakApart" /> - <bind key="plus" modifiers="Ctrl" action="SelectionUnion" display="true" /> - <bind key="KP_Add" modifiers="Ctrl" action="SelectionUnion" /> - <bind key="plus" modifiers="Ctrl,Shift" action="SelectionUnion" /> + <bind key="plus" modifiers="Primary" action="SelectionUnion" display="true" /> + <bind key="KP_Add" modifiers="Primary" action="SelectionUnion" /> + <bind key="plus" modifiers="Primary,Shift" action="SelectionUnion" /> - <bind key="asterisk" modifiers="Ctrl" action="SelectionIntersect" display="true" /> - <bind key="KP_Multiply" modifiers="Ctrl" action="SelectionIntersect" /> - <bind key="asterisk" modifiers="Ctrl,Shift" action="SelectionIntersect" /> + <bind key="asterisk" modifiers="Primary" action="SelectionIntersect" display="true" /> + <bind key="KP_Multiply" modifiers="Primary" action="SelectionIntersect" /> + <bind key="asterisk" modifiers="Primary,Shift" action="SelectionIntersect" /> - <bind key="minus" modifiers="Ctrl" action="SelectionDiff" display="true" /> - <bind key="underscore" modifiers="Ctrl" action="SelectionDiff" /> - <bind key="underscore" modifiers="Ctrl,Shift" action="SelectionDiff" /> - <bind key="KP_Subtract" modifiers="Ctrl" action="SelectionDiff" /> - <bind key="minus" modifiers="Ctrl,Shift" action="SelectionDiff" /> + <bind key="minus" modifiers="Primary" action="SelectionDiff" display="true" /> + <bind key="underscore" modifiers="Primary" action="SelectionDiff" /> + <bind key="underscore" modifiers="Primary,Shift" action="SelectionDiff" /> + <bind key="KP_Subtract" modifiers="Primary" action="SelectionDiff" /> + <bind key="minus" modifiers="Primary,Shift" action="SelectionDiff" /> - <bind key="asciicircum" modifiers="Ctrl" action="SelectionSymDiff" display="true" /> <!-- ^ --> - <bind key="asciicircum" modifiers="Ctrl,Shift" action="SelectionSymDiff" /> + <bind key="asciicircum" modifiers="Primary" action="SelectionSymDiff" display="true" /> <!-- ^ --> + <bind key="asciicircum" modifiers="Primary,Shift" action="SelectionSymDiff" /> - <bind key="slash" modifiers="Ctrl,Alt" action="SelectionCutPath" display="true" /> - <bind key="slash" modifiers="Ctrl,Alt,Shift" action="SelectionCutPath" /> + <bind key="slash" modifiers="Primary,Alt" action="SelectionCutPath" display="true" /> + <bind key="slash" modifiers="Primary,Alt,Shift" action="SelectionCutPath" /> - <bind key="slash" modifiers="Ctrl" action="SelectionDivide" display="true" /> - <bind key="KP_Divide" modifiers="Ctrl" action="SelectionDivide" /> - <bind key="slash" modifiers="Ctrl,Shift" action="SelectionDivide" /> + <bind key="slash" modifiers="Primary" action="SelectionDivide" display="true" /> + <bind key="KP_Divide" modifiers="Primary" action="SelectionDivide" /> + <bind key="slash" modifiers="Primary,Shift" action="SelectionDivide" /> - <bind key="parenright" modifiers="Ctrl" action="SelectionOffset" display="true" /> - <bind key="parenright" modifiers="Ctrl,Shift" action="SelectionOffset" /> - <bind key="0" modifiers="Ctrl,Shift" action="SelectionOffset" /> - <bind key="0" modifiers="Ctrl" action="SelectionOffset" /> + <bind key="parenright" modifiers="Primary" action="SelectionOffset" display="true" /> + <bind key="parenright" modifiers="Primary,Shift" action="SelectionOffset" /> + <bind key="0" modifiers="Primary,Shift" action="SelectionOffset" /> + <bind key="0" modifiers="Primary" action="SelectionOffset" /> <bind key="parenright" modifiers="Alt" action="SelectionOffsetScreen" display="true" /> <bind key="0" modifiers="Alt" action="SelectionOffsetScreen" /> @@ -518,10 +520,10 @@ override) the bindings in the main default.xml. <bind key="parenright" modifiers="Alt,Shift" action="SelectionOffsetScreen10" display="true" /> <bind key="0" modifiers="Alt,Shift" action="SelectionOffsetScreen10" /> - <bind key="parenleft" modifiers="Ctrl" action="SelectionInset" display="true" /> - <bind key="parenleft" modifiers="Ctrl,Shift" action="SelectionInset" /> - <bind key="9" modifiers="Ctrl,Shift" action="SelectionInset" /> - <bind key="9" modifiers="Ctrl" action="SelectionInset" /> + <bind key="parenleft" modifiers="Primary" action="SelectionInset" display="true" /> + <bind key="parenleft" modifiers="Primary,Shift" action="SelectionInset" /> + <bind key="9" modifiers="Primary,Shift" action="SelectionInset" /> + <bind key="9" modifiers="Primary" action="SelectionInset" /> <bind key="parenleft" modifiers="Alt" action="SelectionInsetScreen" display="true" /> <bind key="9" modifiers="Alt" action="SelectionInsetScreen" /> @@ -529,14 +531,14 @@ override) the bindings in the main default.xml. <bind key="parenleft" modifiers="Alt,Shift" action="SelectionInsetScreen10" display="true" /> <bind key="9" modifiers="Alt,Shift" action="SelectionInsetScreen10" /> - <bind key="j" modifiers="Ctrl" action="SelectionDynOffset" display="true" /> - <bind key="J" modifiers="Ctrl" action="SelectionDynOffset" /> + <bind key="j" modifiers="Primary" action="SelectionDynOffset" display="true" /> + <bind key="J" modifiers="Primary" action="SelectionDynOffset" /> - <bind key="j" modifiers="Ctrl,Alt" action="SelectionLinkedOffset" display="true" /> - <bind key="J" modifiers="Ctrl,Alt" action="SelectionLinkedOffset" /> + <bind key="j" modifiers="Primary,Alt" action="SelectionLinkedOffset" display="true" /> + <bind key="J" modifiers="Primary,Alt" action="SelectionLinkedOffset" /> - <bind key="l" modifiers="Ctrl" action="SelectionSimplify" display="true" /> - <bind key="L" modifiers="Ctrl" action="SelectionSimplify" /> + <bind key="l" modifiers="Primary" action="SelectionSimplify" display="true" /> + <bind key="L" modifiers="Primary" action="SelectionSimplify" /> <bind action="SelectionReverse" /> @@ -554,32 +556,32 @@ override) the bindings in the main default.xml. <bind action="ObjectFlowtextToText" /> <bind action="SelectionTextRemoveKerns" /> - <bind key="k" modifiers="Ctrl,Alt" action="DialogSpellcheck" display="true" /> - <bind key="K" modifiers="Ctrl,Alt" action="DialogSpellcheck" /> + <bind key="k" modifiers="Primary,Alt" action="DialogSpellcheck" display="true" /> + <bind key="K" modifiers="Primary,Alt" action="DialogSpellcheck" /> <!-- Layers --> - <bind key="N" modifiers="Ctrl,Shift" action="LayerNew" display="true" /> - <bind key="n" modifiers="Ctrl,Shift" action="LayerNew" /> + <bind key="N" modifiers="Primary,Shift" action="LayerNew" display="true" /> + <bind key="n" modifiers="Primary,Shift" action="LayerNew" /> <bind action="LayerRename" /> - <bind key="Page_Up" modifiers="Ctrl" action="LayerNext" display="true" /> - <bind key="KP_Page_Up" modifiers="Ctrl" action="LayerNext" /> - <bind key="Page_Down" modifiers="Ctrl" action="LayerPrev" display="true" /> - <bind key="KP_Page_Down" modifiers="Ctrl" action="LayerPrev" /> + <bind key="Page_Up" modifiers="Primary" action="LayerNext" display="true" /> + <bind key="KP_Page_Up" modifiers="Primary" action="LayerNext" /> + <bind key="Page_Down" modifiers="Primary" action="LayerPrev" display="true" /> + <bind key="KP_Page_Down" modifiers="Primary" action="LayerPrev" /> <bind action="LayerDelete" /> - <bind key="Page_Up" modifiers="Ctrl,Shift" action="LayerRaise" display="true" /> - <bind key="KP_Page_Up" modifiers="Ctrl,Shift" action="LayerRaise" /> + <bind key="Page_Up" modifiers="Primary,Shift" action="LayerRaise" display="true" /> + <bind key="KP_Page_Up" modifiers="Primary,Shift" action="LayerRaise" /> - <bind key="Page_Down" modifiers="Ctrl,Shift" action="LayerLower" display="true" /> - <bind key="KP_Page_Down" modifiers="Ctrl,Shift" action="LayerLower" /> + <bind key="Page_Down" modifiers="Primary,Shift" action="LayerLower" display="true" /> + <bind key="KP_Page_Down" modifiers="Primary,Shift" action="LayerLower" /> - <bind key="Home" modifiers="Ctrl,Shift" action="LayerToTop" display="true" /> - <bind key="KP_Home" modifiers="Ctrl,Shift" action="LayerToTop" /> + <bind key="Home" modifiers="Primary,Shift" action="LayerToTop" display="true" /> + <bind key="KP_Home" modifiers="Primary,Shift" action="LayerToTop" /> - <bind key="End" modifiers="Ctrl,Shift" action="LayerToBottom" display="true" /> - <bind key="KP_End" modifiers="Ctrl,Shift" action="LayerToBottom" /> + <bind key="End" modifiers="Primary,Shift" action="LayerToBottom" display="true" /> + <bind key="KP_End" modifiers="Primary,Shift" action="LayerToBottom" /> <bind key="Page_Up" modifiers="Shift" action="LayerMoveToNext" display="true" /> <bind key="KP_Page_Up" modifiers="Shift" action="LayerMoveToNext" /> @@ -589,8 +591,8 @@ override) the bindings in the main default.xml. <bind action="LayerMoveTo" /> - <bind key="l" modifiers="Ctrl,Shift" action="DialogLayers" display="true" /> - <bind key="L" modifiers="Ctrl,Shift" action="DialogLayers" /> + <bind key="l" modifiers="Primary,Shift" action="DialogLayers" display="true" /> + <bind key="L" modifiers="Primary,Shift" action="DialogLayers" /> <bind action="LayerDuplicate" /> <bind action="LayerDelete" /> @@ -608,46 +610,46 @@ override) the bindings in the main default.xml. <!-- Dialogs --> - <bind key="x" modifiers="Ctrl,Shift" action="DialogXMLEditor" display="true" /> - <bind key="X" modifiers="Ctrl,Shift" action="DialogXMLEditor" /> + <bind key="x" modifiers="Primary,Shift" action="DialogXMLEditor" display="true" /> + <bind key="X" modifiers="Primary,Shift" action="DialogXMLEditor" /> - <bind key="d" modifiers="Ctrl,Shift" action="DialogDocumentProperties" display="true" /> - <bind key="D" modifiers="Ctrl,Shift" action="DialogDocumentProperties" /> + <bind key="d" modifiers="Primary,Shift" action="DialogDocumentProperties" display="true" /> + <bind key="D" modifiers="Primary,Shift" action="DialogDocumentProperties" /> - <bind key="a" modifiers="Ctrl,Shift" action="DialogAlignDistribute" display="true" /> - <bind key="A" modifiers="Ctrl,Shift" action="DialogAlignDistribute" /> + <bind key="a" modifiers="Primary,Shift" action="DialogAlignDistribute" display="true" /> + <bind key="A" modifiers="Primary,Shift" action="DialogAlignDistribute" /> - <bind key="t" modifiers="Ctrl,Shift" action="DialogText" display="true" /> - <bind key="T" modifiers="Ctrl,Shift" action="DialogText" /> + <bind key="t" modifiers="Primary,Shift" action="DialogText" display="true" /> + <bind key="T" modifiers="Primary,Shift" action="DialogText" /> - <bind key="p" modifiers="Ctrl,Shift" action="DialogPreferences" display="true" /> - <bind key="P" modifiers="Ctrl,Shift" action="DialogPreferences" /> + <bind key="p" modifiers="Primary,Shift" action="DialogPreferences" display="true" /> + <bind key="P" modifiers="Primary,Shift" action="DialogPreferences" /> - <bind key="f" modifiers="Ctrl,Shift" action="DialogFillStroke" display="true" /> - <bind key="F" modifiers="Ctrl,Shift" action="DialogFillStroke" /> + <bind key="f" modifiers="Primary,Shift" action="DialogFillStroke" display="true" /> + <bind key="F" modifiers="Primary,Shift" action="DialogFillStroke" /> - <bind key="f" modifiers="Ctrl" action="DialogFind" display="true" /> - <bind key="F" modifiers="Ctrl" action="DialogFind" /> + <bind key="f" modifiers="Primary" action="DialogFind" display="true" /> + <bind key="F" modifiers="Primary" action="DialogFind" /> - <bind key="m" modifiers="Ctrl,Shift" action="DialogTransform" display="true" /> - <bind key="M" modifiers="Ctrl,Shift" action="DialogTransform" /> + <bind key="m" modifiers="Primary,Shift" action="DialogTransform" display="true" /> + <bind key="M" modifiers="Primary,Shift" action="DialogTransform" /> - <bind key="o" modifiers="Ctrl,Shift" action="DialogObjectProperties" display="true" /> - <bind key="O" modifiers="Ctrl,Shift" action="DialogObjectProperties" /> + <bind key="o" modifiers="Primary,Shift" action="DialogObjectProperties" display="true" /> + <bind key="O" modifiers="Primary,Shift" action="DialogObjectProperties" /> <bind action="DialogObjectAttributes" /> - <bind key="w" modifiers="Ctrl,Shift" action="DialogSwatches" display="true" /> - <bind key="W" modifiers="Ctrl,Shift" action="DialogSwatches" /> + <bind key="w" modifiers="Primary,Shift" action="DialogSwatches" display="true" /> + <bind key="W" modifiers="Primary,Shift" action="DialogSwatches" /> - <bind key="y" modifiers="Ctrl,Shift" action="DialogSymbols" display="true" /> - <bind key="Y" modifiers="Ctrl,Shift" action="DialogSymbols" /> + <bind key="y" modifiers="Primary,Shift" action="DialogSymbols" display="true" /> + <bind key="Y" modifiers="Primary,Shift" action="DialogSymbols" /> - <bind key="ampersand" modifiers="Ctrl,Shift" action="DialogLivePathEffect" /> - <bind key="7" modifiers="Ctrl,Shift" action="DialogLivePathEffect" display="true" /> + <bind key="ampersand" modifiers="Primary,Shift" action="DialogLivePathEffect" /> + <bind key="7" modifiers="Primary,Shift" action="DialogLivePathEffect" display="true" /> - <bind key="ampersand" modifiers="Ctrl" action="PasteLivePathEffect" /> - <bind key="7" modifiers="Ctrl" action="PasteLivePathEffect" display="true" /> + <bind key="ampersand" modifiers="Primary" action="PasteLivePathEffect" /> + <bind key="7" modifiers="Primary" action="PasteLivePathEffect" display="true" /> <bind action="RemoveLivePathEffect" /> @@ -659,26 +661,26 @@ override) the bindings in the main default.xml. <bind key="F12" action="DialogsToggle" display="true" /> - <bind key="h" modifiers="Ctrl,Alt" action="AlignHorizontalCenter" display="true" /> - <bind key="H" modifiers="Ctrl,Alt" action="AlignHorizontalCenter" /> + <bind key="h" modifiers="Primary,Alt" action="AlignHorizontalCenter" display="true" /> + <bind key="H" modifiers="Primary,Alt" action="AlignHorizontalCenter" /> - <bind key="t" modifiers="Ctrl,Alt" action="AlignVerticalCenter" display="true" /> - <bind key="T" modifiers="Ctrl,Alt" action="AlignVerticalCenter" /> + <bind key="t" modifiers="Primary,Alt" action="AlignVerticalCenter" display="true" /> + <bind key="T" modifiers="Primary,Alt" action="AlignVerticalCenter" /> - <bind key="KP_2" modifiers="Ctrl,Alt" action="AlignVerticalBottom" display="true" /> - <bind key="KP_2" modifiers="Ctrl,Alt" action="AlignVerticalBottom" /> + <bind key="KP_2" modifiers="Primary,Alt" action="AlignVerticalBottom" display="true" /> + <bind key="KP_2" modifiers="Primary,Alt" action="AlignVerticalBottom" /> - <bind key="KP_4" modifiers="Ctrl,Alt" action="AlignHorizontalLeft" display="true" /> - <bind key="KP_4" modifiers="Ctrl,Alt" action="AlignHorizontalLeft" /> + <bind key="KP_4" modifiers="Primary,Alt" action="AlignHorizontalLeft" display="true" /> + <bind key="KP_4" modifiers="Primary,Alt" action="AlignHorizontalLeft" /> - <bind key="KP_5" modifiers="Ctrl,Alt" action="AlignVerticalHorizontalCenter" display="true" /> - <bind key="KP_5" modifiers="Ctrl,Alt" action="AlignVerticalHorizontalCenter" /> + <bind key="KP_5" modifiers="Primary,Alt" action="AlignVerticalHorizontalCenter" display="true" /> + <bind key="KP_5" modifiers="Primary,Alt" action="AlignVerticalHorizontalCenter" /> - <bind key="KP_6" modifiers="Ctrl,Alt" action="AlignHorizontalRight" display="true" /> - <bind key="KP_6" modifiers="Ctrl,Alt" action="AlignHorizontalRight" /> + <bind key="KP_6" modifiers="Primary,Alt" action="AlignHorizontalRight" display="true" /> + <bind key="KP_6" modifiers="Primary,Alt" action="AlignHorizontalRight" /> - <bind key="KP_8" modifiers="Ctrl,Alt" action="AlignVerticalTop" display="true" /> - <bind key="KP_8" modifiers="Ctrl,Alt" action="AlignVerticalTop" /> + <bind key="KP_8" modifiers="Primary,Alt" action="AlignVerticalTop" display="true" /> + <bind key="KP_8" modifiers="Primary,Alt" action="AlignVerticalTop" /> <!-- Help --> @@ -699,15 +701,15 @@ override) the bindings in the main default.xml. effect id from the .inx file, for example "org.ekips.filter.addnodes" for the Add Nodes effect. --> - <bind key="g" modifiers="Ctrl,Alt" action="org.inkscape.typography.newglyphlayer" display="true"/> - <bind key="G" modifiers="Ctrl,Alt" action="org.inkscape.typography.newglyphlayer"/> + <bind key="g" modifiers="Primary,Alt" action="org.inkscape.typography.newglyphlayer" display="true"/> + <bind key="G" modifiers="Primary,Alt" action="org.inkscape.typography.newglyphlayer"/> <!-- - <bind key="h" modifiers="Ctrl,Alt" action="org.inkscape.typography.previousglyphlayer" display="true"/> - <bind key="H" modifiers="Ctrl,Alt" action="org.inkscape.typography.previousglyphlayer"/> + <bind key="h" modifiers="Primary,Alt" action="org.inkscape.typography.previousglyphlayer" display="true"/> + <bind key="H" modifiers="Primary,Alt" action="org.inkscape.typography.previousglyphlayer"/> --> - <bind key="j" modifiers="Ctrl,Alt" action="org.inkscape.typography.nextglyphlayer" display="true"/> - <bind key="J" modifiers="Ctrl,Alt" action="org.inkscape.typography.nextglyphlayer"/> + <bind key="j" modifiers="Primary,Alt" action="org.inkscape.typography.nextglyphlayer" display="true"/> + <bind key="J" modifiers="Primary,Alt" action="org.inkscape.typography.nextglyphlayer"/> </keys> diff --git a/share/palettes/MunsellChart.gpl b/share/palettes/MunsellChart.gpl new file mode 100644 index 000000000..23e9b6245 --- /dev/null +++ b/share/palettes/MunsellChart.gpl @@ -0,0 +1,5418 @@ +GIMP Palette +Name: MunsellChart +Columns: 15 +# + 0 0 0 #000000 + 29 29 29 #1d1d1d + 49 49 49 #313131 + 72 72 72 #484848 + 97 97 97 #616161 + 122 122 122 #7a7a7a + 148 148 148 #949494 + 174 174 174 #aeaeae + 200 200 200 #c8c8c8 + 227 227 227 #e3e3e3 + 255 255 255 #ffffff + 255 255 255 #ffffff + 255 255 255 #ffffff + 255 255 255 #ffffff + 227 227 227 #e3e3e3 + 242 226 227 #f2e2e3 + 255 219 222 #ffdbde + 255 211 218 #ffd3da + 255 204 214 #ffccd6 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 215 199 200 #d7c7c8 + 234 192 196 #eac0c4 + 251 186 192 #fbbac0 + 255 178 188 #ffb2bc + 255 169 185 #ffa9b9 + 255 157 181 #ff9db5 + 255 148 177 #ff94b1 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 174 174 174 #aeaeae + 190 171 173 #beabad + 207 166 170 #cfa6aa + 223 159 166 #df9fa6 + 238 152 163 #ee98a3 + 252 144 160 #fc90a0 + 255 134 157 #ff869d + 255 123 154 #ff7b9a + 255 110 152 #ff6e98 + 255 96 149 #ff6095 + 255 82 147 #ff5293 + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 148 148 148 #949494 + 165 145 147 #a59193 + 181 139 143 #b58b8f + 196 132 140 #c4848c + 209 126 138 #d17e8a + 222 117 135 #de7587 + 235 108 133 #eb6c85 + 247 97 131 #f76183 + 255 82 129 #ff5281 + 255 65 127 #ff417f + 255 39 127 #ff277f + 255 0 126 #ff007e + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 122 122 122 #7a7a7a + 139 118 121 #8b7679 + 155 112 118 #9b7076 + 169 105 115 #a96973 + 183 97 113 #b76171 + 195 89 111 #c3596f + 208 77 109 #d04d6d + 218 65 108 #da416c + 230 45 107 #e62d6b + 240 3 106 #f0036a + 252 0 105 #fc0069 + 255 0 105 #ff0069 + 255 0 104 #ff0068 + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 97 97 97 #616161 + 115 92 95 #735c5f + 130 86 93 #82565d + 143 78 91 #8f4e5b + 155 70 89 #9b4659 + 166 60 88 #a63c58 + 177 46 87 #b12e57 + 188 23 86 #bc1756 + 198 0 86 #c60056 + 209 0 86 #d10056 + 219 0 86 #db0056 + 227 0 87 #e30057 + 237 0 88 #ed0058 + 97 97 97 #616161 + 97 97 97 #616161 + 72 72 72 #484848 + 91 66 71 #5b4247 + 105 60 69 #693c45 + 117 52 68 #753444 + 128 40 67 #802843 + 139 24 67 #8b1843 + 150 0 67 #960043 + 159 0 67 #9f0043 + 170 0 68 #aa0044 + 179 0 68 #b30044 + 188 0 70 #bc0046 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 49 49 49 #313131 + 65 44 50 #412c32 + 76 38 51 #4c2633 + 86 30 52 #561e34 + 96 17 54 #601136 + 105 0 56 #690038 + 115 0 59 #73003b + 124 0 61 #7c003d + 133 0 64 #850040 + 141 0 67 #8d0043 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 29 29 29 #1d1d1d + 44 22 32 #2c1620 + 53 15 35 #350f23 + 61 5 38 #3d0526 + 69 0 41 #450029 + 76 0 44 #4c002c + 83 0 48 #530030 + 90 0 52 #5a0034 + 96 0 55 #600037 + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 227 227 227 #e3e3e3 + 243 226 226 #f3e2e2 + 255 219 218 #ffdbda + 255 211 211 #ffd3d3 + 255 204 205 #ffcccd + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 216 199 199 #d8c7c7 + 236 192 192 #ecc0c0 + 253 185 186 #fdb9ba + 255 177 179 #ffb1b3 + 255 169 173 #ffa9ad + 255 158 166 #ff9ea6 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 174 174 174 #aeaeae + 191 171 171 #bfabab + 208 165 166 #d0a5a6 + 224 159 160 #e09fa0 + 240 152 155 #f0989b + 254 144 149 #fe9095 + 255 134 143 #ff868f + 255 123 139 #ff7b8b + 255 110 134 #ff6e86 + 255 98 130 #ff6282 + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 148 148 148 #949494 + 165 145 145 #a59191 + 182 139 140 #b68b8c + 198 132 134 #c68486 + 211 125 129 #d37d81 + 225 117 125 #e1757d + 238 107 120 #ee6b78 + 249 97 116 #f96174 + 255 82 112 #ff5270 + 255 65 108 #ff416c + 255 42 105 #ff2a69 + 255 0 103 #ff0067 + 255 0 102 #ff0066 + 148 148 148 #949494 + 148 148 148 #949494 + 122 122 122 #7a7a7a + 140 118 119 #8c7677 + 156 112 114 #9c7072 + 171 105 109 #ab696d + 184 97 105 #b86169 + 197 88 100 #c55864 + 210 76 96 #d24c60 + 220 65 93 #dc415d + 232 45 90 #e82d5a + 243 0 87 #f30057 + 255 0 85 #ff0055 + 255 0 84 #ff0054 + 255 0 83 #ff0053 + 255 0 82 #ff0052 + 255 0 81 #ff0051 + 97 97 97 #616161 + 116 92 93 #745c5d + 131 86 89 #835659 + 144 78 85 #904e55 + 157 70 81 #9d4651 + 168 60 78 #a83c4e + 179 46 75 #b32e4b + 190 21 72 #be1548 + 200 0 70 #c80046 + 211 0 68 #d30044 + 221 0 65 #dd0041 + 230 0 65 #e60041 + 239 0 62 #ef003e + 97 97 97 #616161 + 97 97 97 #616161 + 72 72 72 #484848 + 92 66 68 #5c4244 + 106 60 65 #6a3c41 + 118 52 61 #76343d + 130 40 58 #82283a + 141 23 56 #8d1738 + 152 0 54 #980036 + 161 0 52 #a10034 + 171 0 51 #ab0033 + 181 0 50 #b50032 + 193 0 50 #c10032 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 49 49 49 #313131 + 66 44 48 #422c30 + 77 38 47 #4d262f + 87 30 47 #571e2f + 98 15 47 #620f2f + 108 0 47 #6c002f + 118 0 48 #760030 + 128 0 49 #800031 + 137 0 50 #890032 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 29 29 29 #1d1d1d + 45 22 30 #2d161e + 54 15 31 #360f1f + 63 3 33 #3f0321 + 71 0 35 #470023 + 78 0 37 #4e0025 + 87 0 40 #570028 + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 227 227 227 #e3e3e3 + 244 226 224 #f4e2e0 + 255 219 213 #ffdbd5 + 255 211 203 #ffd3cb + 255 203 196 #ffcbc4 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 217 199 197 #d9c7c5 + 237 192 188 #edc0bc + 255 185 179 #ffb9b3 + 255 177 170 #ffb1aa + 255 169 162 #ffa9a2 + 255 158 152 #ff9e98 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 174 174 174 #aeaeae + 192 171 170 #c0abaa + 210 165 162 #d2a5a2 + 226 159 154 #e29f9a + 242 152 146 #f29892 + 255 144 139 #ff908b + 255 134 130 #ff8682 + 255 124 123 #ff7c7b + 255 112 115 #ff7073 + 255 100 109 #ff646d + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 148 148 148 #949494 + 166 145 143 #a6918f + 183 139 136 #b78b88 + 199 132 128 #c78480 + 212 125 121 #d47d79 + 226 117 114 #e27572 + 239 108 107 #ef6c6b + 251 98 100 #fb6264 + 255 84 92 #ff545c + 255 68 85 #ff4455 + 255 49 80 #ff3150 + 255 10 75 #ff0a4b + 255 0 72 #ff0048 + 148 148 148 #949494 + 148 148 148 #949494 + 122 122 122 #7a7a7a + 140 118 117 #8c7675 + 157 112 110 #9d706e + 172 105 102 #ac6966 + 186 98 95 #ba625f + 198 88 88 #c65858 + 211 77 81 #d34d51 + 221 66 75 #dd424b + 233 47 68 #e92f44 + 244 8 62 #f4083e + 253 0 57 #fd0039 + 255 0 52 #ff0034 + 255 0 49 #ff0031 + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 97 97 97 #616161 + 116 92 91 #745c5b + 132 85 84 #845554 + 145 79 77 #914f4d + 158 70 71 #9e4647 + 169 60 65 #a93c41 + 179 48 59 #b3303b + 190 26 52 #be1a34 + 200 0 47 #c8002f + 211 0 41 #d30029 + 220 0 37 #dc0025 + 228 0 33 #e40021 + 237 0 29 #ed001d + 97 97 97 #616161 + 97 97 97 #616161 + 72 72 72 #484848 + 92 67 66 #5c4342 + 107 60 60 #6b3c3c + 118 52 55 #763437 + 130 42 49 #822a31 + 141 25 44 #8d192c + 152 0 40 #980028 + 161 0 37 #a10025 + 171 0 33 #ab0021 + 182 0 31 #b6001f + 193 0 30 #c1001e + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 49 49 49 #313131 + 66 44 46 #422c2e + 78 38 43 #4e262b + 88 29 41 #581d29 + 99 14 38 #630e26 + 110 0 37 #6e0025 + 119 0 36 #770024 + 129 0 36 #810024 + 139 0 36 #8b0024 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 29 29 29 #1d1d1d + 46 22 28 #2e161c + 55 15 27 #370f1b + 64 2 28 #40021c + 72 0 28 #48001c + 80 0 29 #50001d + 89 0 31 #59001f + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 227 227 227 #e3e3e3 + 245 226 222 #f5e2de + 255 218 208 #ffdad0 + 255 212 194 #ffd4c2 + 255 204 183 #ffccb7 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 217 199 195 #d9c7c3 + 239 192 183 #efc0b7 + 255 185 171 #ffb9ab + 255 178 159 #ffb29f + 255 170 147 #ffaa93 + 255 161 133 #ffa185 + 255 152 124 #ff987c + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 174 174 174 #aeaeae + 193 171 167 #c1aba7 + 211 165 157 #d3a59d + 227 159 147 #e39f93 + 243 152 135 #f39887 + 255 145 125 #ff917d + 255 136 113 #ff8871 + 255 127 101 #ff7f65 + 255 117 88 #ff7558 + 255 107 79 #ff6b4f + 255 96 69 #ff6045 + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 148 148 148 #949494 + 167 144 141 #a7908d + 184 139 131 #b88b83 + 199 133 122 #c7857a + 213 126 111 #d57e6f + 227 118 100 #e37664 + 239 110 90 #ef6e5a + 250 100 78 #fa644e + 255 89 66 #ff5942 + 255 76 52 #ff4c34 + 255 62 41 #ff3e29 + 255 41 20 #ff2914 + 255 13 0 #ff0d00 + 255 0 0 #ff0000 + 148 148 148 #949494 + 122 122 122 #7a7a7a + 141 118 115 #8d7673 + 158 112 106 #9e706a + 172 106 96 #ac6a60 + 186 98 86 #ba6256 + 198 90 75 #c65a4b + 210 80 65 #d25041 + 220 69 55 #dc4537 + 231 54 43 #e7362b + 240 32 31 #f0201f + 249 0 16 #f90010 + 255 0 0 #ff0000 + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 97 97 97 #616161 + 116 92 89 #745c59 + 132 86 80 #845650 + 145 79 71 #914f47 + 158 71 62 #9e473e + 168 62 53 #a83e35 + 178 51 44 #b2332c + 188 34 34 #bc2222 + 198 0 24 #c60018 + 207 0 11 #cf000b + 217 0 0 #d90000 + 224 0 0 #e00000 + 234 0 0 #ea0000 + 97 97 97 #616161 + 97 97 97 #616161 + 72 72 72 #484848 + 92 67 64 #5c4340 + 106 60 56 #6a3c38 + 118 53 48 #763530 + 129 43 40 #812b28 + 140 29 31 #8c1d1f + 151 0 23 #970017 + 160 0 16 #a00010 + 169 0 8 #a90008 + 180 0 0 #b40000 + 192 0 0 #c00000 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 49 49 49 #313131 + 67 44 44 #432c2c + 79 38 39 #4f2627 + 89 30 34 #591e22 + 99 17 29 #63111d + 110 0 25 #6e0019 + 119 0 22 #770016 + 129 0 20 #810014 + 139 0 18 #8b0012 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 29 29 29 #1d1d1d + 46 22 26 #2e161a + 56 15 24 #380f18 + 65 2 22 #410216 + 73 0 22 #490016 + 81 0 22 #510016 + 90 0 22 #5a0016 + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 227 227 227 #e3e3e3 + 246 226 219 #f6e2db + 255 219 201 #ffdbc9 + 255 213 186 #ffd5ba + 255 205 171 #ffcdab + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 218 199 193 #dac7c1 + 240 192 177 #f0c0b1 + 255 186 162 #ffbaa2 + 255 180 147 #ffb493 + 255 173 132 #ffad84 + 255 165 114 #ffa572 + 255 158 97 #ff9e61 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 174 174 174 #aeaeae + 193 171 165 #c1aba5 + 211 166 151 #d3a697 + 227 160 138 #e3a08a + 242 154 123 #f29a7b + 254 147 110 #fe936e + 255 140 92 #ff8c5c + 255 132 74 #ff844a + 255 124 51 #ff7c33 + 255 118 29 #ff761d + 255 110 0 #ff6e00 + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 148 148 148 #949494 + 168 145 138 #a8918a + 185 139 125 #b98b7d + 199 134 113 #c78671 + 212 127 99 #d47f63 + 225 120 84 #e17854 + 236 113 68 #ec7144 + 247 105 49 #f76931 + 255 98 22 #ff6216 + 255 89 0 #ff5900 + 255 79 0 #ff4f00 + 255 69 0 #ff4500 + 255 59 0 #ff3b00 + 255 48 0 #ff3000 + 148 148 148 #949494 + 122 122 122 #7a7a7a + 141 119 113 #8d7771 + 158 113 100 #9e7164 + 172 107 87 #ac6b57 + 185 100 73 #b96449 + 197 93 58 #c55d3a + 207 85 41 #cf5529 + 215 77 20 #d74d14 + 223 69 0 #df4500 + 230 58 0 #e63a00 + 238 44 0 #ee2c00 + 245 20 0 #f51400 + 252 0 0 #fc0000 + 255 0 0 #ff0000 + 122 122 122 #7a7a7a + 97 97 97 #616161 + 117 92 87 #755c57 + 132 86 75 #84564b + 144 80 64 #905040 + 156 73 51 #9c4933 + 166 65 37 #a64125 + 175 57 19 #af3913 + 183 46 0 #b72e00 + 190 34 0 #be2200 + 198 6 0 #c60600 + 204 0 0 #cc0000 + 212 0 0 #d40000 + 219 0 0 #db0000 + 97 97 97 #616161 + 97 97 97 #616161 + 72 72 72 #484848 + 92 67 62 #5c433e + 106 61 52 #6a3d34 + 117 54 42 #75362a + 128 46 31 #802e1f + 138 34 18 #8a2212 + 147 14 0 #930e00 + 156 0 0 #9c0000 + 165 0 0 #a50000 + 174 0 0 #ae0000 + 184 0 0 #b80000 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 49 49 49 #313131 + 66 45 42 #422d2a + 78 38 34 #4e2622 + 88 31 27 #581f1b + 99 19 19 #631313 + 108 0 11 #6c000b + 118 0 4 #760004 + 128 0 0 #800000 + 137 0 0 #890000 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 29 29 29 #1d1d1d + 46 23 23 #2e1717 + 57 14 19 #390e13 + 65 3 16 #410310 + 74 0 13 #4a000d + 82 0 11 #52000b + 90 0 10 #5a000a + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 227 227 227 #e3e3e3 + 247 226 216 #f7e2d8 + 255 220 195 #ffdcc3 + 255 215 176 #ffd7b0 + 255 208 157 #ffd09d + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 219 199 189 #dbc7bd + 239 193 170 #efc1aa + 254 188 154 #febc9a + 255 182 135 #ffb687 + 255 177 117 #ffb175 + 255 171 96 #ffab60 + 255 165 72 #ffa548 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 174 174 174 #aeaeae + 194 171 162 #c2aba2 + 210 167 146 #d2a792 + 226 161 129 #e2a181 + 239 156 113 #ef9c71 + 250 151 96 #fa9760 + 255 145 74 #ff914a + 255 139 45 #ff8b2d + 255 135 0 #ff8700 + 255 131 0 #ff8300 + 255 128 0 #ff8000 + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 148 148 148 #949494 + 168 145 135 #a89187 + 183 140 120 #b78c78 + 198 135 104 #c68768 + 210 130 89 #d28259 + 221 124 70 #dd7c46 + 230 119 48 #e67730 + 238 114 13 #ee720d + 244 110 0 #f46e00 + 248 106 0 #f86a00 + 253 102 0 #fd6600 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 122 122 122 #7a7a7a + 141 119 110 #8d776e + 156 114 95 #9c725f + 170 108 80 #aa6c50 + 182 103 62 #b6673e + 192 97 43 #c0612b + 199 92 17 #c75c11 + 205 88 0 #cd5800 + 209 85 0 #d15500 + 214 80 0 #d65000 + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 97 97 97 #616161 + 116 93 84 #745d54 + 131 87 70 #835746 + 142 82 56 #8e5238 + 152 77 39 #984d27 + 160 71 17 #a04711 + 166 67 0 #a64300 + 172 61 0 #ac3d00 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 72 72 72 #484848 + 91 68 60 #5b443c + 104 62 47 #683e2f + 114 57 33 #723921 + 123 51 15 #7b330f + 130 45 0 #822d00 + 138 36 0 #8a2400 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 49 49 49 #313131 + 66 45 40 #422d28 + 78 39 30 #4e271e + 87 33 18 #572112 + 97 24 1 #611801 + 105 7 0 #690700 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 29 29 29 #1d1d1d + 46 23 20 #2e1714 + 57 15 11 #390f0b + 65 5 5 #410505 + 73 0 0 #490000 + 82 0 0 #520000 + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 227 227 227 #e3e3e3 + 247 226 211 #f7e2d3 + 255 222 188 #ffdebc + 255 217 168 #ffd9a8 + 255 213 147 #ffd593 + 255 208 126 #ffd07e + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 219 199 185 #dbc7b9 + 236 195 165 #ecc3a5 + 250 190 146 #fabe92 + 255 186 124 #ffba7c + 255 182 103 #ffb667 + 255 178 78 #ffb24e + 255 174 46 #ffae2e + 255 170 0 #ffaa00 + 255 168 0 #ffa800 + 255 166 0 #ffa600 + 255 165 0 #ffa500 + 255 163 0 #ffa300 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 174 174 174 #aeaeae + 194 172 158 #c2ac9e + 209 168 140 #d1a88c + 222 164 121 #dea479 + 233 160 102 #e9a066 + 243 155 80 #f39b50 + 253 151 53 #fd9735 + 255 148 4 #ff9404 + 255 145 0 #ff9100 + 255 143 0 #ff8f00 + 255 142 0 #ff8e00 + 255 140 0 #ff8c00 + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 148 148 148 #949494 + 167 145 132 #a79184 + 181 141 115 #b58d73 + 194 137 96 #c28960 + 205 133 76 #cd854c + 214 129 54 #d68136 + 222 125 23 #de7d17 + 227 122 0 #e37a00 + 231 120 0 #e77800 + 234 118 0 #ea7600 + 237 116 0 #ed7400 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 122 122 122 #7a7a7a + 140 119 107 #8c776b + 154 115 90 #9a735a + 167 111 71 #a76f47 + 177 106 51 #b16a33 + 184 102 27 #b8661b + 190 99 0 #be6300 + 195 97 0 #c36100 + 199 94 0 #c75e00 + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 97 97 97 #616161 + 115 93 81 #735d51 + 129 89 64 #815940 + 138 85 48 #8a5530 + 147 81 28 #93511c + 153 77 0 #994d00 + 158 74 0 #9e4a00 + 163 70 0 #a34600 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 72 72 72 #484848 + 90 68 58 #5a443a + 101 64 43 #65402b + 110 60 25 #6e3c19 + 117 56 0 #753800 + 123 52 0 #7b3400 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 49 49 49 #313131 + 65 46 38 #412e26 + 75 41 24 #4b2918 + 84 36 4 #542404 + 92 30 0 #5c1e00 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 29 29 29 #1d1d1d + 45 24 16 #2d1810 + 56 17 1 #381101 + 63 10 0 #3f0a00 + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 227 227 227 #e3e3e3 + 247 227 207 #f7e3cf + 255 223 183 #ffdfb7 + 255 220 160 #ffdca0 + 255 217 137 #ffd989 + 255 214 113 #ffd671 + 255 211 89 #ffd359 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 219 200 181 #dbc8b5 + 233 196 160 #e9c4a0 + 246 193 139 #f6c18b + 255 189 115 #ffbd73 + 255 187 91 #ffbb5b + 255 184 62 #ffb83e + 255 181 9 #ffb509 + 255 179 0 #ffb300 + 255 178 0 #ffb200 + 255 177 0 #ffb100 + 255 176 0 #ffb000 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 174 174 174 #aeaeae + 192 173 155 #c0ad9b + 206 169 135 #cea987 + 218 166 114 #daa672 + 228 163 92 #e4a35c + 236 160 67 #eca043 + 243 157 31 #f39d1f + 248 155 0 #f89b00 + 252 153 0 #fc9900 + 254 152 0 #fe9800 + 255 152 0 #ff9800 + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 148 148 148 #949494 + 166 146 130 #a69282 + 179 143 110 #b38f6e + 190 139 89 #be8b59 + 200 136 66 #c88842 + 207 133 38 #cf8526 + 212 131 0 #d48300 + 216 129 0 #d88100 + 219 128 0 #db8000 + 221 127 0 #dd7f00 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 122 122 122 #7a7a7a + 139 120 105 #8b7869 + 152 116 85 #987455 + 163 113 64 #a37140 + 171 110 40 #ab6e28 + 177 108 3 #b16c03 + 181 106 0 #b56a00 + 184 104 0 #b86800 + 187 103 0 #bb6700 + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 97 97 97 #616161 + 114 94 79 #725e4f + 126 90 59 #7e5a3b + 134 87 41 #865729 + 141 85 15 #8d550f + 146 82 0 #925200 + 149 81 0 #955100 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 72 72 72 #484848 + 88 69 56 #584538 + 98 66 39 #624227 + 106 63 18 #6a3f12 + 111 60 0 #6f3c00 + 116 58 0 #743a00 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 49 49 49 #313131 + 63 47 36 #3f2f24 + 72 43 18 #482b12 + 80 40 0 #502800 + 85 37 0 #552500 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 29 29 29 #1d1d1d + 43 25 13 #2b190d + 53 20 0 #351400 + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 227 227 227 #e3e3e3 + 245 228 203 #f5e4cb + 255 226 177 #ffe2b1 + 255 223 153 #ffdf99 + 255 221 127 #ffdd7f + 255 219 99 #ffdb63 + 255 217 72 #ffd948 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 217 200 178 #d9c8b2 + 229 198 155 #e5c69b + 239 196 131 #efc483 + 249 194 105 #f9c269 + 255 192 79 #ffc04f + 255 190 43 #ffbe2b + 255 188 0 #ffbc00 + 255 187 0 #ffbb00 + 255 186 0 #ffba00 + 255 185 0 #ffb900 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 174 174 174 #aeaeae + 190 174 152 #beae98 + 202 171 129 #caab81 + 212 169 106 #d4a96a + 220 167 82 #dca752 + 227 165 53 #e3a535 + 233 163 0 #e9a300 + 237 161 0 #eda100 + 239 161 0 #efa100 + 241 160 0 #f1a000 + 242 160 0 #f2a000 + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 148 148 148 #949494 + 164 147 127 #a4937f + 175 145 105 #af9169 + 185 142 81 #b98e51 + 192 140 56 #c08c38 + 198 138 19 #c68a13 + 202 137 0 #ca8900 + 205 136 0 #cd8800 + 207 135 0 #cf8700 + 209 134 0 #d18600 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 122 122 122 #7a7a7a + 137 121 102 #897966 + 148 118 80 #947650 + 158 116 56 #9e7438 + 164 114 28 #a4721c + 168 112 0 #a87000 + 171 111 0 #ab6f00 + 174 110 0 #ae6e00 + 176 109 0 #b06d00 + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 97 97 97 #616161 + 112 95 76 #705f4c + 122 92 55 #7a5c37 + 129 90 34 #815a22 + 134 88 0 #865800 + 138 87 0 #8a5700 + 141 86 0 #8d5600 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 72 72 72 #484848 + 86 70 54 #564636 + 94 68 35 #5e4423 + 101 66 9 #654209 + 105 64 0 #694000 + 110 62 0 #6e3e00 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 49 49 49 #313131 + 61 47 34 #3d2f22 + 69 45 14 #452d0e + 76 43 0 #4c2b00 + 80 41 0 #502900 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 29 29 29 #1d1d1d + 41 26 10 #291a0a + 50 22 0 #321600 + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 227 227 227 #e3e3e3 + 242 229 200 #f2e5c8 + 252 228 173 #fce4ad + 255 227 147 #ffe393 + 255 225 120 #ffe178 + 255 224 92 #ffe05c + 255 223 55 #ffdf37 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 214 202 175 #d6caaf + 224 200 151 #e0c897 + 232 199 125 #e8c77d + 240 198 98 #f0c662 + 246 196 68 #f6c444 + 251 195 18 #fbc312 + 255 194 0 #ffc200 + 255 193 0 #ffc100 + 255 192 0 #ffc000 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 174 174 174 #aeaeae + 187 175 150 #bbaf96 + 197 173 125 #c5ad7d + 206 172 100 #ceac64 + 212 170 73 #d4aa49 + 218 169 38 #daa926 + 222 168 0 #dea800 + 225 167 0 #e1a700 + 227 167 0 #e3a700 + 228 166 0 #e4a600 + 229 166 0 #e5a600 + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 148 148 148 #949494 + 161 148 124 #a1947c + 170 147 101 #aa9365 + 178 145 75 #b2914b + 184 144 46 #b8902e + 189 143 0 #bd8f00 + 192 142 0 #c08e00 + 194 141 0 #c28d00 + 196 141 0 #c48d00 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 122 122 122 #7a7a7a + 135 122 100 #877a64 + 144 120 76 #90784c + 151 119 49 #977731 + 156 118 16 #9c7610 + 159 117 0 #9f7500 + 162 116 0 #a27400 + 164 115 0 #a47300 + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 97 97 97 #616161 + 109 96 75 #6d604b + 117 95 52 #755f34 + 123 93 27 #7b5d1b + 127 92 0 #7f5c00 + 130 91 0 #825b00 + 132 91 0 #845b00 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 72 72 72 #484848 + 83 71 53 #534735 + 90 70 32 #5a4620 + 96 68 1 #604401 + 100 67 0 #644300 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 49 49 49 #313131 + 59 49 33 #3b3121 + 66 47 8 #422f08 + 71 45 0 #472d00 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 29 29 29 #1d1d1d + 39 27 8 #271b08 + 46 25 0 #2e1900 + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 227 227 227 #e3e3e3 + 239 230 198 #efe6c6 + 245 230 170 #f5e6aa + 251 230 143 #fbe68f + 255 230 114 #ffe672 + 255 229 82 #ffe552 + 255 229 34 #ffe522 + 255 229 0 #ffe500 + 255 228 0 #ffe400 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 211 203 173 #d3cbad + 217 203 147 #d9cb93 + 223 202 120 #dfca78 + 229 202 91 #e5ca5b + 233 201 56 #e9c938 + 237 201 0 #edc900 + 239 200 0 #efc800 + 241 200 0 #f1c800 + 242 200 0 #f2c800 + 243 200 0 #f3c800 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 174 174 174 #aeaeae + 184 176 148 #b8b094 + 191 176 122 #bfb07a + 197 175 95 #c5af5f + 202 175 67 #caaf43 + 206 174 20 #ceae14 + 209 173 0 #d1ad00 + 211 173 0 #d3ad00 + 212 173 0 #d4ad00 + 213 173 0 #d5ad00 + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 148 148 148 #949494 + 158 149 123 #9e957b + 164 149 98 #a49562 + 171 148 70 #ab9446 + 175 148 37 #af9425 + 178 147 0 #b29300 + 181 147 0 #b59300 + 182 146 0 #b69200 + 184 146 0 #b89200 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 122 122 122 #7a7a7a + 131 123 99 #837b63 + 138 123 73 #8a7b49 + 144 122 45 #907a2d + 148 121 2 #947902 + 150 121 0 #967900 + 152 120 0 #987800 + 154 120 0 #9a7800 + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 97 97 97 #616161 + 106 97 74 #6a614a + 112 97 49 #706131 + 117 96 22 #756016 + 120 95 0 #785f00 + 122 95 0 #7a5f00 + 123 95 0 #7b5f00 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 72 72 72 #484848 + 80 72 53 #504835 + 86 72 30 #56481e + 90 71 0 #5a4700 + 93 70 0 #5d4600 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 49 49 49 #313131 + 57 49 32 #393120 + 62 48 5 #3e3005 + 66 48 0 #423000 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 29 29 29 #1d1d1d + 36 28 8 #241c08 + 42 27 0 #2a1b00 + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 227 227 227 #e3e3e3 + 236 231 197 #ece7c5 + 241 232 169 #f1e8a9 + 245 232 141 #f5e88d + 248 233 111 #f8e96f + 251 233 78 #fbe94e + 254 233 21 #fee915 + 255 233 0 #ffe900 + 255 232 0 #ffe800 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 209 204 172 #d1ccac + 213 204 146 #d5cc92 + 217 205 118 #d9cd76 + 220 205 88 #dccd58 + 223 205 51 #dfcd33 + 226 205 0 #e2cd00 + 227 205 0 #e3cd00 + 228 205 0 #e4cd00 + 229 205 0 #e5cd00 + 230 205 0 #e6cd00 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 174 174 174 #aeaeae + 182 177 148 #b6b194 + 186 177 121 #bab179 + 190 178 94 #beb25e + 193 178 63 #c1b23f + 196 178 5 #c4b205 + 198 178 0 #c6b200 + 199 178 0 #c7b200 + 200 178 0 #c8b200 + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 148 148 148 #949494 + 155 150 123 #9b967b + 160 151 97 #a09761 + 164 151 68 #a49744 + 167 151 32 #a79720 + 169 151 0 #a99700 + 170 151 0 #aa9700 + 171 151 0 #ab9700 + 172 150 0 #ac9600 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 122 122 122 #7a7a7a + 129 124 99 #817c63 + 134 124 73 #867c49 + 137 124 42 #897c2a + 139 124 0 #8b7c00 + 141 124 0 #8d7c00 + 142 124 0 #8e7c00 + 143 124 0 #8f7c00 + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 97 97 97 #616161 + 103 98 74 #67624a + 107 98 49 #6b6231 + 110 98 19 #6e6213 + 112 98 0 #706200 + 114 98 0 #726200 + 115 98 0 #736200 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 72 72 72 #484848 + 78 73 53 #4e4935 + 81 73 30 #51491e + 84 73 0 #544900 + 86 73 0 #564900 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 49 49 49 #313131 + 54 50 33 #363221 + 58 50 4 #3a3204 + 61 50 0 #3d3200 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 29 29 29 #1d1d1d + 34 29 10 #221d0a + 38 29 0 #261d00 + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 227 227 227 #e3e3e3 + 234 232 197 #eae8c5 + 236 233 169 #ece9a9 + 239 234 141 #efea8d + 241 235 110 #f1eb6e + 242 236 77 #f2ec4d + 243 236 15 #f3ec0f + 244 237 0 #f4ed00 + 245 237 0 #f5ed00 + 245 238 0 #f5ee00 + 246 238 0 #f6ee00 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 206 204 172 #ceccac + 209 206 146 #d1ce92 + 211 207 118 #d3cf76 + 213 207 88 #d5cf58 + 214 208 50 #d6d032 + 215 209 0 #d7d100 + 216 209 0 #d8d100 + 217 209 0 #d9d100 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 174 174 174 #aeaeae + 179 178 148 #b3b294 + 182 179 122 #b6b37a + 184 180 95 #b8b45f + 185 180 63 #b9b43f + 187 181 0 #bbb500 + 188 181 0 #bcb500 + 188 182 0 #bcb600 + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 148 148 148 #949494 + 152 151 123 #98977b + 155 152 98 #9b9862 + 157 153 69 #9d9945 + 158 154 32 #9e9a20 + 159 154 0 #9f9a00 + 160 154 0 #a09a00 + 161 154 0 #a19a00 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 122 122 122 #7a7a7a + 126 125 99 #7e7d63 + 128 126 73 #807e49 + 130 127 43 #827f2b + 131 127 0 #837f00 + 132 127 0 #847f00 + 132 128 0 #848000 + 133 128 0 #858000 + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 97 97 97 #616161 + 100 99 75 #64634b + 102 100 49 #666431 + 104 101 19 #686513 + 104 101 0 #686500 + 105 101 0 #696500 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 72 72 72 #484848 + 75 74 53 #4b4a35 + 77 75 30 #4d4b1e + 78 75 0 #4e4b00 + 79 76 0 #4f4c00 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 49 49 49 #313131 + 52 51 34 #343322 + 53 52 6 #353406 + 54 52 0 #363400 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 29 29 29 #1d1d1d + 31 30 13 #1f1e0d + 32 31 0 #201f00 + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 227 227 227 #e3e3e3 + 231 233 198 #e7e9c6 + 230 235 170 #e6ebaa + 230 237 143 #e6ed8f + 229 239 113 #e5ef71 + 228 240 81 #e4f051 + 227 241 23 #e3f117 + 226 242 0 #e2f200 + 225 243 0 #e1f300 + 225 244 0 #e1f400 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 203 205 173 #cbcdad + 202 207 148 #cacf94 + 202 209 122 #cad17a + 201 211 93 #c9d35d + 200 212 56 #c8d438 + 199 213 0 #c7d500 + 198 214 0 #c6d600 + 198 215 0 #c6d700 + 197 215 0 #c5d700 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 174 174 174 #aeaeae + 176 178 149 #b0b295 + 175 181 124 #afb57c + 174 182 99 #aeb663 + 173 184 68 #adb844 + 172 185 17 #acb911 + 172 186 0 #acba00 + 171 186 0 #abba00 + 171 187 0 #abbb00 + 170 187 0 #aabb00 + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 148 148 148 #949494 + 149 152 124 #95987c + 148 154 100 #949a64 + 147 156 73 #939c49 + 146 157 38 #929d26 + 145 158 0 #919e00 + 145 159 0 #919f00 + 144 159 0 #909f00 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 122 122 122 #7a7a7a + 122 126 101 #7a7e65 + 122 128 77 #7a804d + 121 129 49 #798131 + 120 130 4 #788204 + 119 131 0 #778300 + 118 132 0 #768400 + 116 132 0 #748400 + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 97 97 97 #616161 + 96 100 77 #60644d + 96 102 52 #606634 + 94 103 25 #5e6719 + 93 104 0 #5d6800 + 92 105 0 #5c6900 + 90 105 0 #5a6900 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 72 72 72 #484848 + 72 75 55 #484b37 + 71 76 33 #474c21 + 69 78 0 #454e00 + 67 79 0 #434f00 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 49 49 49 #313131 + 49 52 36 #313424 + 47 53 13 #2f350d + 45 55 0 #2d3700 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 29 29 29 #1d1d1d + 28 31 16 #1c1f10 + 25 33 0 #192100 + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 227 227 227 #e3e3e3 + 227 234 199 #e3eac7 + 224 237 173 #e0edad + 220 239 147 #dcef93 + 216 242 119 #d8f277 + 213 244 89 #d5f459 + 208 246 45 #d0f62d + 205 247 0 #cdf700 + 201 249 0 #c9f900 + 199 250 0 #c7fa00 + 198 250 0 #c6fa00 + 196 251 0 #c4fb00 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 200 206 175 #c8ceaf + 197 209 151 #c5d197 + 193 211 127 #c1d37f + 188 214 101 #bcd665 + 184 216 70 #b8d846 + 180 218 8 #b4da08 + 177 219 0 #b1db00 + 174 220 0 #aedc00 + 172 221 0 #acdd00 + 171 221 0 #abdd00 + 170 222 0 #aade00 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 174 174 174 #aeaeae + 172 179 151 #acb397 + 168 182 128 #a8b680 + 165 185 105 #a5b969 + 161 187 79 #a1bb4f + 156 189 41 #9cbd29 + 152 190 0 #98be00 + 149 192 0 #95c000 + 147 192 0 #93c000 + 146 193 0 #92c100 + 144 193 0 #90c100 + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 148 148 148 #949494 + 145 153 126 #91997e + 142 155 104 #8e9b68 + 138 158 81 #8a9e51 + 133 160 51 #85a033 + 129 162 0 #81a200 + 125 163 0 #7da300 + 123 164 0 #7ba400 + 122 164 0 #7aa400 + 121 165 0 #79a500 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 122 122 122 #7a7a7a + 119 126 103 #777e67 + 116 129 82 #748152 + 111 132 57 #6f8439 + 106 133 25 #6a8519 + 103 135 0 #678700 + 99 136 0 #638800 + 97 137 0 #618900 + 94 138 0 #5e8a00 + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 97 97 97 #616161 + 94 101 79 #5e654f + 89 103 57 #596739 + 85 105 34 #556922 + 80 107 0 #506b00 + 76 108 0 #4c6c00 + 74 109 0 #4a6d00 + 70 110 0 #466e00 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 72 72 72 #484848 + 69 75 57 #454b39 + 64 78 38 #404e26 + 60 80 12 #3c500c + 55 81 0 #375100 + 49 83 0 #315300 + 43 84 0 #2b5400 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 49 49 49 #313131 + 47 52 38 #2f3426 + 42 54 20 #2a3614 + 35 56 0 #233800 + 28 58 0 #1c3a00 + 19 60 0 #133c00 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 29 29 29 #1d1d1d + 26 31 18 #1a1f12 + 17 34 0 #112200 + 10 35 0 #0a2300 + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 227 227 227 #e3e3e3 + 220 235 204 #dcebcc + 211 240 183 #d3f0b7 + 201 243 160 #c9f3a0 + 192 247 138 #c0f78a + 182 250 113 #b6fa71 + 173 253 85 #adfd55 + 162 255 48 #a2ff30 + 151 255 0 #97ff00 + 141 255 0 #8dff00 + 132 255 0 #84ff00 + 122 255 0 #7aff00 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 193 208 180 #c1d0b4 + 184 212 160 #b8d4a0 + 175 215 140 #afd78c + 167 218 119 #a7da77 + 157 221 95 #9ddd5f + 147 224 66 #93e042 + 136 226 10 #88e20a + 126 228 0 #7ee400 + 116 230 0 #74e600 + 110 231 0 #6ee700 + 101 232 0 #65e800 + 94 233 0 #5ee900 + 87 234 0 #57ea00 + 78 235 0 #4eeb00 + 174 174 174 #aeaeae + 166 181 155 #a6b59b + 158 184 137 #9eb889 + 150 188 118 #96bc76 + 140 191 97 #8cbf61 + 130 194 72 #82c248 + 119 196 40 #77c428 + 108 198 0 #6cc600 + 99 200 0 #63c800 + 90 201 0 #5ac900 + 84 202 0 #54ca00 + 76 203 0 #4ccb00 + 69 204 0 #45cc00 + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 148 148 148 #949494 + 140 154 130 #8c9a82 + 132 157 112 #849d70 + 123 161 93 #7ba15d + 113 164 71 #71a447 + 102 166 45 #66a62d + 91 169 0 #5ba900 + 79 171 0 #4fab00 + 69 172 0 #45ac00 + 60 173 0 #3cad00 + 51 174 0 #33ae00 + 39 175 0 #27af00 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 122 122 122 #7a7a7a + 115 127 107 #737f6b + 106 131 90 #6a835a + 97 134 70 #618646 + 86 137 49 #568931 + 75 139 14 #4b8b0e + 61 141 0 #3d8d00 + 47 143 0 #2f8f00 + 32 144 0 #209000 + 6 145 0 #069100 + 0 147 0 #009300 + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 97 97 97 #616161 + 89 101 83 #596553 + 80 105 65 #506941 + 70 108 47 #466c2f + 58 110 21 #3a6e15 + 44 113 0 #2c7100 + 23 115 0 #177300 + 0 116 0 #007400 + 0 118 0 #007600 + 0 120 0 #007800 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 72 72 72 #484848 + 65 76 61 #414c3d + 56 79 45 #384f2d + 46 82 28 #2e521c + 33 84 0 #215400 + 6 86 0 #065600 + 0 88 0 #005800 + 0 90 0 #005a00 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 49 49 49 #313131 + 44 52 41 #2c3429 + 35 55 27 #23371b + 22 58 9 #163a09 + 0 60 0 #003c00 + 0 62 0 #003e00 + 0 64 0 #004000 + 0 65 0 #004100 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 29 29 29 #1d1d1d + 23 32 21 #172015 + 7 35 4 #072304 + 0 37 0 #002500 + 0 39 0 #002700 + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 227 227 227 #e3e3e3 + 214 237 209 #d6edd1 + 200 241 192 #c8f1c0 + 184 246 173 #b8f6ad + 170 250 157 #aafa9d + 153 254 139 #99fe8b + 135 255 121 #87ff79 + 113 255 101 #71ff65 + 82 255 77 #52ff4d + 25 255 46 #19ff2e + 0 255 0 #00ff00 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 188 209 184 #bcd1b8 + 175 213 168 #afd5a8 + 161 217 152 #a1d998 + 147 221 137 #93dd89 + 130 225 120 #82e178 + 111 228 101 #6fe465 + 87 231 81 #57e751 + 50 234 57 #32ea39 + 0 237 12 #00ed0c + 0 239 0 #00ef00 + 0 242 0 #00f200 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 174 174 174 #aeaeae + 162 181 159 #a2b59f + 149 186 144 #95ba90 + 137 189 130 #89bd82 + 122 193 114 #7ac172 + 105 197 97 #69c561 + 83 200 79 #53c84f + 53 203 58 #35cb3a + 0 206 27 #00ce1b + 0 208 0 #00d000 + 0 210 0 #00d200 + 0 212 0 #00d400 + 0 214 0 #00d600 + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 148 148 148 #949494 + 136 155 134 #889b86 + 124 159 120 #7c9f78 + 110 163 105 #6ea369 + 94 166 89 #5ea659 + 75 169 73 #4ba949 + 48 172 54 #30ac36 + 0 175 26 #00af1a + 0 177 0 #00b100 + 0 180 0 #00b400 + 0 182 0 #00b600 + 0 183 0 #00b700 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 122 122 122 #7a7a7a + 111 128 110 #6f806e + 99 132 97 #638461 + 85 136 82 #558852 + 67 139 66 #438b42 + 43 142 49 #2b8e31 + 0 145 25 #009119 + 0 147 0 #009300 + 0 149 0 #009500 + 0 151 0 #009700 + 0 153 0 #009900 + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 97 97 97 #616161 + 87 102 86 #576656 + 73 106 72 #496a48 + 57 109 58 #396d3a + 35 112 42 #23702a + 0 115 23 #007317 + 0 118 0 #007600 + 0 120 0 #007800 + 0 121 0 #007900 + 0 123 0 #007b00 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 72 72 72 #484848 + 63 77 63 #3f4d3f + 49 80 51 #315033 + 33 83 39 #215327 + 0 86 25 #005619 + 0 88 6 #005806 + 0 90 0 #005a00 + 0 92 0 #005c00 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 49 49 49 #313131 + 42 53 43 #2a352b + 28 56 33 #1c3821 + 6 59 22 #063b16 + 0 61 9 #003d09 + 0 63 0 #003f00 + 0 65 0 #004100 + 0 67 0 #004300 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 29 29 29 #1d1d1d + 21 32 23 #152017 + 0 35 12 #00230c + 0 38 2 #002602 + 0 41 0 #002900 + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 227 227 227 #e3e3e3 + 209 237 215 #d1edd7 + 191 243 203 #bff3cb + 168 248 189 #a8f8bd + 146 253 178 #92fdb2 + 120 255 167 #78ffa7 + 87 255 156 #57ff9c + 0 255 145 #00ff91 + 0 255 133 #00ff85 + 0 255 120 #00ff78 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 183 209 189 #b7d1bd + 166 214 178 #a6d6b2 + 146 219 167 #92dba7 + 125 223 157 #7ddf9d + 99 227 146 #63e392 + 56 231 135 #38e787 + 0 234 126 #00ea7e + 0 238 115 #00ee73 + 0 241 104 #00f168 + 0 243 94 #00f35e + 0 246 85 #00f655 + 0 248 76 #00f84c + 0 250 69 #00fa45 + 0 253 60 #00fd3c + 174 174 174 #aeaeae + 158 182 164 #9eb6a4 + 141 187 154 #8dbb9a + 123 191 144 #7bbf90 + 100 195 133 #64c385 + 69 199 123 #45c77b + 0 203 114 #00cb72 + 0 206 104 #00ce68 + 0 209 95 #00d15f + 0 211 86 #00d356 + 0 214 77 #00d64d + 0 217 68 #00d944 + 0 219 60 #00db3c + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 148 148 148 #949494 + 132 155 138 #849b8a + 115 160 129 #73a081 + 95 164 119 #5fa477 + 70 168 110 #46a86e + 24 171 101 #18ab65 + 0 175 92 #00af5c + 0 178 83 #00b253 + 0 180 75 #00b44b + 0 183 67 #00b743 + 0 185 59 #00b93b + 0 188 52 #00bc34 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 122 122 122 #7a7a7a + 108 129 114 #6c8172 + 91 133 105 #5b8569 + 70 137 96 #468960 + 35 141 87 #238d57 + 0 144 79 #00904f + 0 147 71 #009347 + 0 150 63 #00963f + 0 152 56 #009838 + 0 155 49 #009b31 + 0 157 43 #009d2b + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 97 97 97 #616161 + 83 102 89 #536659 + 65 107 81 #416b51 + 37 111 72 #256f48 + 0 114 65 #007241 + 0 117 57 #007539 + 0 120 50 #007832 + 0 122 44 #007a2c + 0 124 39 #007c27 + 0 125 34 #007d22 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 72 72 72 #484848 + 60 77 66 #3c4d42 + 42 81 58 #2a513a + 8 84 52 #085434 + 0 87 46 #00572e + 0 89 40 #005928 + 0 92 34 #005c22 + 0 93 29 #005d1d + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 49 49 49 #313131 + 40 53 45 #28352d + 22 57 39 #163927 + 0 60 33 #003c21 + 0 62 28 #003e1c + 0 64 22 #004016 + 0 66 17 #004211 + 0 68 14 #00440e + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 29 29 29 #1d1d1d + 19 32 25 #132019 + 0 36 18 #002412 + 0 39 12 #00270c + 0 42 7 #002a07 + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 227 227 227 #e3e3e3 + 207 237 219 #cfeddb + 185 243 211 #b9f3d3 + 157 249 203 #9df9cb + 128 254 196 #80fec4 + 91 255 190 #5bffbe + 0 255 184 #00ffb8 + 0 255 179 #00ffb3 + 0 255 174 #00ffae + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 181 210 193 #b5d2c1 + 161 215 186 #a1d7ba + 136 220 178 #88dcb2 + 109 224 172 #6de0ac + 69 228 166 #45e4a6 + 0 232 161 #00e8a1 + 0 236 156 #00ec9c + 0 239 152 #00ef98 + 0 242 148 #00f294 + 0 245 145 #00f591 + 0 248 142 #00f88e + 0 250 140 #00fa8c + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 174 174 174 #aeaeae + 156 182 167 #9cb6a7 + 136 187 160 #88bba0 + 114 192 154 #72c09a + 85 196 148 #55c494 + 29 200 143 #1dc88f + 0 204 138 #00cc8a + 0 207 133 #00cf85 + 0 210 130 #00d282 + 0 213 127 #00d57f + 0 216 124 #00d87c + 0 218 121 #00da79 + 0 220 119 #00dc77 + 0 222 118 #00de76 + 0 224 116 #00e074 + 148 148 148 #949494 + 130 155 142 #829b8e + 109 161 135 #6da187 + 86 165 129 #56a581 + 51 169 124 #33a97c + 0 172 119 #00ac77 + 0 176 115 #00b073 + 0 179 111 #00b36f + 0 181 108 #00b56c + 0 184 105 #00b869 + 0 186 103 #00ba67 + 0 188 101 #00bc65 + 0 190 99 #00be63 + 0 192 97 #00c061 + 0 194 96 #00c260 + 122 122 122 #7a7a7a + 106 129 117 #6a8175 + 86 133 110 #56856e + 60 138 105 #3c8a69 + 0 142 100 #008e64 + 0 145 95 #00915f + 0 148 91 #00945b + 0 151 89 #009759 + 0 153 86 #009956 + 0 155 84 #009b54 + 0 157 82 #009d52 + 0 159 81 #009f51 + 0 160 80 #00a050 + 0 162 79 #00a24f + 0 163 78 #00a34e + 97 97 97 #616161 + 82 103 92 #52675c + 60 107 86 #3c6b56 + 25 111 80 #196f50 + 0 115 76 #00734c + 0 118 73 #007649 + 0 121 70 #007946 + 0 123 67 #007b43 + 0 124 66 #007c42 + 0 126 64 #007e40 + 0 127 63 #007f3f + 0 128 62 #00803e + 0 130 62 #00823e + 0 131 61 #00833d + 0 132 60 #00843c + 72 72 72 #484848 + 59 77 68 #3b4d44 + 37 81 63 #25513f + 0 85 58 #00553a + 0 87 55 #005737 + 0 90 52 #005a34 + 0 92 50 #005c32 + 0 94 49 #005e31 + 0 95 47 #005f2f + 0 96 46 #00602e + 0 98 46 #00622e + 0 99 45 #00632d + 0 100 44 #00642c + 72 72 72 #484848 + 72 72 72 #484848 + 49 49 49 #313131 + 39 53 46 #27352e + 18 57 42 #12392a + 0 60 39 #003c27 + 0 62 36 #003e24 + 0 64 34 #004022 + 0 66 32 #004220 + 0 68 31 #00441f + 0 69 30 #00451e + 0 71 30 #00471e + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 29 29 29 #1d1d1d + 18 32 26 #12201a + 0 36 22 #002416 + 0 39 19 #002713 + 0 42 17 #002a11 + 0 43 16 #002b10 + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 227 227 227 #e3e3e3 + 205 238 222 #cdeede + 181 244 216 #b5f4d8 + 151 249 210 #97f9d2 + 118 254 205 #76fecd + 74 255 201 #4affc9 + 0 255 197 #00ffc5 + 0 255 194 #00ffc2 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 179 210 196 #b3d2c4 + 158 215 190 #9ed7be + 131 220 185 #83dcb9 + 101 224 181 #65e0b5 + 50 229 177 #32e5b1 + 0 233 174 #00e9ae + 0 236 171 #00ecab + 0 239 168 #00efa8 + 0 243 165 #00f3a5 + 0 245 163 #00f5a3 + 0 248 162 #00f8a2 + 0 251 160 #00fba0 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 174 174 174 #aeaeae + 154 182 170 #9ab6aa + 133 187 165 #85bba5 + 109 192 161 #6dc0a1 + 76 196 157 #4cc49d + 0 200 153 #00c899 + 0 204 150 #00cc96 + 0 208 147 #00d093 + 0 211 145 #00d391 + 0 213 143 #00d58f + 0 216 141 #00d88d + 0 218 140 #00da8c + 0 220 138 #00dc8a + 0 222 138 #00de8a + 0 224 136 #00e088 + 148 148 148 #949494 + 129 155 144 #819b90 + 106 161 139 #6aa18b + 80 165 136 #50a588 + 37 169 132 #25a984 + 0 172 129 #00ac81 + 0 176 126 #00b07e + 0 179 124 #00b37c + 0 182 122 #00b67a + 0 184 121 #00b879 + 0 187 119 #00bb77 + 0 189 118 #00bd76 + 0 191 117 #00bf75 + 0 192 116 #00c074 + 0 194 115 #00c273 + 122 122 122 #7a7a7a + 105 129 119 #698177 + 83 134 114 #538672 + 54 138 111 #368a6f + 0 142 108 #008e6c + 0 145 105 #009169 + 0 149 103 #009567 + 0 151 102 #009766 + 0 153 100 #009964 + 0 156 99 #009c63 + 0 157 98 #009d62 + 0 159 97 #009f61 + 0 160 97 #00a061 + 0 162 96 #00a260 + 0 163 96 #00a360 + 97 97 97 #616161 + 81 103 94 #51675e + 57 107 90 #396b5a + 9 111 87 #096f57 + 0 115 84 #007354 + 0 118 82 #007652 + 0 121 81 #007951 + 0 123 80 #007b50 + 0 124 79 #007c4f + 0 126 78 #007e4e + 0 127 78 #007f4e + 0 128 77 #00804d + 0 130 77 #00824d + 0 131 77 #00834d + 0 132 77 #00844d + 72 72 72 #484848 + 58 77 70 #3a4d46 + 33 81 66 #215142 + 0 85 64 #005540 + 0 87 62 #00573e + 0 90 61 #005a3d + 0 92 60 #005c3c + 0 94 59 #005e3b + 0 95 59 #005f3b + 0 97 58 #00613a + 0 98 58 #00623a + 0 99 58 #00633a + 0 100 58 #00643a + 72 72 72 #484848 + 72 72 72 #484848 + 49 49 49 #313131 + 38 53 48 #263530 + 14 57 45 #0e392d + 0 60 43 #003c2b + 0 62 42 #003e2a + 0 64 41 #004029 + 0 66 40 #004228 + 0 68 40 #004428 + 0 69 40 #004528 + 0 71 40 #004728 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 29 29 29 #1d1d1d + 17 32 27 #11201b + 0 36 25 #002419 + 0 39 24 #002718 + 0 42 23 #002a17 + 0 43 23 #002b17 + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 227 227 227 #e3e3e3 + 204 238 225 #cceee1 + 179 244 221 #b3f4dd + 147 249 218 #93f9da + 109 254 215 #6dfed7 + 55 255 213 #37ffd5 + 0 255 211 #00ffd3 + 0 255 210 #00ffd2 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 179 210 198 #b3d2c6 + 155 215 195 #9bd7c3 + 127 220 192 #7fdcc0 + 94 224 190 #5ee0be + 26 229 188 #1ae5bc + 0 233 186 #00e9ba + 0 236 185 #00ecb9 + 0 240 183 #00f0b7 + 0 243 182 #00f3b6 + 0 246 181 #00f6b5 + 0 248 181 #00f8b5 + 0 252 180 #00fcb4 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 174 174 174 #aeaeae + 153 182 172 #99b6ac + 131 187 169 #83bba9 + 104 192 167 #68c0a7 + 66 196 165 #42c4a5 + 0 200 163 #00c8a3 + 0 204 161 #00cca1 + 0 208 160 #00d0a0 + 0 211 159 #00d39f + 0 213 158 #00d59e + 0 216 158 #00d89e + 0 219 157 #00db9d + 0 220 157 #00dc9d + 0 222 156 #00de9c + 0 224 156 #00e09c + 148 148 148 #949494 + 128 155 146 #809b92 + 103 161 144 #67a190 + 75 165 142 #4ba58e + 16 169 140 #10a98c + 0 173 138 #00ad8a + 0 176 137 #00b089 + 0 179 136 #00b388 + 0 182 135 #00b687 + 0 184 135 #00b887 + 0 187 134 #00bb86 + 0 189 134 #00bd86 + 0 191 134 #00bf86 + 0 192 134 #00c086 + 0 194 134 #00c286 + 122 122 122 #7a7a7a + 104 129 121 #688179 + 80 134 119 #508677 + 48 138 117 #308a75 + 0 142 115 #008e73 + 0 145 114 #009172 + 0 149 113 #009571 + 0 151 113 #009771 + 0 154 113 #009a71 + 0 156 113 #009c71 + 0 157 113 #009d71 + 0 159 113 #009f71 + 0 161 113 #00a171 + 0 162 113 #00a271 + 0 163 113 #00a371 + 97 97 97 #616161 + 79 103 95 #4f675f + 53 107 94 #356b5e + 0 111 92 #006f5c + 0 115 91 #00735b + 0 118 91 #00765b + 0 121 91 #00795b + 0 123 90 #007b5a + 0 124 91 #007c5b + 0 126 91 #007e5b + 0 128 91 #00805b + 0 129 91 #00815b + 0 130 92 #00825c + 0 131 92 #00835c + 0 132 93 #00845d + 72 72 72 #484848 + 56 77 71 #384d47 + 28 82 70 #1c5246 + 0 85 69 #005545 + 0 88 69 #005845 + 0 90 68 #005a44 + 0 92 69 #005c45 + 0 94 69 #005e45 + 0 96 69 #006045 + 0 97 70 #006146 + 0 98 70 #006246 + 0 99 71 #006347 + 0 101 72 #006548 + 72 72 72 #484848 + 72 72 72 #484848 + 49 49 49 #313131 + 37 53 49 #253531 + 8 57 48 #083930 + 0 60 48 #003c30 + 0 62 48 #003e30 + 0 65 48 #004130 + 0 67 48 #004330 + 0 68 49 #004431 + 0 69 50 #004532 + 0 71 51 #004733 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 29 29 29 #1d1d1d + 16 32 28 #10201c + 0 36 28 #00241c + 0 39 28 #00271c + 0 42 30 #002a1e + 0 44 32 #002c20 + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 227 227 227 #e3e3e3 + 203 237 227 #cbede3 + 177 243 226 #b1f3e2 + 143 249 225 #8ff9e1 + 102 254 224 #66fee0 + 25 255 223 #19ffdf + 0 255 223 #00ffdf + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 178 209 200 #b2d1c8 + 153 215 199 #99d7c7 + 125 220 198 #7ddcc6 + 87 224 198 #57e0c6 + 0 229 198 #00e5c6 + 0 233 198 #00e9c6 + 0 236 198 #00ecc6 + 0 239 199 #00efc7 + 0 243 200 #00f3c8 + 0 246 200 #00f6c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 174 174 174 #aeaeae + 153 182 174 #99b6ae + 129 187 173 #81bbad + 101 192 173 #65c0ad + 56 196 173 #38c4ad + 0 200 173 #00c8ad + 0 204 173 #00ccad + 0 208 174 #00d0ae + 0 210 175 #00d2af + 0 213 176 #00d5b0 + 0 216 177 #00d8b1 + 0 218 177 #00dab1 + 0 220 178 #00dcb2 + 0 222 179 #00deb3 + 174 174 174 #aeaeae + 148 148 148 #949494 + 127 155 148 #7f9b94 + 101 161 148 #65a194 + 71 165 148 #47a594 + 0 169 148 #00a994 + 0 173 149 #00ad95 + 0 176 149 #00b095 + 0 179 150 #00b396 + 0 182 151 #00b697 + 0 185 152 #00b998 + 0 187 153 #00bb99 + 0 189 155 #00bd9b + 0 191 156 #00bf9c + 0 193 157 #00c19d + 0 194 157 #00c29d + 122 122 122 #7a7a7a + 103 129 123 #67817b + 78 134 123 #4e867b + 43 138 123 #2b8a7b + 0 142 123 #008e7b + 0 145 124 #00917c + 0 149 126 #00957e + 0 151 127 #00977f + 0 154 128 #009a80 + 0 156 130 #009c82 + 0 158 131 #009e83 + 0 159 132 #009f84 + 0 161 133 #00a185 + 0 162 134 #00a286 + 0 163 134 #00a386 + 97 97 97 #616161 + 78 103 98 #4e6762 + 50 107 98 #326b62 + 0 111 99 #006f63 + 0 115 100 #007364 + 0 118 101 #007665 + 0 121 103 #007967 + 0 123 104 #007b68 + 0 125 105 #007d69 + 0 126 106 #007e6a + 0 128 107 #00806b + 0 129 108 #00816c + 0 130 109 #00826d + 0 131 110 #00836e + 97 97 97 #616161 + 72 72 72 #484848 + 56 77 73 #384d49 + 24 82 74 #18524a + 0 85 75 #00554b + 0 88 76 #00584c + 0 90 78 #005a4e + 0 92 79 #005c4f + 0 94 81 #005e51 + 0 96 82 #006052 + 0 97 83 #006153 + 0 98 84 #006254 + 0 99 85 #006355 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 49 49 49 #313131 + 36 53 51 #243533 + 4 57 52 #043934 + 0 60 53 #003c35 + 0 62 55 #003e37 + 0 65 56 #004138 + 0 67 58 #00433a + 0 68 59 #00443b + 0 70 61 #00463d + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 29 29 29 #1d1d1d + 14 32 30 #0e201e + 0 36 32 #002420 + 0 39 35 #002723 + 0 42 37 #002a25 + 0 44 40 #002c28 + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 227 227 227 #e3e3e3 + 203 237 230 #cbede6 + 175 243 231 #aff3e7 + 140 249 232 #8cf9e8 + 92 254 234 #5cfeea + 0 255 236 #00ffec + 0 255 238 #00ffee + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 178 209 203 #b2d1cb + 152 215 204 #98d7cc + 122 220 206 #7adcce + 77 224 208 #4de0d0 + 0 228 210 #00e4d2 + 0 232 212 #00e8d4 + 0 236 214 #00ecd6 + 0 239 216 #00efd8 + 0 243 219 #00f3db + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 174 174 174 #aeaeae + 152 182 177 #98b6b1 + 127 187 179 #7fbbb3 + 98 192 181 #62c0b5 + 44 196 183 #2cc4b7 + 0 200 186 #00c8ba + 0 204 188 #00ccbc + 0 207 190 #00cfbe + 0 210 193 #00d2c1 + 0 213 196 #00d5c4 + 0 216 198 #00d8c6 + 0 219 201 #00dbc9 + 0 221 204 #00ddcc + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 148 148 148 #949494 + 127 155 151 #7f9b97 + 100 160 153 #64a099 + 65 165 156 #41a59c + 0 169 159 #00a99f + 0 172 161 #00aca1 + 0 176 164 #00b0a4 + 0 179 167 #00b3a7 + 0 182 170 #00b6aa + 0 184 172 #00b8ac + 0 187 175 #00bbaf + 0 189 178 #00bdb2 + 0 191 180 #00bfb4 + 0 193 182 #00c1b6 + 148 148 148 #949494 + 122 122 122 #7a7a7a + 102 129 126 #66817e + 76 133 128 #4c8580 + 36 137 131 #248983 + 0 141 134 #008d86 + 0 145 138 #00918a + 0 148 141 #00948d + 0 151 143 #00978f + 0 154 147 #009a93 + 0 156 150 #009c96 + 0 158 152 #009e98 + 0 160 154 #00a09a + 0 161 156 #00a19c + 0 162 158 #00a29e + 122 122 122 #7a7a7a + 97 97 97 #616161 + 78 103 100 #4e6764 + 48 107 103 #306b67 + 0 111 107 #006f6b + 0 115 110 #00736e + 0 118 114 #007672 + 0 120 117 #007875 + 0 123 120 #007b78 + 0 125 123 #007d7b + 0 126 125 #007e7d + 0 128 128 #008080 + 0 129 130 #008182 + 0 130 131 #008283 + 97 97 97 #616161 + 97 97 97 #616161 + 72 72 72 #484848 + 54 77 76 #364d4c + 19 81 79 #13514f + 0 85 83 #005553 + 0 87 86 #005756 + 0 90 90 #005a5a + 0 92 93 #005c5d + 0 94 96 #005e60 + 0 96 98 #006062 + 0 97 101 #006165 + 0 99 103 #006367 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 49 49 49 #313131 + 35 53 53 #233535 + 0 57 56 #003938 + 0 60 60 #003c3c + 0 62 64 #003e40 + 0 65 67 #004143 + 0 67 70 #004346 + 0 68 73 #004449 + 0 70 76 #00464c + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 29 29 29 #1d1d1d + 12 32 32 #0c2020 + 0 36 37 #002425 + 0 39 42 #00272a + 0 42 47 #002a2f + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 227 227 227 #e3e3e3 + 204 237 234 #ccedea + 174 243 237 #aef3ed + 137 249 242 #89f9f2 + 82 254 246 #52fef6 + 0 255 250 #00fffa + 0 255 254 #00fffe + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 178 209 206 #b2d1ce + 152 214 210 #98d6d2 + 118 219 215 #76dbd7 + 71 224 219 #47e0db + 0 228 223 #00e4df + 0 232 227 #00e8e3 + 0 235 231 #00ebe7 + 0 239 235 #00efeb + 0 242 240 #00f2f0 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 174 174 174 #aeaeae + 152 182 180 #98b6b4 + 126 187 184 #7ebbb8 + 96 191 188 #60bfbc + 37 195 192 #25c3c0 + 0 200 197 #00c8c5 + 0 203 201 #00cbc9 + 0 207 206 #00cfce + 0 210 210 #00d2d2 + 0 213 214 #00d5d6 + 0 215 218 #00d7da + 0 218 223 #00dadf + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 148 148 148 #949494 + 127 155 154 #7f9b9a + 99 160 158 #63a09e + 62 164 163 #3ea4a3 + 0 168 168 #00a8a8 + 0 172 172 #00acac + 0 175 177 #00afb1 + 0 178 181 #00b2b5 + 0 181 186 #00b5ba + 0 184 190 #00b8be + 0 187 194 #00bbc2 + 0 189 199 #00bdc7 + 0 192 202 #00c0ca + 148 148 148 #949494 + 148 148 148 #949494 + 122 122 122 #7a7a7a + 102 129 128 #668180 + 76 133 133 #4c8585 + 29 137 137 #1d8989 + 0 141 143 #008d8f + 0 145 148 #009194 + 0 148 154 #00949a + 0 150 158 #00969e + 0 153 163 #0099a3 + 0 156 167 #009ca7 + 0 158 171 #009eab + 0 160 174 #00a0ae + 0 161 177 #00a1b1 + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 97 97 97 #616161 + 77 102 103 #4d6667 + 47 107 108 #2f6b6c + 0 111 113 #006f71 + 0 114 119 #007277 + 0 117 124 #00757c + 0 120 129 #007881 + 0 123 134 #007b86 + 0 125 138 #007d8a + 0 126 141 #007e8d + 0 128 144 #008090 + 0 129 147 #008193 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 72 72 72 #484848 + 54 77 78 #364d4e + 15 81 84 #0f5154 + 0 84 89 #005459 + 0 87 94 #00575e + 0 90 99 #005a63 + 0 92 103 #005c67 + 0 94 107 #005e6b + 0 96 110 #00606e + 0 98 114 #006272 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 49 49 49 #313131 + 34 53 54 #223536 + 0 57 60 #00393c + 0 59 65 #003b41 + 0 62 71 #003e47 + 0 65 75 #00414b + 0 67 79 #00434f + 0 68 83 #004453 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 29 29 29 #1d1d1d + 11 32 34 #0b2022 + 0 36 41 #002429 + 0 39 47 #00272f + 0 42 55 #002a37 + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 227 227 227 #e3e3e3 + 205 236 236 #cdecec + 175 242 243 #aff2f3 + 137 248 250 #89f8fa + 81 253 255 #51fdff + 0 255 255 #00ffff + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 179 208 208 #b3d0d0 + 152 214 215 #98d6d7 + 119 218 222 #77dade + 68 223 228 #44dfe4 + 0 227 235 #00e3eb + 0 231 242 #00e7f2 + 0 235 248 #00ebf8 + 0 239 255 #00efff + 0 242 255 #00f2ff + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 174 174 174 #aeaeae + 153 181 182 #99b5b6 + 127 186 189 #7fbabd + 97 190 195 #61bec3 + 33 194 202 #21c2ca + 0 198 210 #00c6d2 + 0 202 217 #00cad9 + 0 205 224 #00cde0 + 0 209 231 #00d1e7 + 0 212 237 #00d4ed + 0 215 242 #00d7f2 + 0 217 249 #00d9f9 + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 148 148 148 #949494 + 127 155 156 #7f9b9c + 101 159 163 #659fa3 + 62 163 170 #3ea3aa + 0 167 177 #00a7b1 + 0 171 184 #00abb8 + 0 174 192 #00aec0 + 0 177 198 #00b1c6 + 0 180 205 #00b4cd + 0 183 212 #00b7d4 + 0 186 218 #00bada + 0 189 225 #00bde1 + 0 192 231 #00c0e7 + 148 148 148 #949494 + 148 148 148 #949494 + 122 122 122 #7a7a7a + 102 128 130 #668082 + 76 132 137 #4c8489 + 28 136 145 #1c8891 + 0 140 153 #008c99 + 0 143 160 #008fa0 + 0 147 168 #0093a8 + 0 149 174 #0095ae + 0 152 181 #0098b5 + 0 155 188 #009bbc + 0 158 194 #009ec2 + 0 160 198 #00a0c6 + 0 161 202 #00a1ca + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 97 97 97 #616161 + 77 102 105 #4d6669 + 47 106 112 #2f6a70 + 0 110 120 #006e78 + 0 113 128 #007180 + 0 116 136 #007488 + 0 119 143 #00778f + 0 122 150 #007a96 + 0 124 155 #007c9b + 0 126 160 #007ea0 + 0 128 165 #0080a5 + 0 129 169 #0081a9 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 72 72 72 #484848 + 53 77 80 #354d50 + 14 81 88 #0e5158 + 0 84 96 #005460 + 0 86 103 #005667 + 0 89 110 #00596e + 0 92 117 #005c75 + 0 94 123 #005e7b + 0 96 128 #006080 + 0 97 131 #006183 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 49 49 49 #313131 + 34 53 56 #223538 + 0 56 64 #003840 + 0 59 71 #003b47 + 0 62 79 #003e4f + 0 64 87 #004057 + 0 66 94 #00425e + 0 68 99 #004463 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 29 29 29 #1d1d1d + 10 32 36 #0a2024 + 0 35 45 #00232d + 0 38 53 #002635 + 0 41 62 #00293e + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 227 227 227 #e3e3e3 + 208 235 238 #d0ebee + 176 241 248 #b0f1f8 + 138 247 255 #8af7ff + 84 251 255 #54fbff + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 182 208 210 #b6d0d2 + 154 213 219 #9ad5db + 121 217 228 #79d9e4 + 71 221 238 #47ddee + 0 226 248 #00e2f8 + 0 230 255 #00e6ff + 0 233 255 #00e9ff + 0 237 255 #00edff + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 174 174 174 #aeaeae + 155 181 184 #9bb5b8 + 129 185 193 #81b9c1 + 99 189 202 #63bdca + 43 193 211 #2bc1d3 + 0 197 221 #00c5dd + 0 201 231 #00c9e7 + 0 204 240 #00ccf0 + 0 208 251 #00d0fb + 0 210 255 #00d2ff + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 148 148 148 #949494 + 129 154 158 #819a9e + 104 158 167 #689ea7 + 66 162 177 #42a2b1 + 0 166 186 #00a6ba + 0 169 195 #00a9c3 + 0 173 205 #00adcd + 0 176 214 #00b0d6 + 0 179 224 #00b3e0 + 0 182 232 #00b6e8 + 0 185 241 #00b9f1 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 122 122 122 #7a7a7a + 104 128 132 #688084 + 78 132 141 #4e848d + 34 135 151 #228797 + 0 139 160 #008ba0 + 0 142 170 #008eaa + 0 145 180 #0091b4 + 0 148 189 #0094bd + 0 151 198 #0097c6 + 0 154 207 #009acf + 0 157 216 #009dd8 + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 97 97 97 #616161 + 78 102 106 #4e666a + 49 106 116 #316a74 + 0 109 126 #006d7e + 0 112 136 #007088 + 0 115 146 #007392 + 0 118 155 #00769b + 0 121 164 #0079a4 + 0 123 170 #007baa + 0 125 179 #007db3 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 72 72 72 #484848 + 54 77 82 #364d52 + 16 80 92 #10505c + 0 83 102 #005366 + 0 86 111 #00566f + 0 88 120 #005878 + 0 91 129 #005b81 + 0 93 137 #005d89 + 0 95 143 #005f8f + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 49 49 49 #313131 + 34 53 58 #22353a + 0 56 67 #003843 + 0 58 77 #003a4d + 0 61 86 #003d56 + 0 64 96 #004060 + 0 66 104 #004268 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 29 29 29 #1d1d1d + 10 32 38 #0a2026 + 0 35 48 #002330 + 0 37 57 #002539 + 0 40 68 #002844 + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 227 227 227 #e3e3e3 + 211 234 239 #d3eaef + 181 240 253 #b5f0fd + 147 244 255 #93f4ff + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 185 207 212 #b9cfd4 + 159 211 224 #9fd3e0 + 129 215 236 #81d7ec + 82 219 249 #52dbf9 + 0 223 255 #00dfff + 0 227 255 #00e3ff + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 174 174 174 #aeaeae + 158 180 185 #9eb4b9 + 134 184 197 #86b8c5 + 105 188 208 #69bcd0 + 62 191 220 #3ebfdc + 0 194 233 #00c2e9 + 0 198 247 #00c6f7 + 0 200 255 #00c8ff + 0 204 255 #00ccff + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 148 148 148 #949494 + 131 153 159 #83999f + 108 157 170 #6c9daa + 76 161 182 #4ca1b6 + 0 164 194 #00a4c2 + 0 166 206 #00a6ce + 0 169 218 #00a9da + 0 172 230 #00ace6 + 0 175 243 #00aff3 + 0 178 255 #00b2ff + 0 181 255 #00b5ff + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 122 122 122 #7a7a7a + 105 127 133 #697f85 + 82 131 144 #528390 + 46 134 156 #2e869c + 0 136 168 #0088a8 + 0 139 180 #008bb4 + 0 142 192 #008ec0 + 0 145 204 #0091cc + 0 148 217 #0094d9 + 0 150 229 #0096e5 + 0 153 240 #0099f0 + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 97 97 97 #616161 + 79 101 108 #4f656c + 54 105 120 #366978 + 0 107 131 #006b83 + 0 110 143 #006e8f + 0 112 155 #00709b + 0 115 166 #0073a6 + 0 118 178 #0076b2 + 0 120 190 #0078be + 0 122 201 #007ac9 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 72 72 72 #484848 + 54 76 84 #364c54 + 22 79 96 #164f60 + 0 82 107 #00526b + 0 84 118 #005476 + 0 86 130 #005682 + 0 89 141 #00598d + 0 91 152 #005b98 + 0 93 161 #005da1 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 49 49 49 #313131 + 34 53 59 #22353b + 0 55 70 #003746 + 0 57 82 #003952 + 0 60 94 #003c5e + 0 62 105 #003e69 + 0 64 115 #004073 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 29 29 29 #1d1d1d + 11 32 39 #0b2027 + 0 34 50 #002232 + 0 36 61 #00243d + 0 38 72 #002648 + 0 40 87 #002857 + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 227 227 227 #e3e3e3 + 214 233 240 #d6e9f0 + 186 238 255 #baeeff + 154 243 255 #9af3ff + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 188 206 212 #bcced4 + 164 210 226 #a4d2e2 + 138 213 240 #8ad5f0 + 98 217 255 #62d9ff + 0 220 255 #00dcff + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 174 174 174 #aeaeae + 160 179 186 #a0b3ba + 139 183 199 #8bb7c7 + 115 186 211 #73bad3 + 80 188 225 #50bce1 + 0 191 240 #00bff0 + 0 194 255 #00c2ff + 0 197 255 #00c5ff + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 148 148 148 #949494 + 134 153 160 #8699a0 + 114 156 172 #729cac + 88 158 186 #589eba + 48 161 199 #30a1c7 + 0 163 212 #00a3d4 + 0 166 226 #00a6e2 + 0 168 240 #00a8f0 + 0 171 255 #00abff + 0 174 255 #00aeff + 0 176 255 #00b0ff + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 122 122 122 #7a7a7a + 108 126 135 #6c7e87 + 88 129 147 #588193 + 60 132 160 #3c84a0 + 0 134 172 #0086ac + 0 136 185 #0088b9 + 0 139 199 #008bc7 + 0 141 212 #008dd4 + 0 143 226 #008fe2 + 0 146 240 #0092f0 + 0 148 251 #0094fb + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 97 97 97 #616161 + 82 101 109 #52656d + 60 103 122 #3c677a + 26 105 134 #1a6986 + 0 108 147 #006c93 + 0 109 160 #006da0 + 0 112 172 #0070ac + 0 114 185 #0072b9 + 0 117 199 #0075c7 + 0 118 209 #0076d1 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 72 72 72 #484848 + 56 76 86 #384c56 + 30 78 98 #1e4e62 + 0 80 110 #00506e + 0 82 123 #00527b + 0 84 135 #005487 + 0 86 147 #005693 + 0 88 160 #0058a0 + 0 90 170 #005aaa + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 49 49 49 #313131 + 35 52 61 #23343d + 6 54 73 #063649 + 0 56 85 #003855 + 0 58 98 #003a62 + 0 60 110 #003c6e + 0 62 120 #003e78 + 0 64 132 #004084 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 29 29 29 #1d1d1d + 13 31 41 #0d1f29 + 0 33 52 #002134 + 0 34 63 #00223f + 0 36 75 #00244b + 0 38 89 #002659 + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 227 227 227 #e3e3e3 + 217 233 240 #d9e9f0 + 193 236 255 #c1ecff + 166 240 255 #a6f0ff + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 190 205 213 #becdd5 + 172 208 228 #acd0e4 + 150 211 243 #96d3f3 + 118 214 255 #76d6ff + 71 216 255 #47d8ff + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 174 174 174 #aeaeae + 163 178 187 #a3b2bb + 146 181 200 #92b5c8 + 126 183 214 #7eb7d6 + 101 185 229 #65b9e5 + 55 188 245 #37bcf5 + 0 190 255 #00beff + 0 192 255 #00c0ff + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 148 148 148 #949494 + 137 152 161 #8998a1 + 121 154 174 #799aae + 100 156 188 #649cbc + 72 158 202 #489eca + 6 160 215 #06a0d7 + 0 162 231 #00a2e7 + 0 164 246 #00a4f6 + 0 167 255 #00a7ff + 0 169 255 #00a9ff + 0 171 255 #00abff + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 122 122 122 #7a7a7a + 110 126 136 #6e7e88 + 94 128 149 #5e8095 + 73 130 162 #4982a2 + 37 132 175 #2584af + 0 133 189 #0085bd + 0 135 203 #0087cb + 0 137 216 #0089d8 + 0 139 231 #008be7 + 0 141 244 #008df4 + 0 143 255 #008fff + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 97 97 97 #616161 + 84 100 110 #54646e + 67 102 124 #43667c + 43 104 136 #2b6888 + 0 105 150 #006996 + 0 107 162 #006ba2 + 0 109 175 #006daf + 0 110 189 #006ebd + 0 112 203 #0070cb + 0 114 216 #0072d8 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 72 72 72 #484848 + 59 75 87 #3b4b57 + 39 77 100 #274d64 + 0 78 113 #004e71 + 0 80 125 #00507d + 0 81 138 #00518a + 0 83 151 #005397 + 0 85 164 #0055a4 + 0 86 175 #0056af + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 49 49 49 #313131 + 38 52 62 #26343e + 16 53 75 #10354b + 0 55 87 #003757 + 0 56 101 #003865 + 0 58 113 #003a71 + 0 59 125 #003b7d + 0 60 138 #003c8a + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 15 31 42 #0f1f2a + 0 32 53 #002035 + 0 33 64 #002140 + 0 34 77 #00224d + 0 36 90 #00245a + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 227 227 227 #e3e3e3 + 221 231 240 #dde7f0 + 203 234 255 #cbeaff + 183 236 255 #b7ecff + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 194 204 213 #c2ccd5 + 180 206 229 #b4cee5 + 162 208 245 #a2d0f5 + 141 210 255 #8dd2ff + 111 212 255 #6fd4ff + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 174 174 174 #aeaeae + 167 177 187 #a7b1bb + 154 179 202 #9ab3ca + 139 180 216 #8bb4d8 + 121 182 231 #79b6e7 + 95 183 248 #5fb7f8 + 51 185 255 #33b9ff + 0 186 255 #00baff + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 148 148 148 #949494 + 140 151 161 #8c97a1 + 128 152 175 #8098af + 113 154 189 #719abd + 95 155 204 #5f9bcc + 70 156 218 #469cda + 0 157 234 #009dea + 0 159 250 #009ffa + 0 160 255 #00a0ff + 0 161 255 #00a1ff + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 122 122 122 #7a7a7a + 114 125 136 #727d88 + 101 126 150 #657e96 + 86 127 164 #567fa4 + 66 128 177 #4280b1 + 30 129 191 #1e81bf + 0 130 205 #0082cd + 0 131 219 #0083db + 0 132 235 #0084eb + 0 134 250 #0086fa + 0 135 255 #0087ff + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 97 97 97 #616161 + 88 99 111 #58636f + 75 100 125 #4b647d + 59 101 138 #3b658a + 30 102 152 #1e6698 + 0 103 164 #0067a4 + 0 104 177 #0068b1 + 0 105 192 #0069c0 + 0 105 206 #0069ce + 0 106 220 #006adc + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 97 97 97 #616161 + 72 72 72 #484848 + 62 74 88 #3e4a58 + 48 75 101 #304b65 + 25 76 114 #194c72 + 0 77 127 #004d7f + 0 77 140 #004d8c + 0 78 154 #004e9a + 0 79 167 #004fa7 + 0 80 180 #0050b4 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 49 49 49 #313131 + 40 51 63 #28333f + 26 52 76 #1a344c + 0 52 89 #003459 + 0 53 102 #003566 + 0 54 115 #003673 + 0 54 128 #003680 + 0 55 143 #00378f + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 29 29 29 #1d1d1d + 19 30 43 #131e2b + 1 31 54 #011f36 + 0 31 66 #001f42 + 0 31 78 #001f4e + 0 32 91 #00205b + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 227 227 227 #e3e3e3 + 224 231 240 #e0e7f0 + 212 231 255 #d4e7ff + 197 233 255 #c5e9ff + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 196 203 213 #c4cbd5 + 186 204 229 #bacce5 + 174 205 247 #aecdf7 + 158 206 255 #9eceff + 141 206 255 #8dceff + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 174 174 174 #aeaeae + 169 176 187 #a9b0bb + 160 177 202 #a0b1ca + 150 178 217 #96b2d9 + 137 178 232 #89b2e8 + 121 179 249 #79b3f9 + 95 180 255 #5fb4ff + 63 180 255 #3fb4ff + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 148 148 148 #949494 + 143 150 162 #8f96a2 + 135 151 175 #8797af + 124 151 191 #7c97bf + 113 151 205 #7197cd + 97 152 219 #6198db + 73 153 235 #4999eb + 26 153 252 #1a99fc + 0 154 255 #009aff + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 122 122 122 #7a7a7a + 117 124 137 #757c89 + 109 124 150 #6d7c96 + 98 125 164 #627da4 + 85 125 178 #557db2 + 68 125 192 #447dc0 + 39 126 206 #277ece + 0 126 220 #007edc + 0 126 236 #007eec + 0 126 252 #007efc + 0 126 255 #007eff + 122 122 122 #7a7a7a + 0 125 255 #007dff + 122 122 122 #7a7a7a + 122 122 122 #7a7a7a + 97 97 97 #616161 + 91 98 112 #5b6270 + 83 98 125 #53627d + 72 99 139 #48638b + 56 99 153 #386399 + 33 99 166 #2163a6 + 0 99 178 #0063b2 + 0 99 192 #0063c0 + 0 99 207 #0063cf + 0 99 222 #0063de + 0 98 239 #0062ef + 0 97 253 #0061fd + 0 95 255 #005fff + 0 94 255 #005eff + 0 93 255 #005dff + 72 72 72 #484848 + 65 73 88 #414958 + 56 73 102 #384966 + 43 74 115 #2b4a73 + 22 74 128 #164a80 + 0 74 141 #004a8d + 0 73 155 #00499b + 0 73 168 #0049a8 + 0 72 182 #0048b6 + 0 71 196 #0047c4 + 0 70 208 #0046d0 + 0 68 220 #0044dc + 0 67 234 #0043ea + 0 65 243 #0041f3 + 0 63 254 #003ffe + 49 49 49 #313131 + 44 50 64 #2c3240 + 34 50 76 #22324c + 18 50 90 #12325a + 0 50 103 #003267 + 0 49 116 #003174 + 0 49 128 #003180 + 0 47 142 #002f8e + 0 45 156 #002d9c + 0 44 168 #002ca8 + 0 42 176 #002ab0 + 0 40 186 #0028ba + 0 37 198 #0025c6 + 0 35 207 #0023cf + 0 33 212 #0021d4 + 29 29 29 #1d1d1d + 22 29 43 #161d2b + 12 29 54 #0c1d36 + 0 29 66 #001d42 + 0 28 78 #001c4e + 0 27 91 #001b5b + 0 25 103 #001967 + 0 23 112 #001770 + 0 20 123 #00147b + 0 17 131 #001183 + 0 13 141 #000d8d + 0 8 149 #000895 + 0 2 158 #00029e + 0 0 167 #0000a7 + 0 0 176 #0000b0 + 227 227 227 #e3e3e3 + 227 230 240 #e3e6f0 + 221 229 255 #dde5ff + 214 229 255 #d6e5ff + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 200 202 213 #c8cad5 + 194 202 229 #c2cae5 + 188 201 246 #bcc9f6 + 181 200 255 #b5c8ff + 174 199 255 #aec7ff + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 174 174 174 #aeaeae + 173 175 187 #adafbb + 168 175 202 #a8afca + 164 174 217 #a4aed9 + 158 173 233 #9eade9 + 152 172 249 #98acf9 + 145 171 255 #91abff + 137 170 255 #89aaff + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 148 148 148 #949494 + 147 149 162 #9395a2 + 143 148 175 #8f94af + 138 147 190 #8a93be + 134 147 203 #8693cb + 129 146 217 #8192d9 + 122 144 233 #7a90e9 + 114 143 249 #728ff9 + 102 141 255 #668dff + 96 139 255 #608bff + 88 136 255 #5888ff + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 122 122 122 #7a7a7a + 120 123 137 #787b89 + 117 122 150 #757a96 + 112 121 164 #7079a4 + 108 120 178 #6c78b2 + 103 119 190 #6777be + 98 117 204 #6275cc + 91 116 218 #5b74da + 84 114 232 #5472e8 + 78 111 247 #4e6ff7 + 73 107 255 #496bff + 70 103 255 #4667ff + 67 97 255 #4361ff + 58 92 255 #3a5cff + 122 122 122 #7a7a7a + 97 97 97 #616161 + 95 97 112 #5f6170 + 92 96 125 #5c607d + 88 95 138 #585f8a + 83 94 152 #535e98 + 78 92 165 #4e5ca5 + 73 91 177 #495bb1 + 68 88 189 #4458bd + 65 85 202 #4155ca + 63 81 215 #3f51d7 + 62 76 229 #3e4ce5 + 62 71 239 #3e47ef + 63 65 250 #3f41fa + 65 57 255 #4139ff + 66 49 255 #4231ff + 72 72 72 #484848 + 70 72 89 #464859 + 66 71 102 #424766 + 63 69 115 #3f4573 + 59 68 127 #3b447f + 55 66 140 #37428c + 52 63 151 #343f97 + 50 59 164 #323ba4 + 50 54 176 #3236b0 + 52 49 185 #3431b9 + 54 43 194 #362bc2 + 57 33 205 #3921cd + 60 18 215 #3c12d7 + 63 0 224 #3f00e0 + 66 0 232 #4200e8 + 49 49 49 #313131 + 48 49 64 #303140 + 45 48 77 #2d304d + 42 46 89 #2a2e59 + 38 44 101 #262c65 + 37 41 112 #252970 + 37 37 122 #25257a + 39 31 132 #271f84 + 42 24 141 #2a188d + 45 11 151 #2d0b97 + 49 0 159 #31009f + 53 0 169 #3500a9 + 56 0 177 #3800b1 + 60 0 185 #3c00b9 + 64 0 193 #4000c1 + 29 29 29 #1d1d1d + 27 28 44 #1b1c2c + 25 26 54 #191a36 + 23 24 65 #171841 + 23 20 76 #17144c + 25 15 84 #190f54 + 28 7 93 #1c075d + 32 0 101 #200065 + 37 0 110 #25006e + 40 0 117 #280075 + 44 0 125 #2c007d + 48 0 133 #300085 + 52 0 141 #34008d + 57 0 151 #390097 + 62 0 161 #3e00a1 + 227 227 227 #e3e3e3 + 230 229 239 #e6e5ef + 228 227 255 #e4e3ff + 224 226 255 #e0e2ff + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 202 202 212 #cacad4 + 201 200 228 #c9c8e4 + 200 198 244 #c8c6f4 + 200 195 255 #c8c3ff + 200 192 255 #c8c0ff + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 174 174 174 #aeaeae + 175 175 187 #afafbb + 175 173 201 #afadc9 + 174 171 215 #aeabd7 + 174 169 230 #aea9e6 + 173 167 245 #ada7f5 + 174 164 255 #aea4ff + 175 160 255 #afa0ff + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 148 148 148 #949494 + 149 148 161 #9594a1 + 149 147 174 #9593ae + 149 145 188 #9591bc + 149 143 201 #958fc9 + 149 140 214 #958cd6 + 149 138 228 #958ae4 + 149 134 242 #9586f2 + 150 130 255 #9682ff + 151 127 255 #977fff + 152 122 255 #987aff + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 122 122 122 #7a7a7a + 124 122 136 #7c7a88 + 124 120 149 #7c7895 + 124 118 163 #7c76a3 + 124 116 175 #7c74af + 125 113 187 #7d71bb + 125 110 199 #7d6ec7 + 126 107 212 #7e6bd4 + 127 103 224 #7f67e0 + 129 99 235 #8163eb + 132 94 247 #845ef7 + 135 87 255 #8757ff + 138 80 255 #8a50ff + 142 69 255 #8e45ff + 122 122 122 #7a7a7a + 97 97 97 #616161 + 98 96 112 #626070 + 99 94 124 #635e7c + 99 92 137 #635c89 + 100 89 149 #645995 + 101 86 160 #6556a0 + 102 83 172 #6653ac + 104 79 183 #684fb7 + 107 74 194 #6b4ac2 + 110 69 204 #6e45cc + 113 61 216 #713dd8 + 116 54 224 #7436e0 + 120 44 234 #782cea + 125 27 245 #7d1bf5 + 128 0 254 #8000fe + 72 72 72 #484848 + 74 71 88 #4a4758 + 75 68 101 #4b4465 + 76 66 113 #4c4271 + 77 63 124 #4d3f7c + 79 59 135 #4f3b87 + 81 55 145 #513791 + 84 49 156 #54319c + 88 42 166 #582aa6 + 92 33 175 #5c21af + 96 19 184 #6013b8 + 100 0 193 #6400c1 + 104 0 203 #6800cb + 108 0 212 #6c00d4 + 113 0 221 #7100dd + 49 49 49 #313131 + 51 48 64 #333040 + 53 45 75 #352d4b + 54 43 85 #362b55 + 56 39 96 #382760 + 59 34 106 #3b226a + 62 28 115 #3e1c73 + 65 19 124 #41137c + 69 4 133 #450485 + 74 0 142 #4a008e + 78 0 151 #4e0097 + 83 0 160 #5300a0 + 87 0 168 #5700a8 + 92 0 177 #5c00b1 + 97 0 186 #6100ba + 29 29 29 #1d1d1d + 31 27 44 #1f1b2c + 33 24 53 #211835 + 35 20 63 #23143f + 38 15 71 #260f47 + 41 8 79 #29084f + 45 0 87 #2d0057 + 49 0 95 #31005f + 53 0 103 #350067 + 57 0 110 #39006e + 62 0 118 #3e0076 + 66 0 126 #42007e + 71 0 134 #470086 + 77 0 145 #4d0091 + 83 0 155 #53009b + 227 227 227 #e3e3e3 + 231 228 239 #e7e4ef + 234 226 255 #eae2ff + 237 222 255 #eddeff + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 204 201 212 #ccc9d4 + 207 198 226 #cfc6e2 + 210 196 240 #d2c4f0 + 213 192 255 #d5c0ff + 219 187 255 #dbbbff + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 174 174 174 #aeaeae + 178 174 186 #b2aeba + 181 172 199 #b5acc7 + 183 169 212 #b7a9d4 + 187 166 225 #bba6e1 + 190 162 238 #bea2ee + 195 158 252 #c39efc + 200 153 255 #c899ff + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 148 148 148 #949494 + 152 147 161 #9893a1 + 155 145 172 #9b91ac + 158 142 185 #9e8eb9 + 161 139 197 #a18bc5 + 165 136 209 #a588d1 + 169 132 220 #a984dc + 173 127 232 #ad7fe8 + 179 121 244 #b379f4 + 183 117 254 #b775fe + 189 109 255 #bd6dff + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 148 148 148 #949494 + 122 122 122 #7a7a7a + 126 121 135 #7e7987 + 129 119 147 #817793 + 132 116 159 #84749f + 136 112 171 #8870ab + 140 109 181 #8c6db5 + 144 104 192 #9068c0 + 149 100 202 #9564ca + 153 94 213 #995ed5 + 158 89 222 #9e59de + 163 81 233 #a351e9 + 168 72 244 #a848f4 + 173 61 254 #ad3dfe + 179 46 255 #b32eff + 122 122 122 #7a7a7a + 97 97 97 #616161 + 101 95 111 #655f6f + 105 92 123 #695c7b + 108 89 133 #6c5985 + 112 86 144 #705690 + 116 81 154 #74519a + 121 77 164 #794da4 + 125 71 174 #7d47ae + 130 64 184 #8240b8 + 135 56 193 #8738c1 + 140 45 204 #8c2dcc + 145 33 211 #9121d3 + 150 5 220 #9605dc + 155 0 230 #9b00e6 + 160 0 239 #a000ef + 72 72 72 #484848 + 77 70 87 #4d4657 + 81 66 99 #514263 + 85 63 109 #553f6d + 89 59 119 #593b77 + 94 53 129 #5e3581 + 99 47 138 #632f8a + 104 39 148 #682794 + 109 28 157 #6d1c9d + 113 8 165 #7108a5 + 118 0 173 #7600ad + 124 0 182 #7c00b6 + 129 0 192 #8100c0 + 134 0 200 #8600c8 + 140 0 210 #8c00d2 + 49 49 49 #313131 + 54 47 63 #362f3f + 58 44 73 #3a2c49 + 62 40 81 #3e2851 + 67 35 91 #43235b + 71 28 100 #471c64 + 76 19 109 #4c136d + 81 3 117 #510375 + 85 0 125 #55007d + 91 0 133 #5b0085 + 96 0 142 #60008e + 101 0 150 #650096 + 107 0 160 #6b00a0 + 113 0 169 #7100a9 + 120 0 179 #7800b3 + 29 29 29 #1d1d1d + 34 26 43 #221a2b + 38 22 51 #261633 + 42 17 59 #2a113b + 47 10 67 #2f0a43 + 51 1 74 #33014a + 56 0 82 #380052 + 60 0 89 #3c0059 + 65 0 97 #410061 + 69 0 103 #450067 + 74 0 110 #4a006e + 79 0 118 #4f0076 + 85 0 126 #55007e + 92 0 137 #5c0089 + 98 0 146 #620092 + 227 227 227 #e3e3e3 + 233 228 238 #e9e4ee + 238 224 254 #eee0fe + 245 220 255 #f5dcff + 254 215 255 #fed7ff + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 206 201 211 #cec9d3 + 211 197 224 #d3c5e0 + 217 194 236 #d9c2ec + 223 189 250 #dfbdfa + 230 185 255 #e6b9ff + 236 180 255 #ecb4ff + 243 174 255 #f3aeff + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 174 174 174 #aeaeae + 180 174 185 #b4aeb9 + 185 170 197 #b9aac5 + 191 167 208 #bfa7d0 + 196 163 219 #c4a3db + 202 159 231 #ca9fe7 + 209 154 243 #d19af3 + 215 149 253 #d795fd + 222 142 255 #de8eff + 229 136 255 #e588ff + 236 127 255 #ec7fff + 245 116 255 #f574ff + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 148 148 148 #949494 + 154 147 160 #9a93a0 + 160 144 170 #a090aa + 165 140 181 #a58cb5 + 171 136 192 #ab88c0 + 176 132 202 #b084ca + 182 127 212 #b67fd4 + 189 122 223 #bd7adf + 195 116 233 #c374e9 + 201 109 243 #c96df3 + 207 101 254 #cf65fe + 216 88 255 #d858ff + 223 76 255 #df4cff + 231 56 255 #e738ff + 240 9 255 #f009ff + 122 122 122 #7a7a7a + 129 121 134 #817986 + 134 117 145 #867591 + 140 113 155 #8c719b + 146 109 166 #926da6 + 151 105 175 #9769af + 157 100 185 #9d64b9 + 163 94 194 #a35ec2 + 169 88 203 #a958cb + 175 80 212 #af50d4 + 181 71 221 #b547dd + 187 59 231 #bb3be7 + 194 42 241 #c22af1 + 200 11 249 #c80bf9 + 208 0 255 #d000ff + 97 97 97 #616161 + 104 94 110 #685e6e + 110 91 120 #6e5b78 + 115 87 130 #735782 + 120 83 139 #78538b + 126 78 148 #7e4e94 + 132 72 157 #84489d + 138 65 166 #8a41a6 + 145 56 176 #9138b0 + 150 45 184 #962db8 + 156 28 193 #9c1cc1 + 162 0 200 #a200c8 + 168 0 209 #a800d1 + 174 0 217 #ae00d9 + 181 0 227 #b500e3 + 72 72 72 #484848 + 80 69 86 #504556 + 86 65 96 #564160 + 92 61 105 #5c3d69 + 98 55 114 #623772 + 103 49 124 #67317c + 110 41 132 #6e2984 + 115 30 140 #731e8c + 121 11 149 #790b95 + 126 0 157 #7e009d + 132 0 164 #8400a4 + 138 0 172 #8a00ac + 145 0 181 #9100b5 + 151 0 189 #9700bd + 158 0 198 #9e00c6 + 49 49 49 #313131 + 57 46 62 #392e3e + 62 43 70 #3e2b46 + 67 38 78 #43264e + 73 32 87 #492057 + 79 24 95 #4f185f + 84 10 103 #540a67 + 90 0 111 #5a006f + 95 0 118 #5f0076 + 101 0 126 #65007e + 107 0 134 #6b0086 + 113 0 142 #71008e + 120 0 151 #780097 + 127 0 160 #7f00a0 + 135 0 170 #8700aa + 29 29 29 #1d1d1d + 37 25 42 #25192a + 42 20 49 #2a1431 + 47 15 56 #2f0f38 + 52 6 63 #34063f + 57 0 70 #390046 + 62 0 77 #3e004d + 67 0 84 #430054 + 73 0 91 #49005b + 77 0 97 #4d0061 + 83 0 104 #530068 + 89 0 112 #590070 + 94 0 118 #5e0076 + 102 0 128 #660080 + 29 29 29 #1d1d1d + 227 227 227 #e3e3e3 + 236 227 235 #ece3eb + 248 222 246 #f8def6 + 255 217 255 #ffd9ff + 255 210 255 #ffd2ff + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 209 200 208 #d1c8d0 + 219 195 218 #dbc3da + 228 191 227 #e4bfe3 + 239 185 238 #efb9ee + 248 179 247 #f8b3f7 + 255 173 255 #ffadff + 255 166 255 #ffa6ff + 255 159 255 #ff9fff + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 174 174 174 #aeaeae + 183 173 183 #b7adb7 + 192 169 191 #c0a9bf + 201 164 200 #c9a4c8 + 209 159 210 #d19fd2 + 219 154 219 #db9adb + 226 148 228 #e294e4 + 235 141 237 #eb8ded + 244 134 246 #f486f6 + 253 125 255 #fd7dff + 255 115 255 #ff73ff + 255 102 255 #ff66ff + 255 86 255 #ff56ff + 255 63 255 #ff3fff + 174 174 174 #aeaeae + 148 148 148 #949494 + 158 146 157 #9e929d + 166 142 165 #a68ea5 + 174 137 175 #ae89af + 182 133 183 #b685b7 + 190 127 192 #be7fc0 + 198 122 200 #c67ac8 + 206 115 209 #ce73d1 + 214 108 218 #d66cda + 221 99 226 #dd63e2 + 230 87 236 #e657ec + 239 73 246 #ef49f6 + 247 54 254 #f736fe + 255 0 255 #ff00ff + 148 148 148 #949494 + 122 122 122 #7a7a7a + 131 120 131 #837883 + 140 116 140 #8c748c + 148 111 149 #946f95 + 156 106 158 #9c6a9e + 163 101 166 #a365a6 + 171 94 175 #ab5eaf + 178 87 182 #b257b6 + 185 79 190 #b94fbe + 193 69 199 #c145c7 + 200 56 207 #c838cf + 208 34 216 #d022d8 + 214 0 223 #d600df + 222 0 231 #de00e7 + 229 0 240 #e500f0 + 97 97 97 #616161 + 107 93 108 #6b5d6c + 115 89 116 #735974 + 122 85 124 #7a557c + 129 80 133 #815085 + 136 74 140 #884a8c + 143 67 148 #8f4394 + 150 58 157 #963a9d + 158 46 165 #9e2ea5 + 165 28 173 #a51cad + 172 0 181 #ac00b5 + 178 0 188 #b200bc + 184 0 195 #b800c3 + 192 0 203 #c000cb + 199 0 211 #c700d3 + 72 72 72 #484848 + 83 68 84 #534454 + 91 63 93 #5b3f5d + 98 58 101 #623a65 + 105 52 109 #69346d + 112 44 117 #702c75 + 119 34 125 #77227d + 125 17 133 #7d1185 + 131 0 140 #83008c + 138 0 148 #8a0094 + 144 0 154 #90009a + 150 0 162 #9600a2 + 158 0 170 #9e00aa + 164 0 177 #a400b1 + 172 0 186 #ac00ba + 49 49 49 #313131 + 59 46 60 #3b2e3c + 65 41 68 #412944 + 71 37 75 #47254b + 78 29 83 #4e1d53 + 85 19 91 #55135b + 91 1 98 #5b0162 + 97 0 105 #610069 + 103 0 112 #670070 + 109 0 119 #6d0077 + 115 0 126 #73007e + 122 0 135 #7a0087 + 129 0 143 #81008f + 137 0 151 #890097 + 147 0 163 #9300a3 + 29 29 29 #1d1d1d + 38 24 41 #261829 + 44 19 48 #2c1330 + 49 13 54 #310d36 + 55 3 61 #37033d + 60 0 67 #3c0043 + 66 0 73 #420049 + 72 0 81 #480051 + 77 0 87 #4d0057 + 82 0 93 #52005d + 88 0 99 #580063 + 94 0 106 #5e006a + 99 0 112 #630070 + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 227 227 227 #e3e3e3 + 238 227 234 #eee3ea + 252 221 242 #fcddf2 + 255 215 249 #ffd7f9 + 255 207 255 #ffcfff + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 210 200 207 #d2c8cf + 223 195 214 #dfc3d6 + 235 189 221 #ebbddd + 247 183 229 #f7b7e5 + 255 176 237 #ffb0ed + 255 169 244 #ffa9f4 + 255 160 253 #ffa0fd + 255 152 255 #ff98ff + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 174 174 174 #aeaeae + 185 172 181 #b9acb5 + 196 168 188 #c4a8bc + 207 162 195 #cfa2c3 + 218 157 202 #da9dca + 228 150 209 #e496d1 + 238 144 216 #ee90d8 + 248 137 223 #f889df + 255 127 231 #ff7fe7 + 255 117 239 #ff75ef + 255 105 246 #ff69f6 + 255 89 255 #ff59ff + 255 70 255 #ff46ff + 255 40 255 #ff28ff + 174 174 174 #aeaeae + 148 148 148 #949494 + 160 146 155 #a0929b + 169 141 162 #a98da2 + 180 136 169 #b488a9 + 190 130 176 #be82b0 + 199 124 183 #c77cb7 + 209 117 189 #d175bd + 218 109 197 #da6dc5 + 227 101 203 #e365cb + 235 91 210 #eb5bd2 + 245 77 218 #f54dda + 254 59 225 #fe3be1 + 255 31 233 #ff1fe9 + 255 0 241 #ff00f1 + 255 0 249 #ff00f9 + 122 122 122 #7a7a7a + 133 119 130 #857782 + 144 115 136 #907388 + 154 109 143 #9a6d8f + 164 103 151 #a46797 + 172 97 157 #ac619d + 181 89 164 #b559a4 + 190 81 171 #be51ab + 198 71 177 #c647b1 + 206 58 184 #ce3ab8 + 215 38 191 #d726bf + 223 0 197 #df00c5 + 230 0 204 #e600cc + 240 0 212 #f000d4 + 247 0 218 #f700da + 97 97 97 #616161 + 109 93 105 #6d5d69 + 119 88 112 #775870 + 128 83 119 #805377 + 136 77 126 #884d7e + 144 70 132 #904684 + 153 61 139 #993d8b + 161 51 146 #a13392 + 168 37 152 #a82598 + 177 0 160 #b100a0 + 186 0 168 #ba00a8 + 192 0 173 #c000ad + 199 0 179 #c700b3 + 207 0 186 #cf00ba + 215 0 193 #d700c1 + 72 72 72 #484848 + 85 68 82 #554452 + 94 62 89 #5e3e59 + 102 57 96 #663960 + 111 49 103 #6f3167 + 119 40 110 #77286e + 127 25 118 #7f1976 + 134 0 124 #86007c + 141 0 130 #8d0082 + 148 0 138 #94008a + 155 0 143 #9b008f + 162 0 150 #a20096 + 169 0 157 #a9009d + 176 0 164 #b000a4 + 186 0 173 #ba00ad + 49 49 49 #313131 + 61 45 59 #3d2d3b + 68 41 65 #442941 + 75 35 71 #4b2347 + 83 26 79 #531a4f + 89 14 85 #590e55 + 96 0 92 #60005c + 103 0 99 #670063 + 110 0 106 #6e006a + 117 0 112 #750070 + 123 0 119 #7b0077 + 131 0 126 #83007e + 139 0 135 #8b0087 + 147 0 143 #93008f + 160 0 155 #a0009b + 29 29 29 #1d1d1d + 40 24 39 #281827 + 46 19 46 #2e132e + 52 11 52 #340b34 + 58 1 58 #3a013a + 63 0 64 #3f0040 + 69 0 70 #450046 + 75 0 77 #4b004d + 81 0 83 #510053 + 86 0 88 #560058 + 92 0 95 #5c005f + 98 0 101 #620065 + 105 0 108 #69006c + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 227 227 227 #e3e3e3 + 239 227 232 #efe3e8 + 255 221 237 #ffdded + 255 214 241 #ffd6f1 + 255 206 247 #ffcef7 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 212 199 205 #d4c7cd + 226 194 209 #e2c2d1 + 241 187 213 #f1bbd5 + 255 181 218 #ffb5da + 255 174 223 #ffaedf + 255 165 229 #ffa5e5 + 255 155 234 #ff9bea + 255 145 240 #ff91f0 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 174 174 174 #aeaeae + 187 172 179 #bbacb3 + 200 167 183 #c8a7b7 + 213 161 188 #d5a1bc + 225 154 192 #e19ac0 + 237 148 197 #ed94c5 + 248 140 202 #f88cca + 255 132 207 #ff84cf + 255 121 213 #ff79d5 + 255 108 218 #ff6cda + 255 92 224 #ff5ce0 + 255 75 230 #ff4be6 + 255 56 234 #ff38ea + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 148 148 148 #949494 + 161 145 153 #a19199 + 173 140 157 #ad8c9d + 186 134 162 #ba86a2 + 196 128 166 #c480a6 + 207 122 171 #cf7aab + 218 114 176 #da72b0 + 229 105 181 #e569b5 + 239 94 186 #ef5eba + 249 82 191 #f952bf + 255 64 197 #ff40c5 + 255 42 201 #ff2ac9 + 255 0 207 #ff00cf + 255 0 212 #ff00d4 + 255 0 217 #ff00d9 + 122 122 122 #7a7a7a + 135 119 127 #87777f + 147 114 132 #937284 + 159 108 137 #9f6c89 + 171 100 142 #ab648e + 180 94 147 #b45e93 + 191 85 152 #bf5598 + 200 75 157 #c84b9d + 209 62 161 #d13ea1 + 218 45 166 #da2da6 + 227 10 171 #e30aab + 237 0 177 #ed00b1 + 244 0 181 #f400b5 + 253 0 186 #fd00ba + 255 0 192 #ff00c0 + 97 97 97 #616161 + 111 93 103 #6f5d67 + 122 87 108 #7a576c + 133 81 113 #855171 + 143 74 117 #8f4a75 + 152 66 122 #98427a + 162 56 127 #a2387f + 170 43 132 #aa2b84 + 179 22 137 #b31689 + 188 0 142 #bc008e + 198 0 148 #c60094 + 206 0 153 #ce0099 + 214 0 158 #d6009e + 221 0 163 #dd00a3 + 231 0 169 #e700a9 + 72 72 72 #484848 + 87 67 79 #57434f + 98 61 84 #623d54 + 108 55 89 #6c3759 + 117 46 94 #752e5e + 126 34 100 #7e2264 + 135 15 105 #870f69 + 143 0 110 #8f006e + 152 0 115 #980073 + 160 0 121 #a00079 + 167 0 125 #a7007d + 176 0 131 #b00083 + 184 0 136 #b80088 + 191 0 141 #bf008d + 72 72 72 #484848 + 49 49 49 #313131 + 63 44 56 #3f2c38 + 71 40 61 #47283d + 79 33 66 #4f2142 + 88 23 72 #581748 + 95 5 78 #5f054e + 103 0 83 #670053 + 111 0 89 #6f0059 + 119 0 95 #77005f + 126 0 101 #7e0065 + 133 0 106 #85006a + 142 0 113 #8e0071 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 29 29 29 #1d1d1d + 41 23 38 #291726 + 48 18 44 #30122c + 54 10 49 #360a31 + 61 0 55 #3d0037 + 67 0 61 #43003d + 72 0 66 #480042 + 79 0 72 #4f0048 + 85 0 78 #55004e + 90 0 83 #5a0053 + 97 0 90 #61005a + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 227 227 227 #e3e3e3 + 241 226 230 #f1e2e6 + 255 220 231 #ffdce7 + 255 212 232 #ffd4e8 + 255 205 234 #ffcdea + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 213 199 203 #d5c7cb + 230 193 204 #e6c1cc + 246 186 205 #f6bacd + 255 179 207 #ffb3cf + 255 171 208 #ffabd0 + 255 161 211 #ffa1d3 + 255 151 213 #ff97d5 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 174 174 174 #aeaeae + 188 172 177 #bcacb1 + 203 166 178 #cba6b2 + 218 160 179 #daa0b3 + 232 153 181 #e899b5 + 244 146 182 #f492b6 + 255 137 184 #ff89b8 + 255 127 187 #ff7fbb + 255 115 189 #ff73bd + 255 101 192 #ff65c0 + 255 87 195 #ff57c3 + 255 67 197 #ff43c5 + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 148 148 148 #949494 + 163 145 150 #a39196 + 177 140 152 #b18c98 + 191 133 153 #bf8599 + 203 127 155 #cb7f9b + 214 120 157 #d6789d + 227 111 159 #e36f9f + 238 100 162 #ee64a2 + 249 88 164 #f958a4 + 255 74 167 #ff4aa7 + 255 48 170 #ff30aa + 255 7 172 #ff07ac + 255 0 175 #ff00af + 255 0 178 #ff00b2 + 148 148 148 #949494 + 122 122 122 #7a7a7a + 137 119 125 #89777d + 151 113 126 #97717e + 164 106 128 #a46a80 + 177 99 130 #b16382 + 188 91 132 #bc5b84 + 200 80 135 #c85087 + 210 69 137 #d24589 + 220 53 140 #dc358c + 230 29 143 #e61d8f + 240 0 145 #f00091 + 249 0 148 #f90094 + 255 0 152 #ff0098 + 255 0 155 #ff009b + 255 0 158 #ff009e + 97 97 97 #616161 + 113 92 100 #715c64 + 126 86 102 #7e5666 + 138 79 104 #8a4f68 + 149 71 107 #95476b + 159 63 109 #9f3f6d + 169 51 112 #a93370 + 179 35 115 #b32373 + 188 0 118 #bc0076 + 198 0 122 #c6007a + 208 0 126 #d0007e + 216 0 129 #d80081 + 226 0 133 #e20085 + 236 0 138 #ec008a + 97 97 97 #616161 + 72 72 72 #484848 + 89 67 76 #59434c + 101 60 79 #653c4f + 112 53 82 #703552 + 122 43 85 #7a2b55 + 132 30 89 #841e59 + 141 4 92 #8d045c + 150 0 97 #960061 + 159 0 101 #9f0065 + 167 0 105 #a70069 + 175 0 108 #af006c + 187 0 115 #bb0073 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 49 49 49 #313131 + 64 44 54 #402c36 + 73 39 58 #49273a + 82 32 61 #52203d + 91 20 66 #5b1442 + 100 0 70 #640046 + 108 0 75 #6c004b + 116 0 80 #740050 + 125 0 84 #7d0054 + 132 0 88 #840058 + 141 0 94 #8d005e + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 29 29 29 #1d1d1d + 43 23 36 #2b1724 + 50 17 41 #321129 + 57 8 46 #39082e + 64 0 51 #400033 + 70 0 55 #460037 + 77 0 60 #4d003c + 83 0 65 #530041 + 89 0 69 #590045 + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 227 227 227 #e3e3e3 + 242 226 229 #f2e2e5 + 255 219 227 #ffdbe3 + 255 212 225 #ffd4e1 + 255 205 225 #ffcde1 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 227 227 227 #e3e3e3 + 200 200 200 #c8c8c8 + 214 199 202 #d6c7ca + 232 193 200 #e8c1c8 + 249 186 199 #f9bac7 + 255 178 198 #ffb2c6 + 255 170 197 #ffaac5 + 255 159 197 #ff9fc5 + 255 149 197 #ff95c5 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 200 200 200 #c8c8c8 + 174 174 174 #aeaeae + 189 172 175 #bdacaf + 205 166 174 #cda6ae + 221 159 173 #dd9fad + 235 152 172 #eb98ac + 248 145 172 #f891ac + 255 135 172 #ff87ac + 255 124 172 #ff7cac + 255 112 172 #ff70ac + 255 97 174 #ff61ae + 255 81 174 #ff51ae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 174 174 174 #aeaeae + 148 148 148 #949494 + 164 145 149 #a49195 + 179 139 148 #b38b94 + 194 132 147 #c28493 + 206 126 146 #ce7e92 + 219 118 146 #db7692 + 231 109 146 #e76d92 + 243 98 147 #f36293 + 255 84 148 #ff5494 + 255 69 149 #ff4595 + 255 41 150 #ff2996 + 255 0 151 #ff0097 + 255 0 152 #ff0098 + 148 148 148 #949494 + 148 148 148 #949494 + 122 122 122 #7a7a7a + 138 119 123 #8a777b + 153 113 122 #99717a + 167 106 122 #a76a7a + 181 98 122 #b5627a + 192 89 122 #c0597a + 204 78 122 #cc4e7a + 214 66 123 #d6427b + 225 49 124 #e1317c + 235 18 125 #eb127d + 246 0 127 #f6007f + 255 0 128 #ff0080 + 255 0 130 #ff0082 + 255 0 132 #ff0084 + 255 0 133 #ff0085 + 97 97 97 #616161 + 114 92 97 #725c61 + 128 86 97 #805661 + 141 79 97 #8d4f61 + 153 70 98 #994662 + 163 61 98 #a33d62 + 174 48 100 #ae3064 + 184 29 101 #b81d65 + 194 0 103 #c20067 + 204 0 105 #cc0069 + 215 0 107 #d7006b + 223 0 109 #df006d + 233 0 112 #e90070 + 97 97 97 #616161 + 97 97 97 #616161 + 72 72 72 #484848 + 90 67 73 #5a4349 + 103 60 74 #673c4a + 115 52 75 #73344b + 126 42 77 #7e2a4d + 136 27 78 #881b4e + 146 0 80 #920050 + 156 0 83 #9c0053 + 165 0 85 #a50055 + 174 0 88 #ae0058 + 183 0 91 #b7005b + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 72 72 72 #484848 + 49 49 49 #313131 + 65 44 52 #412c34 + 75 38 55 #4b2637 + 84 31 57 #541f39 + 94 19 60 #5e133c + 103 0 63 #67003f + 112 0 67 #700043 + 120 0 71 #780047 + 128 0 74 #80004a + 137 0 78 #89004e + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 49 49 49 #313131 + 29 29 29 #1d1d1d + 44 23 34 #2c1722 + 52 16 38 #341026 + 59 6 42 #3b062a + 66 0 46 #42002e + 74 0 50 #4a0032 + 81 0 54 #510036 + 87 0 58 #57003a + 94 0 61 #5e003d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d + 29 29 29 #1d1d1d diff --git a/share/ui/CMakeLists.txt b/share/ui/CMakeLists.txt index 80bcd1b5d..e3eb742b2 100644 --- a/share/ui/CMakeLists.txt +++ b/share/ui/CMakeLists.txt @@ -1,3 +1,3 @@ -file(GLOB _FILES "*.xml" "*.rc" "*.css" "*.ui") +file(GLOB _FILES "*.xml" "*.rc" "*.css" "*.ui" "*.glade") install(FILES ${_FILES} DESTINATION ${INKSCAPE_SHARE_INSTALL}/ui) diff --git a/share/ui/filter-editor.glade b/share/ui/filter-editor.glade new file mode 100644 index 000000000..908e0d7e3 --- /dev/null +++ b/share/ui/filter-editor.glade @@ -0,0 +1,381 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Generated with glade 3.20.0 --> +<interface> + <requires lib="gtk+" version="3.18"/> + <object class="GtkListStore" id="FilterStore"> + <columns> + <!-- column-name Effect --> + <column type="gchararray"/> + <!-- column-name Name --> + <column type="gchararray"/> + <!-- column-name gboolean1 --> + <column type="gboolean"/> + <!-- column-name Origin --> + <column type="GObject"/> + </columns> + <data> + <row> + <col id="0" translatable="yes">test1</col> + <col id="1" translatable="yes">a</col> + <col id="2">False</col> + <col id="3"/> + </row> + <row> + <col id="0" translatable="yes">test2</col> + <col id="1" translatable="yes">b</col> + <col id="2">False</col> + <col id="3"/> + </row> + <row> + <col id="0" translatable="yes">test3</col> + <col id="1" translatable="yes">c</col> + <col id="2">False</col> + <col id="3"/> + </row> + <row> + <col id="0" translatable="yes"/> + <col id="1" translatable="yes"/> + <col id="2">False</col> + <col id="3"/> + </row> + </data> + </object> + <object class="GtkListStore" id="FilterStore1"> + <columns> + <!-- column-name origin_name --> + <column type="gchararray"/> + </columns> + <data> + <row> + <col id="0" translatable="yes">whatever</col> + </row> + <row> + <col id="0" translatable="yes">second choice</col> + </row> + </data> + </object> + <object class="GtkBox" id="FilterEditor"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <child> + <object class="GtkBox"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkComboBoxText" id="FilterList"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <items> + <item translatable="yes">filter1</item> + <item translatable="yes">filter2</item> + </items> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">FER: </property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">X: </property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">2</property> + </packing> + </child> + <child> + <object class="GtkSpinButton" id="FilterFERX"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="input_purpose">number</property> + <property name="orientation">vertical</property> + <property name="value">-0.10000000000000001</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">3</property> + </packing> + </child> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Y: </property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">4</property> + </packing> + </child> + <child> + <object class="GtkSpinButton" id="FilterFERY"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="orientation">vertical</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">5</property> + </packing> + </child> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">W: </property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">6</property> + </packing> + </child> + <child> + <object class="GtkSpinButton" id="FilterFERW"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="orientation">vertical</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">7</property> + </packing> + </child> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">H: </property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">8</property> + </packing> + </child> + <child> + <object class="GtkSpinButton" id="FilterFERH"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="orientation">vertical</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">9</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkPaned"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <child> + <object class="GtkBox"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <child> + <object class="GtkTreeView" id="FilterPrimitiveList"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="model">FilterStore</property> + <property name="headers_clickable">False</property> + <property name="reorderable">True</property> + <property name="fixed_height_mode">True</property> + <property name="enable_tree_lines">True</property> + <property name="activate_on_single_click">True</property> + <child internal-child="selection"> + <object class="GtkTreeSelection"/> + </child> + <child> + <object class="GtkTreeViewColumn"> + <property name="sizing">fixed</property> + <property name="title" translatable="yes">Effect</property> + <child> + <object class="GtkCellRendererText" id="cellrenderertext4"/> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkTreeViewColumn"> + <property name="sizing">fixed</property> + <property name="title" translatable="yes">Name</property> + <child> + <object class="GtkCellRendererText" id="cellrenderertext44"/> + <attributes> + <attribute name="text">1</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkTreeViewColumn"> + <property name="sizing">fixed</property> + <property name="title" translatable="yes">Origin(s)</property> + <property name="expand">True</property> + <child> + <object class="GtkCellRendererCombo" id="cellrenderertext45"> + <property name="model">FilterStore1</property> + <property name="text_column">0</property> + </object> + </child> + </object> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkBox"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkComboBox" id="FilterPrimitiveDropDown"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="FilterPrimitiveAdd"> + <property name="label" translatable="yes">Add</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="pack_type">end</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="resize">True</property> + <property name="shrink">True</property> + </packing> + </child> + <child> + <object class="GtkBox"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <child> + <object class="GtkDrawingArea" id="FilterPreview"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <placeholder/> + </child> + <child> + <object class="GtkBox"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkImage" id="FilterPrimitiveDescImage"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="stock">gtk-dialog-info</property> + <property name="icon_size">6</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="FilterPrimitiveDescText"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">This effect does this and that.</property> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">2</property> + </packing> + </child> + </object> + <packing> + <property name="resize">True</property> + <property name="shrink">True</property> + </packing> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <object class="GtkComboBox" id="OptionList"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="model">FilterStore1</property> + <property name="active">0</property> + <property name="id_column">0</property> + </object> +</interface> diff --git a/src/color.h b/src/color.h index 887daf66b..02a4fc90f 100644 --- a/src/color.h +++ b/src/color.h @@ -30,6 +30,7 @@ typedef unsigned int guint32; // uint is guaranteed to hold up to 2^32 − 1 #define SP_RGBA32_A_F(v) SP_COLOR_U_TO_F (SP_RGBA32_A_U (v)) #define SP_RGBA32_U_COMPOSE(r,g,b,a) ((((r) & 0xff) << 24) | (((g) & 0xff) << 16) | (((b) & 0xff) << 8) | ((a) & 0xff)) #define SP_RGBA32_F_COMPOSE(r,g,b,a) SP_RGBA32_U_COMPOSE (SP_COLOR_F_TO_U (r), SP_COLOR_F_TO_U (g), SP_COLOR_F_TO_U (b), SP_COLOR_F_TO_U (a)) +#define SP_RGBA32_C_COMPOSE(c,o) SP_RGBA32_U_COMPOSE(SP_RGBA32_R_U(c),SP_RGBA32_G_U(c),SP_RGBA32_B_U(c),SP_COLOR_F_TO_U(o)) struct SVGICCColor; diff --git a/src/desktop-events.cpp b/src/desktop-events.cpp index 5fef8cbfc..894087c8c 100644 --- a/src/desktop-events.cpp +++ b/src/desktop-events.cpp @@ -521,7 +521,7 @@ gint sp_dt_guide_event(SPCanvasItem *item, GdkEvent *event, gpointer data) GdkCursor *guide_cursor = gdk_cursor_new_for_display(display, cursor_type); if(guide->getLocked()){ - guide_cursor = sp_cursor_new_from_xpm(cursor_select_xpm , 1, 1); + guide_cursor = sp_cursor_from_xpm(cursor_select_xpm); } gdk_window_set_cursor(gtk_widget_get_window (GTK_WIDGET(desktop->getCanvas())), guide_cursor); g_object_unref(guide_cursor); diff --git a/src/extension/init.cpp b/src/extension/init.cpp index f2e74377d..a40196a74 100644 --- a/src/extension/init.cpp +++ b/src/extension/init.cpp @@ -66,6 +66,7 @@ #endif #ifdef WITH_IMAGE_MAGICK +#include <Magick++.h> #include "internal/bitmap/adaptiveThreshold.h" #include "internal/bitmap/addNoise.h" #include "internal/bitmap/blur.h" @@ -204,6 +205,8 @@ init() /* Raster Effects */ #ifdef WITH_IMAGE_MAGICK + Magick::InitializeMagick(NULL); + Internal::Bitmap::AdaptiveThreshold::init(); Internal::Bitmap::AddNoise::init(); Internal::Bitmap::Blur::init(); diff --git a/src/helper/window.cpp b/src/helper/window.cpp index 98e886a38..270f9a3c8 100644 --- a/src/helper/window.cpp +++ b/src/helper/window.cpp @@ -23,6 +23,12 @@ static bool on_window_key_press(GdkEventKey* event) shortcut = Inkscape::UI::Tools::get_group0_keyval (event) | ( event->state & GDK_SHIFT_MASK ? SP_SHORTCUT_SHIFT_MASK : 0 ) | + ( event->state & GDK_SUPER_MASK ? + SP_SHORTCUT_SUPER_MASK : 0 ) | + ( event->state & GDK_HYPER_MASK ? + SP_SHORTCUT_HYPER_MASK : 0 ) | + ( event->state & GDK_META_MASK ? + SP_SHORTCUT_META_MASK : 0 ) | ( event->state & GDK_CONTROL_MASK ? SP_SHORTCUT_CONTROL_MASK : 0 ) | ( event->state & GDK_MOD1_MASK ? diff --git a/src/io/resource.cpp b/src/io/resource.cpp index ffe612e43..73dc7117e 100644 --- a/src/io/resource.cpp +++ b/src/io/resource.cpp @@ -20,7 +20,6 @@ #include "config.h" #endif -#include <glib.h> // g_assert() #include "path-prefix.h" #include "io/sys.h" #include "io/resource.h" @@ -49,6 +48,7 @@ gchar *_get_path(Domain domain, Type type, char const *filename) case ICONS: temp = INKSCAPE_PIXMAPDIR; break; case KEYS: temp = INKSCAPE_KEYSDIR; break; case MARKERS: temp = INKSCAPE_MARKERSDIR; break; + case NONE: g_assert_not_reached(); break; case PALETTES: temp = INKSCAPE_PALETTESDIR; break; case PATTERNS: temp = INKSCAPE_PATTERNSDIR; break; case SCREENS: temp = INKSCAPE_SCREENSDIR; break; @@ -71,6 +71,9 @@ gchar *_get_path(Domain domain, Type type, char const *filename) } path = g_strdup(temp); } break; + case CACHE: { + path = g_build_filename(g_get_user_cache_dir(), "inkscape", NULL); + } break; case USER: { char const *name=NULL; switch (type) { @@ -80,6 +83,7 @@ gchar *_get_path(Domain domain, Type type, char const *filename) case ICONS: name = "icons"; break; case KEYS: name = "keys"; break; case MARKERS: name = "markers"; break; + case NONE: name = ""; break; case PALETTES: name = "palettes"; break; case PATTERNS: name = "patterns"; break; case SYMBOLS: name = "symbols"; break; diff --git a/src/io/resource.h b/src/io/resource.h index 8b60775b5..0ea5ab4f0 100644 --- a/src/io/resource.h +++ b/src/io/resource.h @@ -17,6 +17,7 @@ #ifndef SEEN_INKSCAPE_IO_RESOURCE_H #define SEEN_INKSCAPE_IO_RESOURCE_H +#include <glibmm/ustring.h> #include "util/share.h" namespace Inkscape { @@ -35,6 +36,7 @@ enum Type { ICONS, KEYS, MARKERS, + NONE, PALETTES, PATTERNS, SCREENS, @@ -49,6 +51,7 @@ enum Type { enum Domain { SYSTEM, CREATE, + CACHE, USER }; diff --git a/src/pixmaps/cursor-3dbox.xpm b/src/pixmaps/cursor-3dbox.xpm index 3fda78ef1..c7fcb9248 100644 --- a/src/pixmaps/cursor-3dbox.xpm +++ b/src/pixmaps/cursor-3dbox.xpm @@ -1,6 +1,6 @@ /* XPM */ static const char * cursor_3dbox_xpm[] = { -"32 32 3 1", +"32 32 3 1 4 4", " c None", ". c #FFFFFF", "+ c #000000", diff --git a/src/pixmaps/cursor-arc.xpm b/src/pixmaps/cursor-arc.xpm deleted file mode 100644 index cbf6a9e30..000000000 --- a/src/pixmaps/cursor-arc.xpm +++ /dev/null @@ -1,38 +0,0 @@ -/* XPM */ -static char const *cursor_arc_xpm[] = { -"32 32 3 1", -" c None", -". c #FFFFFF", -"+ c #000000", -" ... ", -" .+. ", -" .+. ", -"....+.... ", -".+++ +++. ", -"....+.... ", -" .+. ", -" .+. ..... ", -" ... .+++.... ", -" .+..+++.. ", -" .+.....+.. ", -" .+......+.. ", -" ..+.......+. ", -" ...++.......+. ", -" ...++.........+. ", -" ...++..........+.. ", -" .++...........+.. ", -" ...++......+++.. ", -" ...++++++.... ", -" ........ ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" "}; diff --git a/src/pixmaps/cursor-arrow.xpm b/src/pixmaps/cursor-arrow.xpm deleted file mode 100644 index 963656a92..000000000 --- a/src/pixmaps/cursor-arrow.xpm +++ /dev/null @@ -1,38 +0,0 @@ -/* XPM */ -static char const *cursor_arrow_xpm[] = { -"32 32 3 1", -" c None", -". c #FFFFFF", -"+ c #000000", -" .. ", -".++.. ", -".+ ++.. ", -" .+ ++.. ", -" .+ ++.. ", -" .+ ++. ", -" .+ +. ", -" .+ +. ", -" .+ +. ", -" .+ +. ", -" .+ + +. ", -" .++.+ +. ", -" .. .+ +. ", -" .+ +. ", -" .+ +. ", -" .+ +. ", -" .+ +. ", -" .+ +. ", -" .+. ", -" . ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" "}; diff --git a/src/pixmaps/cursor-calligraphy.xpm b/src/pixmaps/cursor-calligraphy.xpm index 52c4f76cb..193bd6196 100644 --- a/src/pixmaps/cursor-calligraphy.xpm +++ b/src/pixmaps/cursor-calligraphy.xpm @@ -1,6 +1,6 @@ /* XPM */ static char const *cursor_calligraphy_xpm[] = { -"32 32 3 1", +"32 32 3 1 4 4", " c None", ". c #FFFFFF", "+ c #000000", diff --git a/src/pixmaps/cursor-connector.xpm b/src/pixmaps/cursor-connector.xpm index ddff5cdf5..86e8d1753 100644 --- a/src/pixmaps/cursor-connector.xpm +++ b/src/pixmaps/cursor-connector.xpm @@ -1,6 +1,6 @@ /* XPM */ static const char * cursor_connector_xpm[] = { -"32 32 3 1", +"32 32 3 1 1 1", " c None", ". c #FFFFFF", "+ c #000000", diff --git a/src/pixmaps/cursor-crosshairs.xpm b/src/pixmaps/cursor-crosshairs.xpm index 8c7554523..407b76048 100644 --- a/src/pixmaps/cursor-crosshairs.xpm +++ b/src/pixmaps/cursor-crosshairs.xpm @@ -1,6 +1,6 @@ /* XPM */ static char const *cursor_crosshairs_xpm[] = { -"32 32 3 1", +"32 32 3 1 7 7", " c None", ". c #FFFFFF", "+ c #000000", diff --git a/src/pixmaps/cursor-dropper-f.xpm b/src/pixmaps/cursor-dropper-f.xpm index 3bf1e80e1..2804f6614 100644 --- a/src/pixmaps/cursor-dropper-f.xpm +++ b/src/pixmaps/cursor-dropper-f.xpm @@ -1,19 +1,20 @@ /* XPM */ static const char * cursor_dropper_f_xpm[] = { -"32 32 3 1", +"32 32 4 1 5 5", " c None", +"@ c Fill", ". c #FFFFFF", "+ c #000000", " ... ............", " .+. .++++++++++.", -" .+. .+........+.", -" .+. .+........+.", -".... .... .+........+.", -".+++ +++. .+........+.", -".... .... .+........+.", -" .+. .+........+.", -" .+. .... .+........+.", -" .+. .+++. .+........+.", +" .+. .+@@@@@@@@+.", +" .+. .+@@@@@@@@+.", +".... .... .+@@@@@@@@+.", +".+++ +++. .+@@@@@@@@+.", +".... .... .+@@@@@@@@+.", +" .+. .+@@@@@@@@+.", +" .+. .... .+@@@@@@@@+.", +" .+. .+++. .+@@@@@@@@+.", " ... .+..+. .++++++++++.", " .++..+. ............", " .++..+. ", diff --git a/src/pixmaps/cursor-dropper-s.xpm b/src/pixmaps/cursor-dropper-s.xpm index 1a12934d8..c7cb9cc7e 100644 --- a/src/pixmaps/cursor-dropper-s.xpm +++ b/src/pixmaps/cursor-dropper-s.xpm @@ -1,24 +1,25 @@ /* XPM */ static const char * cursor_dropper_s_xpm[] = { -"32 32 3 1", +"32 32 4 1 5 5", " c None", +"@ s Fill", ". c #FFFFFF", "+ c #000000", -" ... ............", -" .+. .+++.++.+++.", -" .+. .+........+.", -" .+. .+. .+.", -".... .... ... ...", -".+++ +++. .+. .+.", -".... .... .+. .+.", -" .+. ... ...", -" .+. .... .+. .+.", -" .+. .+++. .+........+.", -" ... .+..+. .+++.++.+++.", -" .++..+. ............", -" .++..+. ", -" .++..+. ", -" .++..+. . ", +" ... ...............", +" .+. .+++++++++++++.", +" .+. .+@@@@@@@@@@@+.", +" .+. .+@@@@@@@@@@@+.", +".... .... .+@@+++++++@@+.", +".+++ +++. .+@@+.....+@@+.", +".... .... .+@@+. .+@@+.", +" .+. .+@@+. .+@@+.", +" .+. .... .+@@+. .+@@+.", +" .+. .+++. .+@@+.....+@@+.", +" ... .+..+. .+@@+++++++@@+.", +" .++..+. .+@@@@@@@@@@@+.", +" .++..+. .+@@@@@@@@@@@+.", +" .++..+..+++++++++++++.", +" .++..+...............", " .++..+.+. ", " .++..+++. ", " .++++.+. ", diff --git a/src/pixmaps/cursor-dropping-f.xpm b/src/pixmaps/cursor-dropping-f.xpm new file mode 100644 index 000000000..8490ba795 --- /dev/null +++ b/src/pixmaps/cursor-dropping-f.xpm @@ -0,0 +1,39 @@ +/* XPM */ +static const char * cursor_dropping_f_xpm[] = { +"32 32 4 1 5 5", +" c None", +". c #FFFFFF", +"+ c #000000", +"@ s Fill", +" ... ............", +" .+. .++++++++++.", +" .+. .+@@@@@@@@+.", +" .+. .+@@@@@@@@+.", +".... .... .+@@@@@@@@+.", +".+++ +++. .+@@@@@@@@+.", +".... .... .+@@@@@@@@+.", +" .+. ... .+@@@@@@@@+.", +" .+. .+++. .+@@@@@@@@+.", +" .+. .+..++. .+@@@@@@@@+.", +" ... .+.++++. .++++++++++.", +" ..+.+++++. ............", +" .++.++++++. ", +" .++.++++++. ", +" .++++++.. ", +" .+.++++. ", +" .+..++++. ", +" .+..++.+. ", +" .+..++. . ", +" .+++++. ", +" .+++++. ", +" .+++++. ", +" .++++. ", +" .+++. ", +" .... ", +" .+. ", +" .+++. ", +".++..+. ", +".+++.+. ", +".+++++. ", +" .+++. ", +" ... "}; diff --git a/src/pixmaps/cursor-dropping-s.xpm b/src/pixmaps/cursor-dropping-s.xpm new file mode 100644 index 000000000..8efd4e04c --- /dev/null +++ b/src/pixmaps/cursor-dropping-s.xpm @@ -0,0 +1,39 @@ +/* XPM */ +static const char * cursor_dropping_s_xpm[] = { +"32 32 4 1 5 5", +" c None", +". c #FFFFFF", +"+ c #000000", +"@ s Fill", +" ... ...............", +" .+. .+++++++++++++.", +" .+. .+@@@@@@@@@@@+.", +" .+. .+@@@@@@@@@@@+.", +".... .... .+@@+++++++@@+.", +".+++ +++. .+@@+.....+@@+.", +".... .... .+@@+. .+@@+.", +" .+. ... .+@@+. .+@@+.", +" .+. .+++. .+@@+. .+@@+.", +" .+. .+..++..+@@+.....+@@+.", +" ... .+.++++.+@@+++++++@@+.", +" ..+.+++++.+@@@@@@@@@@@+.", +" .++.++++++.+@@@@@@@@@@@+.", +" .++.++++++..+++++++++++++.", +" .++++++.. ...............", +" .+.++++. ", +" .+..++++. ", +" .+..++.+. ", +" .+..++. . ", +" .+++++. ", +" .+++++. ", +".+++++. ", +".++++. ", +".+++. ", +".... ", +" .+. ", +" .+++. ", +".++..+. ", +".+++.+. ", +".+++++. ", +" .+++. ", +" ... "}; diff --git a/src/pixmaps/cursor-ellipse.xpm b/src/pixmaps/cursor-ellipse.xpm index b0f20d18c..83a820f49 100644 --- a/src/pixmaps/cursor-ellipse.xpm +++ b/src/pixmaps/cursor-ellipse.xpm @@ -1,6 +1,6 @@ /* XPM */ static char const *cursor_ellipse_xpm[] = { -"32 32 5 1", +"32 32 5 1 4 4", " c None", ". c #FFFFFF", "% c Stroke", diff --git a/src/pixmaps/cursor-eraser.xpm b/src/pixmaps/cursor-eraser.xpm index dbe730291..b3f8f2d84 100644 --- a/src/pixmaps/cursor-eraser.xpm +++ b/src/pixmaps/cursor-eraser.xpm @@ -1,6 +1,6 @@ /* XPM */ static const char * cursor_eraser_xpm[] = { -"32 32 3 1", +"32 32 3 1 4 4", " c None", ". c #FFFFFF", "+ c #000000", diff --git a/src/pixmaps/cursor-gradient-add.xpm b/src/pixmaps/cursor-gradient-add.xpm index d1fe8ed95..ea8341bb2 100644 --- a/src/pixmaps/cursor-gradient-add.xpm +++ b/src/pixmaps/cursor-gradient-add.xpm @@ -1,6 +1,6 @@ /* XPM */ static char const *cursor_gradient_add_xpm[] = { -"32 32 3 1", +"32 32 3 1 4 4", " c None", ". c #FFFFFF", "+ c #000000", diff --git a/src/pixmaps/cursor-gradient.xpm b/src/pixmaps/cursor-gradient.xpm index a7be769f5..92c9a9a15 100644 --- a/src/pixmaps/cursor-gradient.xpm +++ b/src/pixmaps/cursor-gradient.xpm @@ -1,6 +1,6 @@ /* XPM */ static char const *cursor_gradient_xpm[] = { -"32 32 3 1", +"32 32 3 1 4 4", " c None", ". c #FFFFFF", "+ c #000000", diff --git a/src/pixmaps/cursor-measure.xpm b/src/pixmaps/cursor-measure.xpm index 2a28579c6..9f6497c65 100644 --- a/src/pixmaps/cursor-measure.xpm +++ b/src/pixmaps/cursor-measure.xpm @@ -1,6 +1,6 @@ /* XPM */ static char const *cursor_measure_xpm[] = { -"32 32 3 1", +"32 32 3 1 4 4", " c None", ". c #FFFFFF", "+ c #000000", diff --git a/src/pixmaps/cursor-node-d.xpm b/src/pixmaps/cursor-node-d.xpm index 7e177bff4..e28bc73d3 100644 --- a/src/pixmaps/cursor-node-d.xpm +++ b/src/pixmaps/cursor-node-d.xpm @@ -1,6 +1,6 @@ /* XPM */ static char const *cursor_node_d_xpm[] = { -"32 32 3 1", +"32 32 3 1 1 1", " c None", ". c #FFFFFF", "+ c #000000", diff --git a/src/pixmaps/cursor-node-m.xpm b/src/pixmaps/cursor-node-m.xpm deleted file mode 100644 index 08574bfb0..000000000 --- a/src/pixmaps/cursor-node-m.xpm +++ /dev/null @@ -1,38 +0,0 @@ -/* XPM */ -static char const *cursor_node_m_xpm[] = { -"32 32 3 1", -" g None", -". g #FFFFFF", -"+ g #000000", -" . ", -".+. ", -" .+. ", -" .++. ", -" .++. ", -" .+++. ", -" .+++. ", -" .++++. ", -" .++++. ", -" .+++++. ", -" .+++++. ", -" .++++++. +++ ", -" .+++++. +.+..+ ", -" .+++.. +..+..++++ ", -" .+. +..+..+..+ ", -" . +..+..+..++ ", -" +++..+..+..+.+ ", -" +..+..+..+..+.+ ", -" +..+..+..+..+.+ ", -" +..+..+..+..+.+ ", -" +.............+ ", -" +............+ ", -" +...........+ ", -" +..........+ ", -" +.........+ ", -" +........+ ", -" +.......+ ", -" +.......+ ", -" +++++++++ ", -" ", -" ", -" "}; diff --git a/src/pixmaps/cursor-node.xpm b/src/pixmaps/cursor-node.xpm index 6daae6bda..4d3bd9407 100644 --- a/src/pixmaps/cursor-node.xpm +++ b/src/pixmaps/cursor-node.xpm @@ -1,6 +1,6 @@ /* XPM */ static char const *cursor_node_xpm[] = { -"32 32 3 1", +"32 32 3 1 1 1", " c None", ". c #FFFFFF", "+ c #000000", diff --git a/src/pixmaps/cursor-paintbucket.xpm b/src/pixmaps/cursor-paintbucket.xpm index 11ffd6ed1..0c6767f75 100644 --- a/src/pixmaps/cursor-paintbucket.xpm +++ b/src/pixmaps/cursor-paintbucket.xpm @@ -1,6 +1,6 @@ /* XPM */ static char const *cursor_paintbucket_xpm[] = { -"32 32 3 1", +"32 32 3 1 11 30", " c None", ". c #000000", "+ c #FFFFFF", diff --git a/src/pixmaps/cursor-pen.xpm b/src/pixmaps/cursor-pen.xpm index 11512e03f..79b68e9ba 100644 --- a/src/pixmaps/cursor-pen.xpm +++ b/src/pixmaps/cursor-pen.xpm @@ -1,6 +1,6 @@ /* XPM */ static const char * cursor_pen_xpm[] = { -"32 32 3 1", +"32 32 3 1 4 4", " c None", ". c #FFFFFF", "+ c #000000", diff --git a/src/pixmaps/cursor-pencil.xpm b/src/pixmaps/cursor-pencil.xpm index 4e7b03776..92c6331ab 100644 --- a/src/pixmaps/cursor-pencil.xpm +++ b/src/pixmaps/cursor-pencil.xpm @@ -1,6 +1,6 @@ /* XPM */ static const char * cursor_pencil_xpm[] = { -"32 32 3 1", +"32 32 3 1 4 4", " c None", ". c #FFFFFF", "+ c #000000", diff --git a/src/pixmaps/cursor-rect.xpm b/src/pixmaps/cursor-rect.xpm index 69007bc77..e54b7ce4f 100644 --- a/src/pixmaps/cursor-rect.xpm +++ b/src/pixmaps/cursor-rect.xpm @@ -1,6 +1,6 @@ /* XPM */ static char const *cursor_rect_xpm[] = { -"32 32 5 1", +"32 32 5 1 4 4", " c None", ". c #FFFFFF", "% c Stroke", diff --git a/src/pixmaps/cursor-select-d.xpm b/src/pixmaps/cursor-select-d.xpm index 501816da0..e84e4de9f 100644 --- a/src/pixmaps/cursor-select-d.xpm +++ b/src/pixmaps/cursor-select-d.xpm @@ -1,6 +1,6 @@ /* XPM */ static char const *cursor_select_d_xpm[] = { -"32 32 3 1", +"32 32 3 1 1 1", " c None", ". c #000000", "+ c #FFFFFF", diff --git a/src/pixmaps/cursor-select-m.xpm b/src/pixmaps/cursor-select-m.xpm index 439639c8f..8dd8fb076 100644 --- a/src/pixmaps/cursor-select-m.xpm +++ b/src/pixmaps/cursor-select-m.xpm @@ -1,6 +1,6 @@ /* XPM */ static char const *cursor_select_m_xpm[] = { -"32 32 3 1", +"32 32 3 1 1 1", " c None", ". c #000000", "+ c #FFFFFF", diff --git a/src/pixmaps/cursor-select.xpm b/src/pixmaps/cursor-select.xpm index 569573618..36b40c6c5 100644 --- a/src/pixmaps/cursor-select.xpm +++ b/src/pixmaps/cursor-select.xpm @@ -1,6 +1,6 @@ /* XPM */ static char const *cursor_select_xpm[] = { -"32 32 3 1", +"32 32 3 1 1 1", " c None", ". c #000000", "+ c #FFFFFF", diff --git a/src/pixmaps/cursor-spiral.xpm b/src/pixmaps/cursor-spiral.xpm index db6f9d2ec..1eaef1e8c 100644 --- a/src/pixmaps/cursor-spiral.xpm +++ b/src/pixmaps/cursor-spiral.xpm @@ -1,6 +1,6 @@ /* XPM */ static char const *cursor_spiral_xpm[] = { -"32 32 3 1", +"32 32 3 1 4 4", " c None", ". c #FFFFFF", "+ c #000000", diff --git a/src/pixmaps/cursor-spray-move.xpm b/src/pixmaps/cursor-spray-move.xpm index ad898b3a5..0c918392a 100644 --- a/src/pixmaps/cursor-spray-move.xpm +++ b/src/pixmaps/cursor-spray-move.xpm @@ -1,6 +1,6 @@ /* XPM */ static char const * cursor_spray_move_xpm[] = { -"32 32 3 1", +"32 32 3 1 4 4", " c None", ". c #FFFFFF", "+ c #000000", diff --git a/src/pixmaps/cursor-spray.xpm b/src/pixmaps/cursor-spray.xpm index 9ccefee4f..19a40997c 100644 --- a/src/pixmaps/cursor-spray.xpm +++ b/src/pixmaps/cursor-spray.xpm @@ -1,6 +1,6 @@ /* XPM */ static char const * cursor_spray_xpm[] = { -"32 32 3 1", +"32 32 3 1 4 4", " c None", ". c #FFFFFF", "+ c #000000", diff --git a/src/pixmaps/cursor-star.xpm b/src/pixmaps/cursor-star.xpm index eedf448e4..c9f2e85e7 100644 --- a/src/pixmaps/cursor-star.xpm +++ b/src/pixmaps/cursor-star.xpm @@ -1,6 +1,6 @@ /* XPM */ static char const *cursor_star_xpm[] = { -"32 32 5 1", +"32 32 5 1 4 4", " c None", ". c #FFFFFF", "% c Stroke", diff --git a/src/pixmaps/cursor-text-insert.xpm b/src/pixmaps/cursor-text-insert.xpm index d72c59686..488791e2e 100644 --- a/src/pixmaps/cursor-text-insert.xpm +++ b/src/pixmaps/cursor-text-insert.xpm @@ -1,6 +1,6 @@ /* XPM */ static char const *cursor_text_insert_xpm[] = { -"32 32 3 1", +"32 32 3 1 7 10", " c None", ". c #FFFFFF", "+ c #000000", diff --git a/src/pixmaps/cursor-text.xpm b/src/pixmaps/cursor-text.xpm index 46098db30..6d74ae305 100644 --- a/src/pixmaps/cursor-text.xpm +++ b/src/pixmaps/cursor-text.xpm @@ -1,6 +1,6 @@ /* XPM */ static char const *cursor_text_xpm[] = { -"32 32 3 1", +"32 32 3 1 7 7", " c None", ". c #FFFFFF", "+ c #000000", diff --git a/src/pixmaps/cursor-attract.xpm b/src/pixmaps/cursor-tweak-attract.xpm index 56033b287..264360b2e 100644 --- a/src/pixmaps/cursor-attract.xpm +++ b/src/pixmaps/cursor-tweak-attract.xpm @@ -1,6 +1,6 @@ /* XPM */ static char const *cursor_attract_xpm[] = { -"32 32 3 1", +"32 32 3 1 4 4", " c None", ". c #FFFFFF", "+ c #000000", diff --git a/src/pixmaps/cursor-color.xpm b/src/pixmaps/cursor-tweak-color.xpm index 327028ba8..4bce642d6 100644 --- a/src/pixmaps/cursor-color.xpm +++ b/src/pixmaps/cursor-tweak-color.xpm @@ -1,6 +1,6 @@ /* XPM */ static char const *cursor_color_xpm[] = { -"32 32 3 1", +"32 32 3 1 4 4", " c None", ". c #FFFFFF", "+ c #000000", diff --git a/src/pixmaps/cursor-tweak-less.xpm b/src/pixmaps/cursor-tweak-less.xpm index 6c065ba62..c669bca77 100644 --- a/src/pixmaps/cursor-tweak-less.xpm +++ b/src/pixmaps/cursor-tweak-less.xpm @@ -1,6 +1,6 @@ /* XPM */ static char const * cursor_tweak_less_xpm[] = { -"32 32 3 1", +"32 32 3 1 4 4", " c None", ". c #FFFFFF", "+ c #000000", diff --git a/src/pixmaps/cursor-tweak-more.xpm b/src/pixmaps/cursor-tweak-more.xpm index 0e80bb9c5..6321ce940 100644 --- a/src/pixmaps/cursor-tweak-more.xpm +++ b/src/pixmaps/cursor-tweak-more.xpm @@ -1,6 +1,6 @@ /* XPM */ static char const * cursor_tweak_more_xpm[] = { -"32 32 3 1", +"32 32 3 1 4 4", " c None", ". c #FFFFFF", "+ c #000000", diff --git a/src/pixmaps/cursor-tweak-move-in.xpm b/src/pixmaps/cursor-tweak-move-in.xpm index 11ee4c3e1..d80fa03c6 100644 --- a/src/pixmaps/cursor-tweak-move-in.xpm +++ b/src/pixmaps/cursor-tweak-move-in.xpm @@ -1,6 +1,6 @@ /* XPM */ static char const * cursor_tweak_move_in_xpm[] = { -"32 32 3 1", +"32 32 3 1 4 4", " c None", ". c #FFFFFF", "+ c #000000", diff --git a/src/pixmaps/cursor-tweak-move-jitter.xpm b/src/pixmaps/cursor-tweak-move-jitter.xpm index 1f2b1d26a..7f0f8114d 100644 --- a/src/pixmaps/cursor-tweak-move-jitter.xpm +++ b/src/pixmaps/cursor-tweak-move-jitter.xpm @@ -1,6 +1,6 @@ /* XPM */ static char const * cursor_tweak_move_jitter_xpm[] = { -"32 32 3 1", +"32 32 3 1 4 4", " c None", ". c #FFFFFF", "+ c #000000", diff --git a/src/pixmaps/cursor-tweak-move-out.xpm b/src/pixmaps/cursor-tweak-move-out.xpm index 7d4569dfe..1fa0293bb 100644 --- a/src/pixmaps/cursor-tweak-move-out.xpm +++ b/src/pixmaps/cursor-tweak-move-out.xpm @@ -1,6 +1,6 @@ /* XPM */ static char const * cursor_tweak_move_out_xpm[] = { -"32 32 3 1", +"32 32 3 1 4 4", " c None", ". c #FFFFFF", "+ c #000000", diff --git a/src/pixmaps/cursor-tweak-move.xpm b/src/pixmaps/cursor-tweak-move.xpm index e44028f6c..67b10980b 100644 --- a/src/pixmaps/cursor-tweak-move.xpm +++ b/src/pixmaps/cursor-tweak-move.xpm @@ -1,6 +1,6 @@ /* XPM */ static char const * cursor_tweak_move_xpm[] = { -"32 32 3 1", +"32 32 3 1 4 4", " c None", ". c #FFFFFF", "+ c #000000", diff --git a/src/pixmaps/cursor-push.xpm b/src/pixmaps/cursor-tweak-push.xpm index ba05369a8..bf331e58d 100644 --- a/src/pixmaps/cursor-push.xpm +++ b/src/pixmaps/cursor-tweak-push.xpm @@ -1,6 +1,6 @@ /* XPM */ static char const *cursor_push_xpm[] = { -"32 32 3 1", +"32 32 3 1 4 4", " c None", ". c #FFFFFF", "+ c #000000", diff --git a/src/pixmaps/cursor-repel.xpm b/src/pixmaps/cursor-tweak-repel.xpm index d365cddc3..5dccefdb8 100644 --- a/src/pixmaps/cursor-repel.xpm +++ b/src/pixmaps/cursor-tweak-repel.xpm @@ -1,6 +1,6 @@ /* XPM */ static char const *cursor_repel_xpm[] = { -"32 32 3 1", +"32 32 3 1 4 4", " c None", ". c #FFFFFF", "+ c #000000", diff --git a/src/pixmaps/cursor-tweak-rotate-clockwise.xpm b/src/pixmaps/cursor-tweak-rotate-clockwise.xpm index 20bad59af..ecbbde820 100644 --- a/src/pixmaps/cursor-tweak-rotate-clockwise.xpm +++ b/src/pixmaps/cursor-tweak-rotate-clockwise.xpm @@ -1,6 +1,6 @@ /* XPM */ static char const * cursor_tweak_rotate_clockwise_xpm[] = { -"32 32 3 1", +"32 32 3 1 4 4", " c None", ". c #FFFFFF", "+ c #000000", diff --git a/src/pixmaps/cursor-tweak-rotate-counterclockwise.xpm b/src/pixmaps/cursor-tweak-rotate-counterclockwise.xpm index c5fcc70e8..a3c220842 100644 --- a/src/pixmaps/cursor-tweak-rotate-counterclockwise.xpm +++ b/src/pixmaps/cursor-tweak-rotate-counterclockwise.xpm @@ -1,6 +1,6 @@ /* XPM */ static char const * cursor_tweak_rotate_counterclockwise_xpm[] = { -"32 32 3 1", +"32 32 3 1 4 4", " c None", ". c #FFFFFF", "+ c #000000", diff --git a/src/pixmaps/cursor-roughen.xpm b/src/pixmaps/cursor-tweak-roughen.xpm index 5adafbbd2..1581b95fa 100644 --- a/src/pixmaps/cursor-roughen.xpm +++ b/src/pixmaps/cursor-tweak-roughen.xpm @@ -1,6 +1,6 @@ /* XPM */ static char const *cursor_roughen_xpm[] = { -"32 32 3 1", +"32 32 3 1 4 4", " c None", ". c #FFFFFF", "+ c #000000", diff --git a/src/pixmaps/cursor-tweak-scale-down.xpm b/src/pixmaps/cursor-tweak-scale-down.xpm index cfd804aab..b1b15af17 100644 --- a/src/pixmaps/cursor-tweak-scale-down.xpm +++ b/src/pixmaps/cursor-tweak-scale-down.xpm @@ -1,6 +1,6 @@ /* XPM */ static char const * cursor_tweak_scale_down_xpm[] = { -"32 32 3 1", +"32 32 3 1 4 4", " c None", ". c #FFFFFF", "+ c #000000", diff --git a/src/pixmaps/cursor-tweak-scale-up.xpm b/src/pixmaps/cursor-tweak-scale-up.xpm index 547346f4c..dcc73c122 100644 --- a/src/pixmaps/cursor-tweak-scale-up.xpm +++ b/src/pixmaps/cursor-tweak-scale-up.xpm @@ -1,6 +1,6 @@ /* XPM */ static char const * cursor_tweak_scale_up_xpm[] = { -"32 32 3 1", +"32 32 3 1 4 4", " c None", ". c #FFFFFF", "+ c #000000", diff --git a/src/pixmaps/cursor-thicken.xpm b/src/pixmaps/cursor-tweak-thicken.xpm index ab76c6c8c..ba7a2dfb8 100644 --- a/src/pixmaps/cursor-thicken.xpm +++ b/src/pixmaps/cursor-tweak-thicken.xpm @@ -1,6 +1,6 @@ /* XPM */ static char const *cursor_thicken_xpm[] = { -"32 32 3 1", +"32 32 3 1 4 4", " c None", ". c #FFFFFF", "+ c #000000", diff --git a/src/pixmaps/cursor-thin.xpm b/src/pixmaps/cursor-tweak-thin.xpm index 16a32311d..7d10fe7e9 100644 --- a/src/pixmaps/cursor-thin.xpm +++ b/src/pixmaps/cursor-tweak-thin.xpm @@ -1,6 +1,6 @@ /* XPM */ static char const *cursor_thin_xpm[] = { -"32 32 3 1", +"32 32 3 1 4 4", " c None", ". c #FFFFFF", "+ c #000000", diff --git a/src/pixmaps/cursor-zoom-out.xpm b/src/pixmaps/cursor-zoom-out.xpm index c8ddf48a2..8f35ad049 100644 --- a/src/pixmaps/cursor-zoom-out.xpm +++ b/src/pixmaps/cursor-zoom-out.xpm @@ -1,6 +1,6 @@ /* XPM */ static char const *cursor_zoom_out_xpm[] = { -"32 32 3 1", +"32 32 3 1 6 6", " c None", ". c #FFFFFF", "+ c #000000", diff --git a/src/pixmaps/cursor-zoom.xpm b/src/pixmaps/cursor-zoom.xpm index 0def57427..e869239d6 100644 --- a/src/pixmaps/cursor-zoom.xpm +++ b/src/pixmaps/cursor-zoom.xpm @@ -1,6 +1,6 @@ /* XPM */ static char const *cursor_zoom_xpm[] = { -"32 32 3 1", +"32 32 3 1 6 6", " c None", ". c #FFFFFF", "+ c #000000", diff --git a/src/shortcuts.cpp b/src/shortcuts.cpp index f8a647040..8a8d36d5a 100644 --- a/src/shortcuts.cpp +++ b/src/shortcuts.cpp @@ -122,6 +122,12 @@ unsigned int sp_gdkmodifier_to_shortcut(guint accel_key, Gdk::ModifierType gdkmo SP_SHORTCUT_SHIFT_MASK : 0 ) | ( gdkmodifier & GDK_CONTROL_MASK ? SP_SHORTCUT_CONTROL_MASK : 0 ) | + ( gdkmodifier & GDK_SUPER_MASK ? + SP_SHORTCUT_SUPER_MASK : 0 ) | + ( gdkmodifier & GDK_HYPER_MASK ? + SP_SHORTCUT_HYPER_MASK : 0 ) | + ( gdkmodifier & GDK_META_MASK ? + SP_SHORTCUT_META_MASK : 0 ) | ( gdkmodifier & GDK_MOD1_MASK ? SP_SHORTCUT_ALT_MASK : 0 ); @@ -138,6 +144,12 @@ Glib::ustring sp_shortcut_to_label(unsigned int const shortcut) { modifiers += "Shift,"; if (shortcut & SP_SHORTCUT_ALT_MASK) modifiers += "Alt,"; + if (shortcut & SP_SHORTCUT_SUPER_MASK) + modifiers += "Super,"; + if (shortcut & SP_SHORTCUT_HYPER_MASK) + modifiers += "Hyper,"; + if (shortcut & SP_SHORTCUT_META_MASK) + modifiers += "Meta,"; if(modifiers.length() > 0 && modifiers.find(',',modifiers.length()-1)!=modifiers.npos) { @@ -607,6 +619,18 @@ static void read_shortcuts_file(char const *filename, bool const is_user_set) { modifiers |= SP_SHORTCUT_SHIFT_MASK; } else if (!strcmp(mod, "Alt")) { modifiers |= SP_SHORTCUT_ALT_MASK; + } else if (!strcmp(mod, "Super")) { + modifiers |= SP_SHORTCUT_SUPER_MASK; + } else if (!strcmp(mod, "Hyper")) { + modifiers |= SP_SHORTCUT_HYPER_MASK; + } else if (!strcmp(mod, "Meta")) { + modifiers |= SP_SHORTCUT_META_MASK; + } else if (!strcmp(mod, "Primary")) { +#ifdef __APPLE__ + modifiers |= SP_SHORTCUT_META_MASK; +#else + modifiers |= SP_SHORTCUT_CONTROL_MASK; +#endif } else { g_warning("Unknown modifier %s for %s", mod, verb_name); } @@ -694,6 +718,9 @@ sp_shortcut_get_modifiers(unsigned int const shortcut) return static_cast<GdkModifierType>( ((shortcut & SP_SHORTCUT_SHIFT_MASK) ? GDK_SHIFT_MASK : 0) | ((shortcut & SP_SHORTCUT_CONTROL_MASK) ? GDK_CONTROL_MASK : 0) | + ((shortcut & SP_SHORTCUT_SUPER_MASK) ? GDK_SUPER_MASK : 0) | + ((shortcut & SP_SHORTCUT_HYPER_MASK) ? GDK_HYPER_MASK : 0) | + ((shortcut & SP_SHORTCUT_META_MASK) ? GDK_META_MASK : 0) | ((shortcut & SP_SHORTCUT_ALT_MASK) ? GDK_MOD1_MASK : 0) ); } diff --git a/src/shortcuts.h b/src/shortcuts.h index f24a82603..fb36dfd11 100644 --- a/src/shortcuts.h +++ b/src/shortcuts.h @@ -12,6 +12,8 @@ #include <vector> #include <gdkmm/types.h> +#include <gdk/gdktypes.h> + typedef struct _GtkAccelGroup GtkAccelGroup; typedef struct _GtkWidget GtkWidget; @@ -27,10 +29,13 @@ namespace Inkscape { /* We define high-bit mask for packing into single int */ -#define SP_SHORTCUT_SHIFT_MASK (1 << 24) -#define SP_SHORTCUT_CONTROL_MASK (1 << 25) -#define SP_SHORTCUT_ALT_MASK (1 << 26) -#define SP_SHORTCUT_MODIFIER_MASK (SP_SHORTCUT_SHIFT_MASK|SP_SHORTCUT_CONTROL_MASK|SP_SHORTCUT_ALT_MASK) +#define SP_SHORTCUT_SHIFT_MASK GDK_MODIFIER_RESERVED_20_MASK +#define SP_SHORTCUT_CONTROL_MASK GDK_MODIFIER_RESERVED_21_MASK +#define SP_SHORTCUT_ALT_MASK GDK_MODIFIER_RESERVED_22_MASK +#define SP_SHORTCUT_SUPER_MASK GDK_MODIFIER_RESERVED_23_MASK +#define SP_SHORTCUT_HYPER_MASK GDK_MODIFIER_RESERVED_24_MASK +#define SP_SHORTCUT_META_MASK GDK_MODIFIER_RESERVED_25_MASK +#define SP_SHORTCUT_MODIFIER_MASK (SP_SHORTCUT_SHIFT_MASK|SP_SHORTCUT_CONTROL_MASK|SP_SHORTCUT_ALT_MASK|SP_SHORTCUT_SUPER_MASK|SP_SHORTCUT_HYPER_MASK|SP_SHORTCUT_META_MASK) /* Returns true if action was performed */ diff --git a/src/sp-cursor.cpp b/src/sp-cursor.cpp index 4b9f1cc2d..78bfc9075 100644 --- a/src/sp-cursor.cpp +++ b/src/sp-cursor.cpp @@ -54,82 +54,92 @@ struct RGBA { } }; -GdkPixbuf *sp_cursor_pixbuf_from_xpm(char const *const *xpm, GdkColor const& black, GdkColor const& white, guint32 fill, guint32 stroke) +GdkCursor *sp_cursor_from_xpm(char const *const *xpm, GdkColor *black, GdkColor *white, guint32 fill, guint32 stroke) { + GdkPixbuf *pixbuf; + GdkCursor *cursor; + GdkDisplay *display = gdk_display_get_default(); + int height = 0; int width = 0; int colors = 0; int pix = 0; + int hot_x = 0; + int hot_y = 0; std::stringstream ss (std::stringstream::in | std::stringstream::out); ss << xpm[0]; ss >> height; ss >> width; ss >> colors; ss >> pix; + ss >> hot_x; + ss >> hot_y; - std::map<char, RGBA> colorMap; + if (gdk_display_supports_cursor_alpha(display) && gdk_display_supports_cursor_color(display)) { + std::map<char, RGBA> colorMap; - for (int i = 0; i < colors; i++) { + for (int i = 0; i < colors; i++) { - char const *p = xpm[1 + i]; - g_assert(*p >=0); - unsigned char const ccode = (guchar) *p; + char const *p = xpm[1 + i]; + g_assert(*p >=0); + unsigned char const ccode = (guchar) *p; - p++; - while (isspace(*p)) { p++; - } - p++; - while (isspace(*p)) { + while (isspace(*p)) { + p++; + } p++; + while (isspace(*p)) { + p++; + } + + if (strcmp(p, "Fill") == 0) { + colorMap[ccode] = RGBA(SP_RGBA32_R_U(fill), SP_RGBA32_G_U(fill), SP_RGBA32_B_U(fill), SP_RGBA32_A_U(fill)); + } else if (strcmp(p, "Stroke") == 0) { + colorMap[ccode] = RGBA(SP_RGBA32_R_U(stroke), SP_RGBA32_G_U(stroke), SP_RGBA32_B_U(stroke), SP_RGBA32_A_U(stroke)); + } else if (black && strcmp(p, "#000000") == 0) { + colorMap[ccode] = RGBA(black->red, black->green, black->blue, 255); + } else if (white && strcmp(p, "#FFFFFF") == 0) { + colorMap[ccode] = RGBA(white->red, white->green, white->blue, 255); + } else if (p[0] == '#') { + GdkRGBA color; + if (gdk_rgba_parse(&color, p)) { + colorMap[ccode] = RGBA(color.red * 255, color.green * 255, color.blue * 255, color.alpha * 255); + } else { + colorMap[ccode] = RGBA(); + } + } else { // Catches 'None' + colorMap[ccode] = RGBA(); + } } - if (strcmp(p, "None") == 0) { - colorMap[ccode] = RGBA(); - } else if (strcmp(p, "Fill") == 0) { - colorMap[ccode] = RGBA(SP_RGBA32_R_U(fill), SP_RGBA32_G_U(fill), SP_RGBA32_B_U(fill), SP_RGBA32_A_U(fill)); - } else if (strcmp(p, "Stroke") == 0) { - colorMap[ccode] = RGBA(SP_RGBA32_R_U(stroke), SP_RGBA32_G_U(stroke), SP_RGBA32_B_U(stroke), SP_RGBA32_A_U(stroke)); - } else if (strcmp(p, "#000000") == 0) { - colorMap[ccode] = RGBA(black.red, black.green, black.blue, 255); - } else if (strcmp(p, "#FFFFFF") == 0) { - colorMap[ccode] = RGBA(white.red, white.green, white.blue, 255); - } else { - colorMap[ccode] = RGBA(); - } - } + guint32 *pixmap_buffer = new guint32[width * height]; - guint32 *pixmap_buffer = new guint32[width * height]; - - for (int y = 0; y < height; y++) { - for (int x = 0; x < width; x++) { - std::map<char, RGBA>::const_iterator it = colorMap.find(xpm[1 + colors + y][x]); - pixmap_buffer[y * width + x] = (it == colorMap.end()) ? 0u : it->second; + for (int y = 0; y < height; y++) { + for (int x = 0; x < width; x++) { + std::map<char, RGBA>::const_iterator it = colorMap.find(xpm[1 + colors + y][x]); + pixmap_buffer[y * width + x] = (it == colorMap.end()) ? 0u : it->second; + } } - } #if G_BYTE_ORDER == G_BIG_ENDIAN - for (int i = 0, n = width * height; i < n; i++) { - guint32 v = pixmap_buffer[i]; - pixmap_buffer[i] = ((v & 0xFF) << 24) | (((v >> 8) & 0xFF) << 16) | (((v >> 16) & 0xFF) << 8) | ((v >> 24) & 0xFF); - } + for (int i = 0, n = width * height; i < n; i++) { + guint32 v = pixmap_buffer[i]; + pixmap_buffer[i] = ((v & 0xFF) << 24) | (((v >> 8) & 0xFF) << 16) | (((v >> 16) & 0xFF) << 8) | ((v >> 24) & 0xFF); + } #endif - return gdk_pixbuf_new_from_data(reinterpret_cast<guchar*>(pixmap_buffer), GDK_COLORSPACE_RGB, TRUE, 8, width, height, width * sizeof(guint32), free_cursor_data, NULL); -} - -GdkCursor *sp_cursor_new_from_xpm(char const *const *xpm, int hot_x, int hot_y) -{ - GdkCursor *cursor = 0; - GdkPixbuf *pixbuf = gdk_pixbuf_new_from_xpm_data((const gchar **)xpm); - - if (pixbuf) { - cursor = gdk_cursor_new_from_pixbuf(gdk_display_get_default(), - pixbuf, hot_x, hot_y); + pixbuf = gdk_pixbuf_new_from_data(reinterpret_cast<guchar*>(pixmap_buffer), GDK_COLORSPACE_RGB, TRUE, 8, width, height, width * sizeof(guint32), free_cursor_data, NULL); + } else { + pixbuf = gdk_pixbuf_new_from_xpm_data((const gchar **)xpm); + } + if (pixbuf != NULL) { + cursor = gdk_cursor_new_from_pixbuf(display, pixbuf, hot_x, hot_y); g_object_unref(pixbuf); + } else { + g_warning("Failed to load cursor from xpm!"); } - return cursor; } diff --git a/src/sp-cursor.h b/src/sp-cursor.h index c0b8b46a3..6579d6a16 100644 --- a/src/sp-cursor.h +++ b/src/sp-cursor.h @@ -6,8 +6,7 @@ typedef struct _GdkPixbuf GdkPixbuf; typedef struct _GdkCursor GdkCursor; typedef struct _GdkColor GdkColor; -GdkPixbuf* sp_cursor_pixbuf_from_xpm(char const *const *xpm, GdkColor const& black, GdkColor const& white, guint32 fill, guint32 stroke); -GdkCursor *sp_cursor_new_from_xpm(char const *const *xpm, int hot_x, int hot_y); +GdkCursor* sp_cursor_from_xpm(char const *const *xpm, GdkColor *black=NULL, GdkColor *white=NULL, guint32 fill=0, guint32 stroke=0); #endif diff --git a/src/ui/CMakeLists.txt b/src/ui/CMakeLists.txt index c253daed9..b6b88e50b 100644 --- a/src/ui/CMakeLists.txt +++ b/src/ui/CMakeLists.txt @@ -72,6 +72,7 @@ set(ui_SRC dialog/filedialog.cpp dialog/filedialogimpl-gtkmm.cpp dialog/fill-and-stroke.cpp + dialog/filter-editor.cpp dialog/filter-effects-dialog.cpp dialog/find.cpp dialog/floating-behavior.cpp @@ -216,6 +217,7 @@ set(ui_SRC dialog/filedialogimpl-gtkmm.h dialog/filedialogimpl-win32.h dialog/fill-and-stroke.h + dialog/filter-editor.h dialog/filter-effects-dialog.h dialog/find.h dialog/floating-behavior.h diff --git a/src/ui/dialog/aboutbox.cpp b/src/ui/dialog/aboutbox.cpp index 805bfb562..9b99dde6b 100644 --- a/src/ui/dialog/aboutbox.cpp +++ b/src/ui/dialog/aboutbox.cpp @@ -107,8 +107,21 @@ AboutBox::AboutBox() : Gtk::Dialog(_("About Inkscape")) { g_strdup_printf("<small>Inkscape %s</small>", Inkscape::version_string); label->set_markup(label_text); + +#if WITH_GTKMM_3_10 + label->set_halign(Gtk::ALIGN_END); + label->set_valign(Gtk::ALIGN_CENTER); +#else label->set_alignment(Gtk::ALIGN_END, Gtk::ALIGN_CENTER); +#endif + +#if WITH_GTKMM_3_12 + label->set_margin_start(5); + label->set_margin_end(5); +#else label->set_padding(5,0); +#endif + g_free(label_text); label->set_selectable(true); label->show(); @@ -118,8 +131,22 @@ AboutBox::AboutBox() : Gtk::Dialog(_("About Inkscape")) { "<a href=\"https://www.inkscape.org\">https://www.inkscape.org</a>"; link->set_markup(website_link); + +#if WITH_GTKMM_3_10 + link->set_halign(Gtk::ALIGN_END); +#else link->set_alignment(Gtk::ALIGN_END); +#endif + +#if WITH_GTKMM_3_12 + label->set_margin_start(5); + label->set_margin_end(5); + label->set_margin_top(5); + label->set_margin_bottom(5); +#else link->set_padding(5,5); +#endif + link->set_selectable(true); link->show(); diff --git a/src/ui/dialog/dialog-manager.cpp b/src/ui/dialog/dialog-manager.cpp index 01cd9dd0f..c5392864d 100644 --- a/src/ui/dialog/dialog-manager.cpp +++ b/src/ui/dialog/dialog-manager.cpp @@ -26,6 +26,7 @@ #include "ui/dialog/extension-editor.h" #include "ui/dialog/fill-and-stroke.h" #include "ui/dialog/filter-effects-dialog.h" +#include "ui/dialog/filter-editor.h" #include "ui/dialog/find.h" #include "ui/dialog/glyphs.h" #include "ui/dialog/inkscape-preferences.h" @@ -113,6 +114,7 @@ DialogManager::DialogManager() { registerFactory("ExtensionEditor", &create<ExtensionEditor, FloatingBehavior>); registerFactory("FillAndStroke", &create<FillAndStroke, FloatingBehavior>); registerFactory("FilterEffectsDialog", &create<FilterEffectsDialog, FloatingBehavior>); + registerFactory("FilterEditorDialog", &create<FilterEditorDialog, FloatingBehavior>); registerFactory("Find", &create<Find, FloatingBehavior>); registerFactory("Glyphs", &create<GlyphsPanel, FloatingBehavior>); registerFactory("IconPreviewPanel", &create<IconPreviewPanel, FloatingBehavior>); @@ -155,6 +157,7 @@ DialogManager::DialogManager() { registerFactory("ExtensionEditor", &create<ExtensionEditor, DockBehavior>); registerFactory("FillAndStroke", &create<FillAndStroke, DockBehavior>); registerFactory("FilterEffectsDialog", &create<FilterEffectsDialog, DockBehavior>); + registerFactory("FilterEditorDialog", &create<FilterEditorDialog, DockBehavior>); registerFactory("Find", &create<Find, DockBehavior>); registerFactory("Glyphs", &create<GlyphsPanel, DockBehavior>); registerFactory("IconPreviewPanel", &create<IconPreviewPanel, DockBehavior>); diff --git a/src/ui/dialog/dock-behavior.cpp b/src/ui/dialog/dock-behavior.cpp index 299584a31..0c8bb3194 100644 --- a/src/ui/dialog/dock-behavior.cpp +++ b/src/ui/dialog/dock-behavior.cpp @@ -39,9 +39,9 @@ DockBehavior::DockBehavior(Dialog &dialog) : static_cast<Widget::DockItem::State>( Inkscape::Preferences::get()->getInt(_dialog._prefs_path + "/state", UI::Widget::DockItem::DOCKED_STATE)), - static_cast<Widget::DockItem::Placement>( + static_cast<GdlDockPlacement>( Inkscape::Preferences::get()->getInt(_dialog._prefs_path + "/placement", - UI::Widget::DockItem::TOP))) + GDL_DOCK_TOP))) { // Connect signals diff --git a/src/ui/dialog/filter-editor.cpp b/src/ui/dialog/filter-editor.cpp new file mode 100644 index 000000000..1b532578d --- /dev/null +++ b/src/ui/dialog/filter-editor.cpp @@ -0,0 +1,128 @@ +/** + * @file + * Filter Effects dialog. + */ +/* Authors: + * Marc Jeanmougin + * + * Copyright (C) 2017 Authors + * + * Released under GNU GPL. Read the file 'COPYING' for more information. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include "dialog-manager.h" + +#include <gdkmm/display.h> +#if GTK_CHECK_VERSION(3, 20, 0) +# include <gdkmm/seat.h> +#else +# include <gdkmm/devicemanager.h> +#endif + +#include "ui/widget/spinbutton.h" + +#include <glibmm/i18n.h> +#include <glibmm/stringutils.h> +#include <glibmm/main.h> +#include <glibmm/convert.h> +#include <glibmm/error.h> + +#include "desktop.h" + +#include "document.h" +#include "document-undo.h" +#include "filter-chemistry.h" +#include "filter-editor.h" +#include "filter-enums.h" +#include "inkscape.h" +#include "filters/blend.h" +#include "filters/colormatrix.h" +#include "filters/componenttransfer.h" +#include "filters/componenttransfer-funcnode.h" +#include "filters/convolvematrix.h" +#include "filters/distantlight.h" +#include "filters/merge.h" +#include "filters/mergenode.h" +#include "filters/pointlight.h" +#include "filters/spotlight.h" + +#include "style.h" +#include "svg/svg-color.h" +#include "ui/dialog/filedialog.h" +#include "verbs.h" + +#include "io/sys.h" +#include "io/resource.h" +#include "selection-chemistry.h" + +#include <string> + +#include <gtkmm.h> + +using namespace Inkscape::Filters; +using namespace Inkscape::IO::Resource; +namespace Inkscape { +namespace UI { +namespace Dialog { + +FilterEditorDialog::FilterEditorDialog() : UI::Widget::Panel("", "/dialogs/filtereffects", SP_VERB_DIALOG_FILTER_EFFECTS) +{ + + const std::string req_widgets[] = {"FilterEditor", "FilterList", "FilterFERX", "FilterFERY", "FilterFERH", "FilterFERW", "FilterPreview", "FilterPrimitiveDescImage", "FilterPrimitiveList", "FilterPrimitiveDescText", "FilterPrimitiveAdd"}; + Glib::ustring gladefile = get_filename(UIS, "filter-editor.glade"); + try { + builder = Gtk::Builder::create_from_file(gladefile); + } catch(const Glib::Error& ex) { + g_warning("Glade file loading failed for filter effect dialog"); + return; + } + + Gtk::Object* test; + for(std::string w:req_widgets) { + builder->get_widget(w,test); + if(!test){ + g_warning("Required widget %s does not exist", w.c_str()); + return; + } + } + + builder->get_widget("FilterEditor", FilterEditor); + _getContents()->add(*FilterEditor); + +//test + Gtk::ComboBox *OptionList; + builder->get_widget("OptionList",OptionList); + FilterStore = builder->get_object("FilterStore"); + Glib::RefPtr<Gtk::ListStore> fs = Glib::RefPtr<Gtk::ListStore>::cast_static(FilterStore); + Gtk::TreeModel::Row row = *(fs->append()); + + + + + +} +FilterEditorDialog::~FilterEditorDialog(){} + + + + + + +} // Never put these namespaces together unless you are using gcc 6+ +} +} // P.S. This is for Inkscape::UI::Dialog + +/* + Local Variables: + mode:c++ + c-file-style:"stroustrup" + c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) + indent-tabs-mode:nil + fill-column:99 + End: +*/ +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 : diff --git a/src/ui/dialog/filter-editor.h b/src/ui/dialog/filter-editor.h new file mode 100644 index 000000000..6acb83f02 --- /dev/null +++ b/src/ui/dialog/filter-editor.h @@ -0,0 +1,53 @@ +/** @file + * @brief Filter Editor dialog + */ +/* Authors: + * Marc Jeanmougin + * + * Copyright (C) 2017 Authors + * + * Released under GNU GPL. Read the file 'COPYING' for more information. + */ + +#ifndef INKSCAPE_UI_DIALOG_FILTER_EDITOR_H +#define INKSCAPE_UI_DIALOG_FILTER_EDITOR_H + +#include "attributes.h" +#include "ui/widget/panel.h" +#include "sp-filter.h" + +#include <gtkmm/notebook.h> +#include <gtkmm/sizegroup.h> +#include <gtkmm/builder.h> +#include <gtkmm/comboboxtext.h> +#include <gtkmm/combobox.h> +#include <gtkmm/drawingarea.h> +#include <gtkmm/liststore.h> + +#include <gtkmm/paned.h> +#include <gtkmm/scrolledwindow.h> +#include <gtkmm/treeview.h> + +namespace Inkscape { +namespace UI { +namespace Dialog { + +class FilterEditorDialog : public UI::Widget::Panel { +public: + + FilterEditorDialog(); + ~FilterEditorDialog(); + + static FilterEditorDialog &getInstance() + { return *new FilterEditorDialog(); } + +// void set_attrs_locked(const bool); +private: + Glib::RefPtr<Gtk::Builder> builder; + Glib::RefPtr<Glib::Object> FilterStore; + Gtk::Box *FilterEditor; +}; +} +} +} +#endif diff --git a/src/ui/dialog/filter-effects-dialog.h b/src/ui/dialog/filter-effects-dialog.h index 32fabb741..e410a88f9 100644 --- a/src/ui/dialog/filter-effects-dialog.h +++ b/src/ui/dialog/filter-effects-dialog.h @@ -132,11 +132,7 @@ private: Gtk::Button _add; Glib::RefPtr<Gtk::Menu> _menu; sigc::signal<void> _signal_filter_changed; -#if __cplusplus <= 199711L - std::auto_ptr<Inkscape::XML::SignalObserver> _observer; -#else std::unique_ptr<Inkscape::XML::SignalObserver> _observer; -#endif }; class PrimitiveColumns : public Gtk::TreeModel::ColumnRecord @@ -244,11 +240,7 @@ private: sigc::connection _scroll_connection; int _autoscroll_y; int _autoscroll_x; -#if __cplusplus <= 199711L - std::auto_ptr<Inkscape::XML::SignalObserver> _observer; -#else std::unique_ptr<Inkscape::XML::SignalObserver> _observer; -#endif int _input_type_width; int _input_type_height; }; diff --git a/src/ui/dialog/grid-arrange-tab.cpp b/src/ui/dialog/grid-arrange-tab.cpp index 5d7422279..bb8fc564a 100644 --- a/src/ui/dialog/grid-arrange-tab.cpp +++ b/src/ui/dialog/grid-arrange-tab.cpp @@ -610,6 +610,7 @@ GridArrangeTab::GridArrangeTab(ArrangeDialog *parent) NoOfRowsLabel.set_text_with_mnemonic(_("_Rows:")); NoOfRowsLabel.set_mnemonic_widget(NoOfRowsSpinner); + NoOfRowsBox.set_orientation(Gtk::ORIENTATION_VERTICAL); NoOfRowsBox.pack_start(NoOfRowsLabel, false, false, MARGIN); NoOfRowsSpinner.set_digits(0); @@ -640,6 +641,7 @@ GridArrangeTab::GridArrangeTab(ArrangeDialog *parent) /*#### Label for X ####*/ padXByYLabel.set_label(" "); + XByYLabelVBox.set_orientation(Gtk::ORIENTATION_VERTICAL); XByYLabelVBox.pack_start(padXByYLabel, false, false, MARGIN); XByYLabel.set_markup(" × "); XByYLabelVBox.pack_start(XByYLabel, false, false, MARGIN); @@ -650,6 +652,7 @@ GridArrangeTab::GridArrangeTab(ArrangeDialog *parent) NoOfColsLabel.set_text_with_mnemonic(_("_Columns:")); NoOfColsLabel.set_mnemonic_widget(NoOfColsSpinner); + NoOfColsBox.set_orientation(Gtk::ORIENTATION_VERTICAL); NoOfColsBox.pack_start(NoOfColsLabel, false, false, MARGIN); NoOfColsSpinner.set_digits(0); @@ -676,6 +679,7 @@ GridArrangeTab::GridArrangeTab(ArrangeDialog *parent) SpinsHBox.pack_start(NoOfColsBox, false, false, MARGIN); + TileBox.set_orientation(Gtk::ORIENTATION_VERTICAL); TileBox.pack_start(SpinsHBox, false, false, MARGIN); VertAlign = prefs->getInt("/dialogs/gridtiler/VertAlign", 1); diff --git a/src/ui/dialog/grid-arrange-tab.h b/src/ui/dialog/grid-arrange-tab.h index 891849f1a..93bc38218 100644 --- a/src/ui/dialog/grid-arrange-tab.h +++ b/src/ui/dialog/grid-arrange-tab.h @@ -73,7 +73,7 @@ private: bool userHidden; bool updating; - Gtk::VBox TileBox; + Gtk::Box TileBox; Gtk::Button *TileOkButton; Gtk::Button *TileCancelButton; @@ -81,22 +81,22 @@ private: Gtk::Label SelectionContentsLabel; - Gtk::HBox AlignHBox; - Gtk::HBox SpinsHBox; + Gtk::Box AlignHBox; + Gtk::Box SpinsHBox; // Number per Row - Gtk::VBox NoOfColsBox; + Gtk::Box NoOfColsBox; Gtk::Label NoOfColsLabel; Inkscape::UI::Widget::SpinButton NoOfColsSpinner; bool AutoRowSize; Gtk::CheckButton RowHeightButton; - Gtk::VBox XByYLabelVBox; + Gtk::Box XByYLabelVBox; Gtk::Label padXByYLabel; Gtk::Label XByYLabel; // Number per Column - Gtk::VBox NoOfRowsBox; + Gtk::Box NoOfRowsBox; Gtk::Label NoOfRowsLabel; Inkscape::UI::Widget::SpinButton NoOfRowsSpinner; bool AutoColSize; @@ -121,15 +121,11 @@ private: bool ManualSpacing; // Row height - Gtk::VBox RowHeightVBox; - Gtk::HBox RowHeightBox; - Gtk::Label RowHeightLabel; + Gtk::Box RowHeightBox; Inkscape::UI::Widget::SpinButton RowHeightSpinner; // Column width - Gtk::VBox ColumnWidthVBox; - Gtk::HBox ColumnWidthBox; - Gtk::Label ColumnWidthLabel; + Gtk::Box ColumnWidthBox; Inkscape::UI::Widget::SpinButton ColumnWidthSpinner; }; diff --git a/src/ui/dialog/knot-properties.cpp b/src/ui/dialog/knot-properties.cpp index 954fe2a66..9008d943a 100644 --- a/src/ui/dialog/knot-properties.cpp +++ b/src/ui/dialog/knot-properties.cpp @@ -45,14 +45,15 @@ KnotPropertiesDialog::KnotPropertiesDialog() { Gtk::Box *mainVBox = get_vbox(); - _layout_table.set_spacings(4); - _layout_table.resize (2, 2); + _layout_table.set_row_spacing(4); + _layout_table.set_column_spacing(4); _unit_name = ""; // Layer name widgets _knot_x_entry.set_activates_default(true); _knot_x_entry.set_digits(4); _knot_x_entry.set_increments(1,1); _knot_x_entry.set_range(-G_MAXDOUBLE, G_MAXDOUBLE); + _knot_x_entry.set_hexpand(); _knot_x_label.set_label(_("Position X:")); _knot_x_label.set_alignment(1.0, 0.5); @@ -60,16 +61,15 @@ KnotPropertiesDialog::KnotPropertiesDialog() _knot_y_entry.set_digits(4); _knot_y_entry.set_increments(1,1); _knot_y_entry.set_range(-G_MAXDOUBLE, G_MAXDOUBLE); - _knot_y_label.set_label(_("Position Y:")); + _knot_y_entry.set_hexpand(); + _knot_y_label.set_label(_("Position Y:")); _knot_y_label.set_alignment(1.0, 0.5); - _layout_table.attach(_knot_x_label, - 0, 1, 0, 1, Gtk::FILL, Gtk::FILL); - _layout_table.attach(_knot_x_entry, - 1, 2, 0, 1, Gtk::FILL | Gtk::EXPAND, Gtk::FILL); + _layout_table.attach(_knot_x_label, 0, 0, 1, 1); + _layout_table.attach(_knot_x_entry, 1, 0, 1, 1); - _layout_table.attach(_knot_y_label, 0, 1, 1, 2, Gtk::FILL, Gtk::FILL); - _layout_table.attach(_knot_y_entry, 1, 2, 1, 2, Gtk::FILL | Gtk::EXPAND, Gtk::FILL); + _layout_table.attach(_knot_y_label, 0, 1, 1, 1); + _layout_table.attach(_knot_y_entry, 1, 1, 1, 1); mainVBox->pack_start(_layout_table, true, true, 4); diff --git a/src/ui/dialog/knot-properties.h b/src/ui/dialog/knot-properties.h index f6157168f..1297eae1f 100644 --- a/src/ui/dialog/knot-properties.h +++ b/src/ui/dialog/knot-properties.h @@ -13,9 +13,9 @@ #define INKSCAPE_DIALOG_KNOT_PROPERTIES_H #include <gtkmm/dialog.h> +#include <gtkmm/grid.h> #include <gtkmm/label.h> #include <gtkmm/spinbutton.h> -#include <gtkmm/table.h> #include <2geom/point.h> #include "knot.h" #include "ui/tools/measure-tool.h" @@ -45,7 +45,7 @@ protected: Gtk::SpinButton _knot_x_entry; Gtk::Label _knot_y_label; Gtk::SpinButton _knot_y_entry; - Gtk::Table _layout_table; + Gtk::Grid _layout_table; bool _position_visible; Gtk::Button _close_button; diff --git a/src/ui/dialog/layers.cpp b/src/ui/dialog/layers.cpp index be3b4af06..7a650b034 100644 --- a/src/ui/dialog/layers.cpp +++ b/src/ui/dialog/layers.cpp @@ -15,7 +15,6 @@ #include "layers.h" #include <gtkmm/icontheme.h> -#include <gtkmm/imagemenuitem.h> #include <gtkmm/separatormenuitem.h> #include <glibmm/main.h> @@ -113,11 +112,12 @@ void LayersPanel::_styleButton( Gtk::Button& btn, SPDesktop *desktop, unsigned i Gtk::MenuItem& LayersPanel::_addPopupItem( SPDesktop *desktop, unsigned int code, char const* iconName, char const* fallback, int id ) { - GtkWidget* iconWidget = 0; + Gtk::Image *iconWidget = nullptr; const char* label = 0; if ( iconName ) { - iconWidget = gtk_image_new_from_icon_name( iconName, GTK_ICON_SIZE_MENU ); + iconWidget = Gtk::manage(new Gtk::Image()); + iconWidget->set_from_icon_name( iconName, Gtk::ICON_SIZE_MENU ); } if ( desktop ) { @@ -125,7 +125,8 @@ Gtk::MenuItem& LayersPanel::_addPopupItem( SPDesktop *desktop, unsigned int code if ( verb ) { SPAction *action = verb->get_action(Inkscape::ActionContext(desktop)); if ( !iconWidget && action && action->image ) { - iconWidget = gtk_image_new_from_icon_name( action->image, GTK_ICON_SIZE_MENU ); + iconWidget = Gtk::manage(new Gtk::Image()); + iconWidget->set_from_icon_name( action->image, Gtk::ICON_SIZE_MENU ); } if ( action ) { @@ -138,21 +139,23 @@ Gtk::MenuItem& LayersPanel::_addPopupItem( SPDesktop *desktop, unsigned int code label = fallback; } - Gtk::Widget* wrapped = 0; - if ( iconWidget ) { - wrapped = Gtk::manage(Glib::wrap(iconWidget)); - wrapped->show(); - } - - - Gtk::MenuItem* item = 0; + auto box = Gtk::manage(new Gtk::Box()); + Gtk::MenuItem* item = Gtk::manage(new Gtk::MenuItem()); - if (wrapped) { - item = Gtk::manage(new Gtk::ImageMenuItem(*wrapped, label, true)); - } else { - item = Gtk::manage(new Gtk::MenuItem(label, true)); + if (iconWidget) { + box->pack_start(*iconWidget, false, true, 0); + } + else { + Gtk::Label *fake_icon = Gtk::manage(new Gtk::Label("")); + box->pack_start(*fake_icon, false, true, 0); } + Gtk::Label *menu_label = Gtk::manage(new Gtk::Label(label, true)); + menu_label->set_xalign(0.0); + box->pack_start(*menu_label, true, true, 0); + item->add(*box); + item->show_all(); + item->signal_activate().connect(sigc::bind(sigc::mem_fun(*this, &LayersPanel::_takeAction), id)); _popupMenu.append(*item); diff --git a/src/ui/dialog/objects.cpp b/src/ui/dialog/objects.cpp index e76da241a..4b673b8b7 100644 --- a/src/ui/dialog/objects.cpp +++ b/src/ui/dialog/objects.cpp @@ -241,23 +241,25 @@ void ObjectsPanel::_styleButton(Gtk::Button& btn, char const* iconName, char con */ Gtk::MenuItem& ObjectsPanel::_addPopupItem( SPDesktop *desktop, unsigned int code, char const* iconName, char const* fallback, int id ) { - GtkWidget* iconWidget = 0; + Gtk::Image *iconWidget = nullptr; const char* label = 0; if ( iconName ) { - iconWidget = gtk_image_new_from_icon_name( iconName, GTK_ICON_SIZE_MENU ); + iconWidget = Gtk::manage(new Gtk::Image()); + iconWidget->set_from_icon_name( iconName, Gtk::ICON_SIZE_MENU ); } if ( desktop ) { Verb *verb = Verb::get( code ); if ( verb ) { - SPAction *action = verb->get_action(desktop); + SPAction *action = verb->get_action(Inkscape::ActionContext(desktop)); if ( !iconWidget && action && action->image ) { - iconWidget = gtk_image_new_from_icon_name( action->image, GTK_ICON_SIZE_MENU ); + iconWidget = Gtk::manage(new Gtk::Image()); + iconWidget->set_from_icon_name( action->image, Gtk::ICON_SIZE_MENU ); } if ( action ) { - // label = action->name; + label = action->name; } } } @@ -266,21 +268,23 @@ Gtk::MenuItem& ObjectsPanel::_addPopupItem( SPDesktop *desktop, unsigned int cod label = fallback; } - Gtk::Widget* wrapped = 0; - if ( iconWidget ) { - wrapped = Gtk::manage(Glib::wrap(iconWidget)); - wrapped->show(); - } - - - Gtk::MenuItem* item = 0; + auto box = Gtk::manage(new Gtk::Box()); + Gtk::MenuItem* item = Gtk::manage(new Gtk::MenuItem()); - if (wrapped) { - item = Gtk::manage(new Gtk::ImageMenuItem(*wrapped, label, true)); - } else { - item = Gtk::manage(new Gtk::MenuItem(label, true)); + if (iconWidget) { + box->pack_start(*iconWidget, false, true, 0); + } + else { + Gtk::Label *fake_icon = Gtk::manage(new Gtk::Label("")); + box->pack_start(*fake_icon, false, true, 0); } + Gtk::Label *menu_label = Gtk::manage(new Gtk::Label(label, true)); + menu_label->set_xalign(0.0); + box->pack_start(*menu_label, true, true, 0); + item->add(*box); + item->show_all(); + item->signal_activate().connect(sigc::bind(sigc::mem_fun(*this, &ObjectsPanel::_takeAction), id)); _popupMenu.append(*item); diff --git a/src/ui/dialog/styledialog.cpp b/src/ui/dialog/styledialog.cpp index 73dd6937a..3642c0168 100644 --- a/src/ui/dialog/styledialog.cpp +++ b/src/ui/dialog/styledialog.cpp @@ -264,7 +264,9 @@ StyleDialog::StyleDialog() : _treeView.set_expander_column(*(_treeView.get_column(1))); // Pack widgets + _paned.set_orientation(Gtk::ORIENTATION_VERTICAL); _paned.pack1(_mainBox, Gtk::SHRINK); + _mainBox.set_orientation(Gtk::ORIENTATION_VERTICAL); _mainBox.pack_start(_scrolledWindow, Gtk::PACK_EXPAND_WIDGET); _scrolledWindow.add(_treeView); _scrolledWindow.set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC); diff --git a/src/ui/dialog/styledialog.h b/src/ui/dialog/styledialog.h index dbbc1e480..03932e3cc 100644 --- a/src/ui/dialog/styledialog.h +++ b/src/ui/dialog/styledialog.h @@ -108,9 +108,9 @@ private: Glib::RefPtr<TreeStore> _store; // Widgets - Gtk::VPaned _paned; - Gtk::VBox _mainBox; - Gtk::HBox _buttonBox; + Gtk::Paned _paned; + Gtk::Box _mainBox; + Gtk::Box _buttonBox; Gtk::ScrolledWindow _scrolledWindow; Gtk::Button* del; Gtk::Button* create; diff --git a/src/ui/dialog/tags.cpp b/src/ui/dialog/tags.cpp index b990ccfef..176719995 100644 --- a/src/ui/dialog/tags.cpp +++ b/src/ui/dialog/tags.cpp @@ -155,7 +155,7 @@ Gtk::MenuItem& TagsPanel::_addPopupItem( SPDesktop *desktop, unsigned int code, } if ( action ) { - label = action->name; + // label = action->name; } } } @@ -166,7 +166,7 @@ Gtk::MenuItem& TagsPanel::_addPopupItem( SPDesktop *desktop, unsigned int code, Gtk::Widget* wrapped = 0; if ( iconWidget ) { - wrapped = manage(Glib::wrap(iconWidget)); + wrapped = Gtk::manage(Glib::wrap(iconWidget)); wrapped->show(); } diff --git a/src/ui/interface.cpp b/src/ui/interface.cpp index 4246ae34e..a0ee5c72b 100644 --- a/src/ui/interface.cpp +++ b/src/ui/interface.cpp @@ -136,8 +136,6 @@ static void sp_ui_menu_item_set_name(GtkWidget *data, Glib::ustring const &name); static void sp_recent_open(GtkRecentChooser *, gpointer); -static void injectRenamedIcons(); - static const int MIN_ONSCREEN_DISTANCE = 50; void @@ -1441,33 +1439,6 @@ sp_ui_menu_item_set_name(GtkWidget *data, Glib::ustring const &name) } } } - -void injectRenamedIcons() -{ - Glib::RefPtr<Gtk::IconTheme> iconTheme = Gtk::IconTheme::get_default(); - - std::vector< std::pair<Glib::ustring, Glib::ustring> > renamed; - renamed.push_back(std::make_pair("gtk-file", "document-x-generic")); - renamed.push_back(std::make_pair("gtk-directory", "folder")); - - for ( std::vector< std::pair<Glib::ustring, Glib::ustring> >::iterator it = renamed.begin(); it < renamed.end(); ++it ) { - bool hasIcon = iconTheme->has_icon(it->first); - bool hasSecondIcon = iconTheme->has_icon(it->second); - - if ( !hasIcon && hasSecondIcon ) { - Glib::ArrayHandle<int> sizes = iconTheme->get_icon_sizes(it->second); - for ( Glib::ArrayHandle<int>::iterator it2 = sizes.begin(); it2 < sizes.end(); ++it2 ) { - Glib::RefPtr<Gdk::Pixbuf> pb = iconTheme->load_icon( it->second, *it2 ); - if ( pb ) { - // install a private copy of the pixbuf to avoid pinning a theme - Glib::RefPtr<Gdk::Pixbuf> pbCopy = pb->copy(); - Gtk::IconTheme::add_builtin_icon( it->first, *it2, pbCopy ); - } - } - } - } -} - /* Local Variables: mode:c++ diff --git a/src/ui/previewholder.cpp b/src/ui/previewholder.cpp index 6fec65124..e294bd408 100644 --- a/src/ui/previewholder.cpp +++ b/src/ui/previewholder.cpp @@ -149,7 +149,6 @@ void PreviewHolder::addPreview( Previewable* preview ) auto target = kids[childCount - (j + 1)]; int col2 = j % width; int row2 = j / width; - Glib::RefPtr<Gtk::Widget> handle(target); _insides->remove( *target ); target->set_hexpand(); diff --git a/src/ui/tools/arc-tool.cpp b/src/ui/tools/arc-tool.cpp index 6652f7ab5..01e0c3e00 100644 --- a/src/ui/tools/arc-tool.cpp +++ b/src/ui/tools/arc-tool.cpp @@ -59,7 +59,7 @@ const std::string ArcTool::prefsPath = "/tools/shapes/arc"; ArcTool::ArcTool() - : ToolBase(cursor_ellipse_xpm, 4, 4) + : ToolBase(cursor_ellipse_xpm) , arc(NULL) { } diff --git a/src/ui/tools/box3d-tool.cpp b/src/ui/tools/box3d-tool.cpp index 425695a2c..276385335 100644 --- a/src/ui/tools/box3d-tool.cpp +++ b/src/ui/tools/box3d-tool.cpp @@ -54,7 +54,7 @@ const std::string& Box3dTool::getPrefsPath() { const std::string Box3dTool::prefsPath = "/tools/shapes/3dbox"; Box3dTool::Box3dTool() - : ToolBase(cursor_3dbox_xpm, 4, 4) + : ToolBase(cursor_3dbox_xpm) , _vpdrag(NULL) , box3d(NULL) , ctrl_dragged(false) diff --git a/src/ui/tools/calligraphic-tool.cpp b/src/ui/tools/calligraphic-tool.cpp index 7228a52bc..266375caa 100644 --- a/src/ui/tools/calligraphic-tool.cpp +++ b/src/ui/tools/calligraphic-tool.cpp @@ -88,7 +88,7 @@ const std::string& CalligraphicTool::getPrefsPath() { const std::string CalligraphicTool::prefsPath = "/tools/calligraphic"; CalligraphicTool::CalligraphicTool() - : DynamicBase(cursor_calligraphy_xpm, 4, 4) + : DynamicBase(cursor_calligraphy_xpm) , keep_selected(true) , hatch_spacing(0) , hatch_spacing_step(0) diff --git a/src/ui/tools/connector-tool.cpp b/src/ui/tools/connector-tool.cpp index 9332335fe..935463942 100644 --- a/src/ui/tools/connector-tool.cpp +++ b/src/ui/tools/connector-tool.cpp @@ -145,7 +145,7 @@ const std::string& ConnectorTool::getPrefsPath() { const std::string ConnectorTool::prefsPath = "/tools/connector"; ConnectorTool::ConnectorTool() - : ToolBase(cursor_connector_xpm, 1, 1) + : ToolBase(cursor_connector_xpm) , selection(NULL) , npoints(0) , state(SP_CONNECTOR_CONTEXT_IDLE) diff --git a/src/ui/tools/dropper-tool.cpp b/src/ui/tools/dropper-tool.cpp index 99177dc75..4524d2445 100644 --- a/src/ui/tools/dropper-tool.cpp +++ b/src/ui/tools/dropper-tool.cpp @@ -39,6 +39,8 @@ #include "pixmaps/cursor-dropper-f.xpm" #include "pixmaps/cursor-dropper-s.xpm" +#include "pixmaps/cursor-dropping-f.xpm" +#include "pixmaps/cursor-dropping-s.xpm" #include "ui/tools/dropper-tool.h" #include "message-context.h" @@ -46,9 +48,6 @@ using Inkscape::DocumentUndo; -static GdkCursor *cursor_dropper_fill = NULL; -static GdkCursor *cursor_dropper_stroke = NULL; - namespace Inkscape { namespace UI { namespace Tools { @@ -60,7 +59,7 @@ const std::string& DropperTool::getPrefsPath() { const std::string DropperTool::prefsPath = "/tools/dropper"; DropperTool::DropperTool() - : ToolBase(cursor_dropper_f_xpm, 5, 5) + : ToolBase(cursor_dropper_f_xpm) , R(0) , G(0) , B(0) @@ -70,8 +69,6 @@ DropperTool::DropperTool() , area(NULL) , centre(0, 0) { - cursor_dropper_fill = sp_cursor_new_from_xpm(cursor_dropper_f_xpm , 5, 5); - cursor_dropper_stroke = sp_cursor_new_from_xpm(cursor_dropper_s_xpm , 5, 5); } DropperTool::~DropperTool() { @@ -117,16 +114,6 @@ void DropperTool::finish() { this->area = NULL; } - if (cursor_dropper_fill) { - g_object_unref(cursor_dropper_fill); - cursor_dropper_fill = NULL; - } - - if (cursor_dropper_stroke) { - g_object_unref(cursor_dropper_stroke); - cursor_dropper_fill = NULL; - } - ToolBase::finish(); } @@ -149,9 +136,29 @@ bool DropperTool::root_handler(GdkEvent* event) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); int ret = FALSE; - int pick = prefs->getInt("/tools/dropper/pick", SP_DROPPER_PICK_VISIBLE); bool setalpha = prefs->getBool("/tools/dropper/setalpha", true); + bool fill = !(event->button.state & GDK_SHIFT_MASK); // Stroke if Shift key held + bool apply = event->button.state & GDK_CONTROL_MASK; // Apply if Ctrl key held + int draw_cursor = fill ? DRAW_FILL_CURSOR : DRAW_STROKE_CURSOR; + + // Get color from selected object instead. + guint32 apply_color = 0; + if(apply) { + Inkscape::Selection *selection = desktop->getSelection(); + g_assert(selection); + for (auto& obj: selection->objects()) { + if(obj->style) { + if(obj->style->fill.set) { + double opacity = 1.0; + if(obj->style->fill_opacity.set) { + opacity = obj->style->fill_opacity.value; + } + apply_color = obj->style->fill.value.color.toRGBA32(opacity); + } + } + } + } switch (event->type) { case GDK_BUTTON_PRESS: @@ -160,11 +167,12 @@ bool DropperTool::root_handler(GdkEvent* event) { this->dragging = true; ret = TRUE; } - - sp_canvas_item_grab(SP_CANVAS_ITEM(desktop->acetate), - GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK, - NULL, event->button.time); - this->grabbed = SP_CANVAS_ITEM(desktop->acetate); + + sp_canvas_item_grab(SP_CANVAS_ITEM(desktop->acetate), + GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_BUTTON_RELEASE_MASK | + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK, + NULL, event->button.time); + this->grabbed = SP_CANVAS_ITEM(desktop->acetate); break; case GDK_MOTION_NOTIFY: @@ -174,14 +182,6 @@ bool DropperTool::root_handler(GdkEvent* event) { break; } else if (!this->space_panning) { // otherwise, constantly calculate color no matter is any button pressed or not - - // If one time pick with stroke set the pixmap - if (prefs->getBool("/tools/dropper/onetimepick", false) && prefs->getInt("/dialogs/fillstroke/page", 0) == 1) { - //TODO Only set when not set already - GdkWindow* window = gtk_widget_get_window(GTK_WIDGET(desktop->getCanvas())); - gdk_window_set_cursor(window, cursor_dropper_stroke); - } - double rw = 0.0; double R(0), G(0), B(0), A(0); @@ -242,10 +242,12 @@ bool DropperTool::root_handler(GdkEvent* event) { } // remember color - this->R = R; - this->G = G; - this->B = B; - this->alpha = A; + if(R != this->R || G != this->G || B != this->B || A != this->alpha) { + this->R = R; + this->G = G; + this->B = B; + this->alpha = A; + } // status message double alpha_to_set = setalpha? this->alpha : 1.0; @@ -276,36 +278,47 @@ bool DropperTool::root_handler(GdkEvent* event) { case GDK_BUTTON_RELEASE: if (event->button.button == 1 && !this->space_panning) { - sp_canvas_item_hide(this->area); - this->dragging = false; - - if (this->grabbed) { - sp_canvas_item_ungrab(this->grabbed, event->button.time); - this->grabbed = NULL; - } - double alpha_to_set = setalpha? this->alpha : 1.0; + sp_canvas_item_hide(this->area); + this->dragging = false; + + if (this->grabbed) { + sp_canvas_item_ungrab(this->grabbed, event->button.time); + this->grabbed = NULL; + } + + if(apply) { + Geom::Point const button_w(event->button.x, event->button.y); + // remember clicked item, disregarding groups, honoring Alt + this->item_to_select = sp_event_context_find_item (desktop, button_w, event->button.state & GDK_MOD1_MASK, TRUE); + + // Change selected object to object under cursor + if (this->item_to_select) { + Inkscape::Selection *selection = desktop->getSelection(); + g_assert(selection); + selection->set(this->item_to_select); + } - bool fill = !(event->button.state & GDK_SHIFT_MASK); // Stroke if Shift key held + this->R = SP_RGBA32_R_F(apply_color); + this->G = SP_RGBA32_G_F(apply_color); + this->B = SP_RGBA32_B_F(apply_color); + this->alpha = SP_RGBA32_A_F(apply_color); + alpha_to_set = this->alpha; - if (prefs->getBool("/tools/dropper/onetimepick", false)) { - // "One time" pick from Fill/Stroke dialog stroke page, always apply fill or stroke (ignore <Shift> key) - fill = (prefs->getInt("/dialogs/fillstroke/page", 0) == 0) ? true : false; + } else { + if (prefs->getBool("/tools/dropper/onetimepick", false)) { + // "One time" pick from Fill/Stroke dialog stroke page, always apply fill or stroke (ignore <Shift> key) + fill = (prefs->getInt("/dialogs/fillstroke/page", 0) == 0) ? true : false; + } } // do the actual color setting sp_desktop_set_color(desktop, - (event->button.state & GDK_MOD1_MASK)? - ColorRGBA(1 - this->R, 1 - this->G, 1 - this->B, alpha_to_set) : ColorRGBA(this->R, this->G, this->B, alpha_to_set), - false, fill); + (event->button.state & GDK_MOD1_MASK)? + ColorRGBA(1 - this->R, 1 - this->G, 1 - this->B, alpha_to_set) : ColorRGBA(this->R, this->G, this->B, alpha_to_set), + false, fill); // REJON: set aux. toolbar input to hex color! - - if (event->button.state & GDK_SHIFT_MASK) { - GdkWindow* window = gtk_widget_get_window(GTK_WIDGET(desktop->getCanvas())); - gdk_window_set_cursor(window, cursor_dropper_stroke); - } - if (!(desktop->getSelection()->isEmpty())) { DocumentUndo::done(desktop->getDocument(), SP_VERB_CONTEXT_DROPPER, _("Set picked color")); @@ -340,11 +353,7 @@ bool DropperTool::root_handler(GdkEvent* event) { desktop->getSelection()->clear(); case GDK_KEY_Shift_L: case GDK_KEY_Shift_R: - if (!desktop->isWaitingCursor() && !prefs->getBool("/tools/dropper/onetimepick", false)) { - GdkWindow* window = gtk_widget_get_window(GTK_WIDGET(desktop->getCanvas())); - gdk_window_set_cursor(window, cursor_dropper_stroke); - } - + draw_cursor = DRAW_STROKE_CURSOR; break; default: break; @@ -355,10 +364,7 @@ bool DropperTool::root_handler(GdkEvent* event) { switch (get_group0_keyval(&event->key)) { case GDK_KEY_Shift_L: case GDK_KEY_Shift_R: - if (!desktop->isWaitingCursor() && !prefs->getBool("/tools/dropper/onetimepick", false)) { - GdkWindow* window = gtk_widget_get_window(GTK_WIDGET(desktop->getCanvas())); - gdk_window_set_cursor(window, cursor_dropper_fill); - } + draw_cursor = DRAW_FILL_CURSOR; break; default: @@ -370,6 +376,25 @@ bool DropperTool::root_handler(GdkEvent* event) { break; } + if(draw_cursor != DONT_REDRAW_CURSOR && !desktop->isWaitingCursor() && !prefs->getBool("/tools/dropper/onetimepick", false)) { + GdkCursor *cursor; + if(apply) { + if(draw_cursor == DRAW_FILL_CURSOR) { + cursor = sp_cursor_from_xpm(cursor_dropping_f_xpm, NULL, NULL, apply_color); + } else if(draw_cursor == DRAW_STROKE_CURSOR) { + cursor = sp_cursor_from_xpm(cursor_dropping_s_xpm, NULL, NULL, apply_color); + } + } else { + if(draw_cursor == DRAW_FILL_CURSOR) { + cursor = sp_cursor_from_xpm(cursor_dropper_f_xpm, NULL, NULL, this->get_color()); + } else if(draw_cursor == DRAW_STROKE_CURSOR) { + cursor = sp_cursor_from_xpm(cursor_dropper_s_xpm, NULL, NULL, this->get_color()); + } + } + GdkWindow* window = gtk_widget_get_window(GTK_WIDGET(desktop->getCanvas())); + gdk_window_set_cursor(window, cursor); + } + if (!ret) { ret = ToolBase::root_handler(event); } diff --git a/src/ui/tools/dropper-tool.h b/src/ui/tools/dropper-tool.h index cfeb91dab..85675501c 100644 --- a/src/ui/tools/dropper-tool.h +++ b/src/ui/tools/dropper-tool.h @@ -25,6 +25,11 @@ enum { SP_DROPPER_PICK_VISIBLE, SP_DROPPER_PICK_ACTUAL }; +enum { + DONT_REDRAW_CURSOR, + DRAW_FILL_CURSOR, + DRAW_STROKE_CURSOR +}; namespace Inkscape { namespace UI { diff --git a/src/ui/tools/dynamic-base.cpp b/src/ui/tools/dynamic-base.cpp index 6627a470e..bb4989333 100644 --- a/src/ui/tools/dynamic-base.cpp +++ b/src/ui/tools/dynamic-base.cpp @@ -18,8 +18,8 @@ namespace Inkscape { namespace UI { namespace Tools { -DynamicBase::DynamicBase(gchar const *const *cursor_shape, gint hot_x, gint hot_y) - : ToolBase(cursor_shape, hot_x, hot_y) +DynamicBase::DynamicBase(gchar const *const *cursor_shape) + : ToolBase(cursor_shape) , accumulated(NULL) , segments(NULL) , currentshape(NULL) diff --git a/src/ui/tools/dynamic-base.h b/src/ui/tools/dynamic-base.h index 095af8f88..e270052f3 100644 --- a/src/ui/tools/dynamic-base.h +++ b/src/ui/tools/dynamic-base.h @@ -38,7 +38,7 @@ namespace Tools { class DynamicBase : public ToolBase { public: - DynamicBase(gchar const *const *cursor_shape, gint hot_x, gint hot_y); + DynamicBase(gchar const *const *cursor_shape); virtual ~DynamicBase(); virtual void set(const Inkscape::Preferences::Entry& val); diff --git a/src/ui/tools/eraser-tool.cpp b/src/ui/tools/eraser-tool.cpp index ae312e054..b4246b9cc 100644 --- a/src/ui/tools/eraser-tool.cpp +++ b/src/ui/tools/eraser-tool.cpp @@ -93,7 +93,7 @@ const std::string& EraserTool::getPrefsPath() { const std::string EraserTool::prefsPath = "/tools/eraser"; EraserTool::EraserTool() - : DynamicBase(cursor_eraser_xpm, 4, 4) + : DynamicBase(cursor_eraser_xpm) , nowidth(false) { } diff --git a/src/ui/tools/flood-tool.cpp b/src/ui/tools/flood-tool.cpp index 6e1d085aa..f6f9b4355 100644 --- a/src/ui/tools/flood-tool.cpp +++ b/src/ui/tools/flood-tool.cpp @@ -98,7 +98,7 @@ Glib::ustring gap_init[4] = { const std::vector<Glib::ustring> FloodTool::gap_list( gap_init, gap_init+4 ); FloodTool::FloodTool() - : ToolBase(cursor_paintbucket_xpm, 11, 30) + : ToolBase(cursor_paintbucket_xpm) , item(NULL) { // TODO: Why does the flood tool use a hardcoded tolerance instead of a pref? diff --git a/src/ui/tools/freehand-base.cpp b/src/ui/tools/freehand-base.cpp index 4af70a816..8a5ef0aad 100644 --- a/src/ui/tools/freehand-base.cpp +++ b/src/ui/tools/freehand-base.cpp @@ -63,8 +63,8 @@ static void spdc_flush_white(FreehandBase *dc, SPCurve *gc); static void spdc_reset_white(FreehandBase *dc); static void spdc_free_colors(FreehandBase *dc); -FreehandBase::FreehandBase(gchar const *const *cursor_shape, gint hot_x, gint hot_y) - : ToolBase(cursor_shape, hot_x, hot_y) +FreehandBase::FreehandBase(gchar const *const *cursor_shape) + : ToolBase(cursor_shape) , selection(NULL) , grab(NULL) , attach(false) diff --git a/src/ui/tools/freehand-base.h b/src/ui/tools/freehand-base.h index 3ee4cd7d0..a3069aa09 100644 --- a/src/ui/tools/freehand-base.h +++ b/src/ui/tools/freehand-base.h @@ -44,7 +44,7 @@ namespace Tools { class FreehandBase : public ToolBase { public: - FreehandBase(gchar const *const *cursor_shape, gint hot_x, gint hot_y); + FreehandBase(gchar const *const *cursor_shape); virtual ~FreehandBase(); Inkscape::Selection *selection; diff --git a/src/ui/tools/gradient-tool.cpp b/src/ui/tools/gradient-tool.cpp index 750596808..95d940bd6 100644 --- a/src/ui/tools/gradient-tool.cpp +++ b/src/ui/tools/gradient-tool.cpp @@ -58,7 +58,7 @@ const std::string GradientTool::prefsPath = "/tools/gradient"; GradientTool::GradientTool() - : ToolBase(cursor_gradient_xpm, 4, 4) + : ToolBase(cursor_gradient_xpm) , cursor_addnode(false) , node_added(false) // TODO: Why are these connections stored as pointers? diff --git a/src/ui/tools/lpe-tool.cpp b/src/ui/tools/lpe-tool.cpp index 29e4c9e74..35e6d14a0 100644 --- a/src/ui/tools/lpe-tool.cpp +++ b/src/ui/tools/lpe-tool.cpp @@ -68,7 +68,7 @@ const std::string& LpeTool::getPrefsPath() { const std::string LpeTool::prefsPath = "/tools/lpetool"; LpeTool::LpeTool() - : PenTool(cursor_crosshairs_xpm, 7, 7) + : PenTool(cursor_crosshairs_xpm) , shape_editor(NULL) , canvas_bbox(NULL) , mode(Inkscape::LivePathEffect::BEND_PATH) diff --git a/src/ui/tools/measure-tool.cpp b/src/ui/tools/measure-tool.cpp index 98b2c7d03..7f3c99716 100644 --- a/src/ui/tools/measure-tool.cpp +++ b/src/ui/tools/measure-tool.cpp @@ -322,7 +322,7 @@ void createAngleDisplayCurve(SPDesktop *desktop, Geom::Point const ¢er, Geom boost::optional<Geom::Point> explicit_base_tmp = boost::none; MeasureTool::MeasureTool() - : ToolBase(cursor_measure_xpm, 4, 4) + : ToolBase(cursor_measure_xpm) , grabbed(NULL) { SPDesktop *desktop = SP_ACTIVE_DESKTOP; diff --git a/src/ui/tools/mesh-tool.cpp b/src/ui/tools/mesh-tool.cpp index ac43b6c9d..d79741270 100644 --- a/src/ui/tools/mesh-tool.cpp +++ b/src/ui/tools/mesh-tool.cpp @@ -72,7 +72,7 @@ const std::string MeshTool::prefsPath = "/tools/mesh"; // TODO: The gradient tool class looks like a 1:1 copy. MeshTool::MeshTool() - : ToolBase(cursor_gradient_xpm, 4, 4) + : ToolBase(cursor_gradient_xpm) , cursor_addnode(false) , node_added(false) , show_handles(true) diff --git a/src/ui/tools/node-tool.cpp b/src/ui/tools/node-tool.cpp index 0c948c91c..08aacf805 100644 --- a/src/ui/tools/node-tool.cpp +++ b/src/ui/tools/node-tool.cpp @@ -118,7 +118,7 @@ const std::string NodeTool::prefsPath = "/tools/nodes"; SPCanvasGroup *create_control_group(SPDesktop *d); NodeTool::NodeTool() - : ToolBase(cursor_node_xpm, 1, 1) + : ToolBase(cursor_node_xpm) , _selected_nodes(NULL) , _multipath(NULL) , edit_clipping_paths(false) @@ -773,14 +773,10 @@ void NodeTool::mouseover_changed(Inkscape::UI::ControlPoint *p) { if (cdp && !this->cursor_drag) { this->cursor_shape = cursor_node_d_xpm; - this->hot_x = 1; - this->hot_y = 1; this->sp_event_context_update_cursor(); this->cursor_drag = true; } else if (!cdp && this->cursor_drag) { this->cursor_shape = cursor_node_xpm; - this->hot_x = 1; - this->hot_y = 1; this->sp_event_context_update_cursor(); this->cursor_drag = false; } diff --git a/src/ui/tools/pen-tool.cpp b/src/ui/tools/pen-tool.cpp index caf6faec2..265ddf2ea 100644 --- a/src/ui/tools/pen-tool.cpp +++ b/src/ui/tools/pen-tool.cpp @@ -81,7 +81,7 @@ const std::string& PenTool::getPrefsPath() { const std::string PenTool::prefsPath = "/tools/freehand/pen"; PenTool::PenTool() - : FreehandBase(cursor_pen_xpm, 4, 4) + : FreehandBase(cursor_pen_xpm) , p() , npoints(0) , mode(MODE_CLICK) @@ -100,8 +100,8 @@ PenTool::PenTool() { } -PenTool::PenTool(gchar const *const *cursor_shape, gint hot_x, gint hot_y) - : FreehandBase(cursor_shape, hot_x, hot_y) +PenTool::PenTool(gchar const *const *cursor_shape) + : FreehandBase(cursor_shape) , p() , npoints(0) , mode(MODE_CLICK) diff --git a/src/ui/tools/pen-tool.h b/src/ui/tools/pen-tool.h index 5a21e3bac..7e5483358 100644 --- a/src/ui/tools/pen-tool.h +++ b/src/ui/tools/pen-tool.h @@ -23,7 +23,7 @@ namespace Tools { class PenTool : public FreehandBase { public: PenTool(); - PenTool(gchar const *const *cursor_shape, gint hot_x, gint hot_y); + PenTool(gchar const *const *cursor_shape); virtual ~PenTool(); enum Mode { diff --git a/src/ui/tools/pencil-tool.cpp b/src/ui/tools/pencil-tool.cpp index ec2874823..99b8103c3 100644 --- a/src/ui/tools/pencil-tool.cpp +++ b/src/ui/tools/pencil-tool.cpp @@ -57,7 +57,7 @@ const std::string& PencilTool::getPrefsPath() { const std::string PencilTool::prefsPath = "/tools/freehand/pencil"; PencilTool::PencilTool() - : FreehandBase(cursor_pencil_xpm, 4, 4) + : FreehandBase(cursor_pencil_xpm) , p() , npoints(0) , state(SP_PENCIL_CONTEXT_IDLE) diff --git a/src/ui/tools/rect-tool.cpp b/src/ui/tools/rect-tool.cpp index 272531945..8eaae2f7b 100644 --- a/src/ui/tools/rect-tool.cpp +++ b/src/ui/tools/rect-tool.cpp @@ -52,7 +52,7 @@ const std::string& RectTool::getPrefsPath() { const std::string RectTool::prefsPath = "/tools/shapes/rect"; RectTool::RectTool() - : ToolBase(cursor_rect_xpm, 4, 4) + : ToolBase(cursor_rect_xpm) , rect(NULL) , rx(0) , ry(0) diff --git a/src/ui/tools/select-tool.cpp b/src/ui/tools/select-tool.cpp index 927b8a3d4..fca2173ca 100644 --- a/src/ui/tools/select-tool.cpp +++ b/src/ui/tools/select-tool.cpp @@ -81,7 +81,7 @@ sp_load_handles(int start, int count, char const **xpm) { SelectTool::SelectTool() // Don't load a default cursor - : ToolBase(NULL, 0, 0) + : ToolBase(NULL) , dragging(false) , moved(false) , button_press_shift(false) @@ -94,8 +94,8 @@ SelectTool::SelectTool() , _describer(NULL) { // cursors in select context - CursorSelectMouseover = sp_cursor_new_from_xpm(cursor_select_m_xpm , 1, 1); - CursorSelectDragging = sp_cursor_new_from_xpm(cursor_select_d_xpm , 1, 1); + CursorSelectMouseover = sp_cursor_from_xpm(cursor_select_m_xpm); + CursorSelectDragging = sp_cursor_from_xpm(cursor_select_d_xpm); // selection handles sp_load_handles(0, 2, handle_scale_xpm); diff --git a/src/ui/tools/spiral-tool.cpp b/src/ui/tools/spiral-tool.cpp index 0ba08853e..08c35b9b0 100644 --- a/src/ui/tools/spiral-tool.cpp +++ b/src/ui/tools/spiral-tool.cpp @@ -51,7 +51,7 @@ const std::string& SpiralTool::getPrefsPath() { const std::string SpiralTool::prefsPath = "/tools/shapes/spiral"; SpiralTool::SpiralTool() - : ToolBase(cursor_spiral_xpm, 4, 4) + : ToolBase(cursor_spiral_xpm) , spiral(NULL) , revo(3) , exp(1) diff --git a/src/ui/tools/spray-tool.cpp b/src/ui/tools/spray-tool.cpp index ad006627c..f3e7e6d3c 100644 --- a/src/ui/tools/spray-tool.cpp +++ b/src/ui/tools/spray-tool.cpp @@ -137,7 +137,7 @@ static void sp_spray_scale_rel(Geom::Point c, SPDesktop */*desktop*/, SPItem *it } SprayTool::SprayTool() - : ToolBase(cursor_spray_xpm, 4, 4, false) + : ToolBase(cursor_spray_xpm, false) , pressure(TC_DEFAULT_PRESSURE) , dragging(false) , usepressurewidth(false) diff --git a/src/ui/tools/star-tool.cpp b/src/ui/tools/star-tool.cpp index ddee08189..18992d87a 100644 --- a/src/ui/tools/star-tool.cpp +++ b/src/ui/tools/star-tool.cpp @@ -57,7 +57,7 @@ const std::string& StarTool::getPrefsPath() { const std::string StarTool::prefsPath = "/tools/shapes/star"; StarTool::StarTool() - : ToolBase(cursor_star_xpm, 4, 4) + : ToolBase(cursor_star_xpm) , star(NULL) , magnitude(5) , proportion(0.5) diff --git a/src/ui/tools/text-tool.cpp b/src/ui/tools/text-tool.cpp index 649bbb045..9091b455e 100644 --- a/src/ui/tools/text-tool.cpp +++ b/src/ui/tools/text-tool.cpp @@ -76,7 +76,7 @@ const std::string TextTool::prefsPath = "/tools/text"; TextTool::TextTool() - : ToolBase(cursor_text_xpm, 7, 7) + : ToolBase(cursor_text_xpm) , imc(NULL) , text(NULL) , pdoc(0, 0) @@ -359,8 +359,6 @@ bool TextTool::item_handler(SPItem* item, GdkEvent* event) { sp_canvas_item_show(this->indicator); this->cursor_shape = cursor_text_insert_xpm; - this->hot_x = 7; - this->hot_y = 10; this->sp_event_context_update_cursor(); sp_text_context_update_text_selection(this); @@ -548,8 +546,6 @@ bool TextTool::root_handler(GdkEvent* event) { this->over_text = 0; // update cursor and statusbar: we are not over a text object now this->cursor_shape = cursor_text_xpm; - this->hot_x = 7; - this->hot_y = 7; this->sp_event_context_update_cursor(); desktop->event_context->defaultMessageContext()->clear(); } diff --git a/src/ui/tools/tool-base.cpp b/src/ui/tools/tool-base.cpp index 9231db7c8..0467b984e 100644 --- a/src/ui/tools/tool-base.cpp +++ b/src/ui/tools/tool-base.cpp @@ -86,7 +86,7 @@ SPDesktop const& ToolBase::getDesktop() const { return *desktop; } -ToolBase::ToolBase(gchar const *const *cursor_shape, gint hot_x, gint hot_y, bool uses_snap) +ToolBase::ToolBase(gchar const *const *cursor_shape, bool uses_snap) : pref_observer(NULL) , cursor(NULL) , xp(0) @@ -104,8 +104,6 @@ ToolBase::ToolBase(gchar const *const *cursor_shape, gint hot_x, gint hot_y, boo , desktop(NULL) , _uses_snap(uses_snap) , cursor_shape(cursor_shape) - , hot_x(hot_x) - , hot_y(hot_y) { } @@ -154,44 +152,24 @@ void ToolBase::sp_event_context_set_cursor(GdkCursorType cursor_type) { void ToolBase::sp_event_context_update_cursor() { GtkWidget *w = GTK_WIDGET(this->desktop->getCanvas()); if (gtk_widget_get_window (w)) { - GtkStyle *style = gtk_widget_get_style(w); - /* fixme: */ if (this->cursor_shape) { - GdkDisplay *display = gdk_display_get_default(); - if (gdk_display_supports_cursor_alpha(display) && gdk_display_supports_cursor_color(display)) { - bool fillHasColor=false, strokeHasColor=false; - guint32 fillColor = sp_desktop_get_color_tool(this->desktop, this->getPrefsPath(), true, &fillHasColor); - guint32 strokeColor = sp_desktop_get_color_tool(this->desktop, this->getPrefsPath(), false, &strokeHasColor); - double fillOpacity = fillHasColor ? sp_desktop_get_opacity_tool(this->desktop, this->getPrefsPath(), true) : 0; - double strokeOpacity = strokeHasColor ? sp_desktop_get_opacity_tool(this->desktop, this->getPrefsPath(), false) : 0; - - GdkPixbuf *pixbuf = sp_cursor_pixbuf_from_xpm( - this->cursor_shape, - style->black, style->white, - SP_RGBA32_U_COMPOSE(SP_RGBA32_R_U(fillColor),SP_RGBA32_G_U(fillColor),SP_RGBA32_B_U(fillColor),SP_COLOR_F_TO_U(fillOpacity)), - SP_RGBA32_U_COMPOSE(SP_RGBA32_R_U(strokeColor),SP_RGBA32_G_U(strokeColor),SP_RGBA32_B_U(strokeColor),SP_COLOR_F_TO_U(strokeOpacity)) - ); - if (pixbuf != NULL) { - if (this->cursor) { - g_object_unref(this->cursor); - } - this->cursor = gdk_cursor_new_from_pixbuf(display, pixbuf, this->hot_x, this->hot_y); - g_object_unref(pixbuf); - } - } else { - GdkPixbuf *pixbuf = gdk_pixbuf_new_from_xpm_data((const gchar **)this->cursor_shape); - - if (pixbuf) { - if (this->cursor) { - g_object_unref(this->cursor); - } - this->cursor = gdk_cursor_new_from_pixbuf(display, - pixbuf, this->hot_x, this->hot_y); - g_object_unref(pixbuf); - } + if(this->cursor) { + g_object_unref(this->cursor); } + + bool fillHasColor=false, strokeHasColor=false; + guint32 fillColor = sp_desktop_get_color_tool(this->desktop, this->getPrefsPath(), true, &fillHasColor); + guint32 strokeColor = sp_desktop_get_color_tool(this->desktop, this->getPrefsPath(), false, &strokeHasColor); + double fillOpacity = fillHasColor ? sp_desktop_get_opacity_tool(this->desktop, this->getPrefsPath(), true) : 0; + double strokeOpacity = strokeHasColor ? sp_desktop_get_opacity_tool(this->desktop, this->getPrefsPath(), false) : 0; + + this->cursor = sp_cursor_from_xpm( + this->cursor_shape, &style->black, &style->white, + SP_RGBA32_C_COMPOSE(fillColor, fillOpacity), + SP_RGBA32_C_COMPOSE(strokeColor, strokeOpacity) + ); } gdk_window_set_cursor(gtk_widget_get_window (w), this->cursor); gdk_flush(); @@ -208,8 +186,7 @@ void ToolBase::sp_event_context_update_cursor() { void ToolBase::setup() { this->pref_observer = new ToolPrefObserver(this->getPrefsPath(), this); Inkscape::Preferences::get()->addObserver(*(this->pref_observer)); - - this->sp_event_context_update_cursor(); + this->sp_event_context_update_cursor(); } /** diff --git a/src/ui/tools/tool-base.h b/src/ui/tools/tool-base.h index 3d22fc66f..b0140cecb 100644 --- a/src/ui/tools/tool-base.h +++ b/src/ui/tools/tool-base.h @@ -144,7 +144,7 @@ public: void enableGrDrag (bool enable=true); bool deleteSelectedDrag(bool just_one); - ToolBase(gchar const *const *cursor_shape, gint hot_x, gint hot_y, bool uses_snap = true); + ToolBase(gchar const *const *cursor_shape, bool uses_snap=true); virtual ~ToolBase(); @@ -224,9 +224,6 @@ protected: /// An xpm containing the shape of the tool's cursor. gchar const *const *cursor_shape; - /// The cursor's hot spot - gint hot_x, hot_y; - bool sp_event_context_knot_mouseover() const; private: diff --git a/src/ui/tools/tweak-tool.cpp b/src/ui/tools/tweak-tool.cpp index ff5d623c2..dcd9413fb 100644 --- a/src/ui/tools/tweak-tool.cpp +++ b/src/ui/tools/tweak-tool.cpp @@ -38,13 +38,13 @@ #include "pixmaps/cursor-tweak-rotate-counterclockwise.xpm" #include "pixmaps/cursor-tweak-more.xpm" #include "pixmaps/cursor-tweak-less.xpm" -#include "pixmaps/cursor-thin.xpm" -#include "pixmaps/cursor-thicken.xpm" -#include "pixmaps/cursor-attract.xpm" -#include "pixmaps/cursor-repel.xpm" -#include "pixmaps/cursor-push.xpm" -#include "pixmaps/cursor-roughen.xpm" -#include "pixmaps/cursor-color.xpm" +#include "pixmaps/cursor-tweak-thin.xpm" +#include "pixmaps/cursor-tweak-thicken.xpm" +#include "pixmaps/cursor-tweak-attract.xpm" +#include "pixmaps/cursor-tweak-repel.xpm" +#include "pixmaps/cursor-tweak-push.xpm" +#include "pixmaps/cursor-tweak-roughen.xpm" +#include "pixmaps/cursor-tweak-color.xpm" #include "context-fns.h" #include "inkscape.h" #include "splivarot.h" @@ -92,7 +92,7 @@ const std::string& TweakTool::getPrefsPath() { const std::string TweakTool::prefsPath = "/tools/tweak"; TweakTool::TweakTool() - : ToolBase(cursor_push_xpm, 4, 4) + : ToolBase(cursor_push_xpm) , pressure(TC_DEFAULT_PRESSURE) , dragging(false) , usepressure(false) diff --git a/src/ui/tools/zoom-tool.cpp b/src/ui/tools/zoom-tool.cpp index d40d2e969..8ba0c17b3 100644 --- a/src/ui/tools/zoom-tool.cpp +++ b/src/ui/tools/zoom-tool.cpp @@ -36,7 +36,7 @@ const std::string& ZoomTool::getPrefsPath() { const std::string ZoomTool::prefsPath = "/tools/zoom"; ZoomTool::ZoomTool() - : ToolBase(cursor_zoom_xpm, 6, 6) + : ToolBase(cursor_zoom_xpm) , grabbed(NULL) , escaped(false) { diff --git a/src/ui/widget/dock-item.cpp b/src/ui/widget/dock-item.cpp index d268be785..60ea03fb7 100644 --- a/src/ui/widget/dock-item.cpp +++ b/src/ui/widget/dock-item.cpp @@ -21,7 +21,7 @@ namespace UI { namespace Widget { DockItem::DockItem(Dock& dock, const Glib::ustring& name, const Glib::ustring& long_name, - const Glib::ustring& icon_name, State state, Placement placement) : + const Glib::ustring& icon_name, State state, GdlDockPlacement placement) : _dock(dock), _prev_state(state), _prev_position(0), @@ -70,7 +70,7 @@ DockItem::DockItem(Dock& dock, const Glib::ustring& name, const Glib::ustring& l signal_delete_event().connect(sigc::mem_fun(*this, &Inkscape::UI::Widget::DockItem::_onDeleteEvent)); signal_realize().connect(sigc::mem_fun(*this, &Inkscape::UI::Widget::DockItem::_onRealize)); - _dock.addItem(*this, ( _prev_state == FLOATING_STATE || _prev_state == ICONIFIED_FLOATING_STATE ) ? FLOATING : placement); + _dock.addItem(*this, ( _prev_state == FLOATING_STATE || _prev_state == ICONIFIED_FLOATING_STATE ) ? GDL_DOCK_FLOATING : placement); if (_prev_state == ICONIFIED_FLOATING_STATE || _prev_state == ICONIFIED_DOCKED_STATE) { iconify(); @@ -214,16 +214,16 @@ DockItem::getPrevState() const return _prev_state; } -DockItem::Placement +GdlDockPlacement DockItem::getPlacement() const { - GdlDockPlacement placement = (GdlDockPlacement)TOP; + GdlDockPlacement placement = GDL_DOCK_TOP; GdlDockObject *parent = gdl_dock_object_get_parent_object (GDL_DOCK_OBJECT(_gdl_dock_item)); if (parent) { gdl_dock_object_child_placement(parent, GDL_DOCK_OBJECT(_gdl_dock_item), &placement); } - return (Placement)placement; + return placement; } void @@ -258,7 +258,7 @@ DockItem::present() show(); } // tabbed - else if (getPlacement() == CENTER) { + else if (getPlacement() == GDL_DOCK_CENTER) { int i = gtk_notebook_page_num(GTK_NOTEBOOK(gtk_widget_get_parent(_gdl_dock_item)), GTK_WIDGET (_gdl_dock_item)); if (i >= 0) diff --git a/src/ui/widget/dock-item.h b/src/ui/widget/dock-item.h index 2df45b207..b5f6c13af 100644 --- a/src/ui/widget/dock-item.h +++ b/src/ui/widget/dock-item.h @@ -45,18 +45,8 @@ public: ICONIFIED_DOCKED_STATE, // item iconified in its assigned dock from dock ICONIFIED_FLOATING_STATE}; // item iconified in its assigned dock from float - enum Placement { - NONE = GDL_DOCK_NONE, - TOP = GDL_DOCK_TOP, - BOTTOM = GDL_DOCK_BOTTOM, - RIGHT = GDL_DOCK_RIGHT, - LEFT = GDL_DOCK_LEFT, - CENTER = GDL_DOCK_CENTER, - FLOATING = GDL_DOCK_FLOATING - }; - DockItem(Dock& dock, const Glib::ustring& name, const Glib::ustring& long_name, - const Glib::ustring& icon_name, State state, Placement placement); + const Glib::ustring& icon_name, State state, GdlDockPlacement placement); ~DockItem(); @@ -80,7 +70,7 @@ public: bool isIconified() const; State getState() const; State getPrevState() const; - Placement getPlacement() const; + GdlDockPlacement getPlacement() const; Gtk::Window *getWindow(); //< gives the parent window, if the dock item has one (i.e. it's floating) diff --git a/src/ui/widget/dock.cpp b/src/ui/widget/dock.cpp index b2dec401f..7dfad9582 100644 --- a/src/ui/widget/dock.cpp +++ b/src/ui/widget/dock.cpp @@ -124,12 +124,13 @@ Dock::~Dock() g_free(_gdl_dock_bar); } -void Dock::addItem(DockItem& item, DockItem::Placement placement) +void Dock::addItem(DockItem& item, GdlDockPlacement placement) { _dock_items.push_back(&item); + gdl_dock_add_item(GDL_DOCK(_gdl_dock), GDL_DOCK_ITEM(item.gobj()), - (GdlDockPlacement)placement); + placement); // FIXME: This is a hack to prevent the dock from expanding the main window, this can't be done // initially as the paned doesn't exist. diff --git a/src/ui/widget/dock.h b/src/ui/widget/dock.h index 74b072d22..6258a06e3 100644 --- a/src/ui/widget/dock.h +++ b/src/ui/widget/dock.h @@ -37,7 +37,7 @@ public: Dock(Gtk::Orientation orientation=Gtk::ORIENTATION_VERTICAL); ~Dock(); - void addItem(DockItem& item, DockItem::Placement placement); + void addItem(DockItem& item, GdlDockPlacement placement); Gtk::Widget& getWidget(); //< return the top widget Gtk::Paned *getParentPaned(); |
