Index: trunk/src/gui_act.c =================================================================== --- trunk/src/gui_act.c (revision 691) +++ trunk/src/gui_act.c (revision 692) @@ -156,12 +156,29 @@ return FGW_SUCCESS; } +static const char camv_acts_ResetLayer[] = "ResetLayer(@|idx, sx[, sy])"; +static const char camv_acth_ResetLayer[] = "Reset the transformation matrix of the layer."; +static fgw_error_t camv_act_ResetLayer(fgw_arg_t *res, int argc, fgw_arg_t *argv) +{ + static rnd_xform_mx_t ident = RND_XFORM_MX_IDENT; + rnd_design_t *hl = RND_ACT_DESIGN; + camv_design_t *camv = (camv_design_t *)hl; + camv_layer_t *ly; + int idx; + + get_layer(ly, idx, ResetLayer); + memcpy(ly->mx, ident, sizeof(ident)); + RND_ACT_IRES(0); + return FGW_SUCCESS; +} + static rnd_action_t gui_action_list[] = { {"Quit", camv_act_Quit, camv_acth_Quit, camv_acts_Quit}, {"Zoom", camv_act_Zoom, camv_acth_Zoom, camv_acts_Zoom}, {"RotateLayer", camv_act_RotateLayer, camv_acth_RotateLayer, camv_acts_RotateLayer}, {"TranslateLayer", camv_act_TranslateLayer, camv_acth_TranslateLayer, camv_acts_TranslateLayer}, - {"ScaleLayer", camv_act_ScaleLayer, camv_acth_ScaleLayer, camv_acts_ScaleLayer} + {"ScaleLayer", camv_act_ScaleLayer, camv_acth_ScaleLayer, camv_acts_ScaleLayer}, + {"ResetLayer", camv_act_ResetLayer, camv_acth_ResetLayer, camv_acts_ResetLayer} }; void gui_act_init(void)