/* * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 */ #include "edje_cc.h" static void st_images_image(void); static void st_fonts_font(void); static void st_data_item(void); static void ob_styles_style(void); static void st_styles_style_name(void); static void st_styles_style_base(void); static void st_styles_style_tag(void); static void ob_color_class(void); static void st_color_class_name(void); static void st_color_class_color(void); static void st_color_class_color2(void); static void st_color_class_color3(void); static void ob_spectrum(void); /*static void st_spectrum(void);*/ static void st_spectrum_name(void); static void st_spectrum_color(void); static void ob_collections(void); static void ob_collections_group(void); static void st_collections_group_name(void); static void st_collections_group_alias(void); static void st_collections_group_min(void); static void st_collections_group_max(void); static void st_collections_group_data_item(void); static void ob_collections_group_script(void); static void ob_collections_group_parts_part(void); static void st_collections_group_parts_part_name(void); static void st_collections_group_parts_part_type(void); static void st_collections_group_parts_part_effect(void); static void st_collections_group_parts_part_mouse_events(void); static void st_collections_group_parts_part_repeat_events(void); static void st_collections_group_parts_part_clip_to_id(void); static void st_collections_group_parts_part_dragable_x(void); static void st_collections_group_parts_part_dragable_y(void); static void st_collections_group_parts_part_dragable_confine(void); static void st_collections_group_parts_part_dragable_events(void); static void ob_collections_group_parts_part_description(void); static void st_collections_group_parts_part_description_inherit(void); static void st_collections_group_parts_part_description_state(void); static void st_collections_group_parts_part_description_visible(void); static void st_collections_group_parts_part_description_align(void); static void st_collections_group_parts_part_description_fixed(void); static void st_collections_group_parts_part_description_min(void); static void st_collections_group_parts_part_description_max(void); static void st_collections_group_parts_part_description_step(void); static void st_collections_group_parts_part_description_aspect(void); static void st_collections_group_parts_part_description_aspect_preference(void); static void st_collections_group_parts_part_description_rel1_relative(void); static void st_collections_group_parts_part_description_rel1_offset(void); static void st_collections_group_parts_part_description_rel1_to(void); static void st_collections_group_parts_part_description_rel1_to_x(void); static void st_collections_group_parts_part_description_rel1_to_y(void); static void st_collections_group_parts_part_description_rel2_relative(void); static void st_collections_group_parts_part_description_rel2_offset(void); static void st_collections_group_parts_part_description_rel2_to(void); static void st_collections_group_parts_part_description_rel2_to_x(void); static void st_collections_group_parts_part_description_rel2_to_y(void); static void st_collections_group_parts_part_description_image_normal(void); static void st_collections_group_parts_part_description_image_tween(void); static void st_collections_group_parts_part_description_image_border(void); static void st_collections_group_parts_part_description_image_middle(void); static void st_collections_group_parts_part_description_fill_smooth(void); static void st_collections_group_parts_part_description_fill_origin_relative(void); static void st_collections_group_parts_part_description_fill_origin_offset(void); static void st_collections_group_parts_part_description_fill_size_relative(void); static void st_collections_group_parts_part_description_fill_size_offset(void); static void st_collections_group_parts_part_description_fill_angle(void); static void st_collections_group_parts_part_description_fill_spread(void); static void st_collections_group_parts_part_description_color_class(void); static void st_collections_group_parts_part_description_color(void); static void st_collections_group_parts_part_description_color2(void); static void st_collections_group_parts_part_description_color3(void); static void st_collections_group_parts_part_description_text_text(void); static void st_collections_group_parts_part_description_text_text_class(void); static void st_collections_group_parts_part_description_text_font(void); static void st_collections_group_parts_part_description_text_style(void); static void st_collections_group_parts_part_description_text_size(void); static void st_collections_group_parts_part_description_text_fit(void); static void st_collections_group_parts_part_description_text_min(void); static void st_collections_group_parts_part_description_text_max(void); static void st_collections_group_parts_part_description_text_align(void); static void st_collections_group_parts_part_description_text_source(void); static void st_collections_group_parts_part_description_text_text_source(void); static void st_collections_group_parts_part_description_text_elipsis(void); static void st_collections_group_parts_part_description_gradient_type(void); static void st_collections_group_parts_part_description_gradient_spectrum(void); static void st_collections_group_parts_part_description_gradient_rel1_relative(void); static void st_collections_group_parts_part_description_gradient_rel1_offset(void); static void st_collections_group_parts_part_description_gradient_rel2_relative(void); static void st_collections_group_parts_part_description_gradient_rel2_offset(void); static void ob_collections_group_programs_program(void); static void st_collections_group_programs_program_name(void); static void st_collections_group_programs_program_signal(void); static void st_collections_group_programs_program_source(void); static void st_collections_group_programs_program_in(void); static void st_collections_group_programs_program_action(void); static void st_collections_group_programs_program_transition(void); static void st_collections_group_programs_program_target(void); static void st_collections_group_programs_program_after(void); static void ob_collections_group_programs_program_script(void); /*****/ New_Statement_Handler statement_handlers[] = { {"images.image", st_images_image}, {"fonts.font", st_fonts_font}, {"data.item", st_data_item}, {"styles.style.name", st_styles_style_name}, {"styles.style.base", st_styles_style_base}, {"styles.style.tag", st_styles_style_tag}, {"color_classes.color_class.name", st_color_class_name}, {"color_classes.color_class.color", st_color_class_color}, {"color_classes.color_class.color2", st_color_class_color2}, {"color_classes.color_class.color3", st_color_class_color3}, /*{"spectra.spectrum", st_spectrum},*/ {"spectra.spectrum.name", st_spectrum_name}, {"spectra.spectrum.color", st_spectrum_color}, {"collections.image", st_images_image}, /* dup */ {"collections.images.image", st_images_image}, /* dup */ {"collections.font", st_fonts_font}, /* dup */ {"collections.fonts.font", st_fonts_font}, /* dup */ {"collections.styles.style.name", st_styles_style_name}, /* dup */ {"collections.styles.style.base", st_styles_style_base}, /* dup */ {"collections.styles.style.tag", st_styles_style_tag}, /* dup */ {"collections.color_classes.color_class.name", st_color_class_name}, /* dup */ {"collections.color_classes.color_class.color", st_color_class_color}, /* dup */ {"collections.color_classes.color_class.color2", st_color_class_color2}, /* dup */ {"collections.color_classes.color_class.color3", st_color_class_color3}, /* dup */ {"collections.group.name", st_collections_group_name}, {"collections.group.alias", st_collections_group_alias}, {"collections.group.min", st_collections_group_min}, {"collections.group.max", st_collections_group_max}, {"collections.group.data.item", st_collections_group_data_item}, {"collections.group.image", st_images_image}, /* dup */ {"collections.group.images.image", st_images_image}, /* dup */ {"collections.group.font", st_fonts_font}, /* dup */ {"collections.group.fonts.font", st_fonts_font}, /* dup */ {"collections.group.styles.style.name", st_styles_style_name}, /* dup */ {"collections.group.styles.style.base", st_styles_style_base}, /* dup */ {"collections.group.styles.style.tag", st_styles_style_tag}, /* dup */ {"collections.group.color_classes.color_class.name", st_color_class_name}, /* dup */ {"collections.group.color_classes.color_class.color", st_color_class_color}, /* dup */ {"collections.group.color_classes.color_class.color2", st_color_class_color2}, /* dup */ {"collections.group.color_classes.color_class.color3", st_color_class_color3}, /* dup */ {"collections.group.parts.image", st_images_image}, /* dup */ {"collections.group.parts.images.image", st_images_image}, /* dup */ {"collections.group.parts.font", st_fonts_font}, /* dup */ {"collections.group.parts.fonts.font", st_fonts_font}, /* dup */ {"collections.group.parts.styles.style.name", st_styles_style_name}, /* dup */ {"collections.group.parts.styles.style.base", st_styles_style_base}, /* dup */ {"collections.group.parts.styles.style.tag", st_styles_style_tag}, /* dup */ {"collections.group.parts.color_classes.color_class.name", st_color_class_name}, /* dup */ {"collections.group.parts.color_classes.color_class.color", st_color_class_color}, /* dup */ {"collections.group.parts.color_classes.color_class.color2", st_color_class_color2}, /* dup */ {"collections.group.parts.color_classes.color_class.color3", st_color_class_color3}, /* dup */ {"collections.group.parts.part.name", st_collections_group_parts_part_name}, {"collections.group.parts.part.type", st_collections_group_parts_part_type}, {"collections.group.parts.part.effect", st_collections_group_parts_part_effect}, {"collections.group.parts.part.mouse_events", st_collections_group_parts_part_mouse_events}, {"collections.group.parts.part.repeat_events", st_collections_group_parts_part_repeat_events}, {"collections.group.parts.part.clip_to", st_collections_group_parts_part_clip_to_id}, {"collections.group.parts.part.dragable.x", st_collections_group_parts_part_dragable_x}, {"collections.group.parts.part.dragable.y", st_collections_group_parts_part_dragable_y}, {"collections.group.parts.part.dragable.confine", st_collections_group_parts_part_dragable_confine}, {"collections.group.parts.part.dragable.events", st_collections_group_parts_part_dragable_events}, {"collections.group.parts.part.image", st_images_image}, /* dup */ {"collections.group.parts.part.images.image", st_images_image}, /* dup */ {"collections.group.parts.part.font", st_fonts_font}, /* dup */ {"collections.group.parts.part.fonts.font", st_fonts_font}, /* dup */ {"collections.group.parts.part.styles.style.name", st_styles_style_name}, /* dup */ {"collections.group.parts.part.styles.style.base", st_styles_style_base}, /* dup */ {"collections.group.parts.part.styles.style.tag", st_styles_style_tag}, /* dup */ {"collections.group.parts.part.color_classes.color_class.name", st_color_class_name}, /* dup */ {"collections.group.parts.part.color_classes.color_class.color", st_color_class_color}, /* dup */ {"collections.group.parts.part.color_classes.color_class.color2", st_color_class_color2}, /* dup */ {"collections.group.parts.part.color_classes.color_class.color3", st_color_class_color3}, /* dup */ {"collections.group.parts.part.description.inherit", st_collections_group_parts_part_description_inherit}, {"collections.group.parts.part.description.state", st_collections_group_parts_part_description_state}, {"collections.group.parts.part.description.visible", st_collections_group_parts_part_description_visible}, {"collections.group.parts.part.description.align", st_collections_group_parts_part_description_align}, {"collections.group.parts.part.description.fixed", st_collections_group_parts_part_description_fixed}, {"collections.group.parts.part.description.min", st_collections_group_parts_part_description_min}, {"collections.group.parts.part.description.max", st_collections_group_parts_part_description_max}, {"collections.group.parts.part.description.step", st_collections_group_parts_part_description_step}, {"collections.group.parts.part.description.aspect", st_collections_group_parts_part_description_aspect}, {"collections.group.parts.part.description.aspect_preference", st_collections_group_parts_part_description_aspect_preference}, {"collections.group.parts.part.description.rel1.relative", st_collections_group_parts_part_description_rel1_relative}, {"collections.group.parts.part.description.rel1.offset", st_collections_group_parts_part_description_rel1_offset}, {"collections.group.parts.part.description.rel1.to", st_collections_group_parts_part_description_rel1_to}, {"collections.group.parts.part.description.rel1.to_x", st_collections_group_parts_part_description_rel1_to_x}, {"collections.group.parts.part.description.rel1.to_y", st_collections_group_parts_part_description_rel1_to_y}, {"collections.group.parts.part.description.rel2.relative", st_collections_group_parts_part_description_rel2_relative}, {"collections.group.parts.part.description.rel2.offset", st_collections_group_parts_part_description_rel2_offset}, {"collections.group.parts.part.description.rel2.to", st_collections_group_parts_part_description_rel2_to}, {"collections.group.parts.part.description.rel2.to_x", st_collections_group_parts_part_description_rel2_to_x}, {"collections.group.parts.part.description.rel2.to_y", st_collections_group_parts_part_description_rel2_to_y}, {"collections.group.parts.part.description.image.normal", st_collections_group_parts_part_description_image_normal}, {"collections.group.parts.part.description.image.tween", st_collections_group_parts_part_description_image_tween}, {"collections.group.parts.part.description.image.image", st_images_image}, /* dup */ {"collections.group.parts.part.description.image.images.image", st_images_image}, /* dup */ {"collections.group.parts.part.description.image.border", st_collections_group_parts_part_description_image_border}, {"collections.group.parts.part.description.image.middle", st_collections_group_parts_part_description_image_middle}, {"collections.group.parts.part.description.fill.smooth", st_collections_group_parts_part_description_fill_smooth}, {"collections.group.parts.part.description.fill.origin.relative", st_collections_group_parts_part_description_fill_origin_relative}, {"collections.group.parts.part.description.fill.origin.offset", st_collections_group_parts_part_description_fill_origin_offset}, {"collections.group.parts.part.description.fill.size.relative", st_collections_group_parts_part_description_fill_size_relative}, {"collections.group.parts.part.description.fill.size.offset", st_collections_group_parts_part_description_fill_size_offset}, {"collections.group.parts.part.description.fill.angle", st_collections_group_parts_part_description_fill_angle}, {"collections.group.parts.part.description.fill.spread", st_collections_group_parts_part_description_fill_spread}, {"collections.group.parts.part.description.color_class", st_collections_group_parts_part_description_color_class}, {"collections.group.parts.part.description.color", st_collections_group_parts_part_description_color}, {"collections.group.parts.part.description.color2", st_collections_group_parts_part_description_color2}, {"collections.group.parts.part.description.color3", st_collections_group_parts_part_description_color3}, {"collections.group.parts.part.description.text.text", st_collections_group_parts_part_description_text_text}, {"collections.group.parts.part.description.text.text_class", st_collections_group_parts_part_description_text_text_class}, {"collections.group.parts.part.description.text.font", st_collections_group_parts_part_description_text_font}, {"collections.group.parts.part.description.text.style", st_collections_group_parts_part_description_text_style}, {"collections.group.parts.part.description.text.size", st_collections_group_parts_part_description_text_size}, {"collections.group.parts.part.description.text.fit", st_collections_group_parts_part_description_text_fit}, {"collections.group.parts.part.description.text.min", st_collections_group_parts_part_description_text_min}, {"collections.group.parts.part.description.text.max", st_collections_group_parts_part_description_text_max}, {"collections.group.parts.part.description.text.align", st_collections_group_parts_part_description_text_align}, {"collections.group.parts.part.description.text.source", st_collections_group_parts_part_description_text_source}, {"collections.group.parts.part.description.text.text_source", st_collections_group_parts_part_description_text_text_source}, {"collections.group.parts.part.description.text.font", st_fonts_font}, /* dup */ {"collections.group.parts.part.description.text.fonts.font", st_fonts_font}, /* dup */ {"collections.group.parts.part.description.text.elipsis", st_collections_group_parts_part_description_text_elipsis}, {"collections.group.parts.part.description.gradient.type", st_collections_group_parts_part_description_gradient_type}, {"collections.group.parts.part.description.gradient.rel1.relative", st_collections_group_parts_part_description_gradient_rel1_relative}, {"collections.group.parts.part.description.gradient.rel1.offset", st_collections_group_parts_part_description_gradient_rel1_offset}, {"collections.group.parts.part.description.gradient.rel2.relative", st_collections_group_parts_part_description_gradient_rel2_relative}, {"collections.group.parts.part.description.gradient.rel2.offset", st_collections_group_parts_part_description_gradient_rel2_offset}, {"collections.group.parts.part.description.gradient.spectrum", st_collections_group_parts_part_description_gradient_spectrum}, {"collections.group.parts.part.description.images.image", st_images_image}, /* dup */ {"collections.group.parts.part.description.font", st_fonts_font}, /* dup */ {"collections.group.parts.part.description.fonts.font", st_fonts_font}, /* dup */ {"collections.group.parts.part.description.styles.style.name", st_styles_style_name}, /* dup */ {"collections.group.parts.part.description.styles.style.base", st_styles_style_base}, /* dup */ {"collections.group.parts.part.description.styles.style.tag", st_styles_style_tag}, /* dup */ {"collections.group.parts.part.description.color_classes.color_class.name", st_color_class_name}, /* dup */ {"collections.group.parts.part.description.color_classes.color_class.color", st_color_class_color}, /* dup */ {"collections.group.parts.part.description.color_classes.color_class.color2", st_color_class_color2}, /* dup */ {"collections.group.parts.part.description.color_classes.color_class.color3", st_color_class_color3}, /* dup */ {"collections.group.parts.part.description.programs.image", st_images_image}, /* dup */ {"collections.group.parts.part.description.programs.images.image", st_images_image}, /* dup */ {"collections.group.parts.part.description.programs.font", st_fonts_font}, /* dup */ {"collections.group.parts.part.description.programs.fonts.font", st_fonts_font}, /* dup */ {"collections.group.parts.part.description.programs.program.name", st_collections_group_programs_program_name}, /* dup */ {"collections.group.parts.part.description.programs.program.signal", st_collections_group_programs_program_signal}, /* dup */ {"collections.group.parts.part.description.programs.program.source", st_collections_group_programs_program_source}, /* dup */ {"collections.group.parts.part.description.programs.program.in", st_collections_group_programs_program_in}, /* dup */ {"collections.group.parts.part.description.programs.program.action", st_collections_group_programs_program_action}, /* dup */ {"collections.group.parts.part.description.programs.program.transition", st_collections_group_programs_program_transition}, /* dup */ {"collections.group.parts.part.description.programs.program.target", st_collections_group_programs_program_target}, /* dup */ {"collections.group.parts.part.description.programs.program.after", st_collections_group_programs_program_after}, /* dup */ {"collections.group.parts.part.description.program.name", st_collections_group_programs_program_name}, /* dup */ {"collections.group.parts.part.description.program.signal", st_collections_group_programs_program_signal}, /* dup */ {"collections.group.parts.part.description.program.source", st_collections_group_programs_program_source}, /* dup */ {"collections.group.parts.part.description.program.in", st_collections_group_programs_program_in}, /* dup */ {"collections.group.parts.part.description.program.action", st_collections_group_programs_program_action}, /* dup */ {"collections.group.parts.part.description.program.transition", st_collections_group_programs_program_transition}, /* dup */ {"collections.group.parts.part.description.program.target", st_collections_group_programs_program_target}, /* dup */ {"collections.group.parts.part.description.program.after", st_collections_group_programs_program_after}, /* dup */ {"collections.group.parts.part.programs.image", st_images_image}, /* dup */ {"collections.group.parts.part.programs.images.image", st_images_image}, /* dup */ {"collections.group.parts.part.programs.font", st_fonts_font}, /* dup */ {"collections.group.parts.part.programs.fonts.font", st_fonts_font}, /* dup */ {"collections.group.parts.part.programs.program.name", st_collections_group_programs_program_name}, /* dup */ {"collections.group.parts.part.programs.program.signal", st_collections_group_programs_program_signal}, /* dup */ {"collections.group.parts.part.programs.program.source", st_collections_group_programs_program_source}, /* dup */ {"collections.group.parts.part.programs.program.in", st_collections_group_programs_program_in}, /* dup */ {"collections.group.parts.part.programs.program.action", st_collections_group_programs_program_action}, /* dup */ {"collections.group.parts.part.programs.program.transition", st_collections_group_programs_program_transition}, /* dup */ {"collections.group.parts.part.programs.program.target", st_collections_group_programs_program_target}, /* dup */ {"collections.group.parts.part.programs.program.after", st_collections_group_programs_program_after}, /* dup */ {"collections.group.parts.part.program.name", st_collections_group_programs_program_name}, /* dup */ {"collections.group.parts.part.program.signal", st_collections_group_programs_program_signal}, /* dup */ {"collections.group.parts.part.program.source", st_collections_group_programs_program_source}, /* dup */ {"collections.group.parts.part.program.in", st_collections_group_programs_program_in}, /* dup */ {"collections.group.parts.part.program.action", st_collections_group_programs_program_action}, /* dup */ {"collections.group.parts.part.program.transition", st_collections_group_programs_program_transition}, /* dup */ {"collections.group.parts.part.program.target", st_collections_group_programs_program_target}, /* dup */ {"collections.group.parts.part.program.after", st_collections_group_programs_program_after}, /* dup */ {"collections.group.parts.programs.image", st_images_image}, /* dup */ {"collections.group.parts.programs.images.image", st_images_image}, /* dup */ {"collections.group.parts.programs.font", st_fonts_font}, /* dup */ {"collections.group.parts.programs.fonts.font", st_fonts_font}, /* dup */ {"collections.group.parts.programs.program.name", st_collections_group_programs_program_name}, /* dup */ {"collections.group.parts.programs.program.signal", st_collections_group_programs_program_signal}, /* dup */ {"collections.group.parts.programs.program.source", st_collections_group_programs_program_source}, /* dup */ {"collections.group.parts.programs.program.in", st_collections_group_programs_program_in}, /* dup */ {"collections.group.parts.programs.program.action", st_collections_group_programs_program_action}, /* dup */ {"collections.group.parts.programs.program.transition", st_collections_group_programs_program_transition}, /* dup */ {"collections.group.parts.programs.program.target", st_collections_group_programs_program_target}, /* dup */ {"collections.group.parts.programs.program.after", st_collections_group_programs_program_after}, {"collections.group.parts.program.name", st_collections_group_programs_program_name}, /* dup */ {"collections.group.parts.program.signal", st_collections_group_programs_program_signal}, /* dup */ {"collections.group.parts.program.source", st_collections_group_programs_program_source}, /* dup */ {"collections.group.parts.program.in", st_collections_group_programs_program_in}, /* dup */ {"collections.group.parts.program.action", st_collections_group_programs_program_action}, /* dup */ {"collections.group.parts.program.transition", st_collections_group_programs_program_transition}, /* dup */ {"collections.group.parts.program.target", st_collections_group_programs_program_target}, /* dup */ {"collections.group.parts.program.after", st_collections_group_programs_program_after}, /* dup */ {"collections.group.program.name", st_collections_group_programs_program_name}, /* dup */ {"collections.group.program.signal", st_collections_group_programs_program_signal}, /* dup */ {"collections.group.program.source", st_collections_group_programs_program_source}, /* dup */ {"collections.group.program.in", st_collections_group_programs_program_in}, /* dup */ {"collections.group.program.action", st_collections_group_programs_program_action}, /* dup */ {"collections.group.program.transition", st_collections_group_programs_program_transition}, /* dup */ {"collections.group.program.target", st_collections_group_programs_program_target}, /* dup */ {"collections.group.program.after", st_collections_group_programs_program_after}, /* dup */ {"collections.group.programs.program.name", st_collections_group_programs_program_name}, {"collections.group.programs.program.signal", st_collections_group_programs_program_signal}, {"collections.group.programs.program.source", st_collections_group_programs_program_source}, {"collections.group.programs.program.in", st_collections_group_programs_program_in}, {"collections.group.programs.program.action", st_collections_group_programs_program_action}, {"collections.group.programs.program.transition", st_collections_group_programs_program_transition}, {"collections.group.programs.program.target", st_collections_group_programs_program_target}, {"collections.group.programs.program.after", st_collections_group_programs_program_after}, {"collections.group.programs.image", st_images_image}, /* dup */ {"collections.group.programs.images.image", st_images_image}, /* dup */ {"collections.group.programs.font", st_fonts_font}, /* dup */ {"collections.group.programs.fonts.font", st_fonts_font} /* dup */ }; New_Object_Handler object_handlers[] = { {"images", NULL}, {"fonts", NULL}, {"data", NULL}, {"styles", NULL}, {"styles.style", ob_styles_style}, {"color_classes", NULL}, {"color_classes.color_class", ob_color_class}, {"spectra", NULL}, {"spectra.spectrum", ob_spectrum}, {"collections", ob_collections}, {"collections.images", NULL}, /* dup */ {"collections.fonts", NULL}, /* dup */ {"collections.styles", NULL}, /* dup */ {"collections.styles.style", ob_styles_style}, /* dup */ {"collections.color_classes", NULL}, /* dup */ {"collections.color_classes.color_class", ob_color_class}, /* dup */ {"collections.group", ob_collections_group}, {"collections.group.data", NULL}, {"collections.group.script", ob_collections_group_script}, {"collections.group.images", NULL}, /* dup */ {"collections.group.fonts", NULL}, /* dup */ {"collections.group.styles", NULL}, /* dup */ {"collections.group.styles.style", ob_styles_style}, /* dup */ {"collections.group.color_classes", NULL}, /* dup */ {"collections.group.color_classes.color_class", ob_color_class}, /* dup */ {"collections.group.parts", NULL}, {"collections.group.parts.images", NULL}, /* dup */ {"collections.group.parts.fonts", NULL}, /* dup */ {"collections.group.parts.styles", NULL}, /* dup */ {"collections.group.parts.styles.style", ob_styles_style}, /* dup */ {"collections.group.parts.color_classes", NULL}, /* dup */ {"collections.group.parts.color_classes.color_class", ob_color_class}, /* dup */ {"collections.group.parts.part", ob_collections_group_parts_part}, {"collections.group.parts.part.dragable", NULL}, {"collections.group.parts.part.images", NULL}, /* dup */ {"collections.group.parts.part.fonts", NULL}, /* dup */ {"collections.group.parts.part.styles", NULL}, /* dup */ {"collections.group.parts.part.styles.style", ob_styles_style}, /* dup */ {"collections.group.parts.part.color_classes", NULL}, /* dup */ {"collections.group.parts.part.color_classes.color_class", ob_color_class}, /* dup */ {"collections.group.parts.part.description", ob_collections_group_parts_part_description}, {"collections.group.parts.part.description.rel1", NULL}, {"collections.group.parts.part.description.rel2", NULL}, {"collections.group.parts.part.description.image", NULL}, /* dup */ {"collections.group.parts.part.description.image.images", NULL}, /* dup */ {"collections.group.parts.part.description.fill", NULL}, {"collections.group.parts.part.description.fill.origin", NULL}, {"collections.group.parts.part.description.fill.size", NULL}, {"collections.group.parts.part.description.text", NULL}, {"collections.group.parts.part.description.text.fonts", NULL}, /* dup */ {"collections.group.parts.part.description.images", NULL}, /* dup */ {"collections.group.parts.part.description.fonts", NULL}, /* dup */ {"collections.group.parts.part.description.styles", NULL}, /* dup */ {"collections.group.parts.part.description.styles.style", ob_styles_style}, /* dup */ {"collections.group.parts.part.description.gradient", NULL}, {"collections.group.parts.part.description.gradient.rel1", NULL}, {"collections.group.parts.part.description.gradient.rel2", NULL}, {"collections.group.parts.part.description.color_classes", NULL}, /* dup */ {"collections.group.parts.part.description.color_classes.color_class", ob_color_class}, /* dup */ {"collections.group.parts.part.description.program", ob_collections_group_programs_program}, /* dup */ {"collections.group.parts.part.description.program.script", ob_collections_group_programs_program_script}, /* dup */ {"collections.group.parts.part.description.programs", NULL}, /* dup */ {"collections.group.parts.part.description.programs.images", NULL}, /* dup */ {"collections.group.parts.part.description.programs.fonts", NULL}, /* dup */ {"collections.group.parts.part.description.programs.program", ob_collections_group_programs_program}, /* dup */ {"collections.group.parts.part.description.programs.program.script", ob_collections_group_programs_program_script}, /* dup */ {"collections.group.parts.part.description.script", ob_collections_group_script}, /* dup */ {"collections.group.parts.part.program", ob_collections_group_programs_program}, /* dup */ {"collections.group.parts.part.program.script", ob_collections_group_programs_program_script}, /* dup */ {"collections.group.parts.part.programs", NULL}, /* dup */ {"collections.group.parts.part.programs.images", NULL}, /* dup */ {"collections.group.parts.part.programs.fonts", NULL}, /* dup */ {"collections.group.parts.part.programs.program", ob_collections_group_programs_program}, /* dup */ {"collections.group.parts.part.programs.program.script", ob_collections_group_programs_program_script}, /* dup */ {"collections.group.parts.part.script", ob_collections_group_script}, /* dup */ {"collections.group.parts.program", ob_collections_group_programs_program}, /* dup */ {"collections.group.parts.program.script", ob_collections_group_programs_program_script}, /* dup */ {"collections.group.parts.programs", NULL}, /* dup */ {"collections.group.parts.programs.images", NULL}, /* dup */ {"collections.group.parts.programs.fonts", NULL}, /* dup */ {"collections.group.parts.programs.program", ob_collections_group_programs_program}, /* dup */ {"collections.group.parts.programs.program.script", ob_collections_group_programs_program_script}, /* dup */ {"collections.group.parts.script", ob_collections_group_script}, /* dup */ {"collections.group.program", ob_collections_group_programs_program}, /* dup */ {"collections.group.program.script", ob_collections_group_programs_program_script}, /* dup */ {"collections.group.programs", NULL}, {"collections.group.programs.images", NULL}, /* dup */ {"collections.group.programs.fonts", NULL}, /* dup */ {"collections.group.programs.program", ob_collections_group_programs_program}, {"collections.group.programs.program.script", ob_collections_group_programs_program_script}, {"collections.group.programs.script", ob_collections_group_script} /* dup */ }; /*****/ int object_handler_num(void) { return sizeof(object_handlers) / sizeof (New_Object_Handler); } int statement_handler_num(void) { return sizeof(statement_handlers) / sizeof (New_Object_Handler); } /*****/ static void st_images_image(void) { Edje_Image_Directory_Entry *img; int v; if (!edje_file->image_dir) edje_file->image_dir = mem_alloc(SZ(Edje_Image_Directory)); img = mem_alloc(SZ(Edje_Image_Directory_Entry)); img->entry = parse_str(0); { Evas_List *l; for (l = edje_file->image_dir->entries; l; l = l->next) { Edje_Image_Directory_Entry *limg; limg = l->data; if (!strcmp(limg->entry, img->entry)) { free(img->entry); free(img); return; } } } edje_file->image_dir->entries = evas_list_append(edje_file->image_dir->entries, img); img->id = evas_list_count(edje_file->image_dir->entries) - 1; v = parse_enum(1, "RAW", 0, "COMP", 1, "LOSSY", 2, "USER", 3, NULL); if (v == 0) { img->source_type = EDJE_IMAGE_SOURCE_TYPE_INLINE_PERFECT; img->source_param = 0; } else if (v == 1) { img->source_type = EDJE_IMAGE_SOURCE_TYPE_INLINE_PERFECT; img->source_param = 1; } else if (v == 2) { img->source_type = EDJE_IMAGE_SOURCE_TYPE_INLINE_LOSSY; img->source_param = 0; } else if (v == 3) { img->source_type = EDJE_IMAGE_SOURCE_TYPE_EXTERNAL; img->source_param = 0; } if (img->source_type != EDJE_IMAGE_SOURCE_TYPE_INLINE_LOSSY) check_arg_count(2); else { img->source_param = parse_int_range(2, 0, 100); check_arg_count(3); } } static void st_fonts_font(void) { Font *fn; Edje_Font_Directory_Entry *fnt; check_arg_count(2); if (!edje_file->font_dir) edje_file->font_dir = mem_alloc(SZ(Edje_Font_Directory)); fn = mem_alloc(SZ(Font)); fn->file = parse_str(0); fn->name = parse_str(1); { Evas_List *l; for (l = fonts; l; l = l->next) { Font *lfn; lfn = l->data; if (!strcmp(lfn->name, fn->name)) { free(fn->file); free(fn->name); free(fn); return; } } } fonts = evas_list_append(fonts, fn); if (edje_file->font_dir) { fnt = mem_alloc(SZ(Edje_Font_Directory_Entry)); fnt->entry = mem_strdup(fn->name); edje_file->font_dir->entries = evas_list_append(edje_file->font_dir->entries, fnt); } } static void st_data_item(void) { Edje_Data *di; check_arg_count(2); di = mem_alloc(SZ(Edje_Data)); di->key = parse_str(0); di->value = parse_str(1); edje_file->data = evas_list_append(edje_file->data, di); } static void ob_color_class(void) { Edje_Color_Class *cc; cc = mem_alloc(SZ(Edje_Color_Class)); edje_file->color_classes = evas_list_append(edje_file->color_classes, cc); cc->r = 0; cc->g = 0; cc->b = 0; cc->a = 0; cc->r2 = 0; cc->g2 = 0; cc->b2 = 0; cc->a2 = 0; cc->r3 = 0; cc->g3 = 0; cc->b3 = 0; cc->a3 = 0; } static void st_color_class_name(void) { Edje_Color_Class *cc, *tcc; Evas_List *l; cc = evas_list_data(evas_list_last(edje_file->color_classes)); cc->name = parse_str(0); for (l = edje_file->color_classes; l; l = l->next) { tcc = l->data; if ((cc != tcc) && (!strcmp(cc->name, tcc->name))) { fprintf(stderr, "%s: Error. parse error %s:%i. There is already a color class named \"%s\"\n", progname, file_in, line - 1, cc->name); exit(-1); } } } static void st_color_class_color(void) { Edje_Color_Class *cc; check_arg_count(4); cc = evas_list_data(evas_list_last(edje_file->color_classes)); cc->r = parse_int_range(0, 0, 255); cc->g = parse_int_range(1, 0, 255); cc->b = parse_int_range(2, 0, 255); cc->a = parse_int_range(3, 0, 255); } static void st_color_class_color2(void) { Edje_Color_Class *cc; check_arg_count(4); cc = evas_list_data(evas_list_last(edje_file->color_classes)); cc->r2 = parse_int_range(0, 0, 255); cc->g2 = parse_int_range(1, 0, 255); cc->b2 = parse_int_range(2, 0, 255); cc->a2 = parse_int_range(3, 0, 255); } static void st_color_class_color3(void) { Edje_Color_Class *cc; check_arg_count(4); cc = evas_list_data(evas_list_last(edje_file->color_classes)); cc->r3 = parse_int_range(0, 0, 255); cc->g3 = parse_int_range(1, 0, 255); cc->b3 = parse_int_range(2, 0, 255); cc->a3 = parse_int_range(3, 0, 255); } static void ob_spectrum(void) { Edje_Spectrum_Directory_Entry *se; if (!edje_file->spectrum_dir) edje_file->spectrum_dir = mem_alloc(SZ(Edje_Spectrum_Directory)); se = mem_alloc(SZ(Edje_Spectrum_Directory_Entry)); edje_file->spectrum_dir->entries = evas_list_append(edje_file->spectrum_dir->entries, se); se->id = evas_list_count(edje_file->spectrum_dir->entries) - 1; se->entry = NULL; se->filename = NULL; se->color_list = NULL; } static void st_spectrum_name(void) { Edje_Spectrum_Directory_Entry *se; se = evas_list_data(evas_list_last(edje_file->spectrum_dir->entries)); se->entry = parse_str(0); } static void st_spectrum_color(void) { Edje_Spectrum_Directory_Entry *se; Edje_Spectrum_Color *sc; se = evas_list_data(evas_list_last(edje_file->spectrum_dir->entries)); sc = mem_alloc(SZ(Edje_Spectrum_Color)); se->color_list = evas_list_append(se->color_list, sc); sc->r = parse_int_range(0, 0, 255); sc->g = parse_int_range(1, 0, 255); sc->b = parse_int_range(2, 0, 255); sc->a = parse_int_range(3, 0, 255); sc->d = parse_int(4); } static void ob_styles_style(void) { Edje_Style *stl; stl = mem_alloc(SZ(Edje_Style)); edje_file->styles = evas_list_append(edje_file->styles, stl); } static void st_styles_style_name(void) { Edje_Style *stl, *tstl; Evas_List *l; stl = evas_list_data(evas_list_last(edje_file->styles)); stl->name = parse_str(0); for (l = edje_file->styles; l; l = l->next) { tstl = l->data; if ((stl != tstl) && (!strcmp(stl->name, tstl->name))) { fprintf(stderr, "%s: Error. parse error %s:%i. There is already a style named \"%s\"\n", progname, file_in, line - 1, stl->name); exit(-1); } } } static void st_styles_style_base(void) { Edje_Style *stl; Edje_Style_Tag *tag; stl = evas_list_data(evas_list_last(edje_file->styles)); if (stl->tags) { fprintf(stderr, "%s: Error. parse error %s:%i. There is already a basic format for the style\n", progname, file_in, line - 1); exit(-1); } tag = mem_alloc(SZ(Edje_Style_Tag)); tag->key = mem_strdup("DEFAULT"); tag->value = parse_str(0); stl->tags = evas_list_append(stl->tags, tag); } static void st_styles_style_tag(void) { Edje_Style *stl; Edje_Style_Tag *tag; stl = evas_list_data(evas_list_last(edje_file->styles)); tag = mem_alloc(SZ(Edje_Style_Tag)); tag->key = parse_str(0); tag->value = parse_str(1); stl->tags = evas_list_append(stl->tags, tag); } static void ob_collections(void) { if (!edje_file->collection_dir) edje_file->collection_dir = mem_alloc(SZ(Edje_Part_Collection_Directory)); } static void ob_collections_group(void) { Edje_Part_Collection_Directory_Entry *de; Edje_Part_Collection *pc; Code *cd; de = mem_alloc(SZ(Edje_Part_Collection_Directory_Entry)); edje_file->collection_dir->entries = evas_list_append(edje_file->collection_dir->entries, de); de->id = evas_list_count(edje_file->collection_dir->entries) - 1; pc = mem_alloc(SZ(Edje_Part_Collection)); edje_collections = evas_list_append(edje_collections, pc); pc->id = evas_list_count(edje_collections) - 1; cd = mem_alloc(SZ(Code)); codes = evas_list_append(codes, cd); } static void st_collections_group_name(void) { Edje_Part_Collection_Directory_Entry *de; check_arg_count(1); de = evas_list_data(evas_list_last(edje_file->collection_dir->entries)); de->entry = parse_str(0); } static void st_collections_group_alias(void) { Edje_Part_Collection_Directory_Entry *de, *alias; check_arg_count(1); de = evas_list_data(evas_list_last(edje_file->collection_dir->entries)); alias = mem_alloc(SZ(Edje_Part_Collection_Directory_Entry)); alias->id = de->id; alias->entry = parse_str(0); aliases = evas_list_append(aliases, alias); } static void st_collections_group_min(void) { Edje_Part_Collection *pc; check_arg_count(2); pc = evas_list_data(evas_list_last(edje_collections)); pc->prop.min.w = parse_int_range(0, 0, 0x7fffffff); pc->prop.min.h = parse_int_range(1, 0, 0x7fffffff); } static void st_collections_group_max(void) { Edje_Part_Collection *pc; check_arg_count(2); pc = evas_list_data(evas_list_last(edje_collections)); pc->prop.max.w = parse_int_range(0, 0, 0x7fffffff); pc->prop.max.h = parse_int_range(1, 0, 0x7fffffff); } static void ob_collections_group_script(void) { Edje_Part_Collection *pc; Code *cd; pc = evas_list_data(evas_list_last(edje_collections)); cd = evas_list_data(evas_list_last(codes)); if (!is_verbatim()) track_verbatim(1); else { char *s; s = get_verbatim(); if (s) { cd->l1 = get_verbatim_line1(); cd->l2 = get_verbatim_line2(); if (cd->shared) { fprintf(stderr, "%s: Error. parse error %s:%i. There is already an existing script section for the group\n", progname, file_in, line - 1); exit(-1); } cd->shared = s; set_verbatim(NULL, 0, 0); } } } static void st_collections_group_data_item(void) { Edje_Part_Collection *pc; Edje_Data *di; check_arg_count(2); pc = evas_list_data(evas_list_last(edje_collections)); di = mem_alloc(SZ(Edje_Data)); di->key = parse_str(0); di->value = parse_str(1); pc->data = evas_list_append(pc->data, di); } static void ob_collections_group_parts_part(void) { Edje_Part_Collection *pc; Edje_Part *ep; ep = mem_alloc(SZ(Edje_Part)); pc = evas_list_data(evas_list_last(edje_collections)); pc->parts = evas_list_append(pc->parts, ep); ep->id = evas_list_count(pc->parts) - 1; ep->type = EDJE_PART_TYPE_IMAGE; ep->mouse_events = 1; ep->repeat_events = 0; ep->clip_to_id = -1; ep->dragable.confine_id = -1; ep->dragable.events_id = -1; } static void st_collections_group_parts_part_name(void) { Edje_Part_Collection *pc; Edje_Part *ep; check_arg_count(1); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); ep->name = parse_str(0); { Evas_List *l; for (l = pc->parts; l; l = l->next) { Edje_Part *lep; lep = l->data; if ((lep != ep) && (lep->name) && (!strcmp(lep->name, ep->name))) { fprintf(stderr, "%s: Error. parse error %s:%i. There is already a part of the name %s\n", progname, file_in, line - 1, ep->name); exit(-1); } } } } static void st_collections_group_parts_part_type(void) { Edje_Part_Collection *pc; Edje_Part *ep; check_arg_count(1); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); ep->type = parse_enum(0, "NONE", EDJE_PART_TYPE_NONE, "RECT", EDJE_PART_TYPE_RECTANGLE, "TEXT", EDJE_PART_TYPE_TEXT, "IMAGE", EDJE_PART_TYPE_IMAGE, "SWALLOW", EDJE_PART_TYPE_SWALLOW, "TEXTBLOCK", EDJE_PART_TYPE_TEXTBLOCK, "GRADIENT", EDJE_PART_TYPE_GRADIENT, NULL); } static void st_collections_group_parts_part_mouse_events(void) { Edje_Part_Collection *pc; Edje_Part *ep; check_arg_count(1); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); ep->mouse_events = parse_bool(0); } static void st_collections_group_parts_part_repeat_events(void) { Edje_Part_Collection *pc; Edje_Part *ep; check_arg_count(1); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); ep->repeat_events = parse_bool(0); } static void st_collections_group_parts_part_clip_to_id(void) { Edje_Part_Collection *pc; Edje_Part *ep; check_arg_count(1); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); { char *name; name = parse_str(0); data_queue_part_lookup(pc, name, &(ep->clip_to_id)); free(name); } } static void st_collections_group_parts_part_dragable_x(void) { Edje_Part_Collection *pc; Edje_Part *ep; check_arg_count(3); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); ep->dragable.x = parse_int_range(0, -1, 1); ep->dragable.step_x = parse_int_range(1, 0, 0x7fffffff); ep->dragable.count_x = parse_int_range(2, 0, 0x7fffffff); } static void st_collections_group_parts_part_dragable_y(void) { Edje_Part_Collection *pc; Edje_Part *ep; check_arg_count(3); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); ep->dragable.y = parse_int_range(0, -1, 1); ep->dragable.step_y = parse_int_range(1, 0, 0x7fffffff); ep->dragable.count_y = parse_int_range(2, 0, 0x7fffffff); } static void st_collections_group_parts_part_dragable_confine(void) { Edje_Part_Collection *pc; Edje_Part *ep; check_arg_count(1); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); { char *name; name = parse_str(0); data_queue_part_lookup(pc, name, &(ep->dragable.confine_id)); free(name); } } static void st_collections_group_parts_part_dragable_events(void) { Edje_Part_Collection *pc; Edje_Part *ep; check_arg_count(1); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); { char *name; name = parse_str(0); data_queue_part_lookup(pc, name, &(ep->dragable.events_id)); free(name); } } static void ob_collections_group_parts_part_description(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); ed = mem_alloc(SZ(Edje_Part_Description)); if (!ep->default_desc) ep->default_desc = ed; else ep->other_desc = evas_list_append(ep->other_desc, ed); ed->visible = 1; ed->align.x = 0.5; ed->align.y = 0.5; ed->min.w = 0; ed->min.h = 0; ed->fixed.w = 0; ed->fixed.h = 0; ed->max.w = -1; ed->max.h = -1; ed->rel1.relative_x = 0.0; ed->rel1.relative_y = 0.0; ed->rel1.offset_x = 0; ed->rel1.offset_y = 0; ed->rel1.id_x = -1; ed->rel1.id_y = -1; ed->rel2.relative_x = 1.0; ed->rel2.relative_y = 1.0; ed->rel2.offset_x = -1; ed->rel2.offset_y = -1; ed->rel2.id_x = -1; ed->rel2.id_y = -1; ed->image.id = -1; ed->fill.smooth = 1; ed->fill.pos_rel_x = 0.0; ed->fill.pos_abs_x = 0; ed->fill.rel_x = 1.0; ed->fill.abs_x = 0; ed->fill.pos_rel_y = 0.0; ed->fill.pos_abs_y = 0; ed->fill.rel_y = 1.0; ed->fill.abs_y = 0; ed->fill.angle = 0; ed->fill.spread = 0; ed->color_class = NULL; ed->color.r = 255; ed->color.g = 255; ed->color.b = 255; ed->color.a = 255; ed->color2.r = 0; ed->color2.g = 0; ed->color2.b = 0; ed->color2.a = 255; ed->color3.r = 0; ed->color3.g = 0; ed->color3.b = 0; ed->color3.a = 128; ed->text.align.x = 0.5; ed->text.align.y = 0.5; ed->text.id_source = -1; ed->text.id_text_source = -1; ed->gradient.rel1.relative_x = 0; ed->gradient.rel1.relative_y = 0; ed->gradient.rel1.offset_x = 0; ed->gradient.rel1.offset_y = 0; ed->gradient.rel2.relative_x = 1; ed->gradient.rel2.relative_y = 1; ed->gradient.rel2.offset_x = -1; ed->gradient.rel2.offset_y = -1; } static void st_collections_group_parts_part_description_inherit(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed, *parent = NULL; Evas_List *l; char *parent_name, *state_name; double parent_val, state_val; check_arg_count(2); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); /* inherit may not be used in the default description */ if (!ep->other_desc) { fprintf(stderr, "%s: Error. parse error %s:%i. " "inherit may not be used in the default description\n", progname, file_in, line - 1); exit(-1); } ed = evas_list_data(evas_list_last(ep->other_desc)); if (!ed->state.name) { fprintf(stderr, "%s: Error. parse error %s:%i. " "inherit may only be used after state\n", progname, file_in, line - 1); exit(-1); } /* find the description that we inherit from */ parent_name = parse_str(0); parent_val = parse_float_range(1, 0.0, 1.0); if (!strcmp (parent_name, "default") && parent_val == 0.0) parent = ep->default_desc; else { double min_dst = 999.0; if (!strcmp(parent_name, "default")) { parent = ep->default_desc; min_dst = ABS(ep->default_desc->state.value - parent_val); } for (l = ep->other_desc; l; l = l->next) { Edje_Part_Description *d = l->data; if (!strcmp (d->state.name, parent_name)) { double dst; dst = ABS(d->state.value - parent_val); if (dst < min_dst) { parent = d; min_dst = dst; } } } } if (!parent) { fprintf (stderr, "%s: Error. parse error %s:%i. " "cannot find referenced part state %s %lf\n", ep->name, file_in, line - 1, parent_name, parent_val); exit(-1); } free (parent_name); /* now do a full copy, only state info will be kept */ state_name = ed->state.name; state_val = ed->state.value; *ed = *parent; ed->state.name = state_name; ed->state.value = state_val; data_queue_part_slave_lookup(&parent->rel1.id_x, &ed->rel1.id_x); data_queue_part_slave_lookup(&parent->rel1.id_y, &ed->rel1.id_y); data_queue_part_slave_lookup(&parent->rel2.id_x, &ed->rel2.id_x); data_queue_part_slave_lookup(&parent->rel2.id_y, &ed->rel2.id_y); data_queue_image_slave_lookup(&parent->image.id, &ed->image.id); data_queue_spectrum_slave_lookup(&parent->gradient.id, &ed->gradient.id); /* make sure all the allocated memory is getting copied, not just * referenced */ ed->image.tween_list = NULL; for (l = parent->image.tween_list; l; l = l->next) { Edje_Part_Image_Id *iid, *iid_new; iid = l->data; iid_new = mem_alloc(SZ(Edje_Part_Image_Id)); data_queue_image_slave_lookup(&(iid->id), &(iid_new->id)); ed->image.tween_list = evas_list_append(ed->image.tween_list, iid_new); } #define STRDUP(x) x ? strdup(x) : NULL ed->color_class = STRDUP(ed->color_class); ed->text.text = STRDUP(ed->text.text); ed->text.text_class = STRDUP(ed->text.text_class); ed->text.font = STRDUP(ed->text.font); #undef STRDUP data_queue_part_slave_lookup(&(parent->text.id_source), &(ed->text.id_source)); data_queue_part_slave_lookup(&(parent->text.id_text_source), &(ed->text.id_text_source)); } static void st_collections_group_parts_part_description_state(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; char *s; check_arg_count(2); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); s = parse_str(0); if (!strcmp (s, "custom")) { fprintf(stderr, "%s: Error. parse error %s:%i. " "invalid state name: '%s'.\n", progname, file_in, line - 1, s); exit(-1); } ed->state.name = s; ed->state.value = parse_float_range(1, 0.0, 1.0); } static void st_collections_group_parts_part_description_visible(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(1); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); ed->visible = parse_bool(0); } static void st_collections_group_parts_part_description_align(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(2); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); ed->align.x = parse_float_range(0, 0.0, 1.0); ed->align.y = parse_float_range(1, 0.0, 1.0); } static void st_collections_group_parts_part_description_fixed(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(2); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); ed->fixed.w = parse_float_range(0, 0, 1); ed->fixed.h = parse_float_range(1, 0, 1); } static void st_collections_group_parts_part_description_min(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(2); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); ed->min.w = parse_float_range(0, 0, 0x7fffffff); ed->min.h = parse_float_range(1, 0, 0x7fffffff); } static void st_collections_group_parts_part_description_max(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(2); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); ed->max.w = parse_float_range(0, 0, 0x7fffffff); ed->max.h = parse_float_range(1, 0, 0x7fffffff); } static void st_collections_group_parts_part_description_step(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(2); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); ed->step.x = parse_float_range(0, 0, 0x7fffffff); ed->step.y = parse_float_range(1, 0, 0x7fffffff); } static void st_collections_group_parts_part_description_aspect(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(2); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); ed->aspect.min = parse_float_range(0, 0.0, 999999999.0); ed->aspect.max = parse_float_range(1, 0.0, 999999999.0); } static void st_collections_group_parts_part_description_aspect_preference(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(1); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); ed->aspect.prefer = parse_enum(0, "NONE", EDJE_ASPECT_PREFER_NONE, "VERTICAL", EDJE_ASPECT_PREFER_VERTICAL, "HORIZONTAL", EDJE_ASPECT_PREFER_HORIZONTAL, "BOTH", EDJE_ASPECT_PREFER_BOTH, NULL); } static void st_collections_group_parts_part_description_rel1_relative(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(2); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); ed->rel1.relative_x = parse_float(0); ed->rel1.relative_y = parse_float(1); } static void st_collections_group_parts_part_description_rel1_offset(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(2); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); ed->rel1.offset_x = parse_int(0); ed->rel1.offset_y = parse_int(1); } static void st_collections_group_parts_part_description_rel1_to(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(1); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); { char *name; name = parse_str(0); data_queue_part_lookup(pc, name, &(ed->rel1.id_x)); data_queue_part_lookup(pc, name, &(ed->rel1.id_y)); free(name); } } static void st_collections_group_parts_part_description_rel1_to_x(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(1); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); { char *name; name = parse_str(0); data_queue_part_lookup(pc, name, &(ed->rel1.id_x)); free(name); } } static void st_collections_group_parts_part_description_rel1_to_y(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(1); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); { char *name; name = parse_str(0); data_queue_part_lookup(pc, name, &(ed->rel1.id_y)); free(name); } } static void st_collections_group_parts_part_description_rel2_relative(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(2); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); ed->rel2.relative_x = parse_float(0); ed->rel2.relative_y = parse_float(1); } static void st_collections_group_parts_part_description_rel2_offset(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(2); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); ed->rel2.offset_x = parse_int(0); ed->rel2.offset_y = parse_int(1); } static void st_collections_group_parts_part_description_rel2_to(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(1); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); { char *name; name = parse_str(0); data_queue_part_lookup(pc, name, &(ed->rel2.id_x)); data_queue_part_lookup(pc, name, &(ed->rel2.id_y)); free(name); } } static void st_collections_group_parts_part_description_rel2_to_x(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(1); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); { char *name; name = parse_str(0); data_queue_part_lookup(pc, name, &(ed->rel2.id_x)); free(name); } } static void st_collections_group_parts_part_description_rel2_to_y(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(1); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); { char *name; name = parse_str(0); data_queue_part_lookup(pc, name, &(ed->rel2.id_y)); free(name); } } static void st_collections_group_parts_part_description_image_normal(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(1); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); if (ep->type != EDJE_PART_TYPE_IMAGE) { fprintf(stderr, "%s: Error. parse error %s:%i. " "image attributes in non-IMAGE part.\n", progname, file_in, line - 1); exit(-1); } ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); { char *name; name = parse_str(0); data_queue_image_lookup(name, &(ed->image.id)); free(name); } } static void st_collections_group_parts_part_description_image_tween(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(1); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); if (ep->type != EDJE_PART_TYPE_IMAGE) { fprintf(stderr, "%s: Error. parse error %s:%i. " "image attributes in non-IMAGE part.\n", progname, file_in, line - 1); exit(-1); } ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); { char *name; Edje_Part_Image_Id *iid; iid = mem_alloc(SZ(Edje_Part_Image_Id)); ed->image.tween_list = evas_list_append(ed->image.tween_list, iid); name = parse_str(0); data_queue_image_lookup(name, &(iid->id)); free(name); } } static void st_collections_group_parts_part_description_image_border(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(4); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); if (ep->type != EDJE_PART_TYPE_IMAGE) { fprintf(stderr, "%s: Error. parse error %s:%i. " "image attributes in non-IMAGE part.\n", progname, file_in, line - 1); exit(-1); } ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); ed->border.l = parse_int_range(0, 0, 0x7fffffff); ed->border.r = parse_int_range(1, 0, 0x7fffffff); ed->border.t = parse_int_range(2, 0, 0x7fffffff); ed->border.b = parse_int_range(3, 0, 0x7fffffff); } static void st_collections_group_parts_part_description_image_middle(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(1); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); if (ep->type != EDJE_PART_TYPE_IMAGE) { fprintf(stderr, "%s: Error. parse error %s:%i. " "image attributes in non-IMAGE part.\n", progname, file_in, line - 1); exit(-1); } ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); ed->border.no_fill = !parse_bool(0); } static void st_collections_group_parts_part_description_fill_smooth(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(1); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); if (ep->type != EDJE_PART_TYPE_IMAGE) { fprintf(stderr, "%s: Error. parse error %s:%i. " "fill attributes in non-IMAGE part.\n", progname, file_in, line - 1); exit(-1); } ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); ed->fill.smooth = parse_bool(0); } static void st_collections_group_parts_part_description_fill_origin_relative(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(2); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); if (ep->type != EDJE_PART_TYPE_IMAGE && ep->type != EDJE_PART_TYPE_GRADIENT) { fprintf(stderr, "%s: Error. parse error %s:%i. " "fill attributes in non-IMAGE part.\n", progname, file_in, line - 1); exit(-1); } ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); ed->fill.pos_rel_x = parse_float_range(0, -999999999.0, 999999999.0); ed->fill.pos_rel_y = parse_float_range(1, -999999999.0, 999999999.0); } static void st_collections_group_parts_part_description_fill_origin_offset(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(2); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); if (ep->type != EDJE_PART_TYPE_IMAGE && ep->type != EDJE_PART_TYPE_GRADIENT) { fprintf(stderr, "%s: Error. parse error %s:%i. " "fill attributes in non-IMAGE part.\n", progname, file_in, line - 1); exit(-1); } ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); ed->fill.pos_abs_x = parse_int(0); ed->fill.pos_abs_y = parse_int(1); } static void st_collections_group_parts_part_description_fill_size_relative(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(2); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); if (ep->type != EDJE_PART_TYPE_IMAGE && ep->type != EDJE_PART_TYPE_GRADIENT) { fprintf(stderr, "%s: Error. parse error %s:%i. " "fill attributes in non-IMAGE part.\n", progname, file_in, line - 1); exit(-1); } ed->fill.rel_x = parse_float_range(0, 0.0, 999999999.0); ed->fill.rel_y = parse_float_range(1, 0.0, 999999999.0); } static void st_collections_group_parts_part_description_fill_size_offset(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(2); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); if (ep->type != EDJE_PART_TYPE_IMAGE && ep->type != EDJE_PART_TYPE_GRADIENT) { fprintf(stderr, "%s: Error. parse error %s:%i. " "fill attributes in non-IMAGE part.\n", progname, file_in, line - 1); exit(-1); } ed->fill.abs_x = parse_int(0); ed->fill.abs_y = parse_int(1); } static void st_collections_group_parts_part_description_color_class(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(1); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); ed->color_class = parse_str(0); } static void st_collections_group_parts_part_description_color(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(4); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); ed->color.r = parse_int_range(0, 0, 255); ed->color.g = parse_int_range(1, 0, 255); ed->color.b = parse_int_range(2, 0, 255); ed->color.a = parse_int_range(3, 0, 255); } static void st_collections_group_parts_part_description_color2(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(4); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); ed->color2.r = parse_int_range(0, 0, 255); ed->color2.g = parse_int_range(1, 0, 255); ed->color2.b = parse_int_range(2, 0, 255); ed->color2.a = parse_int_range(3, 0, 255); } static void st_collections_group_parts_part_description_color3(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(4); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); ed->color3.r = parse_int_range(0, 0, 255); ed->color3.g = parse_int_range(1, 0, 255); ed->color3.b = parse_int_range(2, 0, 255); ed->color3.a = parse_int_range(3, 0, 255); } static void st_collections_group_parts_part_description_text_text(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; char *str = NULL; int i; pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); if ((ep->type != EDJE_PART_TYPE_TEXT) && (ep->type != EDJE_PART_TYPE_TEXTBLOCK)) { fprintf(stderr, "%s: Error. parse error %s:%i. " "text attributes in non-TEXT part.\n", progname, file_in, line - 1); exit(-1); } ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); for (i = 0; ;i++) { char *s; if (!is_param(i)) break; s = parse_str(i); if (!str) str = s; else { str = realloc(str, strlen(str) + strlen(s) + 1); strcat(str, s); free(s); } } ed->text.text = str; } static void st_collections_group_parts_part_description_text_text_class(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(1); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); if ((ep->type != EDJE_PART_TYPE_TEXT) && (ep->type != EDJE_PART_TYPE_TEXTBLOCK)) { fprintf(stderr, "%s: Error. parse error %s:%i. " "text attributes in non-TEXT part.\n", progname, file_in, line - 1); exit(-1); } ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); ed->text.text_class = parse_str(0); } static void st_collections_group_parts_part_description_text_font(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(1); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); if (ep->type != EDJE_PART_TYPE_TEXT) { fprintf(stderr, "%s: Error. parse error %s:%i. " "text attributes in non-TEXT part.\n", progname, file_in, line - 1); exit(-1); } ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); ed->text.font = parse_str(0); } static void st_collections_group_parts_part_description_text_style(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(1); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); if (ep->type != EDJE_PART_TYPE_TEXTBLOCK) { fprintf(stderr, "%s: Error. parse error %s:%i. " "text attributes in non-TEXTBLOCK part.\n", progname, file_in, line - 1); exit(-1); } ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); ed->text.style = parse_str(0); } static void st_collections_group_parts_part_description_text_size(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(1); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); if (ep->type != EDJE_PART_TYPE_TEXT) { fprintf(stderr, "%s: Error. parse error %s:%i. " "text attributes in non-TEXT part.\n", progname, file_in, line - 1); exit(-1); } ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); ed->text.size = parse_int_range(0, 0, 255); } static void st_collections_group_parts_part_effect(void) { Edje_Part_Collection *pc; Edje_Part *ep; check_arg_count(1); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); ep->effect = parse_enum(0, "NONE", EDJE_TEXT_EFFECT_NONE, "PLAIN", EDJE_TEXT_EFFECT_PLAIN, "OUTLINE", EDJE_TEXT_EFFECT_OUTLINE, "SOFT_OUTLINE", EDJE_TEXT_EFFECT_SOFT_OUTLINE, "SHADOW", EDJE_TEXT_EFFECT_SHADOW, "SOFT_SHADOW", EDJE_TEXT_EFFECT_SOFT_SHADOW, "OUTLINE_SHADOW", EDJE_TEXT_EFFECT_OUTLINE_SHADOW, "OUTLINE_SOFT_SHADOW", EDJE_TEXT_EFFECT_OUTLINE_SOFT_SHADOW, NULL); } static void st_collections_group_parts_part_description_text_fit(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(2); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); if (ep->type != EDJE_PART_TYPE_TEXT) { fprintf(stderr, "%s: Error. parse error %s:%i. " "text attributes in non-TEXT part.\n", progname, file_in, line - 1); exit(-1); } ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); ed->text.fit_x = parse_bool(0); ed->text.fit_y = parse_bool(1); } static void st_collections_group_parts_part_description_text_min(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(2); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); if ((ep->type != EDJE_PART_TYPE_TEXT) && (ep->type != EDJE_PART_TYPE_TEXTBLOCK)) { fprintf(stderr, "%s: Error. parse error %s:%i. " "text attributes in non-TEXT part.\n", progname, file_in, line - 1); exit(-1); } ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); ed->text.min_x = parse_bool(0); ed->text.min_y = parse_bool(1); } static void st_collections_group_parts_part_description_text_max(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(2); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); if ((ep->type != EDJE_PART_TYPE_TEXT) && (ep->type != EDJE_PART_TYPE_TEXTBLOCK)) { fprintf(stderr, "%s: Error. parse error %s:%i. " "text attributes in non-TEXT part.\n", progname, file_in, line - 1); exit(-1); } ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); ed->text.max_x = parse_bool(0); ed->text.max_y = parse_bool(1); } static void st_collections_group_parts_part_description_text_align(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(2); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); if (ep->type != EDJE_PART_TYPE_TEXT) { fprintf(stderr, "%s: Error. parse error %s:%i. " "text attributes in non-TEXT part.\n", progname, file_in, line - 1); exit(-1); } ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); ed->text.align.x = parse_float_range(0, 0.0, 1.0); ed->text.align.y = parse_float_range(1, 0.0, 1.0); } static void st_collections_group_parts_part_description_text_source(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(1); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); if ((ep->type != EDJE_PART_TYPE_TEXT) && (ep->type != EDJE_PART_TYPE_TEXTBLOCK)) { fprintf(stderr, "%s: Error. parse error %s:%i. " "text attributes in non-TEXT part.\n", progname, file_in, line - 1); exit(-1); } ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); { char *name; name = parse_str(0); data_queue_part_lookup(pc, name, &(ed->text.id_source)); free(name); } } static void st_collections_group_parts_part_description_text_text_source(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(1); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); if ((ep->type != EDJE_PART_TYPE_TEXT) && (ep->type != EDJE_PART_TYPE_TEXTBLOCK)) { fprintf(stderr, "%s: Error. parse error %s:%i. " "text attributes in non-TEXT part.\n", progname, file_in, line - 1); exit(-1); } ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); { char *name; name = parse_str(0); data_queue_part_lookup(pc, name, &(ed->text.id_text_source)); free(name); } } static void st_collections_group_parts_part_description_fill_angle(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(1); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); /* XXX this will need to include IMAGES when angle support is added to evas images */ if (ep->type != EDJE_PART_TYPE_GRADIENT) { fprintf(stderr, "%s: Error. parse error %s:%i. " "gradient attributes in non-GRADIENT part.\n", progname, file_in, line - 1); exit(-1); } ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); ed->fill.angle = parse_int_range(0, 0, 360); } static void st_collections_group_parts_part_description_fill_spread(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(1); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); /* XXX this will need to include IMAGES when spread support is added to evas images */ if (ep->type != EDJE_PART_TYPE_GRADIENT) { fprintf(stderr, "%s: Error. parse error %s:%i. " "gradient attributes in non-GRADIENT part.\n", progname, file_in, line - 1); exit(-1); } ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); ed->fill.spread = parse_int_range(0, 0, 1); } static void st_collections_group_parts_part_description_text_elipsis(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(1); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); if (ep->type != EDJE_PART_TYPE_TEXT) { fprintf(stderr, "%s: Error. parse error %s:%i. " "text attributes in non-TEXT part.\n", progname, file_in, line - 1); exit(-1); } ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); ed->text.elipsis = parse_float_range(0, 0.0, 1.0); } static void st_collections_group_parts_part_description_gradient_type(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(1); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); if (ep->type != EDJE_PART_TYPE_GRADIENT) { fprintf(stderr, "%s: Error. parse error %s:%i. " "gradient attributes in non-GRADIENT part.\n", progname, file_in, line - 1); exit(-1); } ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); ed->gradient.type = parse_str(0); } static void st_collections_group_parts_part_description_gradient_spectrum(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(1); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); if (ep->type != EDJE_PART_TYPE_GRADIENT) { fprintf(stderr, "%s: Error. parse error %s:%i. " "gradient attributes in non-GRADIENT part.\n", progname, file_in, line - 1); exit(-1); } ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); { char *name; name = parse_str(0); data_queue_spectrum_lookup(name, &(ed->gradient.id)); free(name); } } static void st_collections_group_parts_part_description_gradient_rel1_relative(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(2); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); if (ep->type != EDJE_PART_TYPE_GRADIENT) { fprintf(stderr, "%s: Error. parse error %s:%i. " "gradient attributes in non-GRADIENT part.\n", progname, file_in, line - 1); exit(-1); } ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); { ed->gradient.use_rel = 1; ed->gradient.rel1.relative_x = parse_float(0); ed->gradient.rel1.relative_y = parse_float(1); } } static void st_collections_group_parts_part_description_gradient_rel1_offset(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(2); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); if (ep->type != EDJE_PART_TYPE_GRADIENT) { fprintf(stderr, "%s: Error. parse error %s:%i. " "gradient attributes in non-GRADIENT part.\n", progname, file_in, line - 1); exit(-1); } ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); { ed->gradient.use_rel = 1; ed->gradient.rel1.offset_x = parse_int(0); ed->gradient.rel1.offset_y = parse_int(1); } } static void st_collections_group_parts_part_description_gradient_rel2_relative(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(2); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); if (ep->type != EDJE_PART_TYPE_GRADIENT) { fprintf(stderr, "%s: Error. parse error %s:%i. " "gradient attributes in non-GRADIENT part.\n", progname, file_in, line - 1); exit(-1); } ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); { ed->gradient.use_rel = 1; ed->gradient.rel2.relative_x = parse_float(0); ed->gradient.rel2.relative_y = parse_float(1); } } static void st_collections_group_parts_part_description_gradient_rel2_offset(void) { Edje_Part_Collection *pc; Edje_Part *ep; Edje_Part_Description *ed; check_arg_count(2); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->parts)); if (ep->type != EDJE_PART_TYPE_GRADIENT) { fprintf(stderr, "%s: Error. parse error %s:%i. " "gradient attributes in non-GRADIENT part.\n", progname, file_in, line - 1); exit(-1); } ed = ep->default_desc; if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc)); { ed->gradient.use_rel = 1; ed->gradient.rel2.offset_x = parse_int(0); ed->gradient.rel2.offset_y = parse_int(1); } } static void ob_collections_group_programs_program(void) { Edje_Part_Collection *pc; Edje_Program *ep; pc = evas_list_data(evas_list_last(edje_collections)); ep = mem_alloc(SZ(Edje_Program)); pc->programs = evas_list_append(pc->programs, ep); ep->id = evas_list_count(pc->programs) - 1; ep->tween.mode = EDJE_TWEEN_MODE_LINEAR; ep->after = NULL; } static void st_collections_group_programs_program_name(void) { Edje_Part_Collection *pc; Edje_Program *ep; check_arg_count(1); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->programs)); ep->name = parse_str(0); { Evas_List *l; for (l = pc->programs; l; l = l->next) { Edje_Program *lep; lep = l->data; if ((lep != ep) && (lep->name) && (!strcmp(lep->name, ep->name))) { fprintf(stderr, "%s: Error. parse error %s:%i. There is already a program of the name %s\n", progname, file_in, line - 1, ep->name); exit(-1); } } } } static void st_collections_group_programs_program_signal(void) { Edje_Part_Collection *pc; Edje_Program *ep; check_arg_count(1); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->programs)); ep->signal = parse_str(0); } static void st_collections_group_programs_program_source(void) { Edje_Part_Collection *pc; Edje_Program *ep; check_arg_count(1); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->programs)); ep->source = parse_str(0); } static void st_collections_group_programs_program_in(void) { Edje_Part_Collection *pc; Edje_Program *ep; check_arg_count(2); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->programs)); ep->in.from = parse_float_range(0, 0.0, 999999999.0); ep->in.range = parse_float_range(1, 0.0, 999999999.0); } static void st_collections_group_programs_program_action(void) { Edje_Part_Collection *pc; Edje_Program *ep; pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->programs)); ep->action = parse_enum(0, "STATE_SET", EDJE_ACTION_TYPE_STATE_SET, "ACTION_STOP", EDJE_ACTION_TYPE_ACTION_STOP, "SIGNAL_EMIT", EDJE_ACTION_TYPE_SIGNAL_EMIT, "DRAG_VAL_SET", EDJE_ACTION_TYPE_DRAG_VAL_SET, "DRAG_VAL_STEP", EDJE_ACTION_TYPE_DRAG_VAL_STEP, "DRAG_VAL_PAGE", EDJE_ACTION_TYPE_DRAG_VAL_PAGE, "SCRIPT", EDJE_ACTION_TYPE_SCRIPT, NULL); if (ep->action == EDJE_ACTION_TYPE_STATE_SET) { ep->state = parse_str(1); ep->value = parse_float_range(2, 0.0, 1.0); } else if (ep->action == EDJE_ACTION_TYPE_SIGNAL_EMIT) { ep->state = parse_str(1); ep->state2 = parse_str(2); } else if (ep->action == EDJE_ACTION_TYPE_DRAG_VAL_SET) { ep->value = parse_float(1); ep->value2 = parse_float(2); } else if (ep->action == EDJE_ACTION_TYPE_DRAG_VAL_STEP) { ep->value = parse_float(1); ep->value2 = parse_float(2); } else if (ep->action == EDJE_ACTION_TYPE_DRAG_VAL_PAGE) { ep->value = parse_float(1); ep->value2 = parse_float(2); } switch (ep->action) { case EDJE_ACTION_TYPE_ACTION_STOP: check_arg_count(1); break; case EDJE_ACTION_TYPE_SCRIPT: /* FIXME: what's this? people usually just use script{}, no? */ break; default: check_arg_count(3); } } static void st_collections_group_programs_program_transition(void) { Edje_Part_Collection *pc; Edje_Program *ep; check_arg_count(2); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->programs)); ep->tween.mode = parse_enum(0, "LINEAR", EDJE_TWEEN_MODE_LINEAR, "SINUSOIDAL", EDJE_TWEEN_MODE_SINUSOIDAL, "ACCELERATE", EDJE_TWEEN_MODE_ACCELERATE, "DECELERATE", EDJE_TWEEN_MODE_DECELERATE, NULL); ep->tween.time = parse_float_range(1, 0.0, 999999999.0); } static void st_collections_group_programs_program_target(void) { Edje_Part_Collection *pc; Edje_Program *ep; check_arg_count(1); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->programs)); { Edje_Program_Target *et; char *name; et = mem_alloc(SZ(Edje_Program_Target)); ep->targets = evas_list_append(ep->targets, et); name = parse_str(0); if (ep->action == EDJE_ACTION_TYPE_STATE_SET) data_queue_part_lookup(pc, name, &(et->id)); else if (ep->action == EDJE_ACTION_TYPE_ACTION_STOP) data_queue_program_lookup(pc, name, &(et->id)); else if (ep->action == EDJE_ACTION_TYPE_DRAG_VAL_SET) data_queue_part_lookup(pc, name, &(et->id)); else if (ep->action == EDJE_ACTION_TYPE_DRAG_VAL_STEP) data_queue_part_lookup(pc, name, &(et->id)); else if (ep->action == EDJE_ACTION_TYPE_DRAG_VAL_PAGE) data_queue_part_lookup(pc, name, &(et->id)); else { fprintf(stderr, "%s: Error. parse error %s:%i. " "target may only be used after action\n", progname, file_in, line - 1); exit(-1); } free(name); } } static void st_collections_group_programs_program_after(void) { Edje_Part_Collection *pc; Edje_Program *ep; check_arg_count(1); pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->programs)); { Edje_Program_After *pa; char *name; name = parse_str(0); pa = mem_alloc(SZ(Edje_Program_After)); pa->id = -1; ep->after = evas_list_append(ep->after, pa); data_queue_program_lookup(pc, name, &(pa->id)); free(name); } } static void ob_collections_group_programs_program_script(void) { Edje_Part_Collection *pc; Edje_Program *ep; Code *cd; pc = evas_list_data(evas_list_last(edje_collections)); ep = evas_list_data(evas_list_last(pc->programs)); cd = evas_list_data(evas_list_last(codes)); if (!is_verbatim()) track_verbatim(1); else { char *s; s = get_verbatim(); if (s) { Code_Program *cp; cp = mem_alloc(SZ(Code_Program)); cp->l1 = get_verbatim_line1(); cp->l2 = get_verbatim_line2(); cp->id = ep->id; cp->script = s; cd->programs = evas_list_append(cd->programs, cp); set_verbatim(NULL, 0, 0); ep->action = EDJE_ACTION_TYPE_SCRIPT; } } }