* updated examples to new rfxswf name conventions
[swftools.git] / lib / example / texbox_ac.c
diff --git a/lib/example/texbox_ac.c b/lib/example/texbox_ac.c
deleted file mode 100644 (file)
index c94ec36..0000000
+++ /dev/null
@@ -1,374 +0,0 @@
-\r
-// linux/gcc: cc texbox_ac.c ../rfxswf.c -funsigned-char -o texbox -lmingac -lm -ljpeg; cp texbox /home/www/cgi-bin/texbox\r
-\r
-#include <stdio.h>\r
-#include <fcntl.h>\r
-#include <math.h>\r
-#include "../rfxswf.h"\r
-#include "../mingac.h"  // Action Compiler of MING library\r
-\r
-// Box\r
-\r
-#define BANNER_TEXT     "reflex"\r
-#define QUALITY 80\r
-#define ID_FONT         2000\r
-#define ID_BANNER       2001\r
-#define ID_HIGHLIGHT    2002\r
-#define ID_BUTTON       2003\r
-#define ID_BITMAP       2004\r
-#define ID_SHAPE        2005\r
-#define ID_SHAPE2       2006\r
-\r
-#define a 200\r
-int sX[] = { a,-a, a,-a, a,-a, a,-a};\r
-int sY[] = { a, a,-a,-a, a, a,-a,-a};\r
-int sZ[] = { a, a, a, a,-a,-a,-a,-a};\r
-#undef a\r
-\r
-#define PRECISION 16\r
-\r
-int SHADE = 1;\r
-\r
-int dX[8];\r
-int dY[8];\r
-int square_visible[6]  = {0,0,0,0,0,0};\r
-int square_depth[6][2] = {{2,3},{4,5},{6,7},{8,9},{10,11},{12,13}};\r
-int square_light[6]    = {0,0,64,64,-64,-64};\r
-\r
-int sin_[512],cos_[512];\r
-\r
-void calcTables()       \r
-{ int i;\r
-  double d;\r
-  for (i=0;i<512;i++)\r
-  { d = ((double)i)/128*3.14159;\r
-    sin_[i] = (int)(sin(d)*(1<<PRECISION));\r
-    cos_[i] = (int)(cos(d)*(1<<PRECISION));\r
-  }\r
-}\r
-\r
-LPTAG MapSquare(LPTAG t,int dx0,int dy0,int p1,int p2,int p3,int p4,int dx,int dy,int square)\r
-{ MATRIX m;\r
-  CXFORM cx;\r
-\r
-  if (SHADE)\r
-  { GetCXForm(NULL,&cx,1);\r
-    cx.r1 = cx.b1 = cx.g1 = square_light[square];\r
-  }\r
-        \r
-  if (((dX[p2]-dX[p1])*(dY[p3]-dY[p1])-(dX[p3]-dX[p1])*(dY[p2]-dY[p1]))<0) \r
-  { if (square_visible[square])\r
-    { t = InsertTag(t,ST_REMOVEOBJECT2); SetU16(t,square_depth[square][0]);\r
-      t = InsertTag(t,ST_REMOVEOBJECT2); SetU16(t,square_depth[square][1]);\r
-    }\r
-    square_visible[square] = 0;\r
-    return t; \r
-  }\r
-\r
-  t = InsertTag(t,ST_PLACEOBJECT2);\r
-  \r
-  MatrixMapTriangle(&m,dx0,dy0,dX[p1]+dx,dY[p1]+dy,\r
-                        dX[p2]+dx,dY[p2]+dy,\r
-                 dX[p4]+dx,dY[p4]+dy);\r
-\r
-  if (!square_visible[square])\r
-    ObjectPlace(t,ID_SHAPE,square_depth[square][0],&m,SHADE?&cx:NULL,NULL);\r
-  else\r
-    ObjectMove(t,square_depth[square][0],&m,SHADE?&cx:NULL);\r
-\r
-  t = InsertTag(t,ST_PLACEOBJECT2);\r
-  \r
-  MatrixMapTriangle(&m,dx0,dy0,dX[p3]+dx,dY[p3]+dy,\r
-                        dX[p4]+dx,dY[p4]+dy,\r
-                 dX[p2]+dx,dY[p2]+dy);\r
-\r
-  if (!square_visible[square])\r
-    ObjectPlace(t,ID_SHAPE2,square_depth[square][1],&m,SHADE?&cx:NULL,NULL);\r
-  else\r
-    ObjectMove(t,square_depth[square][1],&m,SHADE?&cx:NULL);\r
-\r
-  square_visible[square] = 1;\r
\r
-  return t;\r
-}\r
-\r
-void mapBox(int xw,int yw,int zw)\r
-{ int i;\r
-  int x1,y1,z1,x2,y2,z2,x3,y3,z3;\r
-  int y,x,z;\r
-  \r
-  xw &= 255;\r
-  yw &= 255;\r
-  zw &= 255;\r
-\r
-  for (i=0;i<8;i++)\r
-  { x = sX[i];\r
-    y = sY[i];\r
-    z = sZ[i];\r
-                  \r
-    y1 = ( y*cos_[xw]- z*sin_[xw])>>PRECISION;\r
-    z1 = ( y*sin_[xw]+ z*cos_[xw])>>PRECISION;\r
-    x1 = x;\r
-\r
-    x2 = (x1*cos_[yw]+z1*sin_[yw])>>PRECISION;\r
-    y2 = y1;\r
-\r
-    x3 = (x2*cos_[zw]-y2*sin_[zw])>>PRECISION;\r
-    y3 = (x2*sin_[zw]+y2*cos_[zw])>>PRECISION;\r
-    z3 = (z1*cos_[yw]-x1*sin_[yw])>>PRECISION;\r
-\r
-    dX[i] = x3*4000/(z3+950);\r
-    dY[i] = y3*4000/(z3+950);\r
-        \r
-  }\r
-}\r
-\r
-void mapLights(int xw,int yw,int zw)\r
-{ int i;\r
-  int x1,y1,z1,x2,y2,z2,x3,y3,z3;\r
-\r
-  int y[] = {0,0,0,0,256,-256};\r
-  int x[] = {0,0,256,-256,0,0};\r
-  int z[] = {256,-256,0,0,0,0};\r
-\r
-  int lz = 256; // lightvector\r
-  int lx = 200, ly = 200;\r
-\r
-  for (i=0;i<6;i++)\r
-  { y1 = (y[i]*cos_[xw]-z[i]*sin_[xw])>>PRECISION;\r
-    z1 = (y[i]*sin_[xw]+z[i]*cos_[xw])>>PRECISION;\r
-    x1 = x[i];\r
-\r
-    x2 = (x1*cos_[yw]+z1*sin_[yw])>>PRECISION;\r
-    y2 = y1;\r
-    z2 = (z1*cos_[yw]-x1*sin_[yw])>>PRECISION;\r
-\r
-    x3 = (x2*cos_[zw]-y2*sin_[zw])>>PRECISION;\r
-    y3 = (x2*sin_[zw]+y2*cos_[zw])>>PRECISION;\r
-    z3 = z2;\r
-\r
-    square_light[i] = -128-((x3*lx + y3*ly + z3*lz)>>9);\r
-  }\r
-}\r
-\r
-\r
-int main (int argc,char ** argv)\r
-{ SWF swf;\r
-  LPTAG t;\r
-  RGBA rgb;\r
-  SRECT r;\r
-  LPSHAPE s;\r
-  S32 width = 800,height = 800;\r
-  U8 gbits,abits;\r
-  int fs,ls; // line & fillstyle\r
-  LPSWFFONT font;\r
-  FONTUSAGE use;\r
-  LPJPEGBITS jpeg;\r
-  MATRIX m;  \r
-  \r
-  int f,i,j,frame;\r
-  \r
-  InitCompiler(AC_DEFAULT);\r
-  \r
-  f = open("Arial.efont",O_RDONLY);\r
-  if (f>=0)\r
-  { if (FAILED(FontImport(f,&font)))\r
-    { fprintf(stderr,"Font import failed\n");\r
-      close(f);\r
-      return -1;\r
-    }\r
-  }\r
-  else\r
-  { fprintf(stderr,"Font not found\n");\r
-    return -1;\r
-  }\r
-  close(f);\r
-\r
-  FontSetID(font,ID_FONT);\r
-  FontInitUsage(&use);\r
-  FontUse(&use,BANNER_TEXT);\r
-  FontReduce(font,&use);\r
-  \r
-  calcTables();\r
-  \r
-  memset(&swf,0x00,sizeof(SWF));\r
-\r
-  swf.FileVersion    = 4;\r
-  swf.FrameRate      = 0x4000;\r
-  swf.MovieSize.xmax = 4*width;\r
-  swf.MovieSize.ymax = 4*height;\r
-\r
-  swf.FirstTag = InsertTag(NULL,ST_SETBACKGROUNDCOLOR);\r
-  t = swf.FirstTag;\r
-\r
-        rgb.r = 0xff;\r
-        rgb.g = 0xff;\r
-        rgb.b = 0xff;\r
-        SetRGB(t,&rgb);\r
-\r
-  t = InsertTag(t,ST_DEFINEFONT);\r
-\r
-        FontSetDefine(t,font);\r
-\r
-  t = InsertTag(t,ST_DEFINEFONTINFO);\r
-\r
-        FontSetInfo(t,font);\r
-\r
-  t = InsertTag(t,ST_DEFINETEXT);\r
-\r
-        SetU16(t,ID_BANNER);            // ID\r
-        \r
-        r.xmin = 0;\r
-        r.ymin = 0;\r
-        r.xmax = 400;\r
-        r.ymax = 400;\r
-        SetRect(t,&r);\r
-\r
-        SetMatrix(t,NULL);\r
-\r
-        TextCountBits(font,BANNER_TEXT,80,&gbits,&abits);\r
-        \r
-        SetU8(t,gbits);\r
-        SetU8(t,abits);\r
-\r
-        rgb.r = 0xc0;\r
-        rgb.g = 0xc0;\r
-        rgb.b = 0xc0;\r
-\r
-        TextSetInfoRecord(t,font,height/4,&rgb,0,200);\r
-        TextSetCharRecord(t,font,BANNER_TEXT,80,gbits,abits);\r
-\r
-        SetU8(t,0);\r
-        \r
-  t = InsertTag(t,ST_DEFINETEXT);\r
-\r
-        SetU16(t,ID_HIGHLIGHT);            // ID\r
-        \r
-        r.xmin = 0; r.ymin = 0; r.xmax = 800; r.ymax = 400;\r
-        SetRect(t,&r);\r
-\r
-        SetMatrix(t,NULL);\r
-        TextCountBits(font,BANNER_TEXT,80,&gbits,&abits);\r
-        \r
-        SetU8(t,gbits);\r
-        SetU8(t,abits);\r
-\r
-        rgb.r = 0x20;\r
-        rgb.g = 0x20;\r
-        rgb.b = 0x20;\r
-\r
-        TextSetInfoRecord(t,font,height/4,&rgb,0,200);\r
-        TextSetCharRecord(t,font,BANNER_TEXT,80,gbits,abits);\r
-\r
-        SetU8(t,0);\r
-        \r
-    t = InsertTag(t,ST_DEFINEBUTTON);\r
-    \r
-        GetMatrix(NULL,&m);\r
-        \r
-        m.tx = 3*width;\r
-        m.ty = 7*height/2;\r
-        \r
-        SetU16(t,ID_BUTTON); // ID\r
-        ButtonSetRecord(t,BS_UP,ID_BANNER,1,&m,NULL);\r
-        ButtonSetRecord(t,BS_DOWN|BS_HIT|BS_OVER,ID_HIGHLIGHT,1,&m,NULL);\r
-        SetU8(t,0); // End of Button Records\r
-        \r
-        ActionCompile(t,"if (status==1) { status = 0; stop();} else { status=1; play();}");\r
-    \r
-      \r
-    t = InsertTag(t,ST_PLACEOBJECT2);\r
-\r
-         ObjectPlace(t,ID_BUTTON,1,NULL,NULL,NULL);\r
-\r
-    t = InsertTag(t,ST_DEFINEBITSJPEG2);\r
-\r
-         SetU16(t,ID_BITMAP);\r
-         SetJPEGBits(t,"eye.jpg",QUALITY);\r
-         \r
-    t = InsertTag(t,ST_DEFINESHAPE);\r
-    \r
-         NewShape(&s);\r
-         rgb.b = rgb.g = rgb.r = 0x00;\r
-         ls = ShapeAddLineStyle(s,10,&rgb);     \r
-         rgb.b = 0xff;\r
-\r
-         m.tx = m.ty = 0;\r
-         m.r0 = m.r1 = 0;\r
-         m.sx = m.sy = width<<8;\r
-  \r
-         fs = ShapeAddBitmapFillStyle(s,&m,ID_BITMAP,0);\r
-    \r
-         SetU16(t,ID_SHAPE);    // ID   \r
-         \r
-         r.xmin = 0; r.ymin = 0;\r
-         r.xmax = 2*width; r.ymax = 2*height;\r
-         SetRect(t,&r);\r
-\r
-         SetShapeHeader(t,s);\r
-         ShapeSetAll(t,s,width,0,0,fs,0);\r
-         ShapeSetLine(t,s,-width,height);\r
-         ShapeSetStyle(t,s,ls,fs,0);\r
-         ShapeSetLine(t,s,0,-height);\r
-         ShapeSetLine(t,s,width,0);\r
-         ShapeSetEnd(t);\r
-\r
-         ShapeFree(s);\r
-         \r
-    t = InsertTag(t,ST_DEFINESHAPE);\r
-    \r
-         NewShape(&s);\r
-         rgb.b = rgb.g = rgb.r = 0x00;\r
-         ls = ShapeAddLineStyle(s,10,&rgb);     \r
-         rgb.b = 0xff;\r
-\r
-         m.tx = m.ty = 0;\r
-         m.r0 = m.r1 = 0;\r
-         m.sx = m.sy = -(width<<8);\r
-  \r
-         fs = ShapeAddBitmapFillStyle(s,&m,ID_BITMAP,0);\r
-    \r
-         SetU16(t,ID_SHAPE2);   // ID   \r
-         \r
-         r.xmin = 0; r.ymin = 0;\r
-         r.xmax = 2*width; r.ymax = 2*height;\r
-         SetRect(t,&r);\r
-\r
-         SetShapeHeader(t,s);\r
-         ShapeSetAll(t,s,width,0,0,fs,0);\r
-         ShapeSetLine(t,s,-width,height);\r
-         ShapeSetStyle(t,s,ls,fs,0);\r
-         ShapeSetLine(t,s,0,-height);\r
-         ShapeSetLine(t,s,width,0);\r
-         ShapeSetEnd(t);\r
-\r
-         ShapeFree(s);\r
-   \r
-  for (frame=0;frame<256;frame++)\r
-  { int dc = 3; // whitespace correction\r
-\r
-    mapBox(frame<<1,frame<<1,frame);\r
-    if (SHADE) mapLights(frame<<1,frame<<1,frame);\r
-    \r
-    t = MapSquare(t,width-dc,height-dc,0,2,3,1,2*width,2*height,0);\r
-    t = MapSquare(t,width-dc,height-dc,4,5,7,6,2*width,2*height,1);\r
-    t = MapSquare(t,width-dc,height-dc,0,4,6,2,2*width,2*height,2);\r
-    t = MapSquare(t,width-dc,height-dc,1,3,7,5,2*width,2*height,3);\r
-    t = MapSquare(t,width-dc,height-dc,0,1,5,4,2*width,2*height,4);\r
-    t = MapSquare(t,width-dc,height-dc,2,6,7,3,2*width,2*height,5);\r
-        \r
-    t = InsertTag(t,ST_SHOWFRAME);\r
-  }\r
-  /*\r
-    t = InsertTag(t,ST_DOACTION);\r
-\r
-      ActionCompile(t,"stop();");\r
-    */  \r
-    t = InsertTag(t,ST_END);\r
-  \r
-  WriteCGI(&swf);\r
-  FreeTags(&swf);\r
-  return 0;\r
-}\r
-\r
-\r