william@CS.UCLA.EDU (William Cheng) (08/21/90)
Submitted-by: william@CS.UCLA.EDU (William Cheng) Posting-number: Volume 8, Issue 88 Archive-name: tgif/patch3.02 Patch-To: Volume 8, Issue 58-60 (Patch2: tgif-1.9 => tgif-1.12) Patch-To: Volume 8, Issue 46-48 (Patch1: tgif-1.2 => tgif-1.9) Patch-To: Volume 7, Issue 56-76 (original: tgif-1.2) ---------------------------------> cut here <--------------------------------- *** font.c.orig Fri Aug 17 13:47:28 1990 --- font.c Fri Aug 17 13:47:29 1990 *************** *** 6,10 **** #ifndef lint static char RCSid[] = ! "@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/font.c,v 1.5 90/07/30 15:54:02 william Exp $"; #endif --- 6,10 ---- #ifndef lint static char RCSid[] = ! "@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/font.c,v 1.9 90/08/16 15:44:24 william Exp $"; #endif *************** *** 32,37 **** #define COUR24R 29 ! #define FIndex(FONT,SIZE,STYLE) (SIZE+MAXFONTSIZES*(STYLE+MAXFONTSTYLES*FONT)) ! #define FONTTABLESIZE (MAXFONTSIZES*MAXFONTSTYLES*MAXFONTS) struct MyFontRec { --- 32,39 ---- #define COUR24R 29 ! #define FONTS_PER_DPI (((MAXFONTS-1)*MAXFONTSTYLES+1)*MAXFONTSIZES) ! #define FONTTABLESIZE (MAXFONTDPIS*FONTS_PER_DPI) ! /* #define FIndex(FONT,SIZE,STYLE) (SIZE+MAXFONTSIZES*(STYLE+MAXFONTSTYLES*FONT)) */ ! /* #define FONTTABLESIZE (MAXFONTSIZES*MAXFONTSTYLES*MAXFONTS) */ struct MyFontRec { *************** *** 59,68 **** int defaultFontDes; ! int pointSize[] = { 8, 10, 12, 14, 18, 24 }; int curFont = FONT_COU; int curSize = 4; int curStyle = STYLE_NR; int curRotate = ROTATE0; static struct MyFontRec myFontInfo[FONTTABLESIZE]; --- 61,74 ---- int defaultFontDes; ! int * pointSize; int curFont = FONT_COU; int curSize = 4; int curStyle = STYLE_NR; + int curFontDPI = FONT_DPI_75; int curRotate = ROTATE0; + int pointSize75[] = { 8, 10, 12, 14, 18, 24 }; + int pointSize100[] = { 11, 14, 17, 20, 25, 34 }; + static struct MyFontRec myFontInfo[FONTTABLESIZE]; *************** *** 71,75 **** "Times", "Courier", "Helvetica", "NewCentury", "Symbol" }; ! static char * sizeMenuStr[] = { "8 #0", --- 77,83 ---- "Times", "Courier", "Helvetica", "NewCentury", "Symbol" }; ! static char * fontDPIMenuStr[] = { "75dpi", "100dpi" }; ! static char * * sizeMenuStr; ! static char * sizeMenuStr75[] = { "8 #0", *************** *** 80,83 **** --- 88,100 ---- "24 #5" }; + static char * sizeMenuStr100[] = + { + "11 #0", + "14 #1", + "17 #2", + "20 #3", + "25 #4", + "34 #5" + }; static char * styleMenuStr[] = { *************** *** 94,203 **** static char * fontNameStr[] = { ! "-adobe-times-medium-r-normal--8-80-75-75-p-44-iso8859-1", ! "-adobe-times-medium-r-normal--10-100-75-75-p-54-iso8859-1", ! "-adobe-times-medium-r-normal--12-120-75-75-p-64-iso8859-1", ! "-adobe-times-medium-r-normal--14-140-75-75-p-74-iso8859-1", ! "-adobe-times-medium-r-normal--18-180-75-75-p-94-iso8859-1", ! "-adobe-times-medium-r-normal--24-240-75-75-p-124-iso8859-1", ! "-adobe-times-bold-r-normal--8-80-75-75-p-47-iso8859-1", ! "-adobe-times-bold-r-normal--10-100-75-75-p-57-iso8859-1", ! "-adobe-times-bold-r-normal--12-120-75-75-p-67-iso8859-1", ! "-adobe-times-bold-r-normal--14-140-75-75-p-77-iso8859-1", ! "-adobe-times-bold-r-normal--18-180-75-75-p-99-iso8859-1", ! "-adobe-times-bold-r-normal--24-240-75-75-p-132-iso8859-1", ! "-adobe-times-medium-i-normal--8-80-75-75-p-42-iso8859-1", ! "-adobe-times-medium-i-normal--10-100-75-75-p-52-iso8859-1", ! "-adobe-times-medium-i-normal--12-120-75-75-p-63-iso8859-1", ! "-adobe-times-medium-i-normal--14-140-75-75-p-73-iso8859-1", ! "-adobe-times-medium-i-normal--18-180-75-75-p-94-iso8859-1", ! "-adobe-times-medium-i-normal--24-240-75-75-p-125-iso8859-1", ! "-adobe-times-bold-i-normal--8-80-75-75-p-47-iso8859-1", ! "-adobe-times-bold-i-normal--10-100-75-75-p-57-iso8859-1", ! "-adobe-times-bold-i-normal--12-120-75-75-p-68-iso8859-1", ! "-adobe-times-bold-i-normal--14-140-75-75-p-77-iso8859-1", ! "-adobe-times-bold-i-normal--18-180-75-75-p-98-iso8859-1", ! "-adobe-times-bold-i-normal--24-240-75-75-p-128-iso8859-1", ! "-adobe-courier-medium-r-normal--8-80-75-75-m-50-iso8859-1", ! "-adobe-courier-medium-r-normal--10-100-75-75-m-60-iso8859-1", ! "-adobe-courier-medium-r-normal--12-120-75-75-m-70-iso8859-1", ! "-adobe-courier-medium-r-normal--14-140-75-75-m-90-iso8859-1", ! "-adobe-courier-medium-r-normal--18-180-75-75-m-110-iso8859-1", ! "-adobe-courier-medium-r-normal--24-240-75-75-m-150-iso8859-1", ! "-adobe-courier-bold-r-normal--8-80-75-75-m-50-iso8859-1", ! "-adobe-courier-bold-r-normal--10-100-75-75-m-60-iso8859-1", ! "-adobe-courier-bold-r-normal--12-120-75-75-m-70-iso8859-1", ! "-adobe-courier-bold-r-normal--14-140-75-75-m-90-iso8859-1", ! "-adobe-courier-bold-r-normal--18-180-75-75-m-110-iso8859-1", ! "-adobe-courier-bold-r-normal--24-240-75-75-m-150-iso8859-1", ! "-adobe-courier-medium-o-normal--8-80-75-75-m-50-iso8859-1", ! "-adobe-courier-medium-o-normal--10-100-75-75-m-60-iso8859-1", ! "-adobe-courier-medium-o-normal--12-120-75-75-m-70-iso8859-1", ! "-adobe-courier-medium-o-normal--14-140-75-75-m-90-iso8859-1", ! "-adobe-courier-medium-o-normal--18-180-75-75-m-110-iso8859-1", ! "-adobe-courier-medium-o-normal--24-240-75-75-m-150-iso8859-1", ! "-adobe-courier-bold-o-normal--8-80-75-75-m-50-iso8859-1", ! "-adobe-courier-bold-o-normal--10-100-75-75-m-60-iso8859-1", ! "-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1", ! "-adobe-courier-bold-o-normal--14-140-75-75-m-90-iso8859-1", ! "-adobe-courier-bold-o-normal--18-180-75-75-m-110-iso8859-1", ! "-adobe-courier-bold-o-normal--24-240-75-75-m-150-iso8859-1", ! "-adobe-helvetica-medium-r-normal--8-80-75-75-p-46-iso8859-1", ! "-adobe-helvetica-medium-r-normal--10-100-75-75-p-56-iso8859-1", ! "-adobe-helvetica-medium-r-normal--12-120-75-75-p-67-iso8859-1", ! "-adobe-helvetica-medium-r-normal--14-140-75-75-p-77-iso8859-1", ! "-adobe-helvetica-medium-r-normal--18-180-75-75-p-98-iso8859-1", ! "-adobe-helvetica-medium-r-normal--24-240-75-75-p-130-iso8859-1", ! "-adobe-helvetica-bold-r-normal--8-80-75-75-p-50-iso8859-1", ! "-adobe-helvetica-bold-r-normal--10-100-75-75-p-60-iso8859-1", ! "-adobe-helvetica-bold-r-normal--12-120-75-75-p-70-iso8859-1", ! "-adobe-helvetica-bold-r-normal--14-140-75-75-p-82-iso8859-1", ! "-adobe-helvetica-bold-r-normal--18-180-75-75-p-103-iso8859-1", ! "-adobe-helvetica-bold-r-normal--24-240-75-75-p-138-iso8859-1", ! "-adobe-helvetica-medium-o-normal--8-80-75-75-p-47-iso8859-1", ! "-adobe-helvetica-medium-o-normal--10-100-75-75-p-57-iso8859-1", ! "-adobe-helvetica-medium-o-normal--12-120-75-75-p-67-iso8859-1", ! "-adobe-helvetica-medium-o-normal--14-140-75-75-p-78-iso8859-1", ! "-adobe-helvetica-medium-o-normal--18-180-75-75-p-98-iso8859-1", ! "-adobe-helvetica-medium-o-normal--24-240-75-75-p-130-iso8859-1", ! "-adobe-helvetica-bold-o-normal--8-80-75-75-p-50-iso8859-1", ! "-adobe-helvetica-bold-o-normal--10-100-75-75-p-60-iso8859-1", ! "-adobe-helvetica-bold-o-normal--12-120-75-75-p-69-iso8859-1", ! "-adobe-helvetica-bold-o-normal--14-140-75-75-p-82-iso8859-1", ! "-adobe-helvetica-bold-o-normal--18-180-75-75-p-104-iso8859-1", ! "-adobe-helvetica-bold-o-normal--24-240-75-75-p-138-iso8859-1", ! "-adobe-new century schoolbook-medium-r-normal--8-80-75-75-p-50-iso8859-1", ! "-adobe-new century schoolbook-medium-r-normal--10-100-75-75-p-60-iso8859-1", ! "-adobe-new century schoolbook-medium-r-normal--12-120-75-75-p-70-iso8859-1", ! "-adobe-new century schoolbook-medium-r-normal--14-140-75-75-p-82-iso8859-1", ! "-adobe-new century schoolbook-medium-r-normal--18-180-75-75-p-103-iso8859-1", ! "-adobe-new century schoolbook-medium-r-normal--24-240-75-75-p-137-iso8859-1", ! "-adobe-new century schoolbook-bold-r-normal--8-80-75-75-p-56-iso8859-1", ! "-adobe-new century schoolbook-bold-r-normal--10-100-75-75-p-66-iso8859-1", ! "-adobe-new century schoolbook-bold-r-normal--12-120-75-75-p-77-iso8859-1", ! "-adobe-new century schoolbook-bold-r-normal--14-140-75-75-p-87-iso8859-1", ! "-adobe-new century schoolbook-bold-r-normal--18-180-75-75-p-113-iso8859-1", ! "-adobe-new century schoolbook-bold-r-normal--24-240-75-75-p-149-iso8859-1", ! "-adobe-new century schoolbook-medium-i-normal--8-80-75-75-p-50-iso8859-1", ! "-adobe-new century schoolbook-medium-i-normal--10-100-75-75-p-60-iso8859-1", ! "-adobe-new century schoolbook-medium-i-normal--12-120-75-75-p-70-iso8859-1", ! "-adobe-new century schoolbook-medium-i-normal--14-140-75-75-p-81-iso8859-1", ! "-adobe-new century schoolbook-medium-i-normal--18-180-75-75-p-104-iso8859-1", ! "-adobe-new century schoolbook-medium-i-normal--24-240-75-75-p-136-iso8859-1", ! "-adobe-new century schoolbook-bold-i-normal--8-80-75-75-p-56-iso8859-1", ! "-adobe-new century schoolbook-bold-i-normal--10-100-75-75-p-66-iso8859-1", ! "-adobe-new century schoolbook-bold-i-normal--12-120-75-75-p-76-iso8859-1", ! "-adobe-new century schoolbook-bold-i-normal--14-140-75-75-p-88-iso8859-1", ! "-adobe-new century schoolbook-bold-i-normal--18-180-75-75-p-111-iso8859-1", ! "-adobe-new century schoolbook-bold-i-normal--24-240-75-75-p-148-iso8859-1", ! "-adobe-symbol-medium-r-normal--8-80-75-75-p-51-adobe-fontspecific", ! "-adobe-symbol-medium-r-normal--10-100-75-75-p-61-adobe-fontspecific", ! "-adobe-symbol-medium-r-normal--12-120-75-75-p-74-adobe-fontspecific", ! "-adobe-symbol-medium-r-normal--14-140-75-75-p-85-adobe-fontspecific", ! "-adobe-symbol-medium-r-normal--18-180-75-75-p-107-adobe-fontspecific", ! "-adobe-symbol-medium-r-normal--24-240-75-75-p-142-adobe-fontspecific" }; --- 111,329 ---- static char * fontNameStr[] = { ! /* 75 dpi fonts */ ! "-adobe-times-medium-r-normal--8-80-75-75-p-44-iso8859-1", ! "-adobe-times-medium-r-normal--10-100-75-75-p-54-iso8859-1", ! "-adobe-times-medium-r-normal--12-120-75-75-p-64-iso8859-1", ! "-adobe-times-medium-r-normal--14-140-75-75-p-74-iso8859-1", ! "-adobe-times-medium-r-normal--18-180-75-75-p-94-iso8859-1", ! "-adobe-times-medium-r-normal--24-240-75-75-p-124-iso8859-1", ! "-adobe-times-bold-r-normal--8-80-75-75-p-47-iso8859-1", ! "-adobe-times-bold-r-normal--10-100-75-75-p-57-iso8859-1", ! "-adobe-times-bold-r-normal--12-120-75-75-p-67-iso8859-1", ! "-adobe-times-bold-r-normal--14-140-75-75-p-77-iso8859-1", ! "-adobe-times-bold-r-normal--18-180-75-75-p-99-iso8859-1", ! "-adobe-times-bold-r-normal--24-240-75-75-p-132-iso8859-1", ! "-adobe-times-medium-i-normal--8-80-75-75-p-42-iso8859-1", ! "-adobe-times-medium-i-normal--10-100-75-75-p-52-iso8859-1", ! "-adobe-times-medium-i-normal--12-120-75-75-p-63-iso8859-1", ! "-adobe-times-medium-i-normal--14-140-75-75-p-73-iso8859-1", ! "-adobe-times-medium-i-normal--18-180-75-75-p-94-iso8859-1", ! "-adobe-times-medium-i-normal--24-240-75-75-p-125-iso8859-1", ! "-adobe-times-bold-i-normal--8-80-75-75-p-47-iso8859-1", ! "-adobe-times-bold-i-normal--10-100-75-75-p-57-iso8859-1", ! "-adobe-times-bold-i-normal--12-120-75-75-p-68-iso8859-1", ! "-adobe-times-bold-i-normal--14-140-75-75-p-77-iso8859-1", ! "-adobe-times-bold-i-normal--18-180-75-75-p-98-iso8859-1", ! "-adobe-times-bold-i-normal--24-240-75-75-p-128-iso8859-1", ! "-adobe-courier-medium-r-normal--8-80-75-75-m-50-iso8859-1", ! "-adobe-courier-medium-r-normal--10-100-75-75-m-60-iso8859-1", ! "-adobe-courier-medium-r-normal--12-120-75-75-m-70-iso8859-1", ! "-adobe-courier-medium-r-normal--14-140-75-75-m-90-iso8859-1", ! "-adobe-courier-medium-r-normal--18-180-75-75-m-110-iso8859-1", ! "-adobe-courier-medium-r-normal--24-240-75-75-m-150-iso8859-1", ! "-adobe-courier-bold-r-normal--8-80-75-75-m-50-iso8859-1", ! "-adobe-courier-bold-r-normal--10-100-75-75-m-60-iso8859-1", ! "-adobe-courier-bold-r-normal--12-120-75-75-m-70-iso8859-1", ! "-adobe-courier-bold-r-normal--14-140-75-75-m-90-iso8859-1", ! "-adobe-courier-bold-r-normal--18-180-75-75-m-110-iso8859-1", ! "-adobe-courier-bold-r-normal--24-240-75-75-m-150-iso8859-1", ! "-adobe-courier-medium-o-normal--8-80-75-75-m-50-iso8859-1", ! "-adobe-courier-medium-o-normal--10-100-75-75-m-60-iso8859-1", ! "-adobe-courier-medium-o-normal--12-120-75-75-m-70-iso8859-1", ! "-adobe-courier-medium-o-normal--14-140-75-75-m-90-iso8859-1", ! "-adobe-courier-medium-o-normal--18-180-75-75-m-110-iso8859-1", ! "-adobe-courier-medium-o-normal--24-240-75-75-m-150-iso8859-1", ! "-adobe-courier-bold-o-normal--8-80-75-75-m-50-iso8859-1", ! "-adobe-courier-bold-o-normal--10-100-75-75-m-60-iso8859-1", ! "-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1", ! "-adobe-courier-bold-o-normal--14-140-75-75-m-90-iso8859-1", ! "-adobe-courier-bold-o-normal--18-180-75-75-m-110-iso8859-1", ! "-adobe-courier-bold-o-normal--24-240-75-75-m-150-iso8859-1", ! "-adobe-helvetica-medium-r-normal--8-80-75-75-p-46-iso8859-1", ! "-adobe-helvetica-medium-r-normal--10-100-75-75-p-56-iso8859-1", ! "-adobe-helvetica-medium-r-normal--12-120-75-75-p-67-iso8859-1", ! "-adobe-helvetica-medium-r-normal--14-140-75-75-p-77-iso8859-1", ! "-adobe-helvetica-medium-r-normal--18-180-75-75-p-98-iso8859-1", ! "-adobe-helvetica-medium-r-normal--24-240-75-75-p-130-iso8859-1", ! "-adobe-helvetica-bold-r-normal--8-80-75-75-p-50-iso8859-1", ! "-adobe-helvetica-bold-r-normal--10-100-75-75-p-60-iso8859-1", ! "-adobe-helvetica-bold-r-normal--12-120-75-75-p-70-iso8859-1", ! "-adobe-helvetica-bold-r-normal--14-140-75-75-p-82-iso8859-1", ! "-adobe-helvetica-bold-r-normal--18-180-75-75-p-103-iso8859-1", ! "-adobe-helvetica-bold-r-normal--24-240-75-75-p-138-iso8859-1", ! "-adobe-helvetica-medium-o-normal--8-80-75-75-p-47-iso8859-1", ! "-adobe-helvetica-medium-o-normal--10-100-75-75-p-57-iso8859-1", ! "-adobe-helvetica-medium-o-normal--12-120-75-75-p-67-iso8859-1", ! "-adobe-helvetica-medium-o-normal--14-140-75-75-p-78-iso8859-1", ! "-adobe-helvetica-medium-o-normal--18-180-75-75-p-98-iso8859-1", ! "-adobe-helvetica-medium-o-normal--24-240-75-75-p-130-iso8859-1", ! "-adobe-helvetica-bold-o-normal--8-80-75-75-p-50-iso8859-1", ! "-adobe-helvetica-bold-o-normal--10-100-75-75-p-60-iso8859-1", ! "-adobe-helvetica-bold-o-normal--12-120-75-75-p-69-iso8859-1", ! "-adobe-helvetica-bold-o-normal--14-140-75-75-p-82-iso8859-1", ! "-adobe-helvetica-bold-o-normal--18-180-75-75-p-104-iso8859-1", ! "-adobe-helvetica-bold-o-normal--24-240-75-75-p-138-iso8859-1", ! "-adobe-new century schoolbook-medium-r-normal--8-80-75-75-p-50-iso8859-1", ! "-adobe-new century schoolbook-medium-r-normal--10-100-75-75-p-60-iso8859-1", ! "-adobe-new century schoolbook-medium-r-normal--12-120-75-75-p-70-iso8859-1", ! "-adobe-new century schoolbook-medium-r-normal--14-140-75-75-p-82-iso8859-1", ! "-adobe-new century schoolbook-medium-r-normal--18-180-75-75-p-103-iso8859-1", ! "-adobe-new century schoolbook-medium-r-normal--24-240-75-75-p-137-iso8859-1", ! "-adobe-new century schoolbook-bold-r-normal--8-80-75-75-p-56-iso8859-1", ! "-adobe-new century schoolbook-bold-r-normal--10-100-75-75-p-66-iso8859-1", ! "-adobe-new century schoolbook-bold-r-normal--12-120-75-75-p-77-iso8859-1", ! "-adobe-new century schoolbook-bold-r-normal--14-140-75-75-p-87-iso8859-1", ! "-adobe-new century schoolbook-bold-r-normal--18-180-75-75-p-113-iso8859-1", ! "-adobe-new century schoolbook-bold-r-normal--24-240-75-75-p-149-iso8859-1", ! "-adobe-new century schoolbook-medium-i-normal--8-80-75-75-p-50-iso8859-1", ! "-adobe-new century schoolbook-medium-i-normal--10-100-75-75-p-60-iso8859-1", ! "-adobe-new century schoolbook-medium-i-normal--12-120-75-75-p-70-iso8859-1", ! "-adobe-new century schoolbook-medium-i-normal--14-140-75-75-p-81-iso8859-1", ! "-adobe-new century schoolbook-medium-i-normal--18-180-75-75-p-104-iso8859-1", ! "-adobe-new century schoolbook-medium-i-normal--24-240-75-75-p-136-iso8859-1", ! "-adobe-new century schoolbook-bold-i-normal--8-80-75-75-p-56-iso8859-1", ! "-adobe-new century schoolbook-bold-i-normal--10-100-75-75-p-66-iso8859-1", ! "-adobe-new century schoolbook-bold-i-normal--12-120-75-75-p-76-iso8859-1", ! "-adobe-new century schoolbook-bold-i-normal--14-140-75-75-p-88-iso8859-1", ! "-adobe-new century schoolbook-bold-i-normal--18-180-75-75-p-111-iso8859-1", ! "-adobe-new century schoolbook-bold-i-normal--24-240-75-75-p-148-iso8859-1", ! "-adobe-symbol-medium-r-normal--8-80-75-75-p-51-adobe-fontspecific", ! "-adobe-symbol-medium-r-normal--10-100-75-75-p-61-adobe-fontspecific", ! "-adobe-symbol-medium-r-normal--12-120-75-75-p-74-adobe-fontspecific", ! "-adobe-symbol-medium-r-normal--14-140-75-75-p-85-adobe-fontspecific", ! "-adobe-symbol-medium-r-normal--18-180-75-75-p-107-adobe-fontspecific", ! "-adobe-symbol-medium-r-normal--24-240-75-75-p-142-adobe-fontspecific", ! ! /* 100 dpi fonts */ ! "-adobe-times-medium-r-normal--11-80-100-100-p-54-iso8859-1", ! "-adobe-times-medium-r-normal--14-100-100-100-p-74-iso8859-1", ! "-adobe-times-medium-r-normal--17-120-100-100-p-84-iso8859-1", ! "-adobe-times-medium-r-normal--20-140-100-100-p-96-iso8859-1", ! "-adobe-times-medium-r-normal--25-180-100-100-p-125-iso8859-1", ! "-adobe-times-medium-r-normal--34-240-100-100-p-170-iso8859-1", ! "-adobe-times-bold-r-normal--11-80-100-100-p-57-iso8859-1", ! "-adobe-times-bold-r-normal--14-100-100-100-p-76-iso8859-1", ! "-adobe-times-bold-r-normal--17-120-100-100-p-88-iso8859-1", ! "-adobe-times-bold-r-normal--20-140-100-100-p-100-iso8859-1", ! "-adobe-times-bold-r-normal--25-180-100-100-p-132-iso8859-1", ! "-adobe-times-bold-r-normal--34-240-100-100-p-177-iso8859-1", ! "-adobe-times-medium-i-normal--11-80-100-100-p-52-iso8859-1", ! "-adobe-times-medium-i-normal--14-100-100-100-p-73-iso8859-1", ! "-adobe-times-medium-i-normal--17-120-100-100-p-84-iso8859-1", ! "-adobe-times-medium-i-normal--20-140-100-100-p-94-iso8859-1", ! "-adobe-times-medium-i-normal--25-180-100-100-p-125-iso8859-1", ! "-adobe-times-medium-i-normal--34-240-100-100-p-168-iso8859-1", ! "-adobe-times-bold-i-normal--11-80-100-100-p-57-iso8859-1", ! "-adobe-times-bold-i-normal--14-100-100-100-p-77-iso8859-1", ! "-adobe-times-bold-i-normal--17-120-100-100-p-86-iso8859-1", ! "-adobe-times-bold-i-normal--20-140-100-100-p-98-iso8859-1", ! "-adobe-times-bold-i-normal--25-180-100-100-p-128-iso8859-1", ! "-adobe-times-bold-i-normal--34-240-100-100-p-170-iso8859-1", ! ! "-adobe-courier-medium-r-normal--11-80-100-100-m-60-iso8859-1", ! "-adobe-courier-medium-r-normal--14-100-100-100-m-90-iso8859-1", ! "-adobe-courier-medium-r-normal--17-120-100-100-m-100-iso8859-1", ! "-adobe-courier-medium-r-normal--20-140-100-100-m-110-iso8859-1", ! "-adobe-courier-medium-r-normal--25-180-100-100-m-150-iso8859-1", ! "-adobe-courier-medium-r-normal--34-240-100-100-m-200-iso8859-1", ! "-adobe-courier-bold-r-normal--11-80-100-100-m-60-iso8859-1", ! "-adobe-courier-bold-r-normal--14-100-100-100-m-90-iso8859-1", ! "-adobe-courier-bold-r-normal--17-120-100-100-m-100-iso8859-1", ! "-adobe-courier-bold-r-normal--20-140-100-100-m-110-iso8859-1", ! "-adobe-courier-bold-r-normal--25-180-100-100-m-150-iso8859-1", ! "-adobe-courier-bold-r-normal--34-240-100-100-m-200-iso8859-1", ! "-adobe-courier-medium-o-normal--11-80-100-100-m-60-iso8859-1", ! "-adobe-courier-medium-o-normal--14-100-100-100-m-90-iso8859-1", ! "-adobe-courier-medium-o-normal--17-120-100-100-m-100-iso8859-1", ! "-adobe-courier-medium-o-normal--20-140-100-100-m-110-iso8859-1", ! "-adobe-courier-medium-o-normal--25-180-100-100-m-150-iso8859-1", ! "-adobe-courier-medium-o-normal--34-240-100-100-m-200-iso8859-1", ! "-adobe-courier-bold-o-normal--11-80-100-100-m-60-iso8859-1", ! "-adobe-courier-bold-o-normal--14-100-100-100-m-90-iso8859-1", ! "-adobe-courier-bold-o-normal--17-120-100-100-m-100-iso8859-1", ! "-adobe-courier-bold-o-normal--20-140-100-100-m-110-iso8859-1", ! "-adobe-courier-bold-o-normal--25-180-100-100-m-150-iso8859-1", ! "-adobe-courier-bold-o-normal--34-240-100-100-m-200-iso8859-1", ! ! "-adobe-helvetica-medium-r-normal--11-80-100-100-p-56-iso8859-1", ! "-adobe-helvetica-medium-r-normal--14-100-100-100-p-76-iso8859-1", ! "-adobe-helvetica-medium-r-normal--17-120-100-100-p-88-iso8859-1", ! "-adobe-helvetica-medium-r-normal--20-140-100-100-p-100-iso8859-1", ! "-adobe-helvetica-medium-r-normal--25-180-100-100-p-130-iso8859-1", ! "-adobe-helvetica-medium-r-normal--34-240-100-100-p-176-iso8859-1", ! "-adobe-helvetica-bold-r-normal--11-80-100-100-p-60-iso8859-1", ! "-adobe-helvetica-bold-r-normal--14-100-100-100-p-82-iso8859-1", ! "-adobe-helvetica-bold-r-normal--17-120-100-100-p-92-iso8859-1", ! "-adobe-helvetica-bold-r-normal--20-140-100-100-p-105-iso8859-1", ! "-adobe-helvetica-bold-r-normal--25-180-100-100-p-138-iso8859-1", ! "-adobe-helvetica-bold-r-normal--34-240-100-100-p-182-iso8859-1", ! "-adobe-helvetica-medium-o-normal--11-80-100-100-p-57-iso8859-1", ! "-adobe-helvetica-medium-o-normal--14-100-100-100-p-78-iso8859-1", ! "-adobe-helvetica-medium-o-normal--17-120-100-100-p-88-iso8859-1", ! "-adobe-helvetica-medium-o-normal--20-140-100-100-p-98-iso8859-1", ! "-adobe-helvetica-medium-o-normal--25-180-100-100-p-130-iso8859-1", ! "-adobe-helvetica-medium-o-normal--34-240-100-100-p-176-iso8859-1", ! "-adobe-helvetica-bold-o-normal--11-80-100-100-p-60-iso8859-1", ! "-adobe-helvetica-bold-o-normal--14-100-100-100-p-82-iso8859-1", ! "-adobe-helvetica-bold-o-normal--17-120-100-100-p-92-iso8859-1", ! "-adobe-helvetica-bold-o-normal--20-140-100-100-p-103-iso8859-1", ! "-adobe-helvetica-bold-o-normal--25-180-100-100-p-138-iso8859-1", ! "-adobe-helvetica-bold-o-normal--34-240-100-100-p-182-iso8859-1", ! ! "-adobe-new century schoolbook-medium-r-normal--11-80-100-100-p-60-iso8859-1", ! "-adobe-new century schoolbook-medium-r-normal--14-100-100-100-p-82-iso8859-1", ! "-adobe-new century schoolbook-medium-r-normal--17-120-100-100-p-91-iso8859-1", ! "-adobe-new century schoolbook-medium-r-normal--20-140-100-100-p-103-iso8859-1", ! "-adobe-new century schoolbook-medium-r-normal--25-180-100-100-p-136-iso8859-1", ! "-adobe-new century schoolbook-medium-r-normal--34-240-100-100-p-181-iso8859-1", ! "-adobe-new century schoolbook-bold-r-normal--11-80-100-100-p-66-iso8859-1", ! "-adobe-new century schoolbook-bold-r-normal--14-100-100-100-p-87-iso8859-1", ! "-adobe-new century schoolbook-bold-r-normal--17-120-100-100-p-99-iso8859-1", ! "-adobe-new century schoolbook-bold-r-normal--20-140-100-100-p-113-iso8859-1", ! "-adobe-new century schoolbook-bold-r-normal--25-180-100-100-p-149-iso8859-1", ! "-adobe-new century schoolbook-bold-r-normal--34-240-100-100-p-193-iso8859-1", ! "-adobe-new century schoolbook-medium-i-normal--11-80-100-100-p-60-iso8859-1", ! "-adobe-new century schoolbook-medium-i-normal--14-100-100-100-p-81-iso8859-1", ! "-adobe-new century schoolbook-medium-i-normal--17-120-100-100-p-92-iso8859-1", ! "-adobe-new century schoolbook-medium-i-normal--20-140-100-100-p-104-iso8859-1", ! "-adobe-new century schoolbook-medium-i-normal--25-180-100-100-p-136-iso8859-1", ! "-adobe-new century schoolbook-medium-i-normal--34-240-100-100-p-182-iso8859-1", ! "-adobe-new century schoolbook-bold-i-normal--11-80-100-100-p-66-iso8859-1", ! "-adobe-new century schoolbook-bold-i-normal--14-100-100-100-p-88-iso8859-1", ! "-adobe-new century schoolbook-bold-i-normal--17-120-100-100-p-99-iso8859-1", ! "-adobe-new century schoolbook-bold-i-normal--20-140-100-100-p-111-iso8859-1", ! "-adobe-new century schoolbook-bold-i-normal--25-180-100-100-p-148-iso8859-1", ! "-adobe-new century schoolbook-bold-i-normal--34-240-100-100-p-193-iso8859-1", ! ! "-adobe-symbol-medium-r-normal--11-80-100-100-p-61-adobe-fontspecific", ! "-adobe-symbol-medium-r-normal--14-100-100-100-p-85-adobe-fontspecific", ! "-adobe-symbol-medium-r-normal--17-120-100-100-p-95-adobe-fontspecific", ! "-adobe-symbol-medium-r-normal--20-140-100-100-p-107-adobe-fontspecific", ! "-adobe-symbol-medium-r-normal--25-180-100-100-p-142-adobe-fontspecific", ! "-adobe-symbol-medium-r-normal--34-240-100-100-p-191-adobe-fontspecific" }; *************** *** 208,218 **** } ! int FontIndex (font_index, size_index, style_index) ! register int font_index, size_index, style_index; { if (font_index == FONT_SYM) ! return (FIndex(font_index,size_index,0)); else ! return (FIndex(font_index,size_index,style_index)); } --- 334,351 ---- } ! int FontIndex (dpi_index, font_index, size_index, style_index) ! register int dpi_index, font_index, size_index, style_index; { + /* if (font_index == FONT_SYM) */ + /* return (FIndex(font_index,size_index,0)); */ + /* else */ + /* return (FIndex(font_index,size_index,style_index)); */ + if (font_index == FONT_SYM) ! return (size_index+MAXFONTSIZES*(MAXFONTSTYLES*font_index) + ! dpi_index*FONTS_PER_DPI); else ! return (size_index+MAXFONTSIZES*(style_index+MAXFONTSTYLES*font_index) + ! dpi_index*FONTS_PER_DPI); } *************** *** 221,225 **** register int index; ! canvasFontIndex = index = FontIndex (curFont, curSize, curStyle); if (!myFontInfo[index].valid) --- 354,358 ---- register int index; ! canvasFontIndex = index = FontIndex (curFontDPI, curFont, curSize, curStyle); if (!myFontInfo[index].valid) *************** *** 234,239 **** canvasFontPtr = myFontInfo[index].xfs; ! canvasFontAsc = canvasFontPtr->ascent; ! canvasFontDes = canvasFontPtr->descent; canvasFontHeight = canvasFontAsc + canvasFontDes; --- 367,372 ---- canvasFontPtr = myFontInfo[index].xfs; ! canvasFontAsc = canvasFontPtr->max_bounds.ascent; ! canvasFontDes = canvasFontPtr->max_bounds.descent; canvasFontHeight = canvasFontAsc + canvasFontDes; *************** *** 241,244 **** --- 374,380 ---- textCursorH = canvasFontHeight; + + pointSize = (curFontDPI==FONT_DPI_75) ? pointSize75 : pointSize100; + sizeMenuStr = (curFontDPI==FONT_DPI_75) ? sizeMenuStr75 : sizeMenuStr100; } *************** *** 247,250 **** --- 383,389 ---- register int i; + pointSize = (curFontDPI==FONT_DPI_75) ? pointSize75 : pointSize100; + sizeMenuStr = (curFontDPI==FONT_DPI_75) ? sizeMenuStr75 : sizeMenuStr100; + for (i = 0; i < FONTTABLESIZE; i++) myFontInfo[i].valid = FALSE; *************** *** 263,268 **** rulerFontPtr = myFontInfo[COUR10R].xfs; rulerFontWidth = rulerFontPtr->max_bounds.width; ! rulerFontAsc = rulerFontPtr->ascent; ! rulerFontDes = rulerFontPtr->descent; rulerFontHeight = rulerFontAsc + rulerFontDes; --- 402,407 ---- rulerFontPtr = myFontInfo[COUR10R].xfs; rulerFontWidth = rulerFontPtr->max_bounds.width; ! rulerFontAsc = rulerFontPtr->max_bounds.ascent; ! rulerFontDes = rulerFontPtr->max_bounds.descent; rulerFontHeight = rulerFontAsc + rulerFontDes; *************** *** 269,274 **** defaultFontPtr = myFontInfo[COUR18R].xfs; defaultFontWidth = defaultFontPtr->max_bounds.width; ! defaultFontAsc = defaultFontPtr->ascent; ! defaultFontDes = defaultFontPtr->descent; defaultFontHeight = defaultFontAsc + defaultFontDes; } --- 408,413 ---- defaultFontPtr = myFontInfo[COUR18R].xfs; defaultFontWidth = defaultFontPtr->max_bounds.width; ! defaultFontAsc = defaultFontPtr->max_bounds.ascent; ! defaultFontDes = defaultFontPtr->max_bounds.descent; defaultFontHeight = defaultFontAsc + defaultFontDes; } *************** *** 709,713 **** } ! static int savedFont, savedSize, savedStyle; static int savedJust, savedRotate, savedPen; --- 848,965 ---- } ! static ! int ChangeObjTextFontDPI (ObjPtr, FontDPIIndex) ! register struct ObjRec * ObjPtr; ! register int FontDPIIndex; ! { ! register struct ObjRec * obj_ptr; ! register int changed = FALSE; ! ! for (obj_ptr = ObjPtr; obj_ptr != NULL; obj_ptr = obj_ptr->prev) ! switch (obj_ptr->type) ! { ! case OBJ_TEXT: ! if (obj_ptr->detail.t->dpi != FontDPIIndex) ! { ! obj_ptr->detail.t->dpi = FontDPIIndex; ! UpdTextBBox (obj_ptr); ! changed = TRUE; ! } ! break; ! ! case OBJ_GROUP: ! case OBJ_SYM: ! if (ChangeObjTextFontDPI (obj_ptr->detail.r->last, FontDPIIndex)) ! { ! changed = TRUE; ! AdjObjBBox (obj_ptr); ! } ! break; ! } ! return (changed); ! } ! ! void ChangeFontDPI (FontDPIIndex) ! int FontDPIIndex; ! { ! register struct SelRec * sel_ptr; ! register struct ObjRec * obj_ptr; ! int changed = FALSE, text_cursor_shown; ! int ltx, lty, rbx, rby, text_obj_created; ! ! if (FontDPIIndex == INVALID) return; ! ! if (topSel != NULL) ! { ! for (sel_ptr = botSel; sel_ptr != NULL; sel_ptr = sel_ptr->prev) ! { ! obj_ptr = sel_ptr->obj; ! switch (obj_ptr->type) ! { ! case OBJ_TEXT: ! if (obj_ptr->detail.t->dpi != FontDPIIndex) ! { ! obj_ptr->detail.t->dpi = FontDPIIndex; ! UpdTextBBox (obj_ptr); ! changed = TRUE; ! } ! break; ! case OBJ_GROUP: ! case OBJ_SYM: ! if (ChangeObjTextFont (obj_ptr->detail.r->last, FontDPIIndex)) ! { ! changed = TRUE; ! AdjObjBBox (obj_ptr); ! } ! break; ! } ! } ! ! if (changed) ! { ! HighLightReverse (); ! ltx = selLtX; lty = selLtY; rbx = selRbX; rby = selRbY; ! UpdSelBBox (); ! RedrawAreas (botObj, ltx-(1<<zoomScale), lty-(1<<zoomScale), ! rbx+(1<<zoomScale), rby+(1<<zoomScale), selLtX-(1<<zoomScale), ! selLtY-(1<<zoomScale), selRbX+(1<<zoomScale), ! selRbY+(1<<zoomScale)); ! SetFileModified (TRUE); ! HighLightForward (); ! } ! } ! else ! { ! text_cursor_shown = textCursorShown; ! text_obj_created = TieLooseEnds (); ! curFontDPI = FontDPIIndex; ! SetCanvasFont (); ! if (!text_obj_created && curChoice == DRAWTEXT && text_cursor_shown) ! { ! NewCurText (); ! RedrawCurText (); ! } ! else ! textCursorShown = FALSE; ! ShowCurFont (); ! ! pointSize = (curFontDPI==FONT_DPI_75) ? pointSize75 : pointSize100; ! sizeMenuStr = (curFontDPI==FONT_DPI_75) ? sizeMenuStr75 : sizeMenuStr100; ! } ! } ! ! void FontDPIMenu (X, Y) ! int X, Y; ! { ! register int index; ! int * fore_colors, * valid; ! ! DefaultColorArrays (MAXFONTDPIS, &fore_colors, &valid); ! index = TextMenuLoop (X, Y, fontDPIMenuStr, MAXFONTDPIS, fore_colors, valid, ! SINGLECOLOR); ! ChangeFontDPI (index); ! } ! ! static int savedFont, savedSize, savedStyle, savedDPI; static int savedJust, savedRotate, savedPen; *************** *** 717,720 **** --- 969,973 ---- savedSize = curSize; savedStyle = curStyle; + savedDPI = curFontDPI; savedJust = textJust; savedRotate = curRotate; *************** *** 727,730 **** --- 980,984 ---- curSize = savedSize; curStyle = savedStyle; + curFontDPI = savedDPI; textJust = savedJust; curRotate = savedRotate; *************** *** 734,738 **** } ! static int pushedFont, pushedSize, pushedStyle, pushedJust; static int pushedColorIndex, pushedRotate, pushedPen; --- 988,992 ---- } ! static int pushedFont, pushedSize, pushedStyle, pushedDPI, pushedJust; static int pushedColorIndex, pushedRotate, pushedPen; *************** *** 742,745 **** --- 996,1000 ---- pushedSize = curSize; pushedStyle = curStyle; + pushedDPI = curFontDPI; pushedJust = textJust; pushedRotate = curRotate; *************** *** 753,756 **** --- 1008,1012 ---- curSize = pushedSize; curStyle = pushedStyle; + curFontDPI = pushedDPI; textJust = pushedJust; curRotate = pushedRotate; *************** *** 771,773 **** --- 1027,1081 ---- myFontInfo[i].valid = FALSE; } + } + + static + void GenerateFontInfo () + /* This procedure is used to generate pdrawFontAsc[] and */ + /* pDrawFontDes[], to be used in ``prtgif.c''. It is */ + /* supposed to be called within dbx and not tgif. */ + { + register int i, j, num_rows; + + for (i = 0; i < FONTTABLESIZE; i++) + if (!myFontInfo[i].valid) + { + if ((myFontInfo[i].xfs = + XLoadQueryFont (mainDisplay, fontNameStr[i])) == NULL) + { + printf ("Can not open %s. Abort.\n\n", fontNameStr[i]); + exit (-1); + } + myFontInfo[i].valid = TRUE; + } + + num_rows = FONTTABLESIZE / MAXFONTSIZES; + printf ("short\tpDrawFontAsc[] =\n{\n"); + for (i = 0; i < num_rows; i++) + { + printf (" "); + for (j = 0; j < MAXFONTSIZES; j++) + if (i == num_rows-1 && j == MAXFONTSIZES-1) + printf ("%2d ", + (myFontInfo[i*MAXFONTSIZES+j].xfs)->max_bounds.ascent); + else + printf ("%2d, ", + (myFontInfo[i*MAXFONTSIZES+j].xfs)->max_bounds.ascent); + printf ("\n"); + } + printf ("};\n\n"); + + printf ("short\tpDrawFontDes[] =\n{\n"); + for (i = 0; i < num_rows; i++) + { + printf (" "); + for (j = 0; j < MAXFONTSIZES; j++) + if (i == num_rows-1 && j == MAXFONTSIZES-1) + printf ("%2d ", + (myFontInfo[i*MAXFONTSIZES+j].xfs)->max_bounds.descent); + else + printf ("%2d, ", + (myFontInfo[i*MAXFONTSIZES+j].xfs)->max_bounds.descent); + printf ("\n"); + } + printf ("};\n"); } *** group.c.orig Fri Aug 17 13:47:37 1990 --- group.c Fri Aug 17 13:47:38 1990 *************** *** 6,10 **** #ifndef lint static char RCSid[] = ! "@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/group.c,v 1.3 90/07/30 11:10:25 william Exp $"; #endif --- 6,10 ---- #ifndef lint static char RCSid[] = ! "@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/group.c,v 1.6 90/08/13 09:23:41 william Exp $"; #endif *************** *** 32,36 **** group_ptr->first = TopObjPtr; group_ptr->last = BotObjPtr; - group_ptr->fattr = group_ptr->lattr = NULL; obj_ptr = (struct ObjRec *) calloc (1, sizeof(struct ObjRec)); obj_ptr->x = selObjLtX; /* note: selLtX, selLtY are absolute */ --- 32,35 ---- *************** *** 46,49 **** --- 45,49 ---- obj_ptr->obbox.rby = selObjRbY; obj_ptr->detail.r = group_ptr; + obj_ptr->fattr = obj_ptr->lattr = NULL; AddObj (NULL, topObj, obj_ptr); } *************** *** 57,61 **** Save (FP, ObjPtr->detail.r->last, Level+1); fprintf (FP, "],"); ! SaveAttrs (FP, ObjPtr->detail.r->lattr); fprintf (FP, ")"); } --- 57,61 ---- Save (FP, ObjPtr->detail.r->last, Level+1); fprintf (FP, "],"); ! SaveAttrs (FP, ObjPtr->lattr); fprintf (FP, ")"); } *************** *** 69,73 **** Save (FP, ObjPtr->detail.r->last, Level+1); fprintf (FP, "],"); ! SaveAttrs (FP, ObjPtr->detail.r->lattr); fprintf (FP, ")"); } --- 69,73 ---- Save (FP, ObjPtr->detail.r->last, Level+1); fprintf (FP, "],"); ! SaveAttrs (FP, ObjPtr->lattr); fprintf (FP, ")"); } *************** *** 81,86 **** Save (FP, ObjPtr->detail.r->last, Level+1); fprintf (FP, "],\n"); ! fprintf (FP, "\"%s\",%1d,", ObjPtr->detail.r->s,ObjPtr->detail.r->id); ! SaveAttrs (FP, ObjPtr->detail.r->lattr); fprintf (FP, ")"); } --- 81,86 ---- Save (FP, ObjPtr->detail.r->last, Level+1); fprintf (FP, "],\n"); ! fprintf (FP, "\"%s\",%1d,", ObjPtr->detail.r->s,ObjPtr->id); ! SaveAttrs (FP, ObjPtr->lattr); fprintf (FP, ")"); } *** mainloop.c.orig Fri Aug 17 13:47:44 1990 --- mainloop.c Fri Aug 17 13:47:45 1990 *************** *** 6,10 **** #ifndef lint static char RCSid[] = ! "@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/mainloop.c,v 1.12 90/07/30 11:01:17 william Exp $"; #endif --- 6,10 ---- #ifndef lint static char RCSid[] = ! "@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/mainloop.c,v 1.15 90/08/16 09:35:09 william Exp $"; #endif *************** *** 18,21 **** --- 18,22 ---- #include "choice.e" #include "color.e" + #include "copypaste.e" #include "cursor.e" #include "dialog.e" *************** *** 131,134 **** --- 132,136 ---- CleanUpFiles (); CleanUpGrids (); + CleanUpCutBuffer (); DelAllCutSel (); *************** *** 412,416 **** poly_id = atoi (PolyId); for (obj_ptr = topObj; obj_ptr != NULL; obj_ptr = obj_ptr->next) ! if (obj_ptr->type == OBJ_POLY && obj_ptr->detail.p->id == poly_id) break; --- 414,418 ---- poly_id = atoi (PolyId); for (obj_ptr = topObj; obj_ptr != NULL; obj_ptr = obj_ptr->next) ! if (obj_ptr->type == OBJ_POLY && obj_ptr->id == poly_id) break; *************** *** 511,515 **** for (obj_ptr = topObj; obj_ptr != NULL; obj_ptr = obj_ptr->next) ! if (obj_ptr->type == OBJ_ICON && obj_ptr->detail.r->id == obj_id) break; --- 513,520 ---- for (obj_ptr = topObj; obj_ptr != NULL; obj_ptr = obj_ptr->next) ! if ((obj_ptr->type == OBJ_ICON || obj_ptr->type == OBJ_POLY || ! obj_ptr->type == OBJ_BOX || obj_ptr->type == OBJ_OVAL || ! obj_ptr->type == OBJ_POLYGON) && ! obj_ptr->id == obj_id) break; *************** *** 521,525 **** else { ! attr_ptr = obj_ptr->detail.r->fattr; for ( ; attr_ptr != NULL; attr_ptr = attr_ptr->next) { --- 526,530 ---- else { ! attr_ptr = obj_ptr->fattr; for ( ; attr_ptr != NULL; attr_ptr = attr_ptr->next) { *** menu.c.orig Fri Aug 17 13:47:56 1990 --- menu.c Fri Aug 17 13:47:58 1990 *************** *** 6,10 **** #ifndef lint static char RCSid[] = ! "@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/menu.c,v 1.11 90/07/30 11:00:59 william Exp $"; #endif --- 6,10 ---- #ifndef lint static char RCSid[] = ! "@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/menu.c,v 1.12 90/08/15 16:00:27 william Exp $"; #endif *************** *** 388,394 **** } static char * mainMenuStr[MAXMENUS] = { ! "Mode", "File", "Edit", "TextStyle", "TextSize", "Font", "Layout", "Arrange", "Fill", "LineStyle", "Pen", "Color", "Special" }; --- 388,411 ---- } + #define MENU_MODE 0 + #define MENU_FILE 1 + #define MENU_EDIT 2 + #define MENU_STYLE 3 + #define MENU_SIZE 4 + #define MENU_FONT 5 + #define MENU_FONTDPI 6 + #define MENU_LAYOUT 7 + #define MENU_ARRANGE 8 + #define MENU_FILL 9 + #define MENU_LINESTYLE 10 + #define MENU_PEN 11 + #define MENU_COLOR 12 + #define MENU_SPECIAL 13 + + #define MAXMENUS 14 + static char * mainMenuStr[MAXMENUS] = { ! "Mode", "File", "Edit", "TextStyle", "TextSize", "Font", "FontDPI", "Layout", "Arrange", "Fill", "LineStyle", "Pen", "Color", "Special" }; *************** *** 427,430 **** --- 444,448 ---- case MENU_SIZE: SizeMenu (x, y); break; case MENU_FONT: FontMenu (x, y); break; + case MENU_FONTDPI: FontDPIMenu (x, y); break; case MENU_LAYOUT: LayoutMenu (x, y); break; case MENU_ARRANGE: ArrangeMenu (x, y); break; *** move.c.orig Fri Aug 17 13:48:04 1990 --- move.c Fri Aug 17 13:48:05 1990 *************** *** 7,11 **** #ifndef lint static char RCSid[] = ! "@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/move.c,v 1.6 90/07/07 23:57:07 william Exp $"; #endif #include <stdio.h> --- 7,11 ---- #ifndef lint static char RCSid[] = ! "@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/move.c,v 1.7 90/08/11 00:14:18 william Exp $"; #endif #include <stdio.h> *************** *** 88,102 **** { case OBJ_POLY: ! MoveAttrs(ObjPtr->detail.p->fattr, Dx,Dy); MovePoly (ObjPtr, Dx, Dy); break; ! case OBJ_BOX : break; ! case OBJ_OVAL: break; case OBJ_TEXT: break; ! case OBJ_POLYGON: MovePolygon (ObjPtr, Dx, Dy); break; case OBJ_SYM: case OBJ_ICON: case OBJ_GROUP: ! MoveAttrs(ObjPtr->detail.r->fattr, Dx,Dy); for (ptr = ObjPtr->detail.r->first; ptr != NULL; ptr = ptr->next) MoveObj (ptr, Dx, Dy); --- 88,105 ---- { case OBJ_POLY: ! MoveAttrs(ObjPtr->fattr, Dx,Dy); MovePoly (ObjPtr, Dx, Dy); break; ! case OBJ_BOX : MoveAttrs(ObjPtr->fattr, Dx,Dy); break; ! case OBJ_OVAL: MoveAttrs(ObjPtr->fattr, Dx,Dy); break; case OBJ_TEXT: break; ! case OBJ_POLYGON: ! MoveAttrs(ObjPtr->fattr, Dx,Dy); ! MovePolygon (ObjPtr, Dx, Dy); ! break; case OBJ_SYM: case OBJ_ICON: case OBJ_GROUP: ! MoveAttrs(ObjPtr->fattr, Dx,Dy); for (ptr = ObjPtr->detail.r->first; ptr != NULL; ptr = ptr->next) MoveObj (ptr, Dx, Dy); *** obj.c.orig Fri Aug 17 13:48:11 1990 --- obj.c Fri Aug 17 13:48:12 1990 *************** *** 6,10 **** #ifndef lint static char RCSid[] = ! "@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/obj.c,v 1.1 90/04/01 22:16:27 william Exp $"; #endif --- 6,10 ---- #ifndef lint static char RCSid[] = ! "@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/obj.c,v 1.2 90/08/11 00:14:20 william Exp $"; #endif *************** *** 62,79 **** switch (ObjPtr->type) { ! case OBJ_POLY: ! DelAllAttrs(ObjPtr->detail.p->fattr); ! FreePolyObj (ObjPtr); ! break; ! case OBJ_BOX: FreeBoxObj (ObjPtr); break; ! case OBJ_OVAL: FreeOvalObj (ObjPtr); break; case OBJ_TEXT: FreeTextObj (ObjPtr); break; ! case OBJ_POLYGON: FreePolygonObj (ObjPtr); break; case OBJ_SYM: case OBJ_ICON: ! case OBJ_GROUP: ! DelAllAttrs(ObjPtr->detail.r->fattr); ! FreeGroupObj (ObjPtr); ! break; } } --- 62,74 ---- switch (ObjPtr->type) { ! case OBJ_POLY: DelAllAttrs(ObjPtr->fattr); FreePolyObj (ObjPtr); break; ! case OBJ_BOX: DelAllAttrs(ObjPtr->fattr); FreeBoxObj (ObjPtr); break; ! case OBJ_OVAL: DelAllAttrs(ObjPtr->fattr); FreeOvalObj (ObjPtr); break; case OBJ_TEXT: FreeTextObj (ObjPtr); break; ! case OBJ_POLYGON: DelAllAttrs(ObjPtr->fattr); FreePolygonObj (ObjPtr); ! break; case OBJ_SYM: case OBJ_ICON: ! case OBJ_GROUP: DelAllAttrs(ObjPtr->fattr); FreeGroupObj (ObjPtr); break; } } *************** *** 166,177 **** break; } ! switch (ObjPtr->type) ! { ! case OBJ_POLY: attr_ptr = ObjPtr->detail.p->fattr; break; ! case OBJ_SYM: ! case OBJ_GROUP: ! case OBJ_ICON: attr_ptr = ObjPtr->detail.r->fattr; break; ! default: return; /* only the above 4 types can have attributes */ ! } ltx = ObjPtr->bbox.ltx; --- 161,166 ---- break; } ! ! attr_ptr = ObjPtr->fattr; ltx = ObjPtr->bbox.ltx; *** oval.c.orig Fri Aug 17 13:48:17 1990 --- oval.c Fri Aug 17 13:48:19 1990 *************** *** 6,10 **** #ifndef lint static char RCSid[] = ! "@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/oval.c,v 1.5 90/06/26 08:52:36 william Exp $"; #endif --- 6,10 ---- #ifndef lint static char RCSid[] = ! "@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/oval.c,v 1.7 90/08/13 09:23:35 william Exp $"; #endif *************** *** 227,231 **** --- 227,234 ---- obj_ptr->type = OBJ_OVAL; obj_ptr->color = colorIndex; + obj_ptr->id = objId++; + obj_ptr->dirty = FALSE; obj_ptr->detail.o = oval_ptr; + obj_ptr->fattr = obj_ptr->lattr = NULL; AddObj (NULL, topObj, obj_ptr); } *************** *** 331,337 **** { fprintf (FP, "oval(%s,", colorMenuItems[ObjPtr->color]); ! fprintf (FP, "%1d,%1d,%1d,%1d,%1d,%1d,%1d)", ObjPtr->obbox.ltx, ObjPtr->obbox.lty, ObjPtr->obbox.rbx, ObjPtr->obbox.rby, ! ObjPtr->detail.o->fill, ObjPtr->detail.o->width, ObjPtr->detail.o->pen); } --- 334,343 ---- { fprintf (FP, "oval(%s,", colorMenuItems[ObjPtr->color]); ! fprintf (FP, "%1d,%1d,%1d,%1d,%1d,%1d,%1d,%1d,", ObjPtr->obbox.ltx, ObjPtr->obbox.lty, ObjPtr->obbox.rbx, ObjPtr->obbox.rby, ! ObjPtr->detail.o->fill, ObjPtr->detail.o->width, ! ObjPtr->detail.o->pen, ObjPtr->id); ! SaveAttrs (FP, ObjPtr->lattr); ! fprintf (FP, ")"); } *************** *** 358,365 **** case 2: width = 6; break; } } ! else sscanf (s, "%d , %d, %d , %d , %d , %d , %d", <x, <y, &rbx, &rby, &fill, &width, &pen); oval_ptr->fill = fill; --- 364,381 ---- case 2: width = 6; break; } + (*ObjPtr)->id = objId++; } ! else if (fileVersion <= 7) ! { sscanf (s, "%d , %d, %d , %d , %d , %d , %d", <x, <y, &rbx, &rby, &fill, &width, &pen); + (*ObjPtr)->id = objId++; + } + else + { + sscanf (s, "%d , %d, %d , %d , %d , %d , %d , %d", + <x, <y, &rbx, &rby, &fill, &width, &pen, &((*ObjPtr)->id)); + if ((*ObjPtr)->id >= objId) objId = (*ObjPtr)->id + 1; + } oval_ptr->fill = fill; *************** *** 369,372 **** --- 385,389 ---- (*ObjPtr)->y = lty; (*ObjPtr)->color = FindColorIndex (color_str); + (*ObjPtr)->dirty = FALSE; (*ObjPtr)->type = OBJ_OVAL; (*ObjPtr)->obbox.ltx = ltx; *** poly.c.orig Fri Aug 17 13:48:29 1990 --- poly.c Fri Aug 17 13:48:31 1990 *************** *** 6,10 **** #ifndef lint static char RCSid[] = ! "@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/poly.c,v 1.4 90/06/26 00:11:18 william Exp $"; #endif --- 6,10 ---- #ifndef lint static char RCSid[] = ! "@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/poly.c,v 1.6 90/08/13 09:23:49 william Exp $"; #endif *************** *** 115,120 **** poly_ptr->width = lineWidth; poly_ptr->pen = penPat; - poly_ptr->fattr = poly_ptr->lattr = NULL; - poly_ptr->id = objId++; poly_ptr->curved = curSpline; poly_ptr->fill = objFill; --- 115,118 ---- *************** *** 133,137 **** --- 131,138 ---- obj_ptr->bbox.rbx += w; obj_ptr->bbox.rby += w; + obj_ptr->id = objId++; + obj_ptr->dirty = FALSE; obj_ptr->detail.p = poly_ptr; + obj_ptr->fattr = obj_ptr->lattr = NULL; AddObj (NULL, topObj, obj_ptr); } *************** *** 697,702 **** fprintf (FP, "%1d,%1d", poly_ptr->vlist[n-1].x, poly_ptr->vlist[n-1].y); fprintf (FP, "],%1d,%1d,%1d,%1d,%1d,%1d,", poly_ptr->style, poly_ptr->width, ! poly_ptr->pen, poly_ptr->id, poly_ptr->curved, poly_ptr->fill); ! SaveAttrs (FP, ObjPtr->detail.p->lattr); fprintf (FP, ")"); } --- 698,703 ---- fprintf (FP, "%1d,%1d", poly_ptr->vlist[n-1].x, poly_ptr->vlist[n-1].y); fprintf (FP, "],%1d,%1d,%1d,%1d,%1d,%1d,", poly_ptr->style, poly_ptr->width, ! poly_ptr->pen, ObjPtr->id, poly_ptr->curved, poly_ptr->fill); ! SaveAttrs (FP, ObjPtr->lattr); fprintf (FP, ")"); } *************** *** 739,743 **** sscanf (s, "%d , %d , %d", &(poly_ptr->style), &(poly_ptr->width), &(poly_ptr->pen)); ! poly_ptr->id = objId++; poly_ptr->fill = NONEPAT; if (poly_ptr->width == LINE_CURVED) --- 740,744 ---- sscanf (s, "%d , %d , %d", &(poly_ptr->style), &(poly_ptr->width), &(poly_ptr->pen)); ! (*ObjPtr)->id = objId++; poly_ptr->fill = NONEPAT; if (poly_ptr->width == LINE_CURVED) *************** *** 757,762 **** { sscanf (s, "%d , %d , %d , %d", &(poly_ptr->style), &(poly_ptr->width), ! &(poly_ptr->pen), &(poly_ptr->id)); ! if (poly_ptr->id >= objId) objId = poly_ptr->id + 1; poly_ptr->fill = NONEPAT; if (poly_ptr->width == LINE_CURVED) --- 758,763 ---- { sscanf (s, "%d , %d , %d , %d", &(poly_ptr->style), &(poly_ptr->width), ! &(poly_ptr->pen), &((*ObjPtr)->id)); ! if ((*ObjPtr)->id >= objId) objId = (*ObjPtr)->id + 1; poly_ptr->fill = NONEPAT; if (poly_ptr->width == LINE_CURVED) *************** *** 776,782 **** { sscanf (s, "%d , %d , %d , %d, %d", &(poly_ptr->style), ! &(poly_ptr->width), &(poly_ptr->pen), &(poly_ptr->id), &(poly_ptr->curved)); ! if (poly_ptr->id >= objId) objId = poly_ptr->id + 1; poly_ptr->fill = NONEPAT; switch (poly_ptr->width) --- 777,783 ---- { sscanf (s, "%d , %d , %d , %d, %d", &(poly_ptr->style), ! &(poly_ptr->width), &(poly_ptr->pen), &((*ObjPtr)->id), &(poly_ptr->curved)); ! if ((*ObjPtr)->id >= objId) objId = (*ObjPtr)->id + 1; poly_ptr->fill = NONEPAT; switch (poly_ptr->width) *************** *** 789,795 **** { sscanf (s, "%d , %d , %d , %d, %d, %d", &(poly_ptr->style), ! &(poly_ptr->width), &(poly_ptr->pen), &(poly_ptr->id), &(poly_ptr->curved), &(poly_ptr->fill)); ! if (poly_ptr->id >= objId) objId = poly_ptr->id + 1; switch (poly_ptr->width) { --- 790,796 ---- { sscanf (s, "%d , %d , %d , %d, %d, %d", &(poly_ptr->style), ! &(poly_ptr->width), &(poly_ptr->pen), &((*ObjPtr)->id), &(poly_ptr->curved), &(poly_ptr->fill)); ! if ((*ObjPtr)->id >= objId) objId = (*ObjPtr)->id + 1; switch (poly_ptr->width) { *************** *** 801,807 **** { sscanf (s, "%d , %d , %d , %d, %d, %d", &(poly_ptr->style), ! &(poly_ptr->width), &(poly_ptr->pen), &(poly_ptr->id), &(poly_ptr->curved), &(poly_ptr->fill)); ! if (poly_ptr->id >= objId) objId = poly_ptr->id + 1; } --- 802,808 ---- { sscanf (s, "%d , %d , %d , %d, %d, %d", &(poly_ptr->style), ! &(poly_ptr->width), &(poly_ptr->pen), &((*ObjPtr)->id), &(poly_ptr->curved), &(poly_ptr->fill)); ! if ((*ObjPtr)->id >= objId) objId = (*ObjPtr)->id + 1; } *** polygon.c.orig Fri Aug 17 13:48:42 1990 --- polygon.c Fri Aug 17 13:48:44 1990 *************** *** 6,10 **** #ifndef lint static char RCSid[] = ! "@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/polygon.c,v 1.3 90/06/26 00:11:22 william Exp $"; #endif --- 6,10 ---- #ifndef lint static char RCSid[] = ! "@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/polygon.c,v 1.5 90/08/13 09:23:36 william Exp $"; #endif *************** *** 288,292 **** --- 288,295 ---- obj_ptr->bbox.rbx += w; obj_ptr->bbox.rby += w; + obj_ptr->id = objId++; + obj_ptr->dirty = FALSE; obj_ptr->detail.g = polygon_ptr; + obj_ptr->fattr = obj_ptr->lattr = NULL; AddObj (NULL, topObj, obj_ptr); } *************** *** 499,505 **** fprintf (FP, "%1d,%1d,", polygon_ptr->vlist[i].x, polygon_ptr->vlist[i].y); ! fprintf (FP, "%1d,%1d],%1d,%1d,%1d,%1d)", polygon_ptr->vlist[n-1].x, polygon_ptr->vlist[n-1].y, polygon_ptr->fill, polygon_ptr->width, ! polygon_ptr->pen, polygon_ptr->curved); } --- 502,510 ---- fprintf (FP, "%1d,%1d,", polygon_ptr->vlist[i].x, polygon_ptr->vlist[i].y); ! fprintf (FP, "%1d,%1d],%1d,%1d,%1d,%1d,%1d,", polygon_ptr->vlist[n-1].x, polygon_ptr->vlist[n-1].y, polygon_ptr->fill, polygon_ptr->width, ! polygon_ptr->pen, polygon_ptr->curved, ObjPtr->id); ! SaveAttrs (FP, ObjPtr->lattr); ! fprintf (FP, ")"); } *************** *** 553,556 **** --- 558,562 ---- case 2: width = 6; break; } + (*ObjPtr)->id = objId++; } else if (fileVersion <= 5) *************** *** 562,568 **** case 2: width = 6; break; } } ! else sscanf (s, "%d , %d , %d , %d", &fill, &width, &pen, &curved); polygon_ptr->vlist = v; --- 568,584 ---- case 2: width = 6; break; } + (*ObjPtr)->id = objId++; } ! else if (fileVersion <= 7) ! { sscanf (s, "%d , %d , %d , %d", &fill, &width, &pen, &curved); + (*ObjPtr)->id = objId++; + } + else + { + sscanf (s, "%d , %d , %d , %d , %d", &fill, &width, &pen, &curved, + &((*ObjPtr)->id)); + if ((*ObjPtr)->id >= objId) objId = (*ObjPtr)->id + 1; + } polygon_ptr->vlist = v; *************** *** 577,580 **** --- 593,597 ---- (*ObjPtr)->y = lty; (*ObjPtr)->color = FindColorIndex (color_str); + (*ObjPtr)->dirty = FALSE; (*ObjPtr)->type = OBJ_POLYGON; (*ObjPtr)->obbox.ltx = ltx; ---------------------------------> cut here <--------------------------------- -- Bill Cheng // UCLA Computer Science Department // (213) 206-7135 3277 Boelter Hall // Los Angeles, California 90024 // USA william@CS.UCLA.EDU ...!{uunet|ucbvax}!cs.ucla.edu!william dan ---------------------------------------------------- O'Reilly && Associates argv@sun.com / argv@ora.com Opinions expressed reflect those of the author only.