Dave Jarvis' Repositories

git clone https://repo.autonoma.ca/repo/keenwrite.git

Add icons for keys and mouse

AuthorDaveJarvis <email>
Date2020-07-14 23:33:27 GMT-0700
Commitfb709401304176f36f0fe6be2d2a9d397d47c93d
Parent3753e02
scripts/keycast/.idea/workspace.xml
-
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="ChangeListManager">
+ <list default="true" id="780e9f19-7a15-496f-b7fb-29ddeefc2e7a" name="Default Changelist" comment="">
+ <change afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/src/main/com/whitemagicsoftware/keycast/KeyCast.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/com/whitemagicsoftware/keycast/KeyCast.java" afterDir="false" />
+ </list>
+ <option name="SHOW_DIALOG" value="false" />
+ <option name="HIGHLIGHT_CONFLICTS" value="true" />
+ <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
+ <option name="LAST_RESOLUTION" value="IGNORE" />
+ </component>
+ <component name="ExternalProjectsData">
+ <projectState path="$PROJECT_DIR$">
+ <ProjectState />
+ </projectState>
+ </component>
+ <component name="ExternalProjectsManager">
+ <system id="GRADLE">
+ <state>
+ <projects_view>
+ <tree_state>
+ <expand />
+ <select />
+ </tree_state>
+ </projects_view>
+ </state>
+ </system>
+ </component>
+ <component name="Git.Settings">
+ <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$/../.." />
+ </component>
+ <component name="ProjectId" id="1eho6lDeZqENfCw7tGj3KBjtIBz" />
+ <component name="ProjectLevelVcsManager" settingsEditedManually="true">
+ <ConfirmationsSetting value="2" id="Add" />
+ </component>
+ <component name="ProjectViewState">
+ <option name="hideEmptyMiddlePackages" value="true" />
+ <option name="showLibraryContents" value="true" />
+ </component>
+ <component name="PropertiesComponent">
+ <property name="ASKED_ADD_EXTERNAL_FILES" value="true" />
+ <property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
+ <property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
+ <property name="project.structure.last.edited" value="Modules" />
+ <property name="project.structure.proportion" value="0.0" />
+ <property name="project.structure.side.proportion" value="0.0" />
+ <property name="settings.editor.selected.configurable" value="reference.settingsdialog.project.gradle" />
+ <property name="show.unlinked.gradle.project.popup" value="true" />
+ </component>
+ <component name="RunManager">
+ <configuration name="KeyCast" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
+ <option name="MAIN_CLASS_NAME" value="com.whitemagicsoftware.keycast.KeyCast" />
+ <module name="keycast.main" />
+ <extension name="coverage">
+ <pattern>
+ <option name="PATTERN" value="com.whitemagicsoftware.keycast.*" />
+ <option name="ENABLED" value="true" />
+ </pattern>
+ </extension>
+ <method v="2">
+ <option name="Make" enabled="true" />
+ </method>
+ </configuration>
+ <recent_temporary>
+ <list>
+ <item itemvalue="Application.KeyCast" />
+ </list>
+ </recent_temporary>
+ </component>
+ <component name="SvnConfiguration">
+ <configuration />
+ </component>
+ <component name="TaskManager">
+ <task active="true" id="Default" summary="Default task">
+ <changelist id="780e9f19-7a15-496f-b7fb-29ddeefc2e7a" name="Default Changelist" comment="" />
+ <created>1594783012713</created>
+ <option name="number" value="Default" />
+ <option name="presentableId" value="Default" />
+ <updated>1594783012713</updated>
+ </task>
+ <servers />
+ </component>
+ <component name="VcsManagerConfiguration">
+ <option name="ADD_EXTERNAL_FILES_SILENTLY" value="true" />
+ </component>
+ <component name="WindowStateProjectService">
+ <state x="1092" y="513" width="376" height="578" key="#com.intellij.ide.util.MemberChooser" timestamp="1594787513239">
+ <screen x="0" y="28" width="2560" height="1529" />
+ </state>
+ <state x="1092" y="513" width="376" height="578" key="#com.intellij.ide.util.MemberChooser/0.28.2560.1529@0.28.2560.1529" timestamp="1594787513239" />
+ <state x="487" y="28" width="871" height="1526" key="#com.intellij.refactoring.rename.AutomaticRenamingDialog" timestamp="1594787393194">
+ <screen x="0" y="28" width="2560" height="1529" />
+ </state>
+ <state x="487" y="28" width="871" height="1526" key="#com.intellij.refactoring.rename.AutomaticRenamingDialog/0.28.2560.1529@0.28.2560.1529" timestamp="1594787393194" />
+ <state width="1479" height="330" key="GridCell.Tab.0.bottom" timestamp="1594788657778">
+ <screen x="0" y="28" width="2560" height="1529" />
+ </state>
+ <state width="1479" height="330" key="GridCell.Tab.0.bottom/0.28.2560.1529@0.28.2560.1529" timestamp="1594788657778" />
+ <state width="1479" height="330" key="GridCell.Tab.0.center" timestamp="1594788657778">
+ <screen x="0" y="28" width="2560" height="1529" />
+ </state>
+ <state width="1479" height="330" key="GridCell.Tab.0.center/0.28.2560.1529@0.28.2560.1529" timestamp="1594788657778" />
+ <state width="1479" height="330" key="GridCell.Tab.0.left" timestamp="1594788657778">
+ <screen x="0" y="28" width="2560" height="1529" />
+ </state>
+ <state width="1479" height="330" key="GridCell.Tab.0.left/0.28.2560.1529@0.28.2560.1529" timestamp="1594788657778" />
+ <state width="1479" height="330" key="GridCell.Tab.0.right" timestamp="1594788657778">
+ <screen x="0" y="28" width="2560" height="1529" />
+ </state>
+ <state width="1479" height="330" key="GridCell.Tab.0.right/0.28.2560.1529@0.28.2560.1529" timestamp="1594788657778" />
+ <state x="504" y="419" width="1026" height="842" key="SettingsEditor" timestamp="1594783076076">
+ <screen x="0" y="28" width="2560" height="1529" />
+ </state>
+ <state x="504" y="419" width="1026" height="842" key="SettingsEditor/0.28.2560.1529@0.28.2560.1529" timestamp="1594783076076" />
+ </component>
+</project>
scripts/keycast/images/keys.svg
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ height="207.95166"
+ width="589.68787"
+ inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.1"
+ sodipodi:version="0.32"
+ viewBox="0 0 589.68784 207.95165"
+ sodipodi:docname="keys.svg"
+ id="svg2">
+ <defs
+ id="defs4">
+ <linearGradient
+ id="linearGradient9345">
+ <stop
+ id="stop9341"
+ offset="0"
+ style="stop-color:#d6d6d6;stop-opacity:1" />
+ <stop
+ id="stop9343"
+ offset="1"
+ style="stop-color:#656565;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient8190">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop8186" />
+ <stop
+ style="stop-color:#f1f1f1;stop-opacity:1"
+ offset="1"
+ id="stop8188" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient8130">
+ <stop
+ id="stop8126"
+ offset="0"
+ style="stop-color:#f1f1f1;stop-opacity:1" />
+ <stop
+ id="stop8128"
+ offset="1"
+ style="stop-color:#b1b1b1;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient8096">
+ <stop
+ id="stop8092"
+ style="stop-color:#d8d8d8;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop8094"
+ style="stop-color:#b1b1b1;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient607">
+ <stop
+ offset="0"
+ style="stop-color:#cfcfcf"
+ id="stop608" />
+ <stop
+ offset="1"
+ style="stop-color:#efefef"
+ id="stop609" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient565">
+ <stop
+ offset="0"
+ style="stop-color:#9d9d9f"
+ id="stop566" />
+ <stop
+ offset="1"
+ style="stop-color:#e5e5e5"
+ id="stop567" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ x1="2.4161999"
+ y1="8.0492001"
+ gradientTransform="matrix(22.322,0,0,8.8661,264.96,140.57)"
+ x2="7.1659002"
+ gradientUnits="userSpaceOnUse"
+ xlink:href="#linearGradient607"
+ y2="2.2272999"
+ id="linearGradient50930" />
+ <linearGradient
+ id="linearGradient3296">
+ <stop
+ style="stop-color:#d6d6d6;stop-opacity:1;"
+ offset="0"
+ id="stop3298" />
+ <stop
+ style="stop-color:#656565;stop-opacity:1;"
+ offset="1"
+ id="stop3300" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3276">
+ <stop
+ id="stop3278"
+ offset="0"
+ style="stop-color:#d6d6d6;stop-opacity:1;" />
+ <stop
+ id="stop3280"
+ offset="1"
+ style="stop-color:#939393;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3262">
+ <stop
+ style="stop-color:#656565;stop-opacity:1;"
+ offset="0"
+ id="stop3264" />
+ <stop
+ style="stop-color:#939393;stop-opacity:1;"
+ offset="1"
+ id="stop3266" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3248">
+ <stop
+ style="stop-color:#d8d8d8;stop-opacity:1;"
+ offset="0"
+ id="stop3250" />
+ <stop
+ style="stop-color:#b1b1b1;stop-opacity:1;"
+ offset="1"
+ id="stop3252" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="translate(-1.4723687)"
+ y2="219.35825"
+ x2="533.71136"
+ y1="154.2484"
+ x1="533.71136"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient8124"
+ xlink:href="#linearGradient8130"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientTransform="translate(-1.4723687)"
+ y2="186.9615"
+ x2="586.02765"
+ y1="186.9615"
+ x1="506.54913"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient8134"
+ xlink:href="#linearGradient3248"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="538.1333"
+ x2="358.67578"
+ y1="522.47595"
+ x1="338.63031"
+ gradientTransform="matrix(-0.33457443,0,0,0.33457443,743.0521,45.243368)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient8138"
+ xlink:href="#linearGradient3276"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="535.99042"
+ x2="355.81863"
+ y1="520.33307"
+ x1="332.91602"
+ gradientTransform="matrix(0.33457443,0,0,0.33457443,325.70313,45.243374)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient8142"
+ xlink:href="#linearGradient3262"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="321.36786"
+ x2="526.08197"
+ y1="333.99472"
+ x1="529.11237"
+ gradientTransform="matrix(0.33457443,0,0,0.33457443,446.75458,41.075862)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient8146"
+ xlink:href="#linearGradient3296"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientTransform="translate(-1.4723306,-97.978267)"
+ y2="219.35825"
+ x2="533.71136"
+ y1="154.2484"
+ x1="533.71136"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient8176"
+ xlink:href="#linearGradient8190"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientTransform="matrix(0.70971768,0,0,1.0022158,-39.280779,-0.41428039)"
+ y2="186.9615"
+ x2="586.02765"
+ y1="186.9615"
+ x1="506.54913"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient8218"
+ xlink:href="#linearGradient3248"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientTransform="matrix(0.70971768,0,0,1.0022158,-39.280779,-0.41428039)"
+ y2="219.35825"
+ x2="533.71136"
+ y1="154.2484"
+ x1="533.71136"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient8220"
+ xlink:href="#linearGradient8130"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="321.36786"
+ x2="526.08197"
+ y1="333.99472"
+ x1="529.11237"
+ gradientTransform="matrix(0.33457443,0,0,0.33457443,226.79142,41.075862)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient8222"
+ xlink:href="#linearGradient3296"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="535.99042"
+ x2="355.81863"
+ y1="520.33307"
+ x1="332.91602"
+ gradientTransform="matrix(0.33457443,0,0,0.33457443,158.32466,45.243374)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient8224"
+ xlink:href="#linearGradient3262"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="538.1333"
+ x2="358.67578"
+ y1="522.47595"
+ x1="338.63031"
+ gradientTransform="matrix(-0.33457443,0,0,0.33457443,523.0889,45.243368)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient8226"
+ xlink:href="#linearGradient3276"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="219.35825"
+ x2="533.71136"
+ y1="154.2484"
+ x1="533.71136"
+ gradientTransform="matrix(0.70971768,0,0,1.0022158,-39.280779,-100.33605)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient8268"
+ xlink:href="#linearGradient8190"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="2.2272999"
+ x2="7.1659002"
+ y1="8.0492001"
+ x1="2.4161999"
+ gradientTransform="matrix(22.322,0,0,8.8661,264.96,40.648232)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient8276"
+ xlink:href="#linearGradient607"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="186.9615"
+ x2="586.02765"
+ y1="186.9615"
+ x1="506.54913"
+ gradientTransform="matrix(0.38517289,0,0,1.0061356,106.27413,100.97685)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient8315"
+ xlink:href="#linearGradient3248"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="219.35825"
+ x2="533.71136"
+ y1="154.2484"
+ x1="533.71136"
+ gradientTransform="matrix(0.38517289,0,0,1.0061356,106.27413,100.97685)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient8317"
+ xlink:href="#linearGradient8130"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="321.36786"
+ x2="526.08197"
+ y1="333.99472"
+ x1="529.11237"
+ gradientTransform="matrix(0.33457443,0,0,0.33457443,170.275,143.19984)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient8319"
+ xlink:href="#linearGradient3296"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="535.99042"
+ x2="355.81863"
+ y1="520.33307"
+ x1="332.91602"
+ gradientTransform="matrix(0.33457443,0,0,0.33457443,159.06736,147.36735)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient8321"
+ xlink:href="#linearGradient3262"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="538.1333"
+ x2="358.67578"
+ y1="522.47595"
+ x1="338.63031"
+ gradientTransform="matrix(-0.33457443,0,0,0.33457443,466.57248,147.36735)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient8323"
+ xlink:href="#linearGradient3276"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="219.35825"
+ x2="533.71136"
+ y1="154.2484"
+ x1="533.71136"
+ gradientTransform="matrix(0.38517289,0,0,1.0061356,-19.83415,-104.25445)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient8460"
+ xlink:href="#linearGradient8190"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientTransform="matrix(0.62157053,0,0,0.62157053,236.5924,104.88597)"
+ gradientUnits="userSpaceOnUse"
+ y2="142.72151"
+ x2="788.83728"
+ y1="142.72151"
+ x1="705.59235"
+ id="linearGradient9331"
+ xlink:href="#linearGradient9345"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientTransform="matrix(0.62157053,0,0,0.62157053,236.5924,104.88597)"
+ gradientUnits="userSpaceOnUse"
+ y2="104.82201"
+ x2="755.68341"
+ y1="104.82201"
+ x1="736.89771"
+ id="linearGradient9339"
+ xlink:href="#linearGradient3276"
+ inkscape:collect="always" />
+ </defs>
+ <sodipodi:namedview
+ fit-margin-bottom="10"
+ fit-margin-right="10"
+ fit-margin-left="10"
+ fit-margin-top="10"
+ inkscape:snap-global="true"
+ inkscape:snap-others="true"
+ inkscape:snap-nodes="true"
+ inkscape:document-rotation="0"
+ inkscape:document-units="px"
+ inkscape:pageopacity="0.0"
+ inkscape:window-width="674"
+ inkscape:cy="138.60774"
+ inkscape:cx="331.8911"
+ inkscape:current-layer="layer1"
+ borderopacity="1.0"
+ showgrid="false"
+ inkscape:window-height="645"
+ inkscape:window-x="0"
+ inkscape:zoom="1.4142136"
+ inkscape:window-maximized="0"
+ pagecolor="#ffffff"
+ inkscape:window-y="0"
+ inkscape:pageshadow="2"
+ bordercolor="#666666"
+ id="base" />
+ <g
+ transform="translate(-56.459776,-36.21034)"
+ inkscape:groupmode="layer"
+ inkscape:label="Camada 1"
+ id="layer1">
+ <g
+ id="g9405">
+ <path
+ id="rect8152"
+ style="fill:#656565;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.07946;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="m 437.26182,146.13211 h 185.40164 c 2.57843,0 4.65421,2.07578 4.65421,4.65421 v 59.46422 H 432.67102 l -0.0634,-59.46422 c -0.003,-2.57843 2.07577,-4.65421 4.6542,-4.65421 z"
+ sodipodi:nodetypes="sssccss" />
+ <rect
+ ry="0"
+ rx="0"
+ y="222.62529"
+ x="446.4592"
+ height="11.497757"
+ width="174.91151"
+ id="rect8150"
+ style="fill:#929292;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.501862;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+ id="rect8148"
+ style="fill:#d6d6d6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.562353;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="m 613.44462,152.58473 h 22.70299 l 2e-5,57.71427 h -22.70301 z"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:url(#linearGradient8138);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.501862;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="m 618.76318,208.3917 17.38445,1.9073 -2e-5,16.8501 c -0.009,4.35818 -3.47345,6.86209 -7.05514,7.0129 l -7.72176,-0.0389 -8.52199,-19.90136 z"
+ id="path8136"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ sodipodi:nodetypes="ccccccc"
+ id="path8140"
+ d="m 444.669,208.22271 -11.99798,2.02783 -0.0634,16.89856 c 0.009,4.35818 3.47346,6.86209 7.05515,7.0129 l 7.70997,-0.0845 2.70377,-19.77131 z"
+ style="fill:url(#linearGradient8142);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.501862;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="ccszccc"
+ id="path8144"
+ d="m 621.56972,157.36436 14.57789,-4.77963 c -0.5791,-4.59526 -3.73214,-6.23962 -8.12538,-6.33301 -1.12844,-0.024 -2.05615,-0.0888 -3.25316,-0.10917 -1.19701,-0.0204 -3.92813,-0.002 -3.92813,-0.002 -2.75412,0.53934 -4.90998,2.11709 -6.41705,4.70431 z"
+ style="fill:url(#linearGradient8146);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.501862;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <rect
+ id="rect46615"
+ style="fill:url(#linearGradient8134);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient8124);stroke-opacity:1"
+ ry="5.3895001"
+ height="71.042999"
+ width="178.86"
+ y="151.44"
+ x="445.15762" />
+ <path
+ id="path47954"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccc"
+ style="fill:none;fill-opacity:1;stroke:#333333;stroke-width:4.2922;stroke-opacity:1"
+ d="m 456.84763,188.842 h 13.649 v 15.527 c 5.68733,0 11.37467,0 17.062,0 v -15.54 h 13.65 l -22.181,-18.94184 z" />
+ </g>
+ <g
+ transform="translate(-3.7684709e-5,-1.9434985)"
+ id="g8497">
+ <path
+ sodipodi:nodetypes="sssccss"
+ d="M 437.26186,48.153839 H 622.6635 c 2.57843,0 4.65421,2.07578 4.65421,4.65421 V 112.27227 H 432.67106 l -0.0634,-59.464221 c -0.003,-2.57843 2.07577,-4.65421 4.6542,-4.65421 z"
+ style="fill:#e5e5e5;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.07946;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path8158" />
+ <rect
+ style="fill:#e5e5e5;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.501862;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect8160"
+ width="174.91151"
+ height="11.497757"
+ x="446.45923"
+ y="124.64703"
+ rx="0"
+ ry="0" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ d="m 613.44466,54.606459 h 22.70299 l 2e-5,57.714271 h -22.70301 z"
+ style="fill:#e5e5e5;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.562353;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path8162" />
+ <path
+ sodipodi:nodetypes="ccccccc"
+ id="path8164"
+ d="m 618.76322,110.41343 17.38445,1.9073 -2e-5,16.8501 c -0.009,4.35818 -3.47345,6.86209 -7.05514,7.0129 l -7.72176,-0.0389 -8.52199,-19.90136 z"
+ style="fill:#e5e5e5;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.501862;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+ style="fill:#e5e5e5;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.501862;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="m 444.66904,110.24444 -11.99798,2.02783 -0.0634,16.89856 c 0.009,4.35818 3.47346,6.86209 7.05515,7.0129 l 7.70997,-0.0845 2.70377,-19.77131 z"
+ id="path8166"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ style="fill:#e5e5e5;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.501862;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="m 621.56976,59.386089 14.57789,-4.77963 c -0.5791,-4.59526 -3.73214,-6.23962 -8.12538,-6.33301 -1.12844,-0.024 -2.05615,-0.0888 -3.25316,-0.10917 -1.19701,-0.0204 -3.92813,-0.002 -3.92813,-0.002 -2.75412,0.53934 -4.90998,2.11709 -6.41705,4.70431 z"
+ id="path8168"
+ sodipodi:nodetypes="ccszccc" />
+ <rect
+ x="445.15765"
+ y="53.461731"
+ width="178.86"
+ height="71.042999"
+ ry="5.3895001"
+ style="fill:#f8f8f8;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient8176);stroke-opacity:1"
+ id="rect8170" />
+ <path
+ d="m 456.84767,90.863729 h 13.649 v 15.527001 c 5.68733,0 11.37467,0 17.062,0 V 90.850729 h 13.65 l -22.181,-18.94184 z"
+ style="fill:none;fill-opacity:1;stroke:#e5e5e5;stroke-width:4.2922;stroke-opacity:1"
+ sodipodi:nodetypes="cccccccc"
+ inkscape:connector-curvature="0"
+ id="path8172" />
+ </g>
+ <g
+ transform="translate(-7.6231146)"
+ id="g8406">
+ <path
+ id="rect49938"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccccc"
+ style="fill:url(#linearGradient50930);fill-rule:evenodd"
+ d="m 282.2,151.44 h 114.09 c 2.9858,0 5.3894,2.4037 5.3894,5.3895 v 60.264 c 0,2.9858 -2.4037,5.3894 -5.3894,5.3894 H 282.2 c -2.9858,0 -5.3894,-2.4037 -5.3894,-5.3894 v -60.264 c 0,-2.9858 2.4037,-5.3895 5.3894,-5.3895 z" />
+ <path
+ sodipodi:nodetypes="sssccss"
+ d="m 269.88335,146.13211 h 131.08484 c 2.57843,0 4.65421,2.07578 4.65421,4.65421 v 59.46422 H 265.29255 l -0.0634,-59.46422 c -0.003,-2.57843 2.07577,-4.65421 4.6542,-4.65421 z"
+ style="fill:#656565;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.07946;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path8375" />
+ <path
+ id="path49946"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccccc"
+ style="fill:#ffffff;fill-rule:evenodd"
+ d="m 401.53,156.66 v 60.317 c 0,2.5221 -1.9067,5.2211 -4.4288,5.2211 h -115.36 v 1.1058 h 115.36 c 3.4494,0 5.8255,-2.8775 5.8255,-6.3269 v -60.32 h -1.3966 z" />
+ <rect
+ style="fill:#929292;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.426708;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect8194"
+ width="126.4479"
+ height="11.497757"
+ x="275.2428"
+ y="222.62529"
+ rx="0"
+ ry="0" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ d="m 393.4815,152.58473 h 22.703 V 210.299 h -22.703 z"
+ style="fill:#d6d6d6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.562353;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path8196" />
+ <path
+ sodipodi:nodetypes="ccccccc"
+ id="path8198"
+ d="m 398.8,208.3917 17.3845,1.9073 v 16.8501 c -0.01,4.35818 -3.4735,6.86209 -7.0552,7.0129 l -7.7217,-0.0389 -8.522,-19.90136 z"
+ style="fill:url(#linearGradient8226);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.501862;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+ style="fill:url(#linearGradient8224);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.501862;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="m 277.29053,208.22271 -11.99798,2.02783 -0.0634,16.89856 c 0.009,4.35818 3.47346,6.86209 7.05515,7.0129 l 7.70997,-0.0845 2.70377,-19.77131 z"
+ id="path8200"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ style="fill:url(#linearGradient8222);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.501862;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="m 401.6066,157.36436 14.5779,-4.77963 c -0.5791,-4.59526 -3.7322,-6.23962 -8.1254,-6.33301 -1.1285,-0.024 -2.0562,-0.0888 -3.2532,-0.10917 -1.197,-0.0204 -3.9281,-0.002 -3.9281,-0.002 -2.7541,0.53934 -4.91,2.11709 -6.4171,4.70431 z"
+ id="path8202"
+ sodipodi:nodetypes="ccszccc" />
+ <rect
+ x="277.70044"
+ y="151.3613"
+ width="126.94011"
+ height="71.200417"
+ ry="5.4014425"
+ style="fill:url(#linearGradient8218);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient8220);stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect8204" />
+ </g>
+ <g
+ transform="translate(-7.6231146)"
+ id="g8487">
+ <path
+ d="m 282.2,51.518232 h 114.09 c 2.9858,0 5.3894,2.4037 5.3894,5.3895 v 60.263998 c 0,2.9858 -2.4037,5.3894 -5.3894,5.3894 H 282.2 c -2.9858,0 -5.3894,-2.4037 -5.3894,-5.3894 V 56.907732 c 0,-2.9858 2.4037,-5.3895 5.3894,-5.3895 z"
+ style="fill:url(#linearGradient8276);fill-rule:evenodd"
+ sodipodi:nodetypes="ccccccccc"
+ inkscape:connector-curvature="0"
+ id="path8248" />
+ <path
+ id="path8386"
+ style="fill:#e5e5e5;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.07946;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="m 270.06712,46.210342 h 131.08484 c 2.57843,0 4.65421,2.07578 4.65421,4.65421 V 110.32877 H 265.47632 l -0.0634,-59.464218 c -0.003,-2.57843 2.07577,-4.65421 4.6542,-4.65421 z"
+ sodipodi:nodetypes="sssccss" />
+ <path
+ d="m 401.53,56.738232 v 60.316998 c 0,2.5221 -1.9067,5.2211 -4.4288,5.2211 h -115.36 v 1.1058 h 115.36 c 3.4494,0 5.8255,-2.8775 5.8255,-6.3269 V 56.735232 h -1.3966 z"
+ style="fill:#ffffff;fill-rule:evenodd"
+ sodipodi:nodetypes="ccccccccc"
+ inkscape:connector-curvature="0"
+ id="path8250" />
+ <rect
+ ry="0"
+ rx="0"
+ y="122.70352"
+ x="275.2428"
+ height="11.497757"
+ width="126.4479"
+ id="rect8254"
+ style="fill:#e5e5e5;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.426708;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+ id="path8256"
+ style="fill:#e5e5e5;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.562353;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="m 393.4815,52.662962 h 22.703 v 57.714268 h -22.703 z"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:#e5e5e5;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.501862;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="m 398.8,108.46993 17.3845,1.9073 v 16.8501 c -0.01,4.35818 -3.4735,6.86209 -7.0552,7.0129 l -7.7217,-0.0389 -8.522,-19.90136 z"
+ id="path8258"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ sodipodi:nodetypes="ccccccc"
+ id="path8260"
+ d="m 277.29053,108.30094 -11.99798,2.02783 -0.0634,16.89856 c 0.009,4.35818 3.47346,6.86209 7.05515,7.0129 l 7.70997,-0.0845 2.70377,-19.77131 z"
+ style="fill:#e5e5e5;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.501862;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="ccszccc"
+ id="path8262"
+ d="m 401.6066,57.442592 14.5779,-4.77963 c -0.5791,-4.59526 -3.7322,-6.23962 -8.1254,-6.33301 -1.1285,-0.024 -2.0562,-0.0888 -3.2532,-0.10917 -1.197,-0.0204 -3.9281,-0.002 -3.9281,-0.002 -2.7541,0.53934 -4.91,2.11709 -6.4171,4.70431 z"
+ style="fill:#e5e5e5;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.501862;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <rect
+ id="rect8264"
+ style="fill:#f8f8f8;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient8268);stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ ry="5.4014425"
+ height="71.200417"
+ width="126.94011"
+ y="51.439529"
+ x="277.70044" />
+ </g>
+ <g
+ transform="translate(-126.10828,-102.12398)"
+ id="g8395">
+ <path
+ sodipodi:nodetypes="sssccss"
+ d="m 270.62605,248.25609 h 74.48877 c 2.57843,0 4.65421,2.07578 4.65421,4.65421 v 59.46422 h -83.73378 l -0.0634,-59.46422 c -0.003,-2.57843 2.07577,-4.65421 4.6542,-4.65421 z"
+ style="fill:#656565;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.07946;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path8364" />
+ <rect
+ ry="0"
+ rx="0"
+ y="324.74927"
+ x="271.8403"
+ height="11.497757"
+ width="74.104309"
+ id="rect8303"
+ style="opacity:1;fill:#929292;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.32666;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+ id="path8305"
+ style="opacity:1;fill:#d6d6d6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.562353;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="m 336.96508,254.70871 h 22.703 v 57.71427 h -22.703 z"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="opacity:1;fill:url(#linearGradient8323);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.501862;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="m 342.28358,310.51568 17.3845,1.9073 v 16.8501 c -0.01,4.35818 -3.4735,6.86209 -7.0552,7.0129 l -7.7217,-0.0389 -8.522,-19.90136 z"
+ id="path8307"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ sodipodi:nodetypes="ccccccc"
+ id="path8309"
+ d="m 278.03323,310.34669 -11.99798,2.02783 -0.0634,16.89856 c 0.009,4.35818 3.47346,6.86209 7.05515,7.0129 l 7.70997,-0.0845 2.70377,-19.77131 z"
+ style="opacity:1;fill:url(#linearGradient8321);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.501862;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="ccszccc"
+ id="path8311"
+ d="m 345.09018,259.48834 14.5779,-4.77963 c -0.5791,-4.59526 -3.7322,-6.23962 -8.1254,-6.33301 -1.1285,-0.024 -2.0562,-0.0888 -3.2532,-0.10917 -1.197,-0.0204 -3.9281,-0.002 -3.9281,-0.002 -2.7541,0.53934 -4.91,2.11709 -6.4171,4.70431 z"
+ style="opacity:1;fill:url(#linearGradient8319);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.501862;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <rect
+ id="rect8313"
+ style="fill:url(#linearGradient8315);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient8317);stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ ry="5.4225683"
+ height="71.478889"
+ width="68.892021"
+ y="253.34604"
+ x="278.30389" />
+ </g>
+ <g
+ transform="translate(0,3.1855495)"
+ id="g8476">
+ <path
+ id="path8436"
+ style="fill:#e5e5e5;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.07946;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="m 144.51777,43.024793 h 74.48877 c 2.57843,0 4.65421,2.07578 4.65421,4.65421 v 59.464217 h -83.73378 l -0.0634,-59.464217 c -0.003,-2.57843 2.07577,-4.65421 4.6542,-4.65421 z"
+ sodipodi:nodetypes="sssccss" />
+ <rect
+ style="fill:#e5e5e5;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.32666;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect8438"
+ width="74.104309"
+ height="11.497757"
+ x="145.73203"
+ y="119.51796"
+ rx="0"
+ ry="0" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ d="m 210.8568,49.477413 h 22.703 v 57.714267 h -22.703 z"
+ style="fill:#e5e5e5;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.562353;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path8440" />
+ <path
+ sodipodi:nodetypes="ccccccc"
+ id="path8442"
+ d="m 216.1753,105.28438 17.3845,1.9073 v 16.8501 c -0.01,4.35818 -3.4735,6.86209 -7.0552,7.0129 l -7.7217,-0.0389 -8.522,-19.90136 z"
+ style="fill:#e5e5e5;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.501862;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+ style="fill:#e5e5e5;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.501862;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="m 151.92495,105.11539 -11.99798,2.02783 -0.0634,16.89856 c 0.009,4.35818 3.47346,6.86209 7.05515,7.0129 l 7.70997,-0.0845 2.70377,-19.77131 z"
+ id="path8444"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ style="fill:#e5e5e5;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.501862;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="m 218.9819,54.257043 14.5779,-4.77963 c -0.5791,-4.59526 -3.7322,-6.23962 -8.1254,-6.33301 -1.1285,-0.024 -2.0562,-0.0888 -3.2532,-0.10917 -1.197,-0.0204 -3.9281,-0.002 -3.9281,-0.002 -2.7541,0.53934 -4.91,2.11709 -6.4171,4.70431 z"
+ id="path8446"
+ sodipodi:nodetypes="ccszccc" />
+ <rect
+ x="152.19562"
+ y="48.114742"
+ width="68.892021"
+ height="71.478889"
+ ry="5.4225683"
+ style="fill:#f8f8f8;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient8460);stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect8448" />
+ </g>
+ <g
+ transform="matrix(0.83513795,0,0,0.83513795,-494.92828,28.466477)"
+ id="g9415">
+ <path
+ style="fill:url(#linearGradient9331);fill-opacity:1;stroke:none;stroke-width:1.24314;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path2818"
+ d="m 728.71927,191.15556 c 0,25.31414 -12.65005,45.83532 -28.25465,45.83532 -15.6046,0 -28.25465,-20.52118 -28.25465,-45.83532 0,-25.31414 12.87203,-40.95154 28.47664,-40.95154 15.6046,0 28.03266,15.6374 28.03266,40.95154 z" />
+ <path
+ style="fill:none;stroke:#333333;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path2824"
+ d="m 700.46462,150.76421 v 38.00227"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#333333;stroke-width:1;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path2822"
+ d="m 727.85189,184.1953 c -16.7914,6.29576 -36.32862,6.68664 -54.76049,0" />
+ <rect
+ style="fill:url(#linearGradient9339);fill-opacity:1;fill-rule:evenodd;stroke:#333333;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3699"
+ y="157.27585"
+ x="695.24786"
+ ry="5.216753"
+ rx="5.216753"
+ height="25.528791"
+ width="10.433506" />
+ </g>
+ </g>
+ <metadata
+ id="metadata41">
+ <rdf:RDF>
+ <cc:Work>
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <cc:license
+ rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
+ <dc:publisher>
+ <cc:Agent
+ rdf:about="http://openclipart.org/">
+ <dc:title>Openclipart</dc:title>
+ </cc:Agent>
+ </dc:publisher>
+ <dc:title></dc:title>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+</svg>
scripts/keycast/src/main/com/whitemagicsoftware/keycast/KeyCast.java
package com.whitemagicsoftware.keycast;
+import javax.swing.*;
+import java.awt.*;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.awt.geom.RoundRectangle2D;
+
+import static java.awt.GraphicsDevice.WindowTranslucency.PERPIXEL_TRANSPARENT;
+import static java.awt.GraphicsDevice.WindowTranslucency.TRANSLUCENT;
+
/**
* This class is responsible for logging key presses and mouse clicks on the
* screen. While there is a plethora of software out here that does this,
* none meet all the following criteria: small size, easily positioned,
- * show single key stroke or chord, shows left/right mouse clicks, and
- * traps all keys typed from within Sikuli.
+ * show single key stroke or chord, shows left/right mouse clicks, shows
+ * release of modifier keys when quickly typing, and traps all keys typed
+ * from within Sikuli.
*/
+@SuppressWarnings("unused")
public class KeyCast {
+ private static final float GOLDEN_RATIO = 1.61803398875f;
+ private static final float ARC = GOLDEN_RATIO * 5;
+ private static final int FRAME_WIDTH = 380;
+ private static final int FRAME_HEIGHT = 60;
+
+ public static class FrameDragListener extends MouseAdapter {
+ private final JFrame mFrame;
+ private Point mInitCoordinates;
+
+ public FrameDragListener( final JFrame frame ) {
+ mFrame = frame;
+ }
+
+ public void mouseReleased( final MouseEvent e ) {
+ mInitCoordinates = null;
+ }
+
+ public void mousePressed( final MouseEvent e ) {
+ mInitCoordinates = e.getPoint();
+ }
+
+ public void mouseDragged( final MouseEvent e ) {
+ final Point dragCoordinates = e.getLocationOnScreen();
+ mFrame.setLocation( dragCoordinates.x - mInitCoordinates.x,
+ dragCoordinates.y - mInitCoordinates.y );
+ }
+ }
+
+ private static class EventFrame extends JFrame {
+ public EventFrame() {
+ setUndecorated( true );
+ setAlwaysOnTop( true );
+ setOpacity( 0.7f );
+ //setBackground( new Color( 33, 33, 33, 22 ) );
+
+ setSize( FRAME_WIDTH, FRAME_HEIGHT );
+
+ setShape( new RoundRectangle2D.Double(
+ 0, 0, getWidth(), getHeight(), ARC, ARC ) );
+
+ FrameDragListener frameDragListener = new FrameDragListener( this );
+ addMouseListener( frameDragListener );
+ addMouseMotionListener( frameDragListener );
+ setLocationRelativeTo( null );
+ }
+ }
+
+ private final EventFrame mFrame = new EventFrame();
+
public KeyCast() {
}
- public String toString() {
- return "KeyCast";
+ public void show() {
+ mFrame.setVisible( true );
}
public static void main( final String[] args ) {
- new KeyCast();
+
+ // Determine what the GraphicsDevice can support.
+ GraphicsEnvironment ge =
+ GraphicsEnvironment.getLocalGraphicsEnvironment();
+ GraphicsDevice gd = ge.getDefaultScreenDevice();
+ final boolean isTranslucencySupported =
+ gd.isWindowTranslucencySupported(TRANSLUCENT);
+
+ //If shaped windows aren't supported, exit.
+ if (!gd.isWindowTranslucencySupported(PERPIXEL_TRANSPARENT)) {
+ System.err.println("Shaped windows are not supported");
+ System.exit(0);
+ }
+
+ final var kc = new KeyCast();
+ kc.show();
}
}
Delta947 lines added, 6 lines removed, 941-line increase