diff --git a/data/themes/Makefile.am b/data/themes/Makefile.am index 8018c6762..2956b9a96 100644 --- a/data/themes/Makefile.am +++ b/data/themes/Makefile.am @@ -357,7 +357,9 @@ img/vertical_separated_bar_glow.png \ img/vgrad_med_curved.png \ img/vgrad_med_darker.png \ img/vgrad_med_dark.png \ +img/vgrad_med_dark_sparkle.png \ img/vgrad_med_lighter.png \ +img/vgrad_med_lighter_sparkle.png \ img/vgrad_med.png \ img/vgrad_shadow_bi.png \ img/vgrad_tall.png \ diff --git a/data/themes/edc/border.edc b/data/themes/edc/border.edc index 09b7b8496..0ce612ca5 100644 --- a/data/themes/edc/border.edc +++ b/data/themes/edc/border.edc @@ -711,6 +711,164 @@ group { name: "e/widgets/border/default/border"; } } +group { name: "e/widgets/border/sparkle/border"; + inherit: "e/widgets/border/default/border"; + images.image: "vgrad_med_lighter_sparkle.png" COMP; + images.image: "vgrad_med_dark_sparkle.png" COMP; + script { + public in_x, in_y, locked = 0; + } + parts { + part { name: "top"; + description { state: "default" 0.0; + image.normal: "vgrad_med_lighter_sparkle.png"; + visible: 0; + } + description { state: "focused" 0.0; + image.normal: "vgrad_med_dark_sparkle.png"; + visible: 0; + } + } + part { name: "proxy"; type: PROXY; mouse_events: 0; + insert_after: "top"; + description { state: "default"; + source: "top"; + rel1.to: "top"; + rel2.to: "top"; + fill.smooth: 0; + TILED_HORIZ(120) + } + } + part { name: "bevel"; + description { state: "default" 0.0; + rel1.to: "proxy"; + rel2.to: "proxy"; + } + } + part { name: "e.text.title"; + effect: GLOW; + description { state: "default" 0.0; + color3: 255 255 255 222; + } + } + part { name: "title2"; + effect: OUTLINE_SHADOW; + description { state: "focused" 0.0; + color3: 0 0 0 255; + } + } + part { name: "e.event.icon"; + description { state: "default" 0.0; + rel1.to: "proxy"; + } + } + part { name: "e.event.close"; + description { state: "default" 0.0; + rel2.to: "proxy"; + } + } + part { name: "shine"; + description { state: "default" 0.0; + visible: 0; + } + } + } + programs { + program { name: "in"; + signal: "mouse,in"; source: "events"; + + script { + new mx, my; + + get_mouse(mx, my); + set_int(in_x, mx); + set_int(in_y, my); + } + } + program { name: "out"; + signal: "mouse,out"; source: "events"; + action: STATE_SET "default" 0.0; + target: "proxy"; + transition: LINEAR 0.2; + } + program { name: "anim"; + signal: "mouse,move"; source: "events"; + script { + new mx, my; + + if (get_int(locked) != 1) { + get_mouse(mx, my); + custom_state(PART:"proxy", "default", 0.0); + set_state_val(PART:"proxy", STATE_REL1_OFFSET, get_int(in_x) - mx, 0); + set_state_val(PART:"proxy", STATE_REL2_OFFSET, get_int(in_x) - mx, 0); + set_state(PART:"proxy", "custom", 0.0); + } + } + } + program { name: "lock"; + after: "out"; + script { + set_int(locked, 1); + set_int(in_x, 0); + set_int(in_y, 0); + } + } + program { name: "unlock"; + script { + set_int(locked, 0); + } + } + program { + signal: "mouse,down,1"; source: "e.event.resize.tr"; + after: "lock"; + } + program { + signal: "mouse,down,1"; source: "e.event.resize.t"; + after: "lock"; + } + program { + signal: "mouse,down,1"; source: "e.event.resize.tl"; + after: "lock"; + } + program { + signal: "mouse,down,1"; source: "e.event.resize.br"; + after: "lock"; + } + program { + signal: "mouse,down,1"; source: "e.event.resize.b"; + after: "lock"; + } + program { + signal: "mouse,down,1"; source: "e.event.resize.bl"; + after: "lock"; + } + program { + signal: "mouse,up,1"; source: "e.event.resize.tr"; + after: "unlock"; + } + program { + signal: "mouse,up,1"; source: "e.event.resize.t"; + after: "unlock"; + } + program { + signal: "mouse,up,1"; source: "e.event.resize.tl"; + after: "unlock"; + } + program { + signal: "mouse,up,1"; source: "e.event.resize.br"; + after: "unlock"; + } + program { + signal: "mouse,up,1"; source: "e.event.resize.b"; + after: "unlock"; + } + program { + signal: "mouse,up,1"; source: "e.event.resize.bl"; + after: "unlock"; + } + } +} + group { name: "e/widgets/border/dialog/border"; inherit: "e/widgets/border/default/border"; parts { diff --git a/data/themes/img/vgrad_med_dark_sparkle.png b/data/themes/img/vgrad_med_dark_sparkle.png new file mode 100644 index 000000000..d6eb6956d Binary files /dev/null and b/data/themes/img/vgrad_med_dark_sparkle.png differ diff --git a/data/themes/img/vgrad_med_lighter_sparkle.png b/data/themes/img/vgrad_med_lighter_sparkle.png new file mode 100644 index 000000000..cc327a134 Binary files /dev/null and b/data/themes/img/vgrad_med_lighter_sparkle.png differ