All pastes #433743 Raw Edit

Stuff

public text v1 · immutable
·published 2007-04-11 00:26 UTC
rendered paste body
#define BORDER(NAME, INDEX1, MIN, MAX, REL1, OFF1, REL2, OFF2, IMG1, INDEX2, IMG2) \
part \
{ \
	name: NAME; \
	mouse_events: 0; \
	description \
	{ \
		state: "default" INDEX1; \
		min: MIN; \
		max: MAX; \
		rel1 \
		{ \
			relative: REL1; \
			offset: OFF1; \
		} \
		rel2 \
		{ \
			relative: REL2; \
			offset: OFF2; \
		} \
		image \
		{ \
			normal: IMG1; \
		} \
	} \
	description \
	{ \
		state: "default" INDEX2; \
		inherit: "default" 0.0; \
		image \
		{ \
			normal: IMG2; \
		} \
	} \
}

#define BORDER2(NAME, MIN, MAX, TO1, REL1, OFF1, TO2, REL2, OFF2, IMG1) \
part \
{ \
	name: NAME; \
	description \
	{ \
		state: "default" 0.0; \
		min: MIN; \
		max: MAX; \
		rel1 \
		{ \
			to: TO1; \
			relative: REL1; \
			offset: OFF1; \
		} \
		rel2 \
		{ \
			to: TO2; \
			relative: REL2; \
			offset: OFF2; \
		} \
		image \
		{ \
			normal: IMG1; \
		} \
	} \
}

#define BORDER3(NAME, INDEX1, MIN, MAX, TO1, REL1, OFF1, TO2, REL2, OFF2, IMG1, INDEX2, IMG2) \
part \
{ \
	name: NAME; \
	mouse_events: 0; \
	description \
	{ \
		state: "default" INDEX1; \
		min: MIN; \
		max: MAX; \
		rel1 \
		{ \
			to: TO1; \
			relative: REL1; \
			offset: OFF1; \
		} \
		rel2 \
		{ \
			to: TO2; \
			relative: REL2; \
			offset: OFF2; \
		} \
		image \
		{ \
			normal: IMG1; \
		} \
	} \
	description \
	{ \
		state: "default" INDEX2; \
		inherit: "default" 0.0; \
		image \
		{ \
			normal: IMG2; \
		} \
	} \
}

#define E_SWALLOW_CLIENT(NAME, TO1, REL1, OFF1, TO2, REL2, OFF2, COLOR) \
part \
{ \
	name: NAME; \
	type: SWALLOW; \
	mouse_events: 0; \
	description \
	{ \
		state: "default" 0.0; \
		rel1 \
		{ \
			to_y: TO1; \
			relative: REL1; \
			offset: OFF1; \
		} \
		rel2 \
		{ \
			to_x: TO2; \
			relative: REL2; \
			offset: OFF2; \
		} \
		color: COLOR; \
	} \
}

#define TITLE_CLIP(NAME, MIN, TO1, REL1, OFF1, TO2, REL2, OFF2, COLOR) \
part \
{ \
	name: NAME; \
	type: RECT; \
	mouse_events: 0; \
	description \
	{ \
		state: "default" 0.0; \
		min: MIN; \
		rel1 \
		{ \
			to: TO1; \
			relative: REL1; \
			offset: OFF1; \
		} \
		rel2 \
		{ \
			to: TO2; \
			relative: REL2; \
			offset: OFF2; \
		} \
		color: COLOR; \
	} \
}

#define E_SWALLOW_ICON(NAME, CLIP, MIN, MAX, FIX, ASPECT, TO1, REL1, OFF1, TO2, REL2, OFF2) \
part \
{ \
	name: NAME; \
	type: SWALLOW; \
	mouse_events: 0; \
	clip_to: CLIP; \
	description \
	{ \
		state: "default" 0.0; \
		min: MIN; \
		max: MAX; \
		fixed: FIX; \
		aspect: ASPECT; \
		rel1 \
		{ \
			to: TO1; \
			relative: REL1; \
			offset: OFF1; \
		} \
		rel2 \
		{ \
			to: TO2; \
			relative: REL2; \
			offset: OFF2; \
		} \
	} \
}

#define TITLE(NAME, CLIP, INDEX1, TO1, REL1, OFF1, TO2, REL2, OFF2, COLOR, COLOR3, INDEX2, COLOR1, COLOR4) \
part \
{ \
	name: NAME; \
	type: TEXT; \
	effect: SHADOW; \
	mouse_events: 0; \
	clip_to: CLIP; \
	description \
	{ \
		state: "default" INDEX1; \
		rel1 \
		{ \
			to: TO1; \
			relative: REL1; \
			offset: OFF1; \
		} \
		rel2 \
		{ \
			to: TO2; \
			relative: REL2; \
			offset: OFF2; \
		} \
		color: COLOR; \
		color3: COLOR3; \
		text \
		{ \
			text: ""; \
			font: "Edje-Vera-Bold"; \
			size: 10; \
			min: 0 1; \
			align: 0.0 0.5; \
		} \
	} \
	description \
	{ \
		state: "default" INDEX2; \
		inherit: "default" INDEX1; \
		color: COLOR1; \
		color3: COLOR4; \
	} \
}

