Customizable programs in EDC files
This snippet shows how to define customizable programs in EDC files. It makes creating multiple programs on similar elements much faster and improves code readability.
#define CLICK_PROGRAM(letter) \
program { \
signal: "mouse,up,*"; \
source: "rect_"letter; \
action: STATE_SET "clicked" 0.00; \
target: "rect_"letter; \
} \
collections {
group { name: "main";
parts {
part
{
name: "rect_A";
type: RECT;
mouse_events: 1;
description{
state: "default" 0.0;
color: 255 255 0 255;
rel1.relative: 0.2 0.4;
rel2.relative: 0.4 0.6;
}
description{
state: "clicked" 0.0;
inherit: "default" 0.0;
color: 255 0 0 255;
}
}
part
{
name: "rect_B";
type: RECT;
mouse_events: 1;
description{
state: "default" 0.0;
color: 255 255 0 255;
rel1.relative: 0.6 0.4;
rel2.relative: 0.8 0.6;
}
description{
state: "clicked" 0.0;
inherit: "default" 0.0;
color: 255 0 0 255;
}
}
}
programs {
CLICK_PROGRAM("A")
CLICK_PROGRAM("B")
}
}
}