From c0a0ee5ae71b97b1400efddb4c374e1d13701fa3 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Thu, 26 Nov 2009 13:51:20 -0500 Subject: Implement background colors. --- dimension/grammar.y | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'dimension/grammar.y') diff --git a/dimension/grammar.y b/dimension/grammar.y index ddc7418..01e2c0f 100644 --- a/dimension/grammar.y +++ b/dimension/grammar.y @@ -270,7 +270,7 @@ yyerror(YYLTYPE *locp, dmnsn_array *astree, dmnsn_token_iterator *iterator, %token DMNSN_T_AUTOSTOP %token DMNSN_T_AVERAGE %token DMNSN_T_B_SPLINE -%token DMNSN_T_BACKGROUND +%token DMNSN_T_BACKGROUND "background" %token DMNSN_T_BEZIER_SPLINE %token DMNSN_T_BICUBIC_PATCH %token DMNSN_T_BLACK_HOLE @@ -703,6 +703,10 @@ yyerror(YYLTYPE *locp, dmnsn_array *astree, dmnsn_token_iterator *iterator, /* Transformations */ %type TRANSFORMATION +/* Atmospheric effects */ +%type ATMOSPHERIC_EFFECT +%type BACKGROUND + /* Objects */ %type OBJECT %type FINITE_SOLID_OBJECT @@ -749,7 +753,8 @@ SCENE: /* empty */ { } } ; -SCENE_ITEM: OBJECT +SCENE_ITEM: ATMOSPHERIC_EFFECT + | OBJECT ; /* Transformations */ @@ -765,6 +770,16 @@ TRANSFORMATION: "rotate" VECTOR { } ; +/* Atmospheric effects */ + +ATMOSPHERIC_EFFECT: BACKGROUND +; + +BACKGROUND: "background" "{" COLOR "}" { + $$ = dmnsn_new_astnode1(DMNSN_AST_BACKGROUND, @$, $3); + } +; + /* Objects */ OBJECT: FINITE_SOLID_OBJECT @@ -1466,6 +1481,8 @@ dmnsn_astnode_string(dmnsn_astnode_type astnode_type) dmnsn_astnode_map(DMNSN_AST_SCALE, "scale"); dmnsn_astnode_map(DMNSN_AST_TRANSLATION, "translate"); + dmnsn_astnode_map(DMNSN_AST_BACKGROUND, "background"); + dmnsn_astnode_map(DMNSN_AST_BOX, "box"); dmnsn_astnode_map(DMNSN_AST_SPHERE, "sphere"); dmnsn_astnode_map(DMNSN_AST_LIGHT_SOURCE, "light_source"); -- cgit v1.2.3