collections { #define ICON(x) \ group { name: "e/modules/shot/icon/"x; \ images.image: "shotedit-"x".png" COMP; \ parts { \ part { name: "icon"; \ description { state: "default" 0.0; \ aspect: 1.0 1.0; aspect_preference: BOTH; \ image.normal: "shotedit-"x".png"; \ } \ } \ } \ } ICON("zoom") ICON("zoom-in") ICON("zoom-out") #define TOOL_ICON(x) \ group { name: "e/modules/shot/tool/icon/"x; \ images.image: "shotedit-tool-"x".png" COMP; \ parts { \ part { name: "icon"; \ description { state: "default" 0.0; \ aspect: 1.0 1.0; aspect_preference: BOTH; \ image.normal: "shotedit-tool-"x".png"; \ } \ } \ } \ } TOOL_ICON("crop") TOOL_ICON("modify") TOOL_ICON("delete") TOOL_ICON("line-arrow") TOOL_ICON("line-arrow2") TOOL_ICON("line-arrow0") TOOL_ICON("box-solid") TOOL_ICON("box-malloc") TOOL_ICON("box-demalloc") TOOL_ICON("box-finger") TOOL_ICON("box-logo") TOOL_ICON("box-foot") TOOL_ICON("box-walk") TOOL_ICON("box-outline-box") TOOL_ICON("box-outline-circle") TOOL_ICON("box-text-empty") TOOL_ICON("box-text-plain") TOOL_ICON("box-text-cloud") TOOL_ICON("box-text-cloud2") TOOL_ICON("box-text-speech") TOOL_ICON("box-text-speech2") TOOL_ICON("box-text-kaboom") TOOL_ICON("box-text-kapow") group { name: "e/modules/shot/tool/crop"; parts { part { name: "e/drag/rel1"; type: SPACER; dragable.x: 1 1 0; dragable.y: 1 1 0; description { state: "default" 0.0; rel2.relative: 0.0 0.0; rel2.offset: 0 0; max: 0 0; fixed: 1 1; } } part { name: "e/drag/rel2"; type: SPACER; dragable.x: 1 1 0; dragable.y: 1 1 0; description { state: "default" 0.0; rel2.relative: 0.0 0.0; rel2.offset: 0 0; max: 0 0; fixed: 1 1; } } part { name: "box-top"; type: RECT; mouse_events: 0; description { state: "default" 0.0; rel2.to_y: "e/drag/rel1"; rel2.relative: 1.0 0.0; color: 0 0 0 192; } } part { name: "box-bottom"; type: RECT; mouse_events: 0; description { state: "default" 0.0; rel1.to_y: "e/drag/rel2"; rel1.relative: 0.0 1.0; color: 0 0 0 192; } } part { name: "box-left"; type: RECT; mouse_events: 0; description { state: "default" 0.0; rel1.to_y: "box-top"; rel1.relative: 0.0 1.0; rel2.to_y: "box-bottom"; rel2.to_x: "e/drag/rel1"; rel2.relative: 0.0 0.0; color: 0 0 0 192; } } part { name: "box-right"; type: RECT; mouse_events: 0; description { state: "default" 0.0; rel1.to_x: "e/drag/rel2"; rel1.to_y: "box-top"; rel1.relative: 1.0 1.0; rel2.to_y: "box-bottom"; rel2.relative: 1.0 0.0; color: 0 0 0 192; } } #define HANDLE(_name, _relnamex, _relnamey, _rel, _x1, _y1, _x2, _y2, _x3, _y3, _x4, _y4, _x5, _y5, _x6, _y6, _x7, _y7, _x8, _y8) \ part { name: "mod-"_name"1"; type: RECT; \ scale: 1; \ description { state: "default" 0.0; \ rel.to_x: "e/drag/"_relnamex; \ rel.to_y: "e/drag/"_relnamey; \ rel1.offset: _x1 _y1; \ rel2.offset: _x2 _y2; \ rel2.relative: _rel; \ color: 255 255 255 255; \ offscale; \ } \ } \ part { name: "mod-"_name"2"; type: RECT; \ scale: 1; \ description { state: "default" 0.0; \ rel.to_x: "e/drag/"_relnamex; \ rel.to_y: "e/drag/"_relnamey; \ rel1.offset: _x3 _y3; \ rel2.offset: _x4 _y4; \ rel2.relative: _rel; \ color: 255 255 255 255; \ offscale; \ } \ } \ part { name: "mod-"_name"h1"; type: RECT; \ scale: 1; \ description { state: "default" 0.0; \ rel.to_x: "e/drag/"_relnamex; \ rel.to_y: "e/drag/"_relnamey; \ rel1.offset: _x5 _y5; \ rel2.offset: _x6 _y6; \ rel2.relative: _rel; \ color: 0 0 0 0; \ offscale; \ } \ } \ part { name: "mod-"_name"h2"; type: RECT; \ scale: 1; \ description { state: "default" 0.0; \ rel.to_x: "e/drag/"_relnamex; \ rel.to_y: "e/drag/"_relnamey; \ rel1.offset: _x7 _y7; \ rel2.offset: _x8 _y8; \ rel2.relative: _rel; \ color: 0 0 0 0; \ offscale; \ } \ } \ program { signal: "mouse,down,1"; source: "mod-"_name"h*"; \ action: SIGNAL_EMIT "action,resize,"_name",begin" "e"; \ } HANDLE("tl", "rel1", "rel1", 0.0 0.0, -18, -4, 17, -1, -4, -18, -1, 17, -36, -36, 17, -1, -36, -36, -1, 17) HANDLE("tr", "rel2", "rel1", 1.0 0.0, -18, -4, 17, -1, 0, -18, 3, 17, -18, -36, 35, -1, 0, -36, 35, 35) HANDLE("bl", "rel1", "rel2", 0.0 1.0, -18, 0, 17, 3, -4, -18, -1, 17, -36, 0, 17, 35, -36, -18, -1, 35) HANDLE("br", "rel2", "rel2", 1.0 1.0, -18, 0, 17, 3, 0, -18, 3, 17, -18, 0, 35, 35, 0, -36, 35, 35) } } group { name: "e/modules/shot/tool/line/handle"; images.image: "shotedit-edit-circle.png" COMP; parts { part { name: "move"; scale: 1; description { state: "default" 0.0; min: 18 18; image.normal: "shotedit-edit-circle.png"; } } } } group { name: "e/modules/shot/item/line/arrow"; images.image: "shotedit-arrow.png" COMP; parts { part { name: "arrow"; scale: 1; description { state: "default" 0.0; min: 20 20; color: 255 255 255 255; color_class: "color"; image.normal: "shotedit-arrow.png"; image.border: 44 88 0 0; image.border_scale: 1; image.border_scale_by: 0.25; } } } } group { name: "e/modules/shot/item/line/arrow/shadow"; data.item: "offset_x" "0"; data.item: "offset_y" "10"; images.image: "shotedit-arrow-shadow.png" COMP; parts { part { name: "shadow"; scale: 1; description { state: "default" 0.0; min: 40 40; color: 0 0 0 128; image.normal: "shotedit-arrow-shadow.png"; image.border: 96 140 0 0; image.border_scale: 1; image.border_scale_by: 0.25; } } } } group { name: "e/modules/shot/item/line/arrow2"; images.image: "shotedit-arrow2.png" COMP; parts { part { name: "arrow"; scale: 1; description { state: "default" 0.0; min: 20 20; color: 255 255 255 255; color_class: "color"; image.normal: "shotedit-arrow2.png"; image.border: 88 88 0 0; image.border_scale: 1; image.border_scale_by: 0.25; } } } } group { name: "e/modules/shot/item/line/arrow2/shadow"; data.item: "offset_x" "0"; data.item: "offset_y" "10"; images.image: "shotedit-arrow2-shadow.png" COMP; parts { part { name: "shadow"; scale: 1; description { state: "default" 0.0; min: 40 40; color: 0 0 0 128; image.normal: "shotedit-arrow2-shadow.png"; image.border: 140 140 0 0; image.border_scale: 1; image.border_scale_by: 0.25; } } } } group { name: "e/modules/shot/item/line/arrow0"; images.image: "shotedit-arrow0.png" COMP; parts { part { name: "arrow"; scale: 1; description { state: "default" 0.0; min: 20 20; color: 255 255 255 255; color_class: "color"; image.normal: "shotedit-arrow0.png"; image.border: 88 88 0 0; image.border_scale: 1; image.border_scale_by: 0.25; } } } } group { name: "e/modules/shot/item/line/arrow0/shadow"; data.item: "offset_x" "0"; data.item: "offset_y" "10"; images.image: "shotedit-arrow0-shadow.png" COMP; parts { part { name: "shadow"; scale: 1; description { state: "default" 0.0; min: 40 40; color: 0 0 0 128; image.normal: "shotedit-arrow0-shadow.png"; image.border: 140 140 0 0; image.border_scale: 1; image.border_scale_by: 0.25; } } } } group { name: "e/modules/shot/tool/box/handle"; images.image: "shotedit-edit-move.png" COMP; images.image: "shotedit-edit-diag1.png" COMP; images.image: "shotedit-edit-diag2.png" COMP; images.image: "shotedit-edit-rot1.png" COMP; images.image: "shotedit-edit-rot2.png" COMP; images.image: "shotedit-edit-rot3.png" COMP; images.image: "shotedit-edit-rot4.png" COMP; parts { part { name: "move"; type: RECT; description { state: "default" 0.0; color: 0 0 0 0; rel1.offset: 10 10; rel2.offset: -11 -11; } description { state: "disabled" 0.0; inherit: "default" 0.0; visible: 0; } } program { signal: "mouse,down,1"; source: "move"; action: SIGNAL_EMIT "action,move,begin" "e"; } program { signal: "e,state,moveall,off"; source: "e"; action: STATE_SET "disabled" 0.0; target: "move"; } program { signal: "e,state,moveall,on"; source: "e"; action: STATE_SET "default" 0.0; target: "move"; } part { name: "mod"; description { state: "default" 0.0; rel.to: "move"; rel1.relative: 0.5 0.5; rel2.relative: 0.5 0.5; min: 18 18; image.normal: "shotedit-edit-move.png"; } } program { signal: "mouse,down,1"; source: "mod"; action: SIGNAL_EMIT "action,move,begin" "e"; } part { name: "mod-tl"; description { state: "default" 0.0; rel.to: "move"; rel1.relative: 0.0 0.0; rel2.relative: 0.0 0.0; min: 18 18; image.normal: "shotedit-edit-diag1.png"; } description { state: "resize" 0.0; inherit: "default" 0.0; image.normal: "shotedit-edit-rot1.png"; } } program { signal: "mouse,down,1"; source: "mod-tl"; action: SIGNAL_EMIT "action,resize,tl,begin" "e"; } part { name: "mod-tr"; description { state: "default" 0.0; rel.to: "move"; rel1.relative: 1.0 0.0; rel2.relative: 1.0 0.0; min: 18 18; image.normal: "shotedit-edit-diag2.png"; } description { state: "resize" 0.0; inherit: "default" 0.0; image.normal: "shotedit-edit-rot2.png"; } } program { signal: "mouse,down,1"; source: "mod-tr"; action: SIGNAL_EMIT "action,resize,tr,begin" "e"; } part { name: "mod-bl"; description { state: "default" 0.0; rel.to: "move"; rel1.relative: 0.0 1.0; rel2.relative: 0.0 1.0; min: 18 18; image.normal: "shotedit-edit-diag2.png"; } description { state: "resize" 0.0; inherit: "default" 0.0; image.normal: "shotedit-edit-rot4.png"; } } program { signal: "mouse,down,1"; source: "mod-bl"; action: SIGNAL_EMIT "action,resize,bl,begin" "e"; } part { name: "mod-br"; description { state: "default" 0.0; rel.to: "move"; rel1.relative: 1.0 1.0; rel2.relative: 1.0 1.0; min: 18 18; image.normal: "shotedit-edit-diag1.png"; } description { state: "resize" 0.0; inherit: "default" 0.0; image.normal: "shotedit-edit-rot3.png"; } } program { signal: "mouse,down,1"; source: "mod-br"; action: SIGNAL_EMIT "action,resize,br,begin" "e"; } program { signal: "e,state,resize"; source: "e"; action: STATE_SET "resize" 0.0; target: "mod-tl"; target: "mod-tr"; target: "mod-bl"; target: "mod-br"; } program { signal: "e,state,move"; source: "e"; action: STATE_SET "default" 0.0; target: "mod-tl"; target: "mod-tr"; target: "mod-bl"; target: "mod-br"; } } } group { name: "e/modules/shot/item/box/solid"; parts { part { name: "box"; type: RECT; scale: 1; description { state: "default" 0.0; color: 255 255 255 255; color_class: "color"; rel1.offset: 10 10; rel2.offset: -11 -11; offscale; } } } } group { name: "e/modules/shot/item/box/solid/shadow"; data.item: "offset_x" "0"; data.item: "offset_y" "10"; images.image: "shotedit-box-shadow.png" COMP; parts { part { name: "shadow"; scale: 1; description { state: "default" 0.0; min: 40 40; color: 0 0 0 128; image.normal: "shotedit-box-shadow.png"; image.border: 60 60 60 60; image.border_scale: 1; image.border_scale_by: 0.5; } } } } group { name: "e/modules/shot/item/box/malloc"; images.image: "shotedit-malloc.png" COMP; parts { part { name: "box"; description { state: "default" 0.0; image.normal: "shotedit-malloc.png"; min: 32 32; } } } } group { name: "e/modules/shot/item/box/malloc/shadow"; parts { } } group { name: "e/modules/shot/item/box/demalloc"; images.image: "shotedit-demalloc.png" COMP; parts { part { name: "box"; description { state: "default" 0.0; image.normal: "shotedit-demalloc.png"; min: 32 32; } } } } group { name: "e/modules/shot/item/box/demalloc/shadow"; parts { } } group { name: "e/modules/shot/item/box/finger"; images.image: "shotedit-finger.png" COMP; parts { part { name: "box"; description { state: "default" 0.0; min: 40 18; color: 255 255 255 255; color_class: "color"; image.normal: "shotedit-finger.png"; } } } } group { name: "e/modules/shot/item/box/finger/shadow"; data.item: "offset_x" "0"; data.item: "offset_y" "10"; images.image: "shotedit-finger-shadow.png" COMP; parts { part { name: "shadow"; description { state: "default" 0.0; min: 60 38; color: 0 0 0 128; image.normal: "shotedit-finger-shadow.png"; } } } } group { name: "e/modules/shot/item/box/logo"; images.image: "shotedit-e-logo.png" COMP; parts { part { name: "box"; description { state: "default" 0.0; min: 30 40; color: 255 255 255 255; color_class: "color"; image.normal: "shotedit-e-logo.png"; } } } } group { name: "e/modules/shot/item/box/logo/shadow"; data.item: "offset_x" "0"; data.item: "offset_y" "10"; images.image: "shotedit-e-logo-shadow.png" COMP; parts { part { name: "shadow"; description { state: "default" 0.0; min: 50 60; color: 0 0 0 128; image.normal: "shotedit-e-logo-shadow.png"; } } } } group { name: "e/modules/shot/item/box/foot"; images.image: "shotedit-foot.png" COMP; parts { part { name: "box"; description { state: "default" 0.0; image.normal: "shotedit-foot.png"; min: 45 55; } } } } group { name: "e/modules/shot/item/box/foot/shadow"; parts { } } group { name: "e/modules/shot/item/box/walk"; images.image: "shotedit-walk.png" COMP; parts { part { name: "box"; description { state: "default" 0.0; min: 40 40; color: 255 255 255 255; color_class: "color"; image.normal: "shotedit-walk.png"; } } } } group { name: "e/modules/shot/item/box/walk/shadow"; data.item: "offset_x" "0"; data.item: "offset_y" "10"; images.image: "shotedit-walk-shadow.png" COMP; parts { part { name: "shadow"; description { state: "default" 0.0; min: 50 50; color: 0 0 0 128; image.normal: "shotedit-walk-shadow.png"; } } } } group { name: "e/modules/shot/item/box/outline-box"; images.image: "shotedit-outline-box.png" COMP; parts { part { name: "box"; description { state: "default" 0.0; min: 40 40; color: 255 255 255 255; color_class: "color"; image.normal: "shotedit-outline-box.png"; } } } } group { name: "e/modules/shot/item/box/outline-box/shadow"; data.item: "offset_x" "0"; data.item: "offset_y" "10"; images.image: "shotedit-outline-box-shadow.png" COMP; parts { part { name: "shadow"; description { state: "default" 0.0; min: 50 50; color: 0 0 0 128; image.normal: "shotedit-outline-box-shadow.png"; } } } } group { name: "e/modules/shot/item/box/outline-circle"; images.image: "shotedit-outline-circle.png" COMP; parts { part { name: "box"; description { state: "default" 0.0; min: 40 40; color: 255 255 255 255; color_class: "color"; image.normal: "shotedit-outline-circle.png"; } } } } group { name: "e/modules/shot/item/box/outline-circle/shadow"; data.item: "offset_x" "0"; data.item: "offset_y" "10"; images.image: "shotedit-outline-circle-shadow.png" COMP; parts { part { name: "shadow"; description { state: "default" 0.0; min: 50 50; color: 0 0 0 128; image.normal: "shotedit-outline-circle-shadow.png"; } } } } group { name: "e/modules/shot/item/box/text/empty"; data.item: "entry_style" "DEFAULT='font=Sans style=outline outline_color=#0008 font_size=20 color=#fff align=center'"; parts { part { name: "e.swallow.entry"; type: SWALLOW; scale: 1; description { state: "default" 0.0; } } } } group { name: "e/modules/shot/item/box/text/empty/shadow"; parts { } } group { name: "e/modules/shot/item/box/text/plain"; parts { part { name: "box"; type: RECT; scale: 1; description { state: "default" 0.0; color: 255 255 255 255; color_class: "color"; rel1.offset: 10 10; rel2.offset: -11 -11; offscale; } } part { name: "e.swallow.entry"; type: SWALLOW; scale: 1; description { state: "default" 0.0; rel1.offset: 20 20; rel2.offset: -21 -21; offscale; } } } } group { name: "e/modules/shot/item/box/text/plain/shadow"; data.item: "offset_x" "0"; data.item: "offset_y" "10"; images.image: "shotedit-box-shadow.png" COMP; parts { part { name: "shadow"; scale: 1; description { state: "default" 0.0; min: 60 60; color: 0 0 0 128; image.normal: "shotedit-box-shadow.png"; image.border: 60 60 60 60; image.border_scale: 1; image.border_scale_by: 0.5; } } } } group { name: "e/modules/shot/item/box/text/cloud"; data.item: "entry_style" "DEFAULT='font=IndieFlower font_size=25 color=#000 align=center'"; images.image: "shotedit-cloud.png" COMP; parts { part { name: "box"; description { state: "default" 0.0; color: 255 255 255 255; color_class: "color"; image.normal: "shotedit-cloud.png"; } } part { name: "e.swallow.entry"; type: SWALLOW; scale: 1; description { state: "default" 0.0; rel1.offset: 45 45; rel2.offset: -46 -46; max: 9999 0; offscale; } } } } group { name: "e/modules/shot/item/box/text/cloud/shadow"; data.item: "offset_x" "0"; data.item: "offset_y" "10"; images.image: "shotedit-cloud-shadow.png" COMP; parts { part { name: "shadow"; scale: 1; description { state: "default" 0.0; min: (45+45+50) (45+45+50); color: 0 0 0 128; image.normal: "shotedit-cloud-shadow.png"; } } } } group { name: "e/modules/shot/item/box/text/cloud2"; data.item: "entry_style" "DEFAULT='font=intuitive font_size=25 color=#000 align=center'"; images.image: "shotedit-cloud2.png" COMP; parts { part { name: "box"; description { state: "default" 0.0; color: 255 255 255 255; color_class: "color"; image.normal: "shotedit-cloud2.png"; } } part { name: "e.swallow.entry"; type: SWALLOW; scale: 1; description { state: "default" 0.0; rel1.offset: 45 45; rel2.offset: -46 -46; max: 9999 0; offscale; } } } } group { name: "e/modules/shot/item/box/text/cloud2/shadow"; data.item: "offset_x" "0"; data.item: "offset_y" "10"; images.image: "shotedit-cloud2-shadow.png" COMP; parts { part { name: "shadow"; scale: 1; description { state: "default" 0.0; min: (45+45+50) (45+45+50); color: 0 0 0 128; image.normal: "shotedit-cloud2-shadow.png"; } } } } group { name: "e/modules/shot/item/box/text/speech"; data.item: "entry_style" "DEFAULT='font=Yantiq font_size=25 color=#000 align=center'"; images.image: "shotedit-speech.png" COMP; parts { part { name: "box"; description { state: "default" 0.0; color: 255 255 255 255; color_class: "color"; image.normal: "shotedit-speech.png"; } } part { name: "e.swallow.entry"; type: SWALLOW; scale: 1; description { state: "default" 0.0; rel1.offset: 35 35; rel2.offset: -36 -56; max: 9999 0; offscale; } } } } group { name: "e/modules/shot/item/box/text/speech/shadow"; data.item: "offset_x" "0"; data.item: "offset_y" "10"; images.image: "shotedit-speech-shadow.png" COMP; parts { part { name: "shadow"; scale: 1; description { state: "default" 0.0; min: (35+35+50) (45+55+50); color: 0 0 0 128; image.normal: "shotedit-speech-shadow.png"; } } } } group { name: "e/modules/shot/item/box/text/speech2"; data.item: "entry_style" "DEFAULT='font=Yantiq font_size=25 color=#000 align=center'"; images.image: "shotedit-speech2.png" COMP; parts { part { name: "box"; description { state: "default" 0.0; color: 255 255 255 255; color_class: "color"; image.normal: "shotedit-speech2.png"; } } part { name: "e.swallow.entry"; type: SWALLOW; scale: 1; description { state: "default" 0.0; rel1.offset: 35 35; rel2.offset: -36 -56; max: 9999 0; offscale; } } } } group { name: "e/modules/shot/item/box/text/speech2/shadow"; data.item: "offset_x" "0"; data.item: "offset_y" "10"; images.image: "shotedit-speech2-shadow.png" COMP; parts { part { name: "shadow"; scale: 1; description { state: "default" 0.0; min: (35+35+50) (45+55+50); color: 0 0 0 128; image.normal: "shotedit-speech2-shadow.png"; } } } } group { name: "e/modules/shot/item/box/text/kaboom"; data.item: "entry_style" "DEFAULT='font=Puk-Regular font_size=45 color=#000 align=center'"; images.image: "shotedit-kaboom.png" COMP; parts { part { name: "box"; description { state: "default" 0.0; color: 255 255 255 255; color_class: "color"; image.normal: "shotedit-kaboom.png"; } } part { name: "e.swallow.entry"; type: SWALLOW; scale: 1; description { state: "default" 0.0; rel1.offset: 15 15; rel2.offset: -16 -16; max: 9999 0; offscale; } } } } group { name: "e/modules/shot/item/box/text/kaboom/shadow"; parts { } } group { name: "e/modules/shot/item/box/text/kapow"; data.item: "entry_style" "DEFAULT='font=Puk-Regular font_size=45 color=#000 align=center'"; images.image: "shotedit-kapow.png" COMP; parts { part { name: "box"; description { state: "default" 0.0; color: 255 255 255 255; color_class: "color"; image.normal: "shotedit-kapow.png"; } } part { name: "e.swallow.entry"; type: SWALLOW; scale: 1; description { state: "default" 0.0; rel1.offset: 15 15; rel2.offset: -16 -16; max: 9999 0; offscale; } } } } group { name: "e/modules/shot/item/box/text/kapow/shadow"; parts { } } }