--- iohandler.cc.orig Wed Jan 15 16:44:05 1997 +++ iohandler.cc Tue Nov 2 17:06:47 1999 @@ -37,13 +37,13 @@ void IOHandler::link(int fd, int mask) { fd_ = fd; - Tk_CreateFileHandler((ClientData) fd, mask, callback, (ClientData)this); + Tk_CreateFileHandler(fd, mask, callback, (ClientData)this); } void IOHandler::unlink() { if (fd_ >= 0) { - Tk_DeleteFileHandler((ClientData) fd_); + Tk_DeleteFileHandler(fd_); fd_ = -1; } } --- main.cc.orig Wed Jan 15 16:44:05 1997 +++ main.cc Tue Nov 2 17:07:41 1999 @@ -28,10 +28,8 @@ #endif #include -#ifdef _AIX #include #include -#endif /* Get FD_SETSIZE */ #if defined(linux) @@ -79,7 +77,7 @@ else { Tk_Window tk = t.tkmain(); Tk_Uid uid = Tk_GetUid((char*)argv[1]); - XFontStruct* p = Tk_GetFontStruct(t.interp(), tk, uid); + Tk_Font p = Tk_GetFont(t.interp(), tk, uid); t.result(p != 0 ? "1" : "0"); } return (TCL_OK); --- member.cc.orig Wed Jan 15 16:44:05 1997 +++ member.cc Tue Nov 2 17:08:40 1999 @@ -31,6 +31,8 @@ #include "Tcl.h" #include "member.h" +#include + #ifndef HAVE_SNPRINTF extern "C" { int snprintf(char* buf, int s, const char* fmt, ...); --- monitor.cc.orig Wed Jan 15 16:44:05 1997 +++ monitor.cc Tue Nov 2 17:09:04 1999 @@ -922,7 +922,7 @@ sprintf(val, "%u ms", j); break; } - Tcl_SetVar2(interp, "median", s->name(), val, TCL_GLOBAL_ONLY); + Tcl_SetVar2(interp, "median", (char*)s->name(), val, TCL_GLOBAL_ONLY); } } --- tkStripchart.c.orig Wed Jan 15 16:44:06 1997 +++ tkStripchart.c Tue Nov 2 17:18:48 1999 @@ -30,10 +30,6 @@ #include #include "tk.h" -#if TK_MINOR_VERSION<1 -#define Tk_Cursor Cursor -#endif - #define BLACK "Black" #define WHITE "White" #define GRAY "#b0b0b0" @@ -145,7 +141,7 @@ int scrollrequired; int guarantee_draw; int grow_up; - XFontStruct *fontPtr; /* Information about text font, or NULL. */ + Tk_Font font; /* TK font */ XColor *textColorPtr; /* Color for drawing text. */ GC textGC; /* GC for drawing text. */ XColor *tickColorPtr; /* Color for drawing ticks. */ @@ -254,7 +250,7 @@ {TK_CONFIG_SYNONYM, "-fg", "stripcolor", 0, 0, 0, 0}, {TK_CONFIG_FONT, "-font", "font", "Font", - DEF_STRIPCHART_FONT, Tk_Offset(Stripchart, fontPtr), + DEF_STRIPCHART_FONT, Tk_Offset(Stripchart, font), 0}, {TK_CONFIG_BOOLEAN, "-guaranteedrawing", "guaranteedrawing", "Guaranteedrawing", DEF_GUARANTEE_DRAW, @@ -567,8 +563,8 @@ if (StripchartPtr->value != NULL) free(StripchartPtr->value); - if (StripchartPtr->fontPtr != NULL) - Tk_FreeFontStruct(StripchartPtr->fontPtr); + if (StripchartPtr->font != NULL) + Tk_FreeFont(StripchartPtr->font); if (StripchartPtr->textColorPtr != NULL) Tk_FreeColor(StripchartPtr->textColorPtr); @@ -628,7 +624,7 @@ Tk_SetBackgroundFromBorder(StripchartPtr->tkwin, StripchartPtr->border); - gcValues.font = StripchartPtr->fontPtr->fid; + gcValues.font = Tk_FontId(StripchartPtr->font); gcValues.foreground = StripchartPtr->textColorPtr->pixel; newGC = Tk_GetGC(StripchartPtr->tkwin, GCForeground|GCFont, &gcValues); if (StripchartPtr->textGC != None && StripchartPtr->tkwin) { @@ -689,9 +685,11 @@ { int tt = hasatitle(StripchartPtr); int bd = StripchartPtr->borderWidth; - int lineHeight = StripchartPtr->fontPtr->ascent + - StripchartPtr->fontPtr->descent; + int lineHeight; + Tk_FontMetrics metrics; + Tk_GetFontMetrics(StripchartPtr->font, &metrics); + lineHeight = metrics.ascent + metrics.descent; Tk_GeometryRequest(StripchartPtr->tkwin, 2 * (bd + PADDING) + StripchartPtr->num_strips * StripchartPtr->strip_width, @@ -723,11 +721,14 @@ /* * Variable declarations used in the title drawing routines */ - XFontStruct *fp = StripchartPtr->fontPtr; XCharStruct bbox; int x, dummy; - int lineHeight = StripchartPtr->fontPtr->ascent + - StripchartPtr->fontPtr->descent; + Tk_Font tkf = StripchartPtr->font; + int lineHeight; + Tk_FontMetrics fm; + + Tk_GetFontMetrics(tkf, &fm); + lineHeight = fm.ascent + fm.descent; StripchartPtr->displaybits &= ~REDRAW_PENDING; if ((StripchartPtr->tkwin == NULL) || !Tk_IsMapped(tkwin)) @@ -744,19 +745,20 @@ * space. Otherwise left justified and clipped on the right. */ if (tt && StripchartPtr->displaybits & DISPLAY_TITLE) { - XTextExtents(fp, StripchartPtr->title, - strlen(StripchartPtr->title), - &dummy, &dummy, &dummy, &bbox); - if (bbox.lbearing + bbox.rbearing < Tk_Width(tkwin) - 2 * bd) - x = (Tk_Width(tkwin) - bbox.lbearing - bbox.rbearing)/2; + int width = Tk_TextWidth(tkf, StripchartPtr->title, + strlen(StripchartPtr->title)); + if (width < Tk_Width(tkwin) - 2 * bd) + x = (Tk_Width(tkwin) - width)/2; else - x = bd + PADDING; - + x = bd + PADDING; XClearArea(Tk_Display(tkwin), Tk_WindowId(tkwin), bd, bd, - Tk_Width(tkwin) - 2 * bd, lineHeight + PADDING, False); + Tk_Width(tkwin) - 2*bd, + lineHeight + PADDING, False); + /* XXX In the absence of max_bounds, approximate... */ XDrawString(Tk_Display(tkwin), Tk_WindowId(tkwin), - StripchartPtr->textGC, x, fp->max_bounds.ascent + bd, - StripchartPtr->title, strlen(StripchartPtr->title)); + StripchartPtr->textGC, x, fm.ascent + bd, + StripchartPtr->title, + strlen(StripchartPtr->title)); } /* * draw the strips @@ -827,7 +829,8 @@ Tk_CancelIdleCall(DisplayStripchart, (ClientData)StripchartPtr); } - Tk_EventuallyFree((ClientData)StripchartPtr, DestroyStripchart); + Tk_EventuallyFree((ClientData)StripchartPtr, + (Tcl_FreeProc*)DestroyStripchart); } else if (eventPtr->type == ConfigureNotify) { int n = eventPtr->xconfigure.width; n -= 2 * (StripchartPtr->borderWidth + PADDING); @@ -1056,14 +1059,20 @@ DrawStripi(Stripchart* SPtr, int i) { Tk_Window tkwin = SPtr->tkwin; - int lineHeight = SPtr->fontPtr->ascent + SPtr->fontPtr->descent; + int lineHeight; int x = SPtr->borderWidth + PADDING + (i - 1) * SPtr->strip_width; - int y = SPtr->borderWidth + PADDING + - hasatitle(SPtr) * (lineHeight + PADDING); + int y; int w = SPtr->strip_width; int h; double maxv = SPtr->max_value; double minv = SPtr->min_value; + Tk_FontMetrics metrics; + + Tk_GetFontMetrics(SPtr->font, &metrics); + lineHeight = metrics.ascent + metrics.descent; + + y = SPtr->borderWidth + PADDING + + hasatitle(SPtr) * (lineHeight + PADDING); if (i < 1 || i > SPtr->num_strips) return; @@ -1135,14 +1144,20 @@ ScrollStrips(Stripchart* SPtr) { Tk_Window tkwin = SPtr->tkwin; - int lineHeight = SPtr->fontPtr->ascent + SPtr->fontPtr->descent; + int lineHeight; int src_x = SPtr->borderWidth + PADDING + SPtr->strip_width; - int src_y = SPtr->borderWidth + PADDING + - hasatitle(SPtr) * (lineHeight + PADDING); + int src_y; int dest_x = src_x - SPtr->strip_width; int dest_y = src_y; int w = (SPtr->num_strips - 1) * SPtr->strip_width; int h = SPtr->max_height; + Tk_FontMetrics metrics; + + Tk_GetFontMetrics(SPtr->font, &metrics); + lineHeight = metrics.ascent = metrics.descent; + + src_y = SPtr->borderWidth + PADDING + + hasatitle(SPtr) * (lineHeight + PADDING); XCopyArea(Tk_Display(tkwin), Tk_WindowId(tkwin), Tk_WindowId(tkwin), Tk_GetGC(tkwin, 0, NULL), src_x, src_y, w, h, dest_x, dest_y); --- ui-display.tcl.orig Wed Jan 15 16:44:06 1997 +++ ui-display.tcl Tue Nov 2 17:19:30 1999 @@ -307,7 +307,7 @@ bind $b "$b conf -bg [option get . background Rtpmon]" bind $b "CreateInfoWindow $s" - menu $b.menu -transient yes + menu $b.menu $b.menu add command -label "Site Info" -font [resource smallfont] \ -command "CreateInfoWindow $s" $b.menu add command -label "Ignore" -font [resource smallfont] \