diff --git a/src/main.c b/src/main.c index b000e14..a2ab183 100644 --- a/src/main.c +++ b/src/main.c @@ -3,8 +3,7 @@ #include #include -static fe_Object *f_dbegin(fe_Context *ctx, fe_Object *arg); -static fe_Object *f_dend(fe_Context *ctx, fe_Object *arg); +static fe_Object *f_dblock(fe_Context *ctx, fe_Object *arg); static fe_Object *f_dcolor(fe_Context *ctx, fe_Object *arg); static fe_Object *f_dclear(fe_Context *ctx, fe_Object *arg); static fe_Object *f_drect(fe_Context *ctx, fe_Object *arg); @@ -25,8 +24,7 @@ main(void) rDisplayInit(); SetTargetFPS(30); - fe_set(ctx, fe_symbol(ctx, "dbegin"), fe_cfunc(ctx, f_dbegin)); - fe_set(ctx, fe_symbol(ctx, "dend"), fe_cfunc(ctx, f_dend)); + fe_set(ctx, fe_symbol(ctx, "dblock"), fe_cfunc(ctx, f_dblock)); fe_set(ctx, fe_symbol(ctx, "dcolor"), fe_cfunc(ctx, f_dcolor)); fe_set(ctx, fe_symbol(ctx, "dclear"), fe_cfunc(ctx, f_dclear)); fe_set(ctx, fe_symbol(ctx, "drect"), fe_cfunc(ctx, f_drect)); @@ -55,15 +53,11 @@ main(void) } static fe_Object * -f_dbegin(fe_Context *ctx, fe_Object *arg) +f_dblock(fe_Context *ctx, fe_Object *arg) { rDrawBegin(); - return NULL; -} - -static fe_Object * -f_dend(fe_Context *ctx, fe_Object *arg) -{ + while (fe_nextarg(ctx, &arg)) + ; rDrawEnd(); return NULL; } diff --git a/test.fe b/test.fe index 1f91808..e3a083d 100644 --- a/test.fe +++ b/test.fe @@ -2,10 +2,10 @@ (while (< y 224) (= x (+ x 1)) (= y (+ y 1)) - (dbegin) - (dcolor 0 0 0) - (dclear) - (dcolor 31 31 31) - (drect x y 16 16) - (dend) + (dblock + (dcolor 0 0 0) + (dclear) + (dcolor 31 31 31) + (drect x y 16 16) + ) )