From 1920c8609539435359792c3d6cf9fe7a4aabcec0 Mon Sep 17 00:00:00 2001 From: Boris Faure Date: Thu, 15 Mar 2018 14:41:56 +0100 Subject: [PATCH] default.edc: add terminology/cursor_bar and terminology/cursor_underline groups --- data/themes/default.edc | 424 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 424 insertions(+) diff --git a/data/themes/default.edc b/data/themes/default.edc index 89fc7bc2..3a55bd77 100644 --- a/data/themes/default.edc +++ b/data/themes/default.edc @@ -3612,6 +3612,430 @@ target: "0.clip"; target: "1.clip"; target: "2.clip"; target: "3.clip"; target: } } } + + /////////////////////////////////////////////////////////////////////////// + //// the cursor as a bar to show where text is typed + group { name: "terminology/cursor_bar"; + images { + image: "cr_key.png" COMP; + image: "cr_bar_out.png" COMP; + image: "cr_bar_pulse.png" COMP; + image: "cr_bar_glow.png" COMP; + } + sounds { + sample { name: "key-tap1" LOSSY 64; + source: "kbd-tap.wav"; + } + sample { name: "key-tap2" LOSSY 64; + source: "kbd-tap2.wav"; + } + sample { name: "key-tap3" LOSSY 64; + source: "kbd-tap3.wav"; + } + sample { name: "key-tap4" LOSSY 64; + source: "kbd-tap4.wav"; + } + sample { name: "key-tap5" LOSSY 64; + source: "kbd-tap5.wav"; + } + } + parts { + part { name: "key"; + mouse_events: 0; + description { state: "default" 0.0; + rel1 { + to: "outline"; + offset: -5 -5; + } + rel2 { + to: "outline"; + offset: 4 4; + } + image { + normal: "cr_key.png"; + border: 4 4 4 4; + } + color: 51 153 255 0; + } + description { state: "on" 0.0; + inherit: "default" 0.0; + color: 51 153 255 255; + } + description { state: "out" 0.0; + inherit: "default" 0.0; + color: 51 153 255 0; + rel1.offset: -7 -15; + rel2.offset: 6 14; + } + } + part { name: "pulse"; + mouse_events: 0; + description { state: "default" 0.0; + rel1 { + to: "outline"; + offset: -4 -4; + } + rel2 { + to: "outline"; + offset: 3 3; + } + image { + normal: "cr_bar_pulse.png"; + border: 4 4 4 4; + } + color: 51 153 255 0; + } + description { state: "on" 0.0; + inherit: "default" 0.0; + color: 51 153 255 255; + } + description { state: "out" 0.0; + inherit: "default" 0.0; + color: 51 153 255 0; + rel1.offset: -8 -8; + rel2.offset: 7 7; + } + } + part { name: "glow"; + mouse_events: 0; + description { state: "default" 0.0; + rel1.offset: -4 -4; + rel2.offset: 3 3; + image { + normal: "cr_bar_glow.png"; + border: 9 9 9 9; + } + color: 51 153 255 40; + } + description { state: "focused" 0.0; + inherit: "default" 0.0; + color: 51 153 255 255; + } + } + part { name: "outline"; + mouse_events: 0; + description { state: "default" 0.0; + image { + normal: "cr_bar_out.png"; + border: 3 3 3 3; + } + color: 51 153 255 80; + } + description { state: "focused" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + } + } + programs { + program { + signal: "focus,in,noblink"; source: "terminology"; + action: STATE_SET "focused" 0.0; + target: "glow"; + target: "outline"; + } + program { name: "focus_in"; + signal: "focus,in"; source: "terminology"; + action: STATE_SET "focused" 0.0; + target: "glow"; + target: "outline"; + after: "focus2"; + after: "pulse"; + } + program { name: "focus2"; + in: 0.5 0.0; + action: STATE_SET "default" 0.0; + transition: DECELERATE 0.2; + target: "glow"; + target: "outline"; + after: "focus3"; + } + program { name: "focus3"; + in: 0.5 0.0; + action: STATE_SET "focused" 0.0; + target: "glow"; + target: "outline"; + after: "focus2"; + after: "pulse"; + } + program { name: "pulse"; + action: STATE_SET "on" 0.0; + target: "pulse"; + after: "pulse2"; + } + program { name: "pulse2"; + action: STATE_SET "out" 0.0; + transition: DECELERATE 0.4; + target: "pulse"; + } + program { + signal: "focus,out"; source: "terminology"; + action: ACTION_STOP; + target: "focus_in"; + target: "focus2"; + target: "focus3"; + target: "pulse"; + target: "pulse2"; + after: "focus_out2"; + } + program { name: "focus_out2"; + action: STATE_SET "default" 0.0; + target: "glow"; + target: "outline"; + } + program { + signal: "key,down"; source: "terminology"; + script { + new buf[32]; + snprintf(buf, 31, "key-down%i", (rand() % 5) + 1); + run_program(get_program_id(buf)); + } + } + program { name: "key-down1"; + action: PLAY_SAMPLE "key-tap1" 1.0 INPUT; + } + program { name: "key-down2"; + action: PLAY_SAMPLE "key-tap2" 1.0 INPUT; + } + program { name: "key-down3"; + action: PLAY_SAMPLE "key-tap3" 1.0 INPUT; + } + program { name: "key-down4"; + action: PLAY_SAMPLE "key-tap4" 1.0 INPUT; + } + program { name: "key-down5"; + action: PLAY_SAMPLE "key-tap5" 1.0 INPUT; + } + program { + signal: "key,down"; source: "terminology"; + action: STATE_SET "default" 0.0; + target: "key"; + after: "key2"; + } + program { name: "key2"; + action: STATE_SET "on" 0.0; + target: "key"; + after: "key3"; + } + program { name: "key3"; + action: STATE_SET "out" 0.0; + transition: DECELERATE 0.3; + target: "key"; + } + } + } + } + + /////////////////////////////////////////////////////////////////////////// + //// the cursor as an underline to show where text is typed + group { name: "terminology/cursor_underline"; + images { + image: "cr_key.png" COMP; + image: "cr_underline_out.png" COMP; + image: "cr_underline_pulse.png" COMP; + image: "cr_underline_glow.png" COMP; + } + sounds { + sample { name: "key-tap1" LOSSY 64; + source: "kbd-tap.wav"; + } + sample { name: "key-tap2" LOSSY 64; + source: "kbd-tap2.wav"; + } + sample { name: "key-tap3" LOSSY 64; + source: "kbd-tap3.wav"; + } + sample { name: "key-tap4" LOSSY 64; + source: "kbd-tap4.wav"; + } + sample { name: "key-tap5" LOSSY 64; + source: "kbd-tap5.wav"; + } + } + parts { + part { name: "key"; + mouse_events: 0; + description { state: "default" 0.0; + rel1 { + to: "outline"; + offset: -5 -5; + } + rel2 { + to: "outline"; + offset: 4 4; + } + image { + normal: "cr_key.png"; + border: 4 4 4 4; + } + color: 51 153 255 0; + } + description { state: "on" 0.0; + inherit: "default" 0.0; + color: 51 153 255 255; + } + description { state: "out" 0.0; + inherit: "default" 0.0; + color: 51 153 255 0; + rel1.offset: -7 -15; + rel2.offset: 6 14; + } + } + part { name: "pulse"; + mouse_events: 0; + description { state: "default" 0.0; + rel1 { + to: "outline"; + offset: -4 -4; + } + rel2 { + to: "outline"; + offset: 3 3; + } + image { + normal: "cr_underline_pulse.png"; + border: 4 4 4 4; + } + color: 51 153 255 0; + } + description { state: "on" 0.0; + inherit: "default" 0.0; + color: 51 153 255 255; + } + description { state: "out" 0.0; + inherit: "default" 0.0; + color: 51 153 255 0; + rel1.offset: -8 -8; + rel2.offset: 7 7; + } + } + part { name: "glow"; + mouse_events: 0; + description { state: "default" 0.0; + rel1.offset: -4 -4; + rel2.offset: 3 3; + image { + normal: "cr_underline_glow.png"; + border: 9 9 9 9; + } + color: 51 153 255 40; + } + description { state: "focused" 0.0; + inherit: "default" 0.0; + color: 51 153 255 255; + } + } + part { name: "outline"; + mouse_events: 0; + description { state: "default" 0.0; + image { + normal: "cr_underline_out.png"; + border: 3 3 3 3; + } + color: 51 153 255 80; + } + description { state: "focused" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + } + } + programs { + program { + signal: "focus,in,noblink"; source: "terminology"; + action: STATE_SET "focused" 0.0; + target: "glow"; + target: "outline"; + } + program { name: "focus_in"; + signal: "focus,in"; source: "terminology"; + action: STATE_SET "focused" 0.0; + target: "glow"; + target: "outline"; + after: "focus2"; + after: "pulse"; + } + program { name: "focus2"; + in: 0.5 0.0; + action: STATE_SET "default" 0.0; + transition: DECELERATE 0.2; + target: "glow"; + target: "outline"; + after: "focus3"; + } + program { name: "focus3"; + in: 0.5 0.0; + action: STATE_SET "focused" 0.0; + target: "glow"; + target: "outline"; + after: "focus2"; + after: "pulse"; + } + program { name: "pulse"; + action: STATE_SET "on" 0.0; + target: "pulse"; + after: "pulse2"; + } + program { name: "pulse2"; + action: STATE_SET "out" 0.0; + transition: DECELERATE 0.4; + target: "pulse"; + } + program { + signal: "focus,out"; source: "terminology"; + action: ACTION_STOP; + target: "focus_in"; + target: "focus2"; + target: "focus3"; + target: "pulse"; + target: "pulse2"; + after: "focus_out2"; + } + program { name: "focus_out2"; + action: STATE_SET "default" 0.0; + target: "glow"; + target: "outline"; + } + program { + signal: "key,down"; source: "terminology"; + script { + new buf[32]; + snprintf(buf, 31, "key-down%i", (rand() % 5) + 1); + run_program(get_program_id(buf)); + } + } + program { name: "key-down1"; + action: PLAY_SAMPLE "key-tap1" 1.0 INPUT; + } + program { name: "key-down2"; + action: PLAY_SAMPLE "key-tap2" 1.0 INPUT; + } + program { name: "key-down3"; + action: PLAY_SAMPLE "key-tap3" 1.0 INPUT; + } + program { name: "key-down4"; + action: PLAY_SAMPLE "key-tap4" 1.0 INPUT; + } + program { name: "key-down5"; + action: PLAY_SAMPLE "key-tap5" 1.0 INPUT; + } + program { + signal: "key,down"; source: "terminology"; + action: STATE_SET "default" 0.0; + target: "key"; + after: "key2"; + } + program { name: "key2"; + action: STATE_SET "on" 0.0; + target: "key"; + after: "key3"; + } + program { name: "key3"; + action: STATE_SET "out" 0.0; + transition: DECELERATE 0.3; + target: "key"; + } + } + } + } /////////////////////////////////////////////////////////////////////////// //// an object to contain the selection tool used for selecting tabs (with //// a glow grid of terms