#define MOVE_WINDOW(NAME, MIN, MAX, TO1, REL1, OFF1, TO2, REL2, OFF2, COLOR) \
part \
{ \
	name: NAME; \
	type: RECT; \
	mouse_events: 0; \
	description \
	{ \
		state: "default" 0.0; \
		min: MIN; \
		max: MAX; \
		rel1 \
		{ \
			to: TO1; \
			relative: REL1; \
			offset: OFF1; \
		} \
		rel2 \
		{ \
			to: TO2; \
			relative: REL2; \
			offset: OFF2; \
		} \
		color: COLOR; \
	} \
}

#define E_EVENT_ICON(NAME, CLIP, TO1, TO2, COLOR) \
part \
{ \
	name: NAME; \
	type: RECT; \
	clip_to: CLIP; \
	mouse_events: 1; \
	description \
	{ \
		state: "default" 0.0; \
		rel1 \
		{ \
			to: TO1; \
		} \
		rel2 \
		{ \
			to: TO2; \
		} \
		color: COLOR; \
	} \
}

#define CLIPS(NAME, MIN, MAX, TO, REL1, OFF1, REL2, OFF2) \
part \
{ \
	name: NAME; \
	type: RECT; \
	mouse_events: 0; \
	description \
	{ \
		state: "default" 0.0; \
		min: MIN; \
		max: MAX; \
		aspect: 1 1; \
		rel1 \
		{ \
			to: TO; \
			relative: REL1; \
			offset: OFF1; \
		} \
		rel2 \
		{ \
			to: TO; \
			relative: REL2; \
			offset: OFF2; \
		} \
		color: 255 255 255 255; \
	} \
	description \
	{ \
		state: "clicked" 0.0; \
		inherit: "default" 0.0; \
		color: 215 215 215 255; \
	} \
}

#define BUTTONS(NAME, CLIP, SIZE, TO, IMG, IMG2) \
part \
{ \
	name: NAME; \
	mouse_events: 1; \
	clip_to: CLIP; \
	description \
	{ \
		state: "default" 0.0; \
		min: SIZE; \
		max: SIZE; \
		rel1 \
		{ \
			to: TO; \
		} \
		rel2 \
		{ \
			to: TO; \
		} \
		image \
		{ \
			normal: IMG; \
		} \
	} \
	description \
	{ \
		state: "default" 0.1; \
		inherit: "default" 0.0; \
		image \
		{ \
			normal: IMG2; \
		} \
	} \
}

#define RESIZE_TOP(NAME, MIN, MAX, TO1, REL1, OFF1, TO2, REL2, OFF2, COLOR) \
part \
{ \
	name: NAME; \
	type: RECT; \
	mouse_events: 0; \
	description \
	{ \
		state: "default" 0.0; \
		min: MIN; \
		max: MAX; \
		rel1 \
		{ \
			to: TO1; \
			relative: REL1; \
			offset: OFF1; \
		} \
		rel2 \
		{ \
			to: TO2; \
			relative: REL2; \
			offset: OFF2; \
		} \
		color: COLOR; \
	} \
}

#define BORDER_BUTTON_ADV(NAME, TYPE, REL1X, REL1Y, OFF1X, OFF1Y, TO1X, TO1Y, REL2X, REL2Y, OFF2X, OFF2Y, TO2X, TO2Y) \
part \
{ \
	name: NAME"_base"; \
	mouse_events: 0; \
	description \
	{ \
		state: "default" 0.0; \
		min: 20 18; \
		max: 20 18; \
		fixed: 1 1; \
		rel1 \
		{ \
			to: NAME"_bg"; \
			relative: 0.0 0.0; \
			offset: 0 0; \
		} \
		rel2 \
		{ \
			to: NAME"_bg"; \
			offset: -1 -1; \
		} \
		image \
		{ \
			normal: "bt.png"; \
			border: 6 6 6 6; \
		} \
	} \
} \
part \
{ \
	name: NAME"_bg"; \
	mouse_events: 0; \
	description \
	{ \
		state: "default" 0.0; \
		min: 17 17; \
		max: 17 17; \
		fixed: 1 1;  \
		rel1 \
		{ \
			to: NAME; \
			relative: 0.0 0.0; \
			offset: 0 0; \
		} \
		rel2 \
		{ \
			to: NAME; \
			relative: 1.0 1.0; \
			offset: -1 -1; \
		} \
		image \
		{ \
			normal: "button_wm0.png"; \
			border: 7 6 7 6; \
		} \
	} \
} \
part \
{ \
	name: NAME"_detail"; \
	mouse_events: 0; \
	description \
	{ \
		state: "default" 0.0; \
		min: 17 17; \
		max: 17 17; \
		fixed: 1 1; \
		rel1 \
		{ \
			to: NAME"_bg"; \
			relative: 0.0 0.0; \
			offset: 0 0; \
		} \
		rel2 \
		{ \
			to: NAME"_bg"; \
			relative: 1.0 1.0; \
			offset: 0 -1; \
		} \
		image \
		{ \
			normal: "button_detail_"TYPE".png"; \
		} \
	} \
} \
part \
{ \
        name: NAME; \
        type: RECT; \
        description \
	{ \
                state: "default" 0.0; \
                align: 1.0 0.0; \
                aspect: 1.0 1.0; \
                aspect_preference: VERTICAL; \
        	rel1 \
		{ \
			to_x: TO1X; \
			to_y: TO1Y; \
                	relative: REL1X REL1Y; \
                	offset: OFF1X OFF1Y; \
        	} \
        	rel2 \
		{ \
			to_x: TO2X; \
			to_y: TO2Y; \
                	relative: REL2X REL2Y; \
                	offset: OFF2X OFF2Y; \
        	} \
        	color: 0 0 0 0; \
        } \
} \
part \
{ \
        name: "e.event."NAME; \
        type: RECT; \
        repeat_events: 1; \
        description \
	{ \
                state: "default" 0.0; \
                color: 0 0 0 0; \
        	rel1 \
		{ \
			to: NAME; \
		} \
        	rel2 \
		{ \
			to: NAME; \
        	} \
	} \
} 

