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")
      }
   }
}

Responses

0 Replies