Changeset 10834 for trunk/Ohana/src/kapa/graph/PSObjects.c
- Timestamp:
- Dec 27, 2006, 9:10:53 AM (20 years ago)
- File:
-
- 1 edited
-
trunk/Ohana/src/kapa/graph/PSObjects.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/kapa/graph/PSObjects.c
r10802 r10834 5 5 void ClipLinePS (double, double, double, double, double, double, double, double, FILE *); 6 6 7 int PSit (int mode) { 8 9 int i; 7 static char *name = "$Name: not supported by cvs2svn $"; 8 9 int PSit () { 10 11 int i, pageMode, scaleMode; 10 12 double scale; 11 13 FILE *f; 12 char filename[1024] ;14 char filename[1024], pagename[1024], *version; 13 15 int Nbytes, status; 14 16 15 17 /* expect a line telling the number of bytes and a filename */ 16 status = read (sock, filename, 16); 17 filename[16] = 0; 18 sscanf (filename, "%*s %d", &Nbytes); 19 status = read (sock, filename, Nbytes); 20 filename[status] = 0; /* make the string easy to parse */ 21 22 if (mode == NEWPAGE) { 23 f = fopen (filename, "a"); 18 KiiScanMessage (sock, "%s %s %d %d", filename, pagename, &scaleMode, &pageMode); 19 20 if (pageMode == KAPA_PS_NEWPAGE) { 21 f = fopen (filename, "a+"); 24 22 } else { 25 23 f = fopen (filename, "w"); 26 24 } 27 28 if (f == (FILE *) NULL) { 25 if (f == NULL) { 29 26 fprintf (stderr, "can't open output file %s\n", filename); 30 27 return (TRUE); /* true because otherwise it quits kapa! */ … … 32 29 33 30 /* two scaling options: expand to fit page / keep absolute size */ 34 scale = 1; 35 if (mode == SCALE) { 31 if (scaleMode) { 36 32 scale = MIN (fabs(500.0 / graphic.dx), fabs (700.0 / graphic.dy)); 37 33 } else { … … 39 35 } 40 36 41 switch (mode) { 42 case NEWPAGE: 43 fprintf (f, "%%%%Page: foobar\n\n"); 44 break; 45 46 case SCALE: 47 case NOSCALE: 37 switch (pageMode) { 38 case KAPA_PS_NEWPLOT: 48 39 fprintf (f, "%%!PS-Adobe-2.0 EPSF-2.0\n"); 49 fprintf (f, "%%%%Title: Kapa Plot\n"); 50 fprintf (f, "%%%%Creator: Kapa (0.95)\n"); 40 fprintf (f, "%%%%Title: %s\n", filename); 41 version = strip_version (name); 42 fprintf (f, "%%%%Creator: Kapa (%s)\n", version); 43 free (version); 51 44 fprintf (f, "%%%%BoundingBox: %d %d %.0f %.0f\n", 52 45 XOFFSET, YOFFSET, XOFFSET + scale*graphic.dx, YOFFSET + scale*graphic.dy); … … 55 48 fprintf (f, "%%%%EndComments\n"); 56 49 fprintf (f, "%%%%EndProlog\n"); 57 fprintf (f, "%%%%Page: foobar\n\n"); 58 break; 59 60 case RAW: 50 fprintf (f, "%%%%Page: %s\n\n", pagename); 51 break; 52 53 case KAPA_PS_NEWPAGE: 54 fprintf (f, "%%%%Page: %s\n\n", pagename); 55 break; 56 57 case KAPA_PS_RAWPAGE: 61 58 break; 62 59 } … … 73 70 fprintf (f, "/TF {newpath moveto lineto lineto fill stroke} def\n\n"); 74 71 75 if ( mode != RAW) {72 if (pageMode != KAPA_PS_RAWPAGE) { 76 73 fprintf (f, " %d %d translate\n", XOFFSET, YOFFSET); 77 74 fprintf (f, " %f %f scale\n", scale, scale); … … 87 84 fprintf (f, "grestore %% end of picture\n"); 88 85 89 if ( mode != RAW) fprintf (f, "showpage\n");86 if (pageMode != KAPA_PS_RAWPAGE) fprintf (f, "showpage\n"); 90 87 91 88 fclose (f);
Note:
See TracChangeset
for help on using the changeset viewer.
