diff options
Diffstat (limited to 'src/graph/view3D/write3d.c')
-rw-r--r-- | src/graph/view3D/write3d.c | 42 |
1 files changed, 19 insertions, 23 deletions
diff --git a/src/graph/view3D/write3d.c b/src/graph/view3D/write3d.c index 724fe5cc..7eeaf15b 100644 --- a/src/graph/view3D/write3d.c +++ b/src/graph/view3D/write3d.c @@ -51,7 +51,7 @@ #include "all_3d.H1" /* upper limit as to how many kinds of files could be written (numBits-1) */ -#define numBits (8*sizeof(int)) +#define numBits ((int)(8*sizeof(int))) #define StellarColors 9 int @@ -64,25 +64,21 @@ writeViewport (int thingsToWrite) viewTriple *aPt; XWindowAttributes vwInfo; FILE *viewDataFile; - char viewDirName[80], viewDataFilename[80], - viewBitmapFilename[80], viewPixmapFilename[80], - command[80]; + char buf[1024]; XGetWindowAttributes(dsply,viewport->titleWindow,&vwInfo); - sprintf(viewDirName,"%s%s",filename,".VIEW"); - sprintf(command,"%s%s%s","rm -r ",viewDirName," > /dev/null 2>&1"); - system(command); - sprintf(command,"%s%s%s","mkdir ",viewDirName," > /dev/null 2>&1"); - system(command); - if (0) { - fprintf(stderr," Error: Cannot create %s\n",viewDirName); + sprintf(buf, "rm -f %s.VIEW", filename); + system(buf); + sprintf(buf, "mkdir %s.VIEW", filename); + if (system(buf)) { + fprintf(stderr," Error: Cannot create %s.VIEW\n", filename); return(-1); } else { /*** Create the data file ***/ - sprintf(viewDataFilename,"%s%s",viewDirName,"/data"); - if ((viewDataFile = fopen(viewDataFilename,"w")) == NULL) { - fprintf(stderr," Error: Cannot create %s\n",viewDataFilename); + sprintf(buf,"%s.VIEW/data", filename); + if ((viewDataFile = fopen(buf,"w")) == NULL) { + fprintf(stderr," Error: Cannot create %s\n", buf); perror("fopen"); return(-1); } else { @@ -140,18 +136,18 @@ writeViewport (int thingsToWrite) switch (ii) { case Bitmap: /*** Create the pixmap (bitmaps need leaf name) ***/ - sprintf(viewBitmapFilename,"%s%s%s",viewDirName,"/","image.bm"); + sprintf(buf,"%s.VIEW/image.bm", filename); XGetWindowAttributes(dsply,viewport->viewWindow,&vwInfo); - XWriteBitmapFile(dsply,viewBitmapFilename, + XWriteBitmapFile(dsply,buf, viewport->titleWindow,vwInfo.width, vwInfo.height+vwInfo.border_width+20,-1,-1); break; case Pixmap: /*** Create the pixmap (bitmaps need leaf name) ***/ - sprintf(viewPixmapFilename,"%s%s%s",viewDirName,"/","image.xpm"); + sprintf(buf,"%s.VIEW/image.xpm", filename); XGetWindowAttributes(dsply,viewport->viewWindow,&vwInfo); - write_pixmap_file(dsply,scrn,viewPixmapFilename, + write_pixmap_file(dsply,scrn,buf, viewport->titleWindow,0,0,vwInfo.width, vwInfo.height+titleHeight); break; @@ -159,7 +155,7 @@ writeViewport (int thingsToWrite) case Image: /*** Create the image (bitmaps need leaf name) ***/ writeImage = yes; - sprintf(viewPixmapFilename,"%s%s%s",viewDirName,"/","image.xpm"); + sprintf(buf,"%s.VIEW/image.xpm", filename); XResizeWindow(dsply,viewport->titleWindow,300,300+titleHeight); XResizeWindow(dsply,viewport->viewWindow,300,300); viewport->hueTop = totalHues-1; viewport->hueOffset = 0; @@ -174,7 +170,7 @@ writeViewport (int thingsToWrite) drawViewport(Xoption); writeTitle(); XGetWindowAttributes(dsply,viewport->viewWindow,&vwInfo); - write_pixmap_file(dsply,scrn,viewPixmapFilename, + write_pixmap_file(dsply,scrn,buf, viewport->titleWindow,0,0,vwInfo.width, vwInfo.height+titleHeight); viewport->monoOn = 1; @@ -182,8 +178,8 @@ writeViewport (int thingsToWrite) firstTime = 1; drawViewport(Xoption); writeTitle(); - sprintf(viewBitmapFilename,"%s%s%s",viewDirName,"/","image.bm"); - XWriteBitmapFile(dsply,viewBitmapFilename, + sprintf(buf,"%s.VIEW/image.bm", filename); + XWriteBitmapFile(dsply,buf, viewport->titleWindow,vwInfo.width, vwInfo.height+vwInfo.border_width+20,-1,-1); @@ -192,7 +188,7 @@ writeViewport (int thingsToWrite) case Postscript: /*** Create postscript output for viewport (in axiom3D.ps) ***/ - sprintf(PSfilename,"%s%s",viewDirName,"/axiom3D.ps"); + sprintf(PSfilename,"%s.VIEW/axiom3D.ps", filename); if (PSInit(viewport->viewWindow,viewport->titleWindow) == psError) return(-1); drawViewport(PSoption); /* write new script file in /tmp */ |