v02i010: a MacDraw like graphics editor, Patch5
Mike Wexler
mikew at wyse.wyse.com
Sat Nov 12 06:36:03 AEST 1988
Submitted-by: dana at thumper.bellcore.com (Dana A. Chee)
Posting-number: Volume 2, Issue 10
Archive-name: xfig/patch5
[BTW, the address for submissions to comp.sources.x is x-sources at wyse.com]
Here is the first set of patches for xfig as it came on the R3 source
tape.
==================== xfig.r3.patch1 ====================
*** /tmp/d10855 Wed Nov 9 14:40:48 1988
--- patchlevel.h Wed Nov 9 14:40:15 1988
***************
*** 1,2
! #define PATCHLEVEL 3
! #define PATCHLEVEL 2
--- 1 -----
! #define PATCHLEVEL 4
*** /tmp/d10858 Wed Nov 9 14:40:48 1988
--- canvas.c Wed Nov 9 14:06:34 1988
***************
*** 171,177
String *params;
Cardinal *nparams;
{
! Position x, y;
Window w;
extern TOOL menu;
--- 171,177 -----
String *params;
Cardinal *nparams;
{
! int x, y;
Window w;
extern TOOL menu;
*** /tmp/d10861 Wed Nov 9 14:40:50 1988
--- main.c Wed Nov 9 13:25:56 1988
***************
*** 254,260
{
XrmValue value;
XrmDatabase newdb = (XrmDatabase) 0;
! extern XrmDatabase XtDefaultDB;
value.size = sizeof("White");
value.addr = "White";
--- 254,260 -----
{
XrmValue value;
XrmDatabase newdb = (XrmDatabase) 0;
! XrmDatabase XtDefaultDB;
XtDefaultDB = XtDatabase(tool_d);
value.size = sizeof("White");
***************
*** 256,261
XrmDatabase newdb = (XrmDatabase) 0;
extern XrmDatabase XtDefaultDB;
value.size = sizeof("White");
value.addr = "White";
XrmPutResource(&newdb, "xfig*borderColor", "String",
--- 256,262 -----
XrmDatabase newdb = (XrmDatabase) 0;
XrmDatabase XtDefaultDB;
+ XtDefaultDB = XtDatabase(tool_d);
value.size = sizeof("White");
value.addr = "White";
XrmPutResource(&newdb, "xfig*borderColor", "String",
*** /tmp/d10864 Wed Nov 9 14:40:51 1988
--- save.c Wed Nov 9 13:15:18 1988
***************
*** 170,175
FILE *fp;
F_ellipse *e;
{
fprintf(fp, "%d %d %d %d %d %d %d %d %.3f %d %.3f %d %d %d %d %d %d %d %d\n",
O_ELLIPSE, e->type, e->style, e->thickness,
e->color, e->depth, e->pen, e->area_fill,
--- 170,178 -----
FILE *fp;
F_ellipse *e;
{
+ if( e->radiuses.x == 0 || e->radiuses.y == 0 )
+ return;
+
fprintf(fp, "%d %d %d %d %d %d %d %d %.3f %d %.3f %d %d %d %d %d %d %d %d\n",
O_ELLIPSE, e->type, e->style, e->thickness,
e->color, e->depth, e->pen, e->area_fill,
***************
*** 187,192
F_point *p;
F_arrow *f, *b;
fprintf(fp, "%d %d %d %d %d %d %d %d %.3f %d %d\n",
O_POLYLINE, l->type, l->style, l->thickness,
l->color, l->depth, l->pen, l->area_fill, l->style_val,
--- 190,197 -----
F_point *p;
F_arrow *f, *b;
+ if( l->points == NULL )
+ return;
fprintf(fp, "%d %d %d %d %d %d %d %d %.3f %d %d\n",
O_POLYLINE, l->type, l->style, l->thickness,
l->color, l->depth, l->pen, l->area_fill, l->style_val,
***************
*** 212,217
F_point *p;
F_arrow *f, *b;
fprintf(fp, "%d %d %d %d %d %d %d %d %.3f %d %d\n",
O_SPLINE, s->type, s->style, s->thickness,
s->color, s->depth, s->pen, s->area_fill, s->style_val,
--- 217,224 -----
F_point *p;
F_arrow *f, *b;
+ if( s->points == NULL )
+ return;
fprintf(fp, "%d %d %d %d %d %d %d %d %.3f %d %d\n",
O_SPLINE, s->type, s->style, s->thickness,
s->color, s->depth, s->pen, s->area_fill, s->style_val,
***************
*** 241,246
FILE *fp;
F_text *t;
{
fprintf(fp, "%d %d %d %d %d %d %d %.3f %d %d %d %d %d %s\1\n",
O_TEXT, t->type, t->font, t->size, t->pen,
t->color, t->depth, t->angle,
--- 248,255 -----
FILE *fp;
F_text *t;
{
+ if( t->length == 0 )
+ return;
fprintf(fp, "%d %d %d %d %d %d %d %.3f %d %d %d %d %d %s\1\n",
O_TEXT, t->type, t->font, t->size, t->pen,
t->color, t->depth, t->angle,
*** /tmp/d10867 Wed Nov 9 14:40:52 1988
--- search.c Wed Nov 9 14:07:41 1988
***************
*** 51,56
a = e->radiuses.x;
b = e->radiuses.y;
dis = sqrt((double)(dx*dx + dy*dy));
r = a * b * dis / sqrt((double) (b*b*dx*dx + a*a*dy*dy));
if (fabs(dis - r) <= tol) {
*px = (int)(r*dx/dis + ((dx < 0) ? -.5 : .5)) + e->center.x;
--- 51,61 -----
a = e->radiuses.x;
b = e->radiuses.y;
dis = sqrt((double)(dx*dx + dy*dy));
+ if (dis == 0) {
+ *px = e->center.x;
+ *py = e->center.y;
+ return(e);
+ }
r = a * b * dis / sqrt((double) (b*b*dx*dx + a*a*dy*dy));
if (fabs(dis - r) <= tol) {
*px = (int)(r*dx/dis + ((dx < 0) ? -.5 : .5)) + e->center.x;
*** /tmp/d10870 Wed Nov 9 14:40:52 1988
--- xtra.c Wed Nov 9 13:58:23 1988
***************
*** 128,134
if( confirm == NULL )
{
! Position rootx, rooty;
Window win;
Arg confirm_args[5];
--- 128,134 -----
if( confirm == NULL )
{
! int rootx, rooty;
Window win;
Arg confirm_args[5];
--
Mike Wexler(wyse!mikew) Phone: (408)433-1000 x1330
Moderator of comp.sources.x
More information about the Comp.sources.x
mailing list