#define BORDER_BUTTON(NAME, TYPE, REL1X, REL1Y, OFF1X, OFF1Y, TO1, REL2X, REL2Y, OFF2X, OFF2Y, TO2) \
BORDER_BUTTON_ADV(NAME,TYPE,REL1X,REL1Y,OFF1X,OFF1Y,TO1,TO1,REL2X,REL2Y,OFF2X,OFF2Y,TO2,TO2)

#define FULL_SIZE_BORDER_BUTTON(TYPE) \
group \
{ \
	name: "e/widgets/border/default/"TYPE; \
	parts \
	{ \
		part \
		{ \
			name: "whole"; \
			type: RECT; \
			description \
			{ \
				state: "default" 0.0; \
				rel1 { \
					relative: 0.0 0.0; \
					offset: 0 0; \
				} \
				rel2 \
				{ \
					relative: 1.0 1.0; \
					offset: -1 -1; \
				} \
				color: 255 0 0 0; \
			} \
		} \
		BORDER_BUTTON("button",TYPE,0.0,0.0,-3,-3,"whole",1.0,1.0,2,2,"whole") \
	} \
}

#define PART_EVENT_MAP(NAME, REPEAT, PART_NAME) \
part \
{ \
	name: NAME; \
	type: RECT; \
	repeat_events: REPEAT; \
	description \
	{ \
		state: "default" 0.0; \
		color: 0 0 0 0; \
		rel1 \
		{ \
			to: PART_NAME; \
		} \
		rel2 \
		{ \
			to: PART_NAME; \
		} \
	} \
}

