1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
|
$NetBSD: patch-ab,v 1.2 2007/02/23 20:17:47 drochner Exp $
--- xclock.c.orig 1995-05-22 13:47:42.000000000 +0200
+++ xclock.c
@@ -264,10 +264,29 @@ static Boolean showSecondHand = False;
static Boolean iconified = False; /* Clock iconified? */
-
-
-
-
+static void ParseGeometry(Widget, int, int, int);
+static int Round(double);
+static void DigitalString(char *);
+static void Syntax(char *);
+static void InitializeCat(Pixel, Pixel, Pixel);
+static GC CreateTailGC(void);
+static GC CreateEyeGC(void);
+static Pixmap CreateTailPixmap(double);
+static Pixmap CreateEyePixmap(double);
+static void EraseHands(Widget, struct tm *);
+static XtCallbackProc HandleExpose(Widget, XtPointer, XmDrawingAreaCallbackStruct *);
+static XtCallbackProc HandleInput(Widget, XtPointer, XmDrawingAreaCallbackStruct *);
+static XtCallbackProc HandleResize(Widget, XtPointer, XmDrawingAreaCallbackStruct *);
+static XtTimerCallbackProc Tick(Widget, int);
+static XtCallbackProc AlarmSetCallback(Widget, XtPointer, XmToggleButtonCallbackStruct *);
+static XtCallbackProc AlarmBellCallback(Widget, XtPointer, XmToggleButtonCallbackStruct *);
+static XtCallbackProc ChimeCallback(Widget, XtPointer, XmToggleButtonCallbackStruct *);
+static XtCallbackProc AckAlarmCallback(Widget, XtPointer, XmPushButtonCallbackStruct *);
+static XtCallbackProc RereadAlarmCallback(Widget, Widget, XmPushButtonCallbackStruct *);
+static XtCallbackProc EditAlarmCallback(Widget, Widget, XmPushButtonCallbackStruct *);
+static XtCallbackProc ExitCallback(Widget, XtPointer, XmPushButtonCallbackStruct *);
+static XtEventHandler MapCallback(Widget, XtPointer, XEvent *);
+static void SetSeg(int, int, int, int);
main(argc, argv)
int argc;
@@ -281,7 +300,6 @@ main(argc, argv)
XGCValues gcv;
u_long valueMask;
XmFontList fontList = (XmFontList)NULL;
- extern void ParseGeometry();
static XtResource resources[] = {
@@ -351,7 +369,7 @@ main(argc, argv)
{ "mode", "Mode", XtRString, sizeof(char *),
XtOffset(ApplicationDataPtr, modeString),
- XtRImmediate, (XtPointer)"analog"},
+ XtRImmediate, (XtPointer)"cat"},
{ "help", "Help", XtRBoolean, sizeof(Boolean),
XtOffset(ApplicationDataPtr, help),
@@ -391,7 +409,6 @@ main(argc, argv)
{ "-help", "*help", XrmoptionNoArg, (XtPointer)"on" },
};
- extern XtEventHandler MapCallback();
/*
@@ -403,7 +420,7 @@ main(argc, argv)
/*
* Open up the system
*/
- topLevel = XtAppInitialize(&appContext, "XClock",
+ topLevel = XtAppInitialize(&appContext, "Catclock",
(XrmOptionDescList)(&options[0]),
XtNumber(options),
(unsigned int *)&argc, argv, NULL,
@@ -418,7 +435,6 @@ main(argc, argv)
* Print help message and exit if asked
*/
if (appData.help) {
- extern void Syntax();
Syntax(argv[0]);
}
@@ -568,7 +584,6 @@ main(argc, argv)
time_t timeValue;
int stringDir;
XCharStruct xCharStr;
- extern void DigitalString();
/*
* Padding is around time text
@@ -794,7 +809,6 @@ main(argc, argv)
* Create cat pixmaps, etc. if in CAT_CLOCK mode
*/
if (clockMode == CAT_CLOCK) {
- extern void InitializeCat();
InitializeCat(appData.catColor,
appData.detailColor,
@@ -806,9 +820,6 @@ main(argc, argv)
* Finally, install necessary callbacks
*/
{
- extern XtCallbackProc HandleExpose(),
- HandleResize(),
- HandleInput();
XtAddCallback(canvas, XmNexposeCallback, HandleExpose, NULL);
XtAddCallback(canvas, XmNresizeCallback, HandleResize, NULL);
@@ -1191,7 +1202,6 @@ static void DrawLine(blankLength, length
double fractionOfACircle;
{
double angle, cosAngle, sinAngle;
- extern void SetSeg();
/*
* A full circle is 2 M_PI radians.
@@ -1288,7 +1298,6 @@ static void DrawSecond(length, width, of
double ms, mc, ws, wc;
int mid;
int x, y;
- extern void SetSeg();
/*
* A full circle is 2 PI radians.
@@ -1477,8 +1486,6 @@ static void InitializeCat(catColor, deta
XGCValues gcv;
unsigned long valueMask;
GC gc1, gc2;
- extern GC CreateTailGC();
- extern GC CreateEyeGC();
catPix = XCreatePixmap(dpy, root, winWidth, winHeight,
@@ -1562,8 +1569,6 @@ static void InitializeCat(catColor, deta
eyePixmap = (Pixmap *)malloc((appData.nTails + 1) * sizeof(Pixmap));
for (i = 0; i <= appData.nTails; i++) {
- static Pixmap CreateTailPixmap();
- static Pixmap CreateEyePixmap();
tailPixmap[i] = CreateTailPixmap(i * M_PI/(appData.nTails));
eyePixmap[i] = CreateEyePixmap(i * M_PI/(appData.nTails));
@@ -1934,7 +1939,6 @@ static XtCallbackProc HandleExpose(w, cl
XtPointer clientData;
XmDrawingAreaCallbackStruct *callData;
{
- extern XtTimerCallbackProc Tick();
/*
* Ignore if more expose events for this window in the queue
@@ -2180,13 +2184,6 @@ static XtCallbackProc HandleInput(w, cli
ackW, rereadW, editW, exitW;
static Widget sepW1, sepW2;
- extern XtCallbackProc AlarmSetCallback(),
- AlarmBellCallback(),
- ChimeCallback(),
- AckAlarmCallback(),
- RereadAlarmCallback(),
- EditAlarmCallback(),
- ExitCallback();
if (callData->event->type != ButtonPress) {
return;
|