summaryrefslogtreecommitdiff
path: root/Clock.c
diff options
context:
space:
mode:
Diffstat (limited to 'Clock.c')
-rw-r--r--Clock.c298
1 files changed, 149 insertions, 149 deletions
diff --git a/Clock.c b/Clock.c
index 8ce3696..cbb0e42 100644
--- a/Clock.c
+++ b/Clock.c
@@ -30,13 +30,13 @@ Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
All Rights Reserved
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
+both that copyright notice and this permission notice appear in
supporting documentation, and that the name of Digital not be
used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
+software without specific, written prior permission.
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
@@ -123,7 +123,7 @@ SOFTWARE.
extern Boolean no_locale; /* if True, use old (unlocalized) behaviour */
#endif
-
+
/* Private Definitions */
#define VERTICES_IN_HANDS 6 /* to draw triangle */
@@ -155,7 +155,7 @@ static XtResource resources[] = {
goffset(width), XtRImmediate, (XtPointer) 0},
{XtNheight, XtCHeight, XtRDimension, sizeof(Dimension),
goffset(height), XtRImmediate, (XtPointer) 0},
- {XtNupdate, XtCInterval, XtRInt, sizeof(int),
+ {XtNupdate, XtCInterval, XtRInt, sizeof(int),
offset(update), XtRImmediate, (XtPointer) 60 },
#ifndef XRENDER
{XtNforeground, XtCForeground, XtRPixel, sizeof(Pixel),
@@ -183,7 +183,7 @@ static XtResource resources[] = {
offset(font), XtRString, XtDefaultFont},
#ifndef NO_I18N
{XtNfontSet, XtCFontSet, XtRFontSet, sizeof(XFontSet),
- offset(fontSet), XtRString, XtDefaultFontSet},
+ offset(fontSet), XtRString, XtDefaultFontSet},
#endif
{XtNbackingStore, XtCBackingStore, XtRBackingStore, sizeof (int),
offset (backing_store), XtRString, "default"},
@@ -215,9 +215,9 @@ static XtResource resources[] = {
#undef goffset
static void ClassInitialize ( void );
-static void Initialize ( Widget request, Widget new, ArgList args,
+static void Initialize ( Widget request, Widget new, ArgList args,
Cardinal *num_args );
-static void Realize ( Widget gw, XtValueMask *valueMask,
+static void Realize ( Widget gw, XtValueMask *valueMask,
XSetWindowAttributes *attrs );
static void Destroy ( Widget gw );
static void Resize ( Widget gw );
@@ -225,16 +225,16 @@ static void Redisplay ( Widget gw, XEvent *event, Region region );
static void clock_tic ( XtPointer client_data, XtIntervalId *id );
static void erase_hands ( ClockWidget w, struct tm *tm );
static void ClockAngle ( int tick_units, double *sinp, double *cosp );
-static void DrawLine ( ClockWidget w, Dimension blank_length,
+static void DrawLine ( ClockWidget w, Dimension blank_length,
Dimension length, int tick_units );
-static void DrawHand ( ClockWidget w, Dimension length, Dimension width,
+static void DrawHand ( ClockWidget w, Dimension length, Dimension width,
int tick_units );
-static void DrawSecond ( ClockWidget w, Dimension length, Dimension width,
+static void DrawSecond ( ClockWidget w, Dimension length, Dimension width,
Dimension offset, int tick_units );
static void SetSeg ( ClockWidget w, int x1, int y1, int x2, int y2 );
static void DrawClockFace ( ClockWidget w );
static int clock_round ( double x );
-static Boolean SetValues ( Widget gcurrent, Widget grequest, Widget gnew,
+static Boolean SetValues ( Widget gcurrent, Widget grequest, Widget gnew,
ArgList args, Cardinal *num_args );
#if !defined(NO_I18N) && defined(HAVE_ICONV)
static char *clock_to_utf8(const char *str, int in_len);
@@ -311,7 +311,7 @@ static void CvtStringToPixmap(
if (strcmp(name, "None") == 0) {
pmap = None;
- } else {
+ } else {
screen = *((Screen **) args[0].addr);
dpy = DisplayOfScreen(screen);
@@ -319,7 +319,7 @@ static void CvtStringToPixmap(
&shapemask, NULL);
}
- (*toVal).size = sizeof(Pixmap);
+ (*toVal).size = sizeof(Pixmap);
(*toVal).addr = (XPointer) &pmap ;
}
#endif
@@ -359,7 +359,7 @@ XmuFreeXftColor (XtAppContext app, XrmValuePtr toVal, XtPointer closure,
Screen *screen;
Colormap colormap;
XftColor *color;
-
+
if (*num_args != 2)
{
XtAppErrorMsg (app,
@@ -378,7 +378,7 @@ XmuFreeXftColor (XtAppContext app, XrmValuePtr toVal, XtPointer closure,
XScreenNumberOfScreen (screen)),
colormap, color);
}
-
+
static Boolean
XmuCvtStringToXftColor(Display *dpy,
XrmValue *args, Cardinal *num_args,
@@ -390,7 +390,7 @@ XmuCvtStringToXftColor(Display *dpy,
XftColor xftColor;
Screen *screen;
Colormap colormap;
-
+
if (*num_args != 2)
{
XtAppErrorMsg (XtDisplayToApplicationContext (dpy),
@@ -421,14 +421,14 @@ XmuCvtStringToXftColor(Display *dpy,
}
else if (!XRenderParseColor (dpy, spec, &renderColor))
return False;
- if (!XftColorAllocValue (dpy,
+ if (!XftColorAllocValue (dpy,
DefaultVisual (dpy,
XScreenNumberOfScreen (screen)),
colormap,
&renderColor,
&xftColor))
return False;
-
+
donestr (XftColor, xftColor, XtRXftColor);
}
@@ -438,7 +438,7 @@ XmuFreeXftFont (XtAppContext app, XrmValuePtr toVal, XtPointer closure,
{
Screen *screen;
XftFont *font;
-
+
if (*num_args != 1)
{
XtAppErrorMsg (app,
@@ -464,7 +464,7 @@ XmuCvtStringToXftFont(Display *dpy,
char *name;
XftFont *font;
Screen *screen;
-
+
if (*num_args != 1)
{
XtAppErrorMsg (XtDisplayToApplicationContext (dpy),
@@ -477,7 +477,7 @@ XmuCvtStringToXftFont(Display *dpy,
screen = *((Screen **) args[0].addr);
name = (char *) fromVal->addr;
-
+
font = XftFontOpenName (dpy,
XScreenNumberOfScreen (screen),
name);
@@ -496,24 +496,24 @@ static XtConvertArgRec xftFontConvertArgs[] = {
#endif
-static void
+static void
ClassInitialize(void)
{
#ifdef USE_XAW_PIXMAP_CVT
XawInitializeWidgetSet();
-#else
+#else
static XtConvertArgRec scrnConvertArg[] = {
- {XtBaseOffset, (XtPointer) XtOffset(Widget, core.screen),
+ {XtBaseOffset, (XtPointer) XtOffset(Widget, core.screen),
sizeof(Screen *)}
};
- XtAddConverter( XtRString, XtRPixmap, CvtStringToPixmap,
+ XtAddConverter( XtRString, XtRPixmap, CvtStringToPixmap,
scrnConvertArg, XtNumber(scrnConvertArg));
#endif
XtAddConverter( XtRString, XtRBackingStore, XmuCvtStringToBackingStore,
NULL, 0 );
#ifdef XRENDER
- XtSetTypeConverter (XtRString, XtRXftColor,
- XmuCvtStringToXftColor,
+ XtSetTypeConverter (XtRString, XtRXftColor,
+ XmuCvtStringToXftColor,
xftColorConvertArgs, XtNumber(xftColorConvertArgs),
XtCacheByDisplay, XmuFreeXftColor);
XtSetTypeConverter (XtRString, XtRXftFont,
@@ -552,9 +552,9 @@ TimeString (ClockWidget w, struct tm *tm)
sprintf (utime, "%10lu seconds since Epoch", (unsigned long)tsec);
return utime;
} else if (*w->clock.strftime) {
- /*Note: this code is probably excessively paranoid
+ /*Note: this code is probably excessively paranoid
about buffer overflow. The extra size 10 padding
- is also meant as a further guard against programmer
+ is also meant as a further guard against programmer
error, although it is a little controversial*/
static char ctime[STRFTIME_BUFF_SIZE+10];
ctime[0] = ctime[STRFTIME_BUFF_SIZE] = '\0';
@@ -576,7 +576,7 @@ TimeString (ClockWidget w, struct tm *tm)
}
/* ARGSUSED */
-static void
+static void
Initialize (Widget request, Widget new, ArgList args, Cardinal *num_args)
{
ClockWidget w = (ClockWidget)new;
@@ -597,7 +597,7 @@ Initialize (Widget request, Widget new, ArgList args, Cardinal *num_args)
Time_t time_value;
int len;
-#ifndef NO_I18N
+#ifndef NO_I18N
w->clock.utf8 = False;
if (!no_locale) {
@@ -635,8 +635,8 @@ Initialize (Widget request, Widget new, ArgList args, Cardinal *num_args)
#ifndef NO_I18N
# ifdef HAVE_ICONV
char *utf8_str;
-# endif
- if (w->clock.utf8)
+# endif
+ if (w->clock.utf8)
XftTextExtentsUtf8 (XtDisplay (w), w->clock.face,
(FcChar8 *) str, len, &extents);
# ifdef HAVE_ICONV
@@ -645,7 +645,7 @@ Initialize (Widget request, Widget new, ArgList args, Cardinal *num_args)
(FcChar8 *)utf8_str, strlen(utf8_str), &extents);
free(utf8_str);
}
-# endif
+# endif
else
#endif
XftTextExtents8 (XtDisplay (w), w->clock.face,
@@ -658,7 +658,7 @@ Initialize (Widget request, Widget new, ArgList args, Cardinal *num_args)
else
#endif
{ /* not XRENDER block */
-#ifndef NO_I18N
+#ifndef NO_I18N
if (!no_locale) {
XFontSetExtents *fse;
@@ -674,7 +674,7 @@ Initialize (Widget request, Widget new, ArgList args, Cardinal *num_args)
if (w->clock.fontSet != NULL) {
/* don't free this... it's freed with the XFontSet. */
fse = XExtentsOfFontSet(w->clock.fontSet);
-
+
min_width = XmbTextEscapement(w->clock.fontSet,str,len) +
2 * w->clock.padding;
min_height = fse->max_logical_extent.height +
@@ -741,7 +741,7 @@ Initialize (Widget request, Widget new, ArgList args, Cardinal *num_args)
#ifdef XRENDER
{
int major, minor;
-
+
if (XRenderQueryVersion (XtDisplay (w), &major, &minor) &&
(major > 0 ||
(major == 0 && minor >= 4)))
@@ -782,7 +782,7 @@ RenderPrepare (ClockWidget w, XftColor *color)
}
d = w->clock.pixmap;
}
-
+
w->clock.draw = XftDrawCreate (XtDisplay (w), d,
DefaultVisual (XtDisplay (w),
DefaultScreen(XtDisplay (w))),
@@ -817,7 +817,7 @@ RenderClip (ClockWidget w)
}
static void
-RenderTextBounds (ClockWidget w, char *str, int off, int len,
+RenderTextBounds (ClockWidget w, char *str, int off, int len,
XRectangle *bounds, int *xp, int *yp)
{
XGlyphInfo head, tail;
@@ -829,9 +829,9 @@ RenderTextBounds (ClockWidget w, char *str, int off, int len,
# endif
if (w->clock.utf8)
{
- XftTextExtentsUtf8 (XtDisplay (w), w->clock.face,
+ XftTextExtentsUtf8 (XtDisplay (w), w->clock.face,
(FcChar8 *) str, off, &head);
- XftTextExtentsUtf8 (XtDisplay (w), w->clock.face,
+ XftTextExtentsUtf8 (XtDisplay (w), w->clock.face,
(FcChar8 *) str + off, len - off, &tail);
}
# ifdef HAVE_ICONV
@@ -841,20 +841,20 @@ RenderTextBounds (ClockWidget w, char *str, int off, int len,
(FcChar8 *)utf8_str, strlen(utf8_str), &head);
free(utf8_str);
if ((utf8_str = clock_to_utf8(str+off, len-off)) != NULL) {
- XftTextExtentsUtf8 (XtDisplay (w), w->clock.face,
+ XftTextExtentsUtf8 (XtDisplay (w), w->clock.face,
(FcChar8 *)utf8_str, strlen(utf8_str), &tail);
free(utf8_str);
} else
goto fallback;
}
-# endif
+# endif
else
#endif
{
fallback:
- XftTextExtents8 (XtDisplay (w), w->clock.face, (FcChar8 *) str,
+ XftTextExtents8 (XtDisplay (w), w->clock.face, (FcChar8 *) str,
off, &head);
- XftTextExtents8 (XtDisplay (w), w->clock.face, (FcChar8 *) str + off,
+ XftTextExtents8 (XtDisplay (w), w->clock.face, (FcChar8 *) str + off,
len - off, &tail);
}
@@ -879,17 +879,17 @@ RenderUpdateRectBounds (XRectangle *damage, XRectangle *bounds)
{
int x1 = bounds->x;
int y1 = bounds->y;
- int x2 = bounds->x + bounds->width;
- int y2 = bounds->y + bounds->height;
+ int x2 = bounds->x + bounds->width;
+ int y2 = bounds->y + bounds->height;
int d_x1 = damage->x;
int d_y1 = damage->y;
- int d_x2 = damage->x + damage->width;
- int d_y2 = damage->y + damage->height;
+ int d_x2 = damage->x + damage->width;
+ int d_y2 = damage->y + damage->height;
- if (x1 == x2)
- {
- x1 = d_x1;
- x2 = d_x2;
+ if (x1 == x2)
+ {
+ x1 = d_x1;
+ x2 = d_x2;
}
else
{
@@ -918,13 +918,13 @@ RenderRectIn (XRectangle *rect, XRectangle *bounds)
{
int x1 = bounds->x;
int y1 = bounds->y;
- int x2 = bounds->x + bounds->width;
- int y2 = bounds->y + bounds->height;
+ int x2 = bounds->x + bounds->width;
+ int y2 = bounds->y + bounds->height;
int r_x1 = rect->x;
int r_y1 = rect->y;
- int r_x2 = rect->x + rect->width;
- int r_y2 = rect->y + rect->height;
-
+ int r_x2 = rect->x + rect->width;
+ int r_y2 = rect->y + rect->height;
+
return r_x1 < x2 && x1 < r_x2 && r_y1 < y2 && y1 < r_y2;
}
@@ -939,9 +939,9 @@ RenderUpdateBounds (XPointDouble *points, int npoints, XRectangle *bounds)
{
int x1 = bounds->x;
int y1 = bounds->y;
- int x2 = bounds->x + bounds->width;
- int y2 = bounds->y + bounds->height;
-
+ int x2 = bounds->x + bounds->width;
+ int y2 = bounds->y + bounds->height;
+
while (npoints--)
{
int r_x1 = points[0].x;
@@ -970,9 +970,9 @@ RenderCheckBounds (XPointDouble *points, int npoints, XRectangle *bounds)
{
int x1 = bounds->x;
int y1 = bounds->y;
- int x2 = bounds->x + bounds->width;
- int y2 = bounds->y + bounds->height;
-
+ int x2 = bounds->x + bounds->width;
+ int y2 = bounds->y + bounds->height;
+
while (npoints--)
{
if (x1 <= points->x && points->x <= x2 &&
@@ -1019,13 +1019,13 @@ RenderLine (ClockWidget w, XDouble x1, XDouble y1, XDouble x2, XDouble y2,
poly[0].x = XCoord (x1 + ldx, w);
poly[0].y = YCoord (y1 - ldy, w);
-
+
poly[1].x = XCoord (x2 + ldx, w);
poly[1].y = YCoord (y2 - ldy, w);
-
+
poly[2].x = XCoord (x2 - ldx, w);
poly[2].y = YCoord (y2 + ldy, w);
-
+
poly[3].x = XCoord (x1 - ldx, w);
poly[3].y = YCoord (y1 + ldy, w);
@@ -1074,7 +1074,7 @@ RenderHand (ClockWidget w, int tick_units, int size, XftColor *color,
RenderRotate (w, &poly[0], outer_x, 0.0, s, c);
RenderRotate (w, &poly[1], -inner_y, inner_y, s, c);
RenderRotate (w, &poly[2], -inner_y, -inner_y, s, c);
-
+
if (draw)
{
if (RenderCheckBounds (poly, 3, &w->clock.damage))
@@ -1108,9 +1108,9 @@ RenderSec (ClockWidget w, struct tm *tm, Boolean draw)
double line_y;
ClockAngle (tm->tm_sec * 60, &c, &s);
-
+
s = -s;
-
+
/*
* Compute raw positions
*/
@@ -1120,7 +1120,7 @@ RenderSec (ClockWidget w, struct tm *tm, Boolean draw)
outer_x = (SECOND_HAND_FRACT / 100.0);
far_x = (MINOR_TICK_FRACT / 100.0);
middle_y = (SECOND_WIDTH_FRACT / 100.0);
-
+
/*
* Rotate them into position
*/
@@ -1156,7 +1156,7 @@ RenderSec (ClockWidget w, struct tm *tm, Boolean draw)
#endif
-static void
+static void
Realize(Widget gw, XtValueMask *valueMask, XSetWindowAttributes *attrs)
{
ClockWidget w = (ClockWidget) gw;
@@ -1177,7 +1177,7 @@ Realize(Widget gw, XtValueMask *valueMask, XSetWindowAttributes *attrs)
Resize(gw);
}
-static void
+static void
Destroy(Widget gw)
{
ClockWidget w = (ClockWidget) gw;
@@ -1194,8 +1194,8 @@ Destroy(Widget gw)
XtReleaseGC (gw, w->clock.EraseGC);
}
-static void
-Resize(Widget gw)
+static void
+Resize(Widget gw)
{
ClockWidget w = (ClockWidget) gw;
/* don't do this computation if window hasn't been realized yet. */
@@ -1233,7 +1233,7 @@ Resize(Widget gw)
}
/* ARGSUSED */
-static void
+static void
Redisplay(Widget gw, XEvent *event, Region region)
{
ClockWidget w = (ClockWidget) gw;
@@ -1258,11 +1258,11 @@ Redisplay(Widget gw, XEvent *event, Region region)
clock_tic((XtPointer)w, (XtIntervalId *)NULL);
}
-/* Choose the update times for well-defined clock states.
+/* Choose the update times for well-defined clock states.
*
- * For example, in HH:MM:SS notation the last number rolls over
- * every 60 seconds and has at most 60 display states. The sequence
- * depends on its initial value t0 and the update period u, e.g.
+ * For example, in HH:MM:SS notation the last number rolls over
+ * every 60 seconds and has at most 60 display states. The sequence
+ * depends on its initial value t0 and the update period u, e.g.
*
* u (s) d (s) ti (s) m (states) l (s)
* 2 2 {0,2, .. 58} 30 60
@@ -1280,41 +1280,41 @@ Redisplay(Widget gw, XEvent *event, Region region)
* l= the total sequence duration =m*u.
* d= gcd(n,u) the greatest common divisor
*
- * The time t(i) determines the clock state. It follows from
+ * The time t(i) determines the clock state. It follows from
*
- * t(i)=t(i-1)+u mod n <=> t(i)=t(0)+i*u mod n
+ * t(i)=t(i-1)+u mod n <=> t(i)=t(0)+i*u mod n
*
- * which defines a { t(0) .. t(m-1) } sequence of m unique elements.
- * Hence, u generates a subgroup U={k*u mod n : k in Z} of Z/nZ so
- * its order m divides n. This m satisfies
+ * which defines a { t(0) .. t(m-1) } sequence of m unique elements.
+ * Hence, u generates a subgroup U={k*u mod n : k in Z} of Z/nZ so
+ * its order m divides n. This m satisfies
*
- * t(m)=t(0) <=> m*u mod n = 0 <=> m*u = r*n <=> m=n/d, r=u/d
+ * t(m)=t(0) <=> m*u mod n = 0 <=> m*u = r*n <=> m=n/d, r=u/d
*
- * where d divides n and u. Choosing
+ * where d divides n and u. Choosing
*
* d=gcd(n,u) <=> n/d and u/d are coprime => m=n/d is minimum
*
- * thus gives the order. Furthermore, the greatest common divisor d is
- * also the minimum value generator of the set U. Assume a generator e
- * where
+ * thus gives the order. Furthermore, the greatest common divisor d is
+ * also the minimum value generator of the set U. Assume a generator e
+ * where
*
- * e|{n,u} <=> Ai,Ej: i*u mod n = j*e <=> j=f(i)=(i*u mod n)/e
+ * e|{n,u} <=> Ai,Ej: i*u mod n = j*e <=> j=f(i)=(i*u mod n)/e
*
- * such that f maps i to m=ord(u) unique values of j. Its properties are
+ * such that f maps i to m=ord(u) unique values of j. Its properties are
*
* j=i*u/e mod n/e ==> 0<=j<n/e
*
* ord(u/e, mod n/e)=n/e/gcd(n/e,u/e)=n/d=m ==> J={j=f(i)}, |J|=m
*
- * ord(e)=n/gcd(n,e)=n/e
+ * ord(e)=n/gcd(n,e)=n/e
*
- * from wich follows
+ * from wich follows
*
- * e=d ==> f: I={0,..,m-1} -> J={0,..,m-1}: j=i*r mod m is bijective
+ * e=d ==> f: I={0,..,m-1} -> J={0,..,m-1}: j=i*r mod m is bijective
* ==> D={k*d mod n : k in Z} = U.
*
- * Any value e below d is no generator since it yields a non contiguous
- * J such that an l=0..n/e-1 exists not in J with l*e not in U.
+ * Any value e below d is no generator since it yields a non contiguous
+ * J such that an l=0..n/e-1 exists not in J with l*e not in U.
*
* The update sequence t(i) could be followed using the algorithm:
*
@@ -1324,21 +1324,21 @@ Redisplay(Widget gw, XEvent *event, Region region)
* 4. calculate the time to wait w=t(i+1)-tc(i) mod n,
* 5. store t(i+1),
*
- * which implements state tracking. This approach doesn't work well
- * since the set timeout w does not guarantee a next call at time
- * t(i+1), e.g. due to progam sleeps, time adjustments, and leap
- * seconds. A robust method should only rely on the current time
+ * which implements state tracking. This approach doesn't work well
+ * since the set timeout w does not guarantee a next call at time
+ * t(i+1), e.g. due to progam sleeps, time adjustments, and leap
+ * seconds. A robust method should only rely on the current time
* tc(i) to identify t(i). The derivation above shows 2 options:
*
- * 1. n={60,3600} and round to a multiple of d,
+ * 1. n={60,3600} and round to a multiple of d,
* but if d<u then the sequence is not guaranteed.
- * 2. choose n large and round to a multiple of u,
- * but then the sequence resets at roll-over.
+ * 2. choose n large and round to a multiple of u,
+ * but then the sequence resets at roll-over.
*
- * The code below implements (2) with n this year's duration in seconds
- * and using local time year's start as epoch.
+ * The code below implements (2) with n this year's duration in seconds
+ * and using local time year's start as epoch.
*/
-static unsigned long
+static unsigned long
waittime(int update, struct timeval *tv, struct tm *tm)
{
int twait;
@@ -1371,11 +1371,11 @@ waittime(int update, struct timeval *tv, struct tm *tm)
}
/* ARGSUSED */
-static void
+static void
clock_tic(XtPointer client_data, XtIntervalId *id)
{
- ClockWidget w = (ClockWidget)client_data;
- struct tm tm;
+ ClockWidget w = (ClockWidget)client_data;
+ struct tm tm;
Time_t time_value;
struct timeval tv;
char *time_ptr;
@@ -1388,7 +1388,7 @@ clock_tic(XtPointer client_data, XtIntervalId *id)
if (w->clock.update && (id || !w->clock.interval_id))
w->clock.interval_id =
XtAppAddTimeOut( XtWidgetToApplicationContext( (Widget) w),
- waittime(w->clock.update, &tv, &tm),
+ waittime(w->clock.update, &tv, &tm),
clock_tic, (XtPointer)w );
/*
* Beep on the half hour; double-beep on the hour.
@@ -1397,7 +1397,7 @@ clock_tic(XtPointer client_data, XtIntervalId *id)
if (w->clock.beeped && (tm.tm_min != 30) &&
(tm.tm_min != 0))
w->clock.beeped = FALSE;
- if (((tm.tm_min == 30) || (tm.tm_min == 0))
+ if (((tm.tm_min == 30) || (tm.tm_min == 0))
&& (!w->clock.beeped)) {
w->clock.beeped = TRUE;
#ifdef XKB
@@ -1409,7 +1409,7 @@ clock_tic(XtPointer client_data, XtIntervalId *id)
XkbStdBell(dpy,win,50,XkbBI_ClockChimeHalf);
}
#else
- XBell(dpy, 50);
+ XBell(dpy, 50);
if (tm.tm_min == 0)
XBell(dpy, 50);
#endif
@@ -1423,7 +1423,7 @@ clock_tic(XtPointer client_data, XtIntervalId *id)
len = strlen (time_ptr);
if (len && time_ptr[len - 1] == '\n') time_ptr[--len] = '\0';
prev_len = strlen (w->clock.prev_time_string);
- for (i = 0; ((i < len) && (i < prev_len) &&
+ for (i = 0; ((i < len) && (i < prev_len) &&
(w->clock.prev_time_string[i] == time_ptr[i])); i++);
#ifdef XRENDER
@@ -1433,7 +1433,7 @@ clock_tic(XtPointer client_data, XtIntervalId *id)
int x, y;
#if !defined(NO_I18N) && defined(HAVE_ICONV)
char *utf8_str;
-#endif
+#endif
RenderTextBounds (w, w->clock.prev_time_string, i, prev_len,
&old_tail, NULL, NULL);
@@ -1441,7 +1441,7 @@ clock_tic(XtPointer client_data, XtIntervalId *id)
RenderTextBounds (w, time_ptr, i, len,
&new_tail, NULL, NULL);
RenderUpdateRectBounds (&new_tail, &w->clock.damage);
-
+
while (i)
{
RenderTextBounds (w, time_ptr, 0, i, &head, NULL, NULL);
@@ -1461,7 +1461,7 @@ clock_tic(XtPointer client_data, XtIntervalId *id)
(FcChar8 *) time_ptr + i, len - i);
}
-# ifdef HAVE_ICONV
+# ifdef HAVE_ICONV
else if ((utf8_str =
clock_to_utf8(time_ptr + i, len - i)) != NULL) {
XftDrawStringUtf8 (w->clock.draw,
@@ -1471,9 +1471,9 @@ clock_tic(XtPointer client_data, XtIntervalId *id)
(FcChar8 *)utf8_str, strlen(utf8_str) );
free(utf8_str);
}
-# endif
+# endif
else
-#endif
+#endif
{
XftDrawString8 (w->clock.draw,
&w->clock.fg_color,
@@ -1491,7 +1491,7 @@ clock_tic(XtPointer client_data, XtIntervalId *id)
if(0 < len) {
XFontSetExtents *fse
= XExtentsOfFontSet(w->clock.fontSet);
-
+
XmbDrawImageString(dpy,win,w->clock.fontSet,w->clock.myGC,
(2+w->clock.padding +
(i?XmbTextEscapement(w->clock.fontSet,
@@ -1499,7 +1499,7 @@ clock_tic(XtPointer client_data, XtIntervalId *id)
2+w->clock.padding+fse->max_logical_extent.height,
time_ptr+i,len-i
);
- /*
+ /*
* Clear any left over bits
*/
clear_from = XmbTextEscapement (w->clock.fontSet,time_ptr,
@@ -1533,7 +1533,7 @@ clock_tic(XtPointer client_data, XtIntervalId *id)
#endif
} else {
/*
- * The second (or minute) hand is sec (or min)
+ * The second (or minute) hand is sec (or min)
* sixtieths around the clock face. The hour hand is
* (hour + min/60) twelfths of the way around the
* clock-face. The derivation is left as an excercise
@@ -1569,7 +1569,7 @@ clock_tic(XtPointer client_data, XtIntervalId *id)
RenderSec (w, &w->clock.otm, False);
RenderSec (w, &tm, False);
}
- if (w->clock.damage.width &&
+ if (w->clock.damage.width &&
w->clock.damage.height)
{
RenderClip (w);
@@ -1613,7 +1613,7 @@ clock_tic(XtPointer client_data, XtIntervalId *id)
w->clock.segbuff, VERTICES_IN_HANDS,
CoordModeOrigin);
w->clock.hour = w->clock.segbuffptr;
- DrawHand(w,
+ DrawHand(w,
w->clock.hour_hand_length, w->clock.hand_width,
tm.tm_hour * 300 + tm.tm_min * 5
);
@@ -1635,7 +1635,7 @@ clock_tic(XtPointer client_data, XtIntervalId *id)
if (w->clock.show_second_hand == TRUE) {
w->clock.segbuffptr = w->clock.sec;
DrawSecond(w,
- w->clock.second_hand_length - 2,
+ w->clock.second_hand_length - 2,
w->clock.second_hand_width,
w->clock.minute_hand_length + 2,
tm.tm_sec * 60
@@ -1658,7 +1658,7 @@ clock_tic(XtPointer client_data, XtIntervalId *id)
w->clock.otm = tm;
}
}
-
+
static void
erase_hands(ClockWidget w, struct tm *tm)
{
@@ -1771,7 +1771,7 @@ static float const Sines[] = {
0.674302, 0.675590, 0.676875, 0.678159, 0.679441, 0.680720, 0.681998, 0.683273,
0.684547, 0.685818, 0.687087, 0.688354, 0.689619, 0.690882, 0.692143, 0.693401,
0.694658, 0.695912, 0.697165, 0.698415, 0.699663, 0.700909, 0.702153, 0.703394,
-0.704634, 0.705871, 0.707106,
+0.704634, 0.705871, 0.707106,
};
static float const Cosines[] = {
1.000000, 0.999998, 0.999993, 0.999986, 0.999975, 0.999961, 0.999945, 0.999925,
@@ -1830,10 +1830,10 @@ static float const Cosines[] = {
0.738455, 0.737277, 0.736097, 0.734914, 0.733729, 0.732542, 0.731353, 0.730162,
0.728968, 0.727772, 0.726574, 0.725374, 0.724171, 0.722967, 0.721760, 0.720551,
0.719339, 0.718126, 0.716910, 0.715692, 0.714472, 0.713250, 0.712026, 0.710799,
-0.709570, 0.708339, 0.707106,
+0.709570, 0.708339, 0.707106,
};
-static void
+static void
ClockAngle(int tick_units, double *sinp, double *cosp)
{
int reduced, upper;
@@ -1868,8 +1868,8 @@ ClockAngle(int tick_units, double *sinp, double *cosp)
* to the perimeter, then erasing all but the outside most pixels doesn't
* work because of round-off error (sigh).
*/
-static void
-DrawLine(ClockWidget w, Dimension blank_length, Dimension length,
+static void
+DrawLine(ClockWidget w, Dimension blank_length, Dimension length,
int tick_units)
{
double dblank_length = (double)blank_length, dlength = (double)length;
@@ -1903,7 +1903,7 @@ DrawLine(ClockWidget w, Dimension blank_length, Dimension length,
* how far around the circle (clockwise) from high noon.
*
*/
-static void
+static void
DrawHand(ClockWidget w, Dimension length, Dimension width, int tick_units)
{
@@ -1934,11 +1934,11 @@ DrawHand(ClockWidget w, Dimension length, Dimension width, int tick_units)
SetSeg(w,
x = w->clock.centerX + clock_round(length * sinangle),
y = w->clock.centerY - clock_round(length * cosangle),
- x1 = w->clock.centerX - clock_round(ws + wc),
+ x1 = w->clock.centerX - clock_round(ws + wc),
y1 = w->clock.centerY + clock_round(wc - ws)); /* 1 ---- 2 */
/* 2 */
- SetSeg(w, x1, y1,
- x2 = w->clock.centerX - clock_round(ws - wc),
+ SetSeg(w, x1, y1,
+ x2 = w->clock.centerX - clock_round(ws - wc),
y2 = w->clock.centerY + clock_round(wc + ws)); /* 2 ----- 3 */
SetSeg(w, x2, y2, x, y); /* 3 ----- 1(4) */
@@ -1954,8 +1954,8 @@ DrawHand(ClockWidget w, Dimension length, Dimension width, int tick_units)
* how far around the circle (clockwise) from high noon.
*
*/
-static void
-DrawSecond(ClockWidget w, Dimension length, Dimension width,
+static void
+DrawSecond(ClockWidget w, Dimension length, Dimension width,
Dimension offset, int tick_units)
{
@@ -2006,14 +2006,14 @@ DrawSecond(ClockWidget w, Dimension length, Dimension width,
w->clock.centerY - clock_round(mc + ws) );
SetSeg(w, w->clock.centerX + clock_round(offset *sinangle),
w->clock.centerY - clock_round(offset * cosangle), /* 2-----3 */
- w->clock.centerX + clock_round(ms + wc),
+ w->clock.centerX + clock_round(ms + wc),
w->clock.centerY - clock_round(mc - ws));
w->clock.segbuffptr->x = x;
w->clock.segbuffptr++->y = y;
w->clock.numseg ++;
}
-static void
+static void
SetSeg(ClockWidget w, int x1, int y1, int x2, int y2)
{
w->clock.segbuffptr->x = x1;
@@ -2027,12 +2027,12 @@ SetSeg(ClockWidget w, int x1, int y1, int x2, int y2)
* Draw the clock face (every fifth tick-mark is longer
* than the others).
*/
-static void
+static void
DrawClockFace(ClockWidget w)
{
register int i;
register int delta = (int)(w->clock.radius - w->clock.second_hand_length) / 3;
-
+
w->clock.segbuffptr = w->clock.segbuff;
w->clock.numseg = 0;
for (i = 0; i < 60; i++)
@@ -2063,7 +2063,7 @@ DrawClockFace(ClockWidget w)
else
#endif
{
- DrawLine(w, ( (i % 5) == 0 ?
+ DrawLine(w, ( (i % 5) == 0 ?
w->clock.second_hand_length :
(w->clock.radius - delta) ),
w->clock.radius, i * 60);
@@ -2079,12 +2079,12 @@ DrawClockFace(ClockWidget w)
XDrawSegments(XtDisplay(w), XtWindow(w),
w->clock.myGC, (XSegment *) &(w->clock.segbuff[0]),
w->clock.numseg/2);
-
+
w->clock.segbuffptr = w->clock.segbuff;
w->clock.numseg = 0;
}
-static int
+static int
clock_round(double x)
{
return(x >= 0.0 ? (int)(x + .5) : (int)(x - .5));
@@ -2103,8 +2103,8 @@ sameColor (XftColor *old, XftColor *new)
#endif
/* ARGSUSED */
-static Boolean
-SetValues(Widget gcurrent, Widget grequest, Widget gnew,
+static Boolean
+SetValues(Widget gcurrent, Widget grequest, Widget gnew,
ArgList args, Cardinal *num_args)
{
ClockWidget current = (ClockWidget) gcurrent;
@@ -2120,7 +2120,7 @@ SetValues(Widget gcurrent, Widget grequest, Widget gnew,
if (current->clock.interval_id)
XtRemoveTimeOut (current->clock.interval_id);
if (new->clock.update && XtIsRealized( (Widget) new))
- new->clock.interval_id = XtAppAddTimeOut(
+ new->clock.interval_id = XtAppAddTimeOut(
XtWidgetToApplicationContext(gnew),
abs(new->clock.update)*1000,
clock_tic, (XtPointer)gnew);