X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fswfc.c;h=cfda5e56bae6052766f27a604578182f1c5bd5c4;hb=aee9de2c6eb23628e54b6896f5b441d9b39317c1;hp=aa8fe6b9c28331ac5708292a0c7a80d88d5fa7cd;hpb=821ddd9551a9138b14f2ca1252e43c1521581071;p=swftools.git diff --git a/src/swfc.c b/src/swfc.c index aa8fe6b..cfda5e5 100644 --- a/src/swfc.c +++ b/src/swfc.c @@ -4,8 +4,20 @@ Part of the swftools package. Copyright (c) 2001 Matthias Kramm + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. - This file is distributed under the GPL, see file COPYING for details */ + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include #include @@ -13,14 +25,12 @@ #include #include #include -#define logf logarithmf // logf is also used by ../lib/log.h #include -#undef logf #include "../config.h" #include "../lib/rfxswf.h" #include "../lib/log.h" #include "../lib/args.h" -#include "q.h" +#include "../lib/q.h" #include "parser.h" #include "wav.h" @@ -1315,6 +1325,10 @@ SPOINT getPoint(SRECT r, char*name) l--; return *(SPOINT*)&mpoints.buffer[l]; } +static int c_gradient(map_t*args) +{ + return 0; +} static int c_point(map_t*args) { char*name = lu(args, "name"); @@ -1731,6 +1745,11 @@ static struct { {"font", c_font, "name filename"}, {"soundtrack", c_soundtrack, "filename"}, + // generators of primitives + + {"point", c_point, "name x=0 y=0"}, + {"gradient", c_gradient, "name"}, + // character generators {"box", c_primitive, "name width height color=white line=1 @fill=none"}, {"circle", c_primitive, "name r color=white line=1 @fill=none"}, @@ -1757,7 +1776,6 @@ static struct { // virtual object placement {"buttonput", c_buttonput, " x=0 y=0 red=+0 green=+0 blue=+0 alpha=+0 luminance= scale= scalex=100% scaley=100% shear=0 rotate=0 above= below="}, {"texture", c_texture, " x=0 y=0 scale= scalex=100% scaley=100% shear=0 rotate=0"}, - {"point", c_point, "name x=0 y=0"}, // commands which start a block //startclip (see above) @@ -1851,7 +1869,7 @@ static map_t parseArguments(char*command, char*pattern) len = pos; /* for(t=0;ttextlen?name[pos].len:textlen)) || (type != ASSIGNMENT && !set[pos])) { if(set[pos]) { - syntaxerror("value %s set twice (old value:%s)", text, strndup(value[pos].str, value[pos].len)); + syntaxerror("value %s set twice (old value:%s)", text, strdup_n(value[pos].str, value[pos].len)); } if(type == ASSIGNMENT) readToken(); @@ -1894,8 +1912,8 @@ static map_t parseArguments(char*command, char*pattern) value[pos].len = strlen(text); #if 0//def DEBUG printf("setting parameter %s (to %s)\n", - strndup(name[pos].str, name[pos].len), - strndup(value[pos].str, value[pos].len)); + strdup_n(name[pos].str, name[pos].len), + strdup_n(value[pos].str, value[pos].len)); #endif break; } @@ -1906,7 +1924,7 @@ static map_t parseArguments(char*command, char*pattern) } #if 0//def DEBUG for(t=0;t