group
{
	name: "e/widgets/border/default/border";
	data
	{
		item: "shaped" "1";
	}
	parts
	{
		BORDER("top-left", 0.0, 7 24, 7 24, 0.0 0.0, 5 22, 0.0 0.0, 0 0, "tl-shaped.png", 0.1, "tl-shaped2.png")
		BORDER("top-right", 0.0, 7 24, 7 24, 1.0 0.0, 0 24, 1.0 0.0, -7 0, "tr-shaped.png", 0.1, "tr-shaped2.png")
		BORDER("bottom-left", 0.0, 5 5, 5 5, 0.0 1.0, 5 -5, 0.0 1.0, 0 -3, "bl.png", 0.1, "bl.png")
		BORDER("bottom-right", 0.0, 5 5, 5 5, 1.0 1.0, 0 -5, 1.0 1.0, -6 -3, "br.png", 0.1, "br.png")
		BORDER2("left-border", 5 1, 5 9999, "top-left", 0.0 1.0, 1 0, "bottom-left", 0.0 0.0, 2 0, "lb.png")
		BORDER2("right-border", 5 1, 5 9999, "top-right", 1.0 0.0, 0 24, "bottom-right", 1.0 0.0, -5 0, "rb.png")
		BORDER3("top-center", 0.0, 7 24, 9999 24, "top-left", 1.0 0.5, 0 0, "top-right", 0.0 0.5, -1 -2, "tb.png", 0.1, "tb2.png")
		BORDER3("bottom-center", 0.0, 6 6, 9999 6, "bottom-left", 1.0 1.0, 0 -2, "bottom-right", 0.0 1.0, -1 -2, "bb.png", 0.1, "bb.png")
		E_SWALLOW_CLIENT("e.swallow.client", "top-left", 0.0 1.0, 5 0, "bottom-right", 0.0 1.0, -1 -7, 0 0 0 255)
		TITLE_CLIP("title.area.clip", 1 19, "top-left", 0.0 0.5, 5 0, "button-min", 0.0 0.5, -5 0, 255 255 255 255)
		E_SWALLOW_ICON("e.swallow.icon", "title.area.clip", 19 19, 19 19, 1 1, 1.0 1.0, "title.area.clip", 0.0 0.5, 19 0, "title.area.clip", 0.0 0.5, 0 0)
		TITLE("e.text.title", "title.area.clip", 0.0, "title.area.clip", 0.0 0.5, 23 3, "title.area.clip", 1.0 0.5, -5 0, 255 255 255 255, 7 7 7 128, 0.1, 0 0 0 255, 170 168 169 0)
		MOVE_WINDOW("move-window", 1 22, 9999 22, "top-left", 0.0 0.0, 5 2, "top-right", 1.0 1.0, -7 -1, 255 0 0 0)
		PART_EVENT_MAP("e.event.resize.t", 1, "resize_t")
		PART_EVENT_MAP("e.event.titlebar", 1, "move-window")
		PART_EVENT_MAP("e.event.resize.r", 1, "right-border")
		PART_EVENT_MAP("e.event.resize.l", 1, "left-border")
		PART_EVENT_MAP("e.event.resize.br", 1, "bottom-right")
		PART_EVENT_MAP("e.event.resize.bl", 1, "bottom-left")
		PART_EVENT_MAP("e.event.resize.b", 1, "bottom-center")
		PART_EVENT_MAP("e.event.resize.tr", 1, "top-right")
		PART_EVENT_MAP("e.event.resize.tl", 1, "top-left")
		E_EVENT_ICON("e.event.icon", "title.area.clip", "e.swallow.icon", "e.swallow.icon", 255 255 255 0)		
		CLIPS("close-clip", 28 18, 28 18, "top-right", 0.0 0.0, 0 0, 0.0 1.0, -18 0)
		CLIPS("max-clip", 28 18, 28 18, "close-clip", 0.0 0.0, 0 0, 0.0 1.0, -21 0)
		CLIPS("min-clip", 28 18, 28 18, "max-clip", 0.0 0.0, 0 0, 0.0 1.0, -21 0)
		BUTTONS("button-close", "close-clip", 28 18, "close-clip", "bt-close.png", "bt-close2.png")
		BUTTONS("button-max", "max-clip", 28 18, "max-clip", "bt-max.png", "bt-max2.png")
		BUTTONS("button-min", "min-clip", 28 18, "min-clip", "bt-min.png", "bt-min2.png")
		PART_EVENT_MAP("e.event.close", 1, "button-close")
		PART_EVENT_MAP("e.event.maximize", 1, "button-max")
		PART_EVENT_MAP("e.event.minimize", 1, "button-min")
		RESIZE_TOP("resize_t", 1 2, 9999 2, "top-left", 0.0 0.0, 0 0, "top-right", 0.0 0.0, -1 0, 255 0 0 0)
	}
	programs
	{
		program
		{
			name: "active";
			signal: "e,state,focused";
			source: "e";
			action: STATE_SET "default" 0.0;
			target: "top-left";
			target: "top-center";
			target: "top-right";
			target: "button-close";
			target: "button-max";
			target: "button-min";

		}
		program
		{
			name: "inactive";
			signal: "e,state,unfocused";
			source: "e";
			action: STATE_SET "default" 0.1;
			target: "top-left";
			target: "top-center";
			target: "top-right";
			target: "button-close";
			target: "button-max";
			target: "button-min";
		}
		program
		{
			name: "active.text";
			signal: "e,state,focused";
			source: "e";
			action: STATE_SET "default" 0.0;
			target: "e.text.title";
		}
		program
		{
			name: "inactive.text";
			signal: "e,state,unfocused";
			source: "e";
			action: STATE_SET "default" 0.1;
			target: "e.text.title";
		}
		program 
		{
			name: "close_click";
			signal: "mouse,down,1";
			source: "button-close";
			action: STATE_SET "clicked" 0.0;
			transition: DECELERATE 0.15;
			target: "close-clip";
		}
		program 
		{
			name: "close_unclick";
			signal: "mouse,up,1";
			source: "button-close";
			action: STATE_SET "default" 0.0;
			transition: DECELERATE 0.5;
			target: "close-clip";
		}
                program 
                {
                        name: "max_click";
                        signal: "mouse,down,1";
                        source: "button-max";
                        action: STATE_SET "clicked" 0.0;
                        transition: DECELERATE 0.15;
                        target: "max-clip";
                }
                program 
                {
                        name: "max_unclick";
                        signal: "mouse,up,1";
                        source: "button-max";
                        action: STATE_SET "default" 0.0;
                        transition: DECELERATE 0.5;
                        target: "max-clip";
                }
                program
                {
                        name: "min_click";
                        signal: "mouse,down,1";
                        source: "button-min";
                        action: STATE_SET "clicked" 0.0;
                        transition: DECELERATE 0.15;
                        target: "min-clip";
                }
                program
                {
                        name: "min_unclick";
                        signal: "mouse,up,1";
                        source: "button-min";
                        action: STATE_SET "default" 0.0;
                        transition: DECELERATE 0.5;
                        target: "min-clip";
                }
	}
}

