// incall.edc
// this is a theme for epydial, a pyneo dialer
//
// TODO: make the font colors shinier :)
//
// Signal1: "dialer_incall_send"
//  Parameter1.1: "End Call"
//  Parameter1.2: "Back To Dialer"
//  Parameter1.2: "Hold Call"

data {
	item: "author" "thomasg [thomas (a) gstaedtner (.) net]";
	item: "version" "prototype";
	item: "name" "epydial_default";
}

color_classes {
	color_class {
		name: "button_inactive";
		color: 255 255 255 255;
		color2: 25 215 0 255;
		color3: 25 215 0 255;
	}
	color_class {
		name: "button_active";
		color: 0 0 0 255;
		color2: 0 0 0 255;
		color3: 0 0 0 255;
	}
}

spectra {
	spectrum {
		name: "background";
		color: 80 80 80 255 1;
		color: 210 210 210 255 1;
	}
	spectrum {
		name: "button";
		color: 5 5 5 255 1;
		color: 110 110 110 255 1;
		color: 10 10 10 255 1;
	}
	spectrum {
		name: "button_active";
		color: 15 170 0 255 1;
		color: 130 255 0 255 1;
		color: 20 200 0 255 1;
	}
}

#define BUTTON(button_number, rel1x, rel1y, rel2x, rel2y, button_caption) \
part { \
	name: "button_"button_number; \
	type: GRADIENT; \
	description { \
		state: "default" 0; \
		gradient { \
			spectrum: "button"; \
			rel1 { relative: 0 0; offset: 0 0; }; \
			rel2 { relative: 0 0.75; offset: 0 0; }; \
		} \
		fill { \
			spread: 1; \
			angle: 1; \
			size { relative: 1 0; offset: 0 0; }; \
		} \
		rel1 { relative: rel1x rel1y; offset: 0 0; }; \
		rel2 { relative: rel2x rel2y; offset: 0 0; }; \
	} \
	description { \
		state: "default" 0.5; \
		inherit: "default" 0; \
		gradient.spectrum: "button_active"; \
		rel1.offset: 0 -5; \
		rel2.offset: 0 5; \
	} \
	description { \
		state: "default" 1; \
		inherit: "default" 0; \
	} \
} \
part { \
	name: "button_accent_"button_number; \
	type: RECT; \
	description { \
		state: "default" 0; \
		color: 25 215 0 255; \
		rel1 { \
			to: "button_"button_number; \
			relative: 0 0.95; \
		} \
		rel2.to: "button_"button_number; \
	} \
} \
part { \
	name: "button_"button_number"_caption"; \
	type: TEXT; \
	mouse_events: 0; \
	effect: GLOW; \
	description { \
		state: "default" 0; \
		color_class: "button_inactive"; \
		rel1 { \
			to: "button_"button_number; \
			relative: 0 0; \
		} \
		rel2 { \
			to: "button_"button_number; \
			relative: 1 1; \
		} \
		text { \
			text: button_caption; \
			size: 18; \
			font: "Sans:style=Bold,Edje-Vera"; \
		} \
	} \
} \
program { \
	name: "button_"button_number"_signal_emit"; \
	signal: "mouse,down,*"; \
	source: "button_"button_number; \
	action: SIGNAL_EMIT "dialer_incall_send" button_caption; \
} \
program { \
	name: "button_"button_number"_animation"; \
	signal: "mouse,down,*"; \
	source: "button_"button_number; \
	action: STATE_SET "default" 0.5; \
	target: "button_"button_number; \
} \
program { \
	name: "button_"button_number"_animation_end"; \
	signal: "mouse,up,*"; \
	source: "button_"button_number; \
	action: STATE_SET "default" 1; \
	target: "button_"button_number; \
	transition: DECELERATE 0.1; \
}

#define DESIGN_STRIPE(stripe_number, rel1x, rel1y, rel2x, rel2y) \
part { \
	name: "design_stripe_"stripe_number; \
	type: RECT; \
	description { \
		state: "default" 0; \
		color: 0 0 0 255; \
		rel1 { relative: rel1x rel1y; offset: 0 0; }; \
		rel2 { relative: rel2x rel2y; offset: 0 0; }; \
	} \
}

#define DESIGN_SEPERATOR(seperator_number, rel1x, rel1y, rel2x, rel2y) \
part { \
	name: "design_seperator_"seperator_number; \
	type: RECT; \
	description { \
		state: "defeault" 0; \
		color: 255 255 255 100; \
		rel1 { relative: rel1x rel1y; offset: -0.5 7; }; \
		rel2 { relative: rel2x rel2y; offset: 0.5 -9; }; \
	} \
}

collections {
	group {
		name: "pyneo/dialer/incall";
		min: 100 100;
		max: 800 800;
		parts {
			part {
				name: "background";
				type: GRADIENT;
				description {
					state: "default" 0;
					gradient {
						spectrum: "background";
						rel1 { relative: 0 0; offset: 0 0; };
						rel2 { relative: 0 1; offset: 0 0; };
					}
					fill {
						spread: 1;
						angle: 1;
						size { relative: 1 0; offset: 0 0; };
					}
					rel1 { relative: 0 0; offset: 0 0; };
					rel2 { relative: 1 1; offset: 0 0; };
				}
			}

			/* stripes - just for design :) */
/*			DESIGN_STRIPE(1, 1/2, 0.18, 1, 0.18);
			DESIGN_STRIPE(2, 1/2, 0.22, 1, 0.22);
			DESIGN_STRIPE(3, 1/2, 0.26, 1, 0.26); */

			BUTTON(1, 0.1, 0.2, 0.9, 0.4, "End Call");
			BUTTON(2, 0.1, 0.45, 0.9, 0.65, "Back To Dialer");
			BUTTON(3, 0.1, 0.7, 0.9, 0.9, "Hold Call");
/*			DESIGN_SEPERATOR(1, 1/3, 25/70, 1/3, 35/70); */
/*			DESIGN_SEPERATOR(2, 2/3, 25/70, 2/3, 35/70); */
		}
	}
}	
