v08i088: tgif, Patch3, Part02/03
William Cheng
william at CS.UCLA.EDU
Tue Aug 21 04:13:53 AEST 1990
Submitted-by: william at 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 at CS.UCLA.EDU ...!{uunet|ucbvax}!cs.ucla.edu!william
dan
----------------------------------------------------
O'Reilly && Associates argv at sun.com / argv at ora.com
Opinions expressed reflect those of the author only.
More information about the Comp.sources.x
mailing list