group
{
        name: "e/widgets/border/shaped/border";
        data
        {
                item: "shaped" "1";
        }
        parts
        {
                BORDER("top-left", 0.0, 7 24, 7 24, 0.0 0.0, 5 22, 0.0 0.0, 0 0, "tl-shaped.png", 0.1, "tl-shaped2.png")
                BORDER("top-right", 0.0, 7 24, 7 24, 1.0 0.0, 0 24, 1.0 0.0, -7 0, "tr-shaped.png", 0.1, "tr-shaped2.png")
                BORDER("bottom-left", 0.0, 5 5, 5 5, 0.0 1.0, 5 -5, 0.0 1.0, 0 -3, "bl.png", 0.1, "bl.png")
                BORDER("bottom-right", 0.0, 5 5, 5 5, 1.0 1.0, 0 -5, 1.0 1.0, -6 -3, "br.png", 0.1, "br.png")
                BORDER2("left-border", 5 1, 5 9999, "top-left", 0.0 1.0, 1 0, "bottom-left", 0.0 0.0, 2 0, "lb.png")
                BORDER2("right-border", 5 1, 5 9999, "top-right", 1.0 0.0, 0 24, "bottom-right", 1.0 0.0, -5 0, "rb.png")
                BORDER3("top-center", 0.0, 7 24, 9999 24, "top-left", 1.0 0.5, 0 0, "top-right", 0.0 0.5, -1 -2, "tb.png", 0.1, "tb2.png")
                BORDER3("bottom-center", 0.0, 6 6, 9999 6, "bottom-left", 1.0 1.0, 0 -2, "bottom-right", 0.0 1.0, -1 -2, "bb.png", 0.1, "bb.png")
                E_SWALLOW_CLIENT("e.swallow.client", "top-left", 0.0 1.0, 5 0, "bottom-right", 0.0 1.0, -1 -7, 0 0 0 255)
                TITLE_CLIP("title.area.clip", 1 19, "top-left", 0.0 0.5, 5 0, "button-min", 0.0 0.5, -5 0, 255 255 255 255)
                E_SWALLOW_ICON("e.swallow.icon", "title.area.clip", 19 19, 19 19, 1 1, 1.0 1.0, "title.area.clip", 0.0 0.5, 19 0, "title.area.clip", 0.0 0.5, 0 0)
                TITLE("e.text.title", "title.area.clip", 0.0, "title.area.clip", 0.0 0.5, 23 3, "title.area.clip", 1.0 0.5, -5 0, 255 255 255 255, 7 7 7 128, 0.1, 0 0 0 255, 170 168 169 0)
                MOVE_WINDOW("move-window", 1 22, 9999 22, "top-left", 0.0 0.0, 5 2, "top-right", 1.0 1.0, -7 -1, 255 0 0 0)
                PART_EVENT_MAP("e.event.resize.t", 1, "resize_t")
                PART_EVENT_MAP("e.event.titlebar", 1, "move-window")
                PART_EVENT_MAP("e.event.resize.r", 1, "right-border")
                PART_EVENT_MAP("e.event.resize.l", 1, "left-border")
                PART_EVENT_MAP("e.event.resize.br", 1, "bottom-right")
                PART_EVENT_MAP("e.event.resize.bl", 1, "bottom-left")
                PART_EVENT_MAP("e.event.resize.b", 1, "bottom-center")
                PART_EVENT_MAP("e.event.resize.tr", 1, "top-right")
                PART_EVENT_MAP("e.event.resize.tl", 1, "top-left")
                E_EVENT_ICON("e.event.icon", "title.area.clip", "e.swallow.icon", "e.swallow.icon", 255 255 255 0)
                CLIPS("close-clip", 28 18, 28 18, "top-right", 0.0 0.0, 0 0, 0.0 1.0, -18 0)
                CLIPS("max-clip", 28 18, 28 18, "close-clip", 0.0 0.0, 0 0, 0.0 1.0, -21 0)
                CLIPS("min-clip", 28 18, 28 18, "max-clip", 0.0 0.0, 0 0, 0.0 1.0, -21 0)
                BUTTONS("button-close", "close-clip", 28 18, "close-clip", "bt-close.png", "bt-close2.png")
                BUTTONS("button-max", "max-clip", 28 18, "max-clip", "bt-max.png", "bt-max2.png")
                BUTTONS("button-min", "min-clip", 28 18, "min-clip", "bt-min.png", "bt-min2.png")
                PART_EVENT_MAP("e.event.close", 1, "button-close")
                PART_EVENT_MAP("e.event.maximize", 1, "button-max")
                PART_EVENT_MAP("e.event.minimize", 1, "button-min")
                RESIZE_TOP("resize_t", 1 2, 9999 2, "top-left", 0.0 0.0, 0 0, "top-right", 0.0 0.0, -1 0, 255 0 0 0)
        }
        programs
        {
                program
                {
                        name: "active";
                        signal: "e,state,focused";
                        source: "e";
                        action: STATE_SET "default" 0.0;
                        target: "top-left";
                        target: "top-center";
                        target: "top-right";
                        target: "button-close";
                        target: "button-max";
                        target: "button-min";

                }
                program
                {
                        name: "inactive";
                        signal: "e,state,unfocused";
                        source: "e";
                        action: STATE_SET "default" 0.1;
                        target: "top-left";
                        target: "top-center";
                        target: "top-right";
                        target: "button-close";
                        target: "button-max";
                        target: "button-min";
                }
                program
                {
                        name: "active.text";
                        signal: "e,state,focused";
                        source: "e";
                        action: STATE_SET "default" 0.0;
                        target: "e.text.title";
                }
                program
                {
                        name: "inactive.text";
                        signal: "e,state,unfocused";
                        source: "e";
                        action: STATE_SET "default" 0.1;
                        target: "e.text.title";
                }
                program
                {
                        name: "close_click";
                        signal: "mouse,down,1";
                        source: "button-close";
                        action: STATE_SET "clicked" 0.0;
                        transition: DECELERATE 0.15;
                        target: "close-clip";
                }
                program
                {
                        name: "close_unclick";
                        signal: "mouse,up,1";
                        source: "button-close";
                        action: STATE_SET "default" 0.0;
                        transition: DECELERATE 0.5;
                        target: "close-clip";
                }
                program
                {
                        name: "max_click";
                        signal: "mouse,down,1";
                        source: "button-max";
                        action: STATE_SET "clicked" 0.0;
                        transition: DECELERATE 0.15;
                        target: "max-clip";
                }
                program
                {
                        name: "max_unclick";
                        signal: "mouse,up,1";
                        source: "button-max";
                        action: STATE_SET "default" 0.0;
                        transition: DECELERATE 0.5;
                        target: "max-clip";
                }
                program
                {
                        name: "min_click";
                        signal: "mouse,down,1";
                        source: "button-min";
                        action: STATE_SET "clicked" 0.0;
                        transition: DECELERATE 0.15;
                        target: "min-clip";
                }
                program
                {
                        name: "min_unclick";
                        signal: "mouse,up,1";
                        source: "button-min";
                        action: STATE_SET "default" 0.0;
                        transition: DECELERATE 0.5;
                        target: "min-clip";
                }
        }
}

group
{
	name: "e/widgets/border/dialog/border";
	data
	{
		item: "shaped" "1";
	}
	parts
	{
		BORDER("bottom-left", 0.0, 5 5, 5 5, 0.0 1.0, 5 -5, 0.0 1.0, 0 -3, "bl.png", 0.1, "bl.png")
		BORDER("bottom-right", 0.0, 5 5, 5 5, 1.0 1.0, 0 -5, 1.0 1.0, -6 -3, "br.png", 0.1, "br.png")
		BORDER("top-left", 0.0, 7 24, 7 24, 0.0 0.0, 5 22, 0.0 0.0, 0 0, "tl-shaped.png", 0.1, "tl-shaped2.png")
		BORDER("top-right", 0.0, 7 24, 7 24, 1.0 0.0, 0 24, 1.0 0.0, -7 0, "tr-shaped.png", 0.1, "tr-shaped2.png")
		BORDER2("left-border", 5 1, 5 9999, "top-left", 0.0 1.0, 1 0, "bottom-left", 0.0 0.0, 2 0, "lb.png")
		BORDER2("right-border", 5 1, 5 9999, "top-right", 1.0 0.0, 0 24, "bottom-right", 1.0 0.0, -5 0, "rb.png")
		BORDER3("top-center", 0.0, 7 24, 9999 24, "top-left", 1.0 0.5, 0 0, "top-right", 0.0 0.5, -1 -2, "tb.png", 0.1, "tb2.png")
		BORDER3("bottom-center", 0.0, 6 6, 9999 6, "bottom-left", 1.0 1.0, 0 -2, "bottom-right", 0.0 1.0, -1 -2, "bb.png", 0.1, "bb.png")
		E_SWALLOW_CLIENT("e.swallow.client", "top-left", 0.0 1.0, 5 0, "bottom-right", 0.0 1.0, -1 -7, 0 0 0 255)
                TITLE_CLIP("title.area.clip", 1 19, "top-left", 0.0 0.5, 5 0, "button-close", 0.0 0.5, -5 0, 255 255 255 255)
                E_SWALLOW_ICON("e.swallow.icon", "title.area.clip", 19 19, 19 19, 1 1, 1.0 1.0, "title.area.clip", 0.0 0.5, 19 0, "title.area.clip", 0.0 0.5, 0 0)
                TITLE("e.text.title", "title.area.clip", 0.0, "title.area.clip", 0.0 0.5, 23 3, "title.area.clip", 1.0 0.5, -5 0, 255 255 255 255, 7 7 7 128, 0.1, 0 0 0 255, 170 168 169 0)
                MOVE_WINDOW("move-window", 1 22, 9999 22, "top-left", 0.0 0.0, 5 2, "top-right", 1.0 1.0, -7 -1, 255 0 0 0)
                PART_EVENT_MAP("e.event.resize.t", 1, "resize_t")
                PART_EVENT_MAP("e.event.titlebar", 1, "move-window")
                PART_EVENT_MAP("e.event.resize.r", 1, "right-border")
                PART_EVENT_MAP("e.event.resize.l", 1, "left-border")
                PART_EVENT_MAP("e.event.resize.br", 1, "bottom-right")
                PART_EVENT_MAP("e.event.resize.bl", 1, "bottom-left")
                PART_EVENT_MAP("e.event.resize.b", 1, "bottom-center")
                PART_EVENT_MAP("e.event.resize.tr", 1, "top-right")
                PART_EVENT_MAP("e.event.resize.tl", 1, "top-left")
                E_EVENT_ICON("e.event.icon", "title.area.clip", "e.swallow.icon", "e.swallow.icon", 255 255 255 0)
                CLIPS("close-clip", 28 18, 28 18, "top-right", 0.0 0.0, 0 0, 0.0 1.0, -18 0)
                BUTTONS("button-close", "close-clip", 28 18, "close-clip", "bt-close.png", "bt-close2.png")
                PART_EVENT_MAP("e.event.close", 1, "button-close")
                RESIZE_TOP("resize_t", 1 2, 9999 2, "top-left", 0.0 0.0, 0 0, "top-right", 0.0 0.0, -1 0, 255 0 0 0)
	}
        programs
        {
                program
                {
                        name: "active";
                        signal: "e,state,focused";
                        source: "e";
                        action: STATE_SET "default" 0.0;
                        target: "top-left";
                        target: "top-center";
                        target: "top-right";
                        target: "button-close";
                }
                program
                {
                        name: "inactive";
                        signal: "e,state,unfocused";
                        source: "e";
                        action: STATE_SET "default" 0.1;
                        target: "top-left";
                        target: "top-center";
                        target: "top-right";
                        target: "button-close";
                }
                program
                {
                        name: "active.text";
                        signal: "e,state,focused";
                        source: "e";
                        action: STATE_SET "default" 0.0;
                        target: "e.text.title";
                }
                program
                {
                        name: "inactive.text";
                        signal: "e,state,unfocused";
                        source: "e";
                        action: STATE_SET "default" 0.1;
                       target: "e.text.title";
                }
                program
                {
                        name: "close_click";
                        signal: "mouse,down,1";
                        source: "button-close";
                        action: STATE_SET "clicked" 0.0;
                        transition: DECELERATE 0.15;
                        target: "close-clip";
                }
                program
                {
                        name: "close_unclick";
                        signal: "mouse,up,1";
                        source: "button-close";
                        action: STATE_SET "default" 0.0;
                        transition: DECELERATE 0.5;
                        target: "close-clip";
                }
	}
}

