342 lines
11 KiB
Plaintext
342 lines
11 KiB
Plaintext
///////////////////////////////////////////////////////////////////////////
|
|
//// the selection
|
|
// selections come in 5 modes:
|
|
//
|
|
// oneline (also multiple lines but all fill the row):
|
|
// | ######### |
|
|
//
|
|
// disjoint:
|
|
// | #######|
|
|
// |## |
|
|
//
|
|
// default:
|
|
// | ###########|
|
|
// |######### |
|
|
//
|
|
// topfull:
|
|
// |##############|
|
|
// |###### |
|
|
//
|
|
// bottomfull:
|
|
// | ######|
|
|
// |##############|
|
|
|
|
group { name: "terminology/selection";
|
|
parts {
|
|
// background pattern. duplicated because clips cut out regions of
|
|
// it to see and clips don't overlap
|
|
part { name: "background_top"; type: RECT;
|
|
mouse_events: 0;
|
|
clip_to: "top_clip";
|
|
description { state: "default" 0.0;
|
|
color: 255 255 255 128; // no cc
|
|
color_class: "GLOW";
|
|
}
|
|
}
|
|
part { name: "background_middle"; type: RECT;
|
|
mouse_events: 0;
|
|
clip_to: "middle_clip";
|
|
description { state: "default" 0.0;
|
|
color: 255 255 255 128; // no cc
|
|
color_class: "GLOW";
|
|
}
|
|
}
|
|
part { name: "background_bottom"; type: RECT;
|
|
mouse_events: 0;
|
|
clip_to: "bottom_clip";
|
|
description { state: "default" 0.0;
|
|
color: 255 255 255 128; // no cc
|
|
color_class: "GLOW";
|
|
}
|
|
}
|
|
|
|
// clips that clip the above pattern images to occupy specific
|
|
// regions of the object (or be invisible since clip is invisible)
|
|
part { name: "top_clip"; type: RECT;
|
|
mouse_events: 0;
|
|
description { state: "default" 0.0;
|
|
rel1.to: "terminology.top_left";
|
|
rel1.relative: 1.0 0.0;
|
|
rel2.to_y: "terminology.top_left";
|
|
rel2.relative: 1.0 1.0;
|
|
}
|
|
description { state: "oneline" 0.0;
|
|
inherit: "default" 0.0;
|
|
visible: 0;
|
|
}
|
|
description { state: "disjoint" 0.0;
|
|
inherit: "default" 0.0;
|
|
}
|
|
description { state: "topfull" 0.0;
|
|
inherit: "default" 0.0;
|
|
}
|
|
description { state: "bottomfull" 0.0;
|
|
inherit: "default" 0.0;
|
|
}
|
|
}
|
|
part { name: "middle_clip"; type: RECT;
|
|
mouse_events: 0;
|
|
description { state: "default" 0.0;
|
|
rel1.to: "terminology.top_left";
|
|
rel1.relative: 0.0 1.0;
|
|
rel2.to: "terminology.bottom_right";
|
|
rel2.relative: 1.0 0.0;
|
|
}
|
|
description { state: "oneline" 0.0;
|
|
rel1.to: "terminology.top_left";
|
|
rel1.relative: 1.0 0.0;
|
|
rel2.to: "terminology.bottom_right";
|
|
rel2.relative: 0.0 1.0;
|
|
}
|
|
description { state: "disjoint" 0.0;
|
|
inherit: "default" 0.0;
|
|
}
|
|
description { state: "topfull" 0.0;
|
|
inherit: "default" 0.0;
|
|
}
|
|
description { state: "bottomfull" 0.0;
|
|
inherit: "default" 0.0;
|
|
}
|
|
}
|
|
part { name: "bottom_clip"; type: RECT;
|
|
mouse_events: 0;
|
|
description { state: "default" 0.0;
|
|
rel1.to_y: "terminology.bottom_right";
|
|
rel1.relative: 0.0 0.0;
|
|
rel2.to_x: "terminology.bottom_right";
|
|
rel2.relative: 0.0 1.0;
|
|
}
|
|
description { state: "oneline" 0.0;
|
|
visible: 0;
|
|
}
|
|
description { state: "disjoint" 0.0;
|
|
inherit: "default" 0.0;
|
|
}
|
|
description { state: "topfull" 0.0;
|
|
inherit: "default" 0.0;
|
|
}
|
|
description { state: "bottomfull" 0.0;
|
|
inherit: "default" 0.0;
|
|
}
|
|
}
|
|
|
|
// the outline around the selection...
|
|
#define TARGETS \
|
|
target: "top_clip"; target: "middle_clip"; target: "bottom_clip";
|
|
|
|
program { signal: "mode,oneline"; source: "terminology";
|
|
action: STATE_SET "oneline" 0.0;
|
|
TARGETS;
|
|
}
|
|
program { signal: "mode,disjoint"; source: "terminology";
|
|
action: STATE_SET "disjoint" 0.0;
|
|
TARGETS;
|
|
}
|
|
program { signal: "mode,multiline"; source: "terminology";
|
|
action: STATE_SET "default" 0.0;
|
|
TARGETS;
|
|
}
|
|
program { signal: "mode,topfull"; source: "terminology";
|
|
action: STATE_SET "topfull" 0.0;
|
|
TARGETS;
|
|
}
|
|
program { signal: "mode,bottomfull"; source: "terminology";
|
|
action: STATE_SET "bottomfull" 0.0;
|
|
TARGETS;
|
|
}
|
|
// top and bottom swallows used to communicate via min/max size the
|
|
// size of the top and bottom lines
|
|
part { name: "terminology.top_left"; type: SWALLOW;
|
|
mouse_events: 0;
|
|
description { state: "default" 0.0;
|
|
align: 0.0 0.0;
|
|
rel2.relative: 0.0 0.0;
|
|
visible: 0;
|
|
}
|
|
}
|
|
part { name: "terminology.bottom_right"; type: SWALLOW;
|
|
mouse_events: 0;
|
|
description { state: "default" 0.0;
|
|
align: 1.0 1.0;
|
|
rel1.relative: 1.0 1.0;
|
|
visible: 0;
|
|
}
|
|
}
|
|
|
|
// blinky cursors indicating you can drag the ends of the selection
|
|
part { name: "cursor.top_left"; type: SPACER;
|
|
description { state: "default" 0.0;
|
|
rel.to: "terminology.top_left";
|
|
rel1.relative: 1.0 0.0;
|
|
rel2.relative: 1.0 1.0;
|
|
max: 0 99999;
|
|
}
|
|
}
|
|
part { name: "cursor.top_left_arrow_l";
|
|
scale: 1;
|
|
description { state: "default" 0.0;
|
|
image.normal: "arrow-l";
|
|
color_class: "/fg/normal/term/selection/arrow/left";
|
|
rel.to: "cursor.top_left";
|
|
min: 15 15;
|
|
max: 15 15;
|
|
align: 1.0 0.5;
|
|
rel1.offset: -5 0;
|
|
rel2.offset: -5 -1;
|
|
rel2.relative: 0.0 1.0;
|
|
offscale;
|
|
}
|
|
description { state: "fading" 0.0;
|
|
inherit: "default" 0.0;
|
|
}
|
|
description { state: "fading" 1.0;
|
|
inherit: "default" 0.0;
|
|
rel1.offset: -15 0;
|
|
rel2.offset: -15 -1;
|
|
color: 255 255 255 0; // no cc
|
|
}
|
|
}
|
|
part { name: "cursor.top_left_arrow_u";
|
|
scale: 1;
|
|
description { state: "default" 0.0;
|
|
image.normal: "arrow-u";
|
|
color_class: "/fg/normal/term/selection/arrow/up";
|
|
rel.to: "cursor.top_left";
|
|
min: 15 15;
|
|
max: 15 15;
|
|
align: 0.5 1.0;
|
|
rel1.offset: 0 -5;
|
|
rel2.offset: -1 -5;
|
|
rel2.relative: 1.0 0.0;
|
|
offscale;
|
|
}
|
|
description { state: "fading" 0.0;
|
|
inherit: "default" 0.0;
|
|
}
|
|
description { state: "fading" 1.0;
|
|
inherit: "default" 0.0;
|
|
rel1.offset: 0 -15;
|
|
rel2.offset: -1 -15;
|
|
color: 255 255 255 0; // no cc
|
|
}
|
|
}
|
|
part { name: "zone.top_left"; type: RECT;
|
|
scale: 1;
|
|
description { state: "default" 0.0;
|
|
color: 0 0 0 0;
|
|
rel.to: "cursor.top_left";
|
|
min: 30 30;
|
|
rel1.offset: -15 -15;
|
|
rel2.offset: 14 -1;
|
|
offscale;
|
|
}
|
|
program { name: "top_left.blink";
|
|
signal: "mouse,in"; source: "zone.top_left";
|
|
action: STATE_SET "fading" 0.0;
|
|
target: "cursor.top_left_arrow_l";
|
|
target: "cursor.top_left_arrow_u";
|
|
after: "top_left.fade";
|
|
}
|
|
program { name: "top_left.fade";
|
|
action: STATE_SET "fading" 1.0;
|
|
transition: LINEAR 0.5;
|
|
target: "cursor.top_left_arrow_l";
|
|
target: "cursor.top_left_arrow_u";
|
|
after: "top_left.blink";
|
|
}
|
|
program { signal: "mouse,out"; source: "zone.top_left";
|
|
action: STATE_SET "default" 0.0;
|
|
target: "cursor.top_left_arrow_l";
|
|
target: "cursor.top_left_arrow_u";
|
|
}
|
|
}
|
|
|
|
part { name: "cursor.bottom_right"; type: SPACER;
|
|
description { state: "default" 0.0;
|
|
rel.to: "terminology.bottom_right";
|
|
rel1.relative: 0.0 0.0;
|
|
rel2.relative: 0.0 1.0;
|
|
max: 0 99999;
|
|
}
|
|
}
|
|
part { name: "cursor.top_left_arrow_r";
|
|
scale: 1;
|
|
description { state: "default" 0.0;
|
|
image.normal: "arrow-r";
|
|
color_class: "/fg/normal/term/selection/arrow/left";
|
|
rel.to: "cursor.bottom_right";
|
|
min: 15 15;
|
|
max: 15 15;
|
|
align: 0.0 0.5;
|
|
rel1.offset: 4 0;
|
|
rel2.offset: 4 -1;
|
|
rel1.relative: 1.0 0.0;
|
|
offscale;
|
|
}
|
|
description { state: "fading" 0.0;
|
|
inherit: "default" 0.0;
|
|
}
|
|
description { state: "fading" 1.0;
|
|
inherit: "default" 0.0;
|
|
rel1.offset: 14 0;
|
|
rel2.offset: 14 -1;
|
|
color: 255 255 255 0; // no cc
|
|
}
|
|
}
|
|
part { name: "cursor.top_left_arrow_d";
|
|
scale: 1;
|
|
description { state: "default" 0.0;
|
|
image.normal: "arrow-d";
|
|
color_class: "/fg/normal/term/selection/arrow/down";
|
|
rel.to: "cursor.bottom_right";
|
|
min: 15 15;
|
|
max: 15 15;
|
|
align: 0.5 0.0;
|
|
rel1.offset: 0 4;
|
|
rel2.offset: -1 4;
|
|
rel1.relative: 0.0 1.0;
|
|
offscale;
|
|
}
|
|
description { state: "fading" 0.0;
|
|
inherit: "default" 0.0;
|
|
}
|
|
description { state: "fading" 1.0;
|
|
inherit: "default" 0.0;
|
|
rel1.offset: 0 14;
|
|
rel2.offset: -1 14;
|
|
color: 255 255 255 0; // no cc
|
|
}
|
|
}
|
|
part { name: "zone.bottom_right"; type: RECT;
|
|
scale: 1;
|
|
description { state: "default" 0.0;
|
|
color: 0 0 0 0;
|
|
rel.to: "cursor.bottom_right";
|
|
min: 30 30;
|
|
rel1.offset: -15 0;
|
|
rel2.offset: 14 14;
|
|
offscale;
|
|
}
|
|
program { name: "bottom_right.blink";
|
|
signal: "mouse,in"; source: "zone.bottom_right";
|
|
action: STATE_SET "fading" 0.0;
|
|
target: "cursor.top_left_arrow_r";
|
|
target: "cursor.top_left_arrow_d";
|
|
after: "bottom_right.fade";
|
|
}
|
|
program { name: "bottom_right.fade";
|
|
action: STATE_SET "fading" 1.0;
|
|
transition: LINEAR 0.5;
|
|
target: "cursor.top_left_arrow_r";
|
|
target: "cursor.top_left_arrow_d";
|
|
after: "bottom_right.blink";
|
|
}
|
|
program { signal: "mouse,out"; source: "zone.bottom_right";
|
|
action: STATE_SET "default" 0.0;
|
|
target: "cursor.top_left_arrow_r";
|
|
target: "cursor.top_left_arrow_d";
|
|
}
|
|
}
|
|
}
|
|
}
|