group
{
        name: "e/widgets/border/noresize_dialog/border";
        data
        {
                item: "shaped" "1";
        }
        parts
        {
                BORDER("bottom-left", 0.0, 5 5, 5 5, 0.0 1.0, 5 -5, 0.0 1.0, 0 -3, "bl.png", 0.1, "bl.png")
                BORDER("bottom-right", 0.0, 5 5, 5 5, 1.0 1.0, 0 -5, 1.0 1.0, -6 -3, "br.png", 0.1, "br.png")
                BORDER("top-left", 0.0, 7 24, 7 24, 0.0 0.0, 5 22, 0.0 0.0, 0 0, "tl-shaped.png", 0.1, "tl-shaped2.png")
                BORDER("top-right", 0.0, 7 24, 7 24, 1.0 0.0, 0 24, 1.0 0.0, -7 0, "tr-shaped.png", 0.1, "tr-shaped2.png")
                BORDER2("left-border", 5 1, 5 9999, "top-left", 0.0 1.0, 1 0, "bottom-left", 0.0 0.0, 2 0, "lb.png")
                BORDER2("right-border", 5 1, 5 9999, "top-right", 1.0 0.0, 0 24, "bottom-right", 1.0 0.0, -5 0, "rb.png")
                BORDER3("top-center", 0.0, 7 24, 9999 24, "top-left", 1.0 0.5, 0 0, "top-right", 0.0 0.5, -1 -2, "tb.png", 0.1, "tb2.png")
                BORDER3("bottom-center", 0.0, 6 6, 9999 6, "bottom-left", 1.0 1.0, 0 -2, "bottom-right", 0.0 1.0, -1 -2, "bb.png", 0.1, "bb.png")
                E_SWALLOW_CLIENT("e.swallow.client", "top-left", 0.0 1.0, 5 0, "bottom-right", 0.0 1.0, -1 -7, 0 0 0 255)
                TITLE_CLIP("title.area.clip", 1 19, "top-left", 0.0 0.5, 5 0, "button-close", 0.0 0.5, -5 0, 255 255 255 255)
                E_SWALLOW_ICON("e.swallow.icon", "title.area.clip", 19 19, 19 19, 1 1, 1.0 1.0, "title.area.clip", 0.0 0.5, 19 0, "title.area.clip", 0.0 0.5, 0 0)
                TITLE("e.text.title", "title.area.clip", 0.0, "title.area.clip", 0.0 0.5, 23 3, "title.area.clip", 1.0 0.5, -5 0, 255 255 255 255, 7 7 7 128, 0.1, 0 0 0 255, 170 168 169 0)
                MOVE_WINDOW("move-window", 1 22, 9999 22, "top-left", 0.0 0.0, 5 2, "top-right", 1.0 1.0, -7 -1, 255 0 0 0)
                PART_EVENT_MAP("e.event.resize.t", 1, "resize_t")
                PART_EVENT_MAP("e.event.titlebar", 1, "move-window")
                PART_EVENT_MAP("e.event.resize.r", 1, "right-border")
                PART_EVENT_MAP("e.event.resize.l", 1, "left-border")
                PART_EVENT_MAP("e.event.resize.br", 1, "bottom-right")
                PART_EVENT_MAP("e.event.resize.bl", 1, "bottom-left")
                PART_EVENT_MAP("e.event.resize.b", 1, "bottom-center")
                PART_EVENT_MAP("e.event.resize.tr", 1, "top-right")
                PART_EVENT_MAP("e.event.resize.tl", 1, "top-left")
                E_EVENT_ICON("e.event.icon", "title.area.clip", "e.swallow.icon", "e.swallow.icon", 255 255 255 0)
                CLIPS("close-clip", 28 18, 28 18, "top-right", 0.0 0.0, 0 0, 0.0 1.0, -18 0)
                BUTTONS("button-close", "close-clip", 28 18, "close-clip", "bt-close.png", "bt-close2.png")
                PART_EVENT_MAP("e.event.close", 1, "button-close")
                RESIZE_TOP("resize_t", 1 2, 9999 2, "top-left", 0.0 0.0, 0 0, "top-right", 0.0 0.0, -1 0, 255 0 0 0)
        }
        programs
        {
        {
                program
                {
                        name: "active";
                        signal: "e,state,focused";
                        source: "e";
                        action: STATE_SET "default" 0.0;
                        target: "top-left";
                        target: "top-center";
                        target: "top-right";
                        target: "button-close";
                }
                program
                {
                        name: "inactive";
                        signal: "e,state,unfocused";
                        source: "e";
                        action: STATE_SET "default" 0.1;
                        target: "top-left";
                        target: "top-center";
                        target: "top-right";
                        target: "button-close";
                }
                program
                {
                        name: "active.text";
                        signal: "e,state,focused";
                        source: "e";
                        action: STATE_SET "default" 0.0;
                        target: "e.text.title";
                }
                program
                {
                        name: "inactive.text";
                        signal: "e,state,unfocused";
                        source: "e";
                        action: STATE_SET "default" 0.1;
                       target: "e.text.title";
                }
                program
                {
                        name: "close_click";
                        signal: "mouse,down,1";
                        source: "button-close";
                        action: STATE_SET "clicked" 0.0;
                        transition: DECELERATE 0.15;
                        target: "close-clip";
                }
                program
                {
                        name: "close_unclick";
                        signal: "mouse,up,1";
                        source: "button-close";
                        action: STATE_SET "default" 0.0;
                        transition: DECELERATE 0.5;
                        target: "close-clip";
                }
        }
}

group {
	name: "e/widgets/border/pixel/border";
	parts
	{
		part
		{
			name: "pixel";
			type: RECT;
			description
			{
				state: "default" 0.0;
				visible: 1;
				rel1
				{
					relative: 0.0 0.0;
					offset: 0 0;
				}
				rel2
				{
					relative: 1.0 1.0;
					offset: -1 -1;
				}
				color: 32 36 40 255;
			}
		}
		part
		{
			name: "whole";
			type: RECT;
			description
			{
				state: "default" 0.0;
				rel1
				{
					relative: 0.0 0.0;
					offset: 0 0;
				}
				rel2
				{
					relative: 1.0 1.0;
					offset: -1 -1;
				}
				color: 104 108 111 255;
			}
		}
		E_SWALLOW_CLIENT("e.swallow.client", "pixel", 0.0 0.0, 1 1, "pixel", 1.0 1.0, -2 -2, 0 0 0 255)
		PART_EVENT_MAP("e.event.titlebar", 1, "pixel")
	}
}
FULL_SIZE_BORDER_BUTTON("close")
FULL_SIZE_BORDER_BUTTON("minimize")
FULL_SIZE_BORDER_BUTTON("maximize")
FULL_SIZE_BORDER_BUTTON("shade")
FULL_SIZE_BORDER_BUTTON("stick")
FULL_SIZE_BORDER_BUTTON("kill")
FULL_SIZE_BORDER_BUTTON("locks")
FULL_SIZE_BORDER_BUTTON("borderless")
FULL_SIZE_BORDER_BUTTON("fullscreen")
FULL_SIZE_BORDER_BUTTON("remember")
FULL_SIZE_BORDER_BUTTON("skip_winlist")
FULL_SIZE_BORDER_BUTTON("sendto")
FULL_SIZE_BORDER_BUTTON("stacking")
FULL_SIZE_BORDER_BUTTON("stack_on_top")
FULL_SIZE_BORDER_BUTTON("stack_normal")
FULL_SIZE_BORDER_BUTTON("stack_below")
FULL_SIZE_BORDER_BUTTON("properties")