open-src/lib/libXaw4/sun-src/Xaw3_1Clock.c
author X gate hg captive account <xhg@xserver.us.oracle.com>
Wed, 19 Aug 2015 13:48:41 -0700
changeset 1484 bc8922b8e1d2
parent 749 d7a0cca9c876
permissions -rw-r--r--
Added tag s11u3_30 for changeset 221e9d9cc9cb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
749
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     1
#ifndef lint
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     2
static char Xrcsid[] = "$XConsortium: Clock.c,v 1.50 89/12/06 15:23:24 kit Exp $";
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     3
#endif /* lint */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     4
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     5
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     6
/***********************************************************
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     7
Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     8
and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     9
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    10
                        All Rights Reserved
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    11
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    12
Permission to use, copy, modify, and distribute this software and its 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    13
documentation for any purpose and without fee is hereby granted, 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    14
provided that the above copyright notice appear in all copies and that
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    15
both that copyright notice and this permission notice appear in 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    16
supporting documentation, and that the names of Digital or MIT not be
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    17
used in advertising or publicity pertaining to distribution of the
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    18
software without specific, written prior permission.  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    19
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    20
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    21
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    22
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    23
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    24
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    25
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    26
SOFTWARE.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    27
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    28
******************************************************************/
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    29
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    30
#include <time.h>
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    31
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    32
#include <X11/Xlib.h>
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    33
#include <X11/StringDefs.h>
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    34
#include <X11/IntrinsicP.h>
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    35
#include <./Xaw3_1XawInit.h>
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    36
#include <./Xaw3_1ClockP.h>
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    37
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    38
extern long time();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    39
static void clock_tic(), DrawHand(), DrawSecond(), SetSeg(), DrawClockFace();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    40
static void erase_hands();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    41
static      round();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    42
	
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    43
/* Private Definitions */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    44
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    45
#define VERTICES_IN_HANDS	6	/* to draw triangle */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    46
#define PI			3.14159265358979
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    47
#define TWOPI			(2. * PI)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    48
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    49
#define SECOND_HAND_FRACT	90
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    50
#define MINUTE_HAND_FRACT	70
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    51
#define HOUR_HAND_FRACT		40
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    52
#define HAND_WIDTH_FRACT	7
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    53
#define SECOND_WIDTH_FRACT	5
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    54
#define SECOND_HAND_TIME	30
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    55
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    56
#define ANALOG_SIZE_DEFAULT	164
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    57
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    58
#define max(a, b) ((a) > (b) ? (a) : (b))
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    59
#define min(a, b) ((a) < (b) ? (a) : (b))
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    60
#define abs(a) ((a) < 0 ? -(a) : (a))
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    61
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    62
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    63
/* Initialization of defaults */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    64
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    65
#define offset(field) XtOffset(ClockWidget,clock.field)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    66
#define goffset(field) XtOffset(Widget,core.field)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    67
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    68
static XtResource resources[] = {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    69
    {XtNwidth, XtCWidth, XtRDimension, sizeof(Dimension),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    70
	goffset(width), XtRImmediate, (caddr_t) 0},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    71
    {XtNheight, XtCHeight, XtRDimension, sizeof(Dimension),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    72
	goffset(height), XtRImmediate, (caddr_t) 0},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    73
    {XtNbackground, XtCBackground, XtRPixel, sizeof(Pixel),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    74
	goffset(background_pixel), XtRString, "XtdefaultBackground"},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    75
    {XtNupdate, XtCInterval, XtRInt, sizeof(int), 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    76
        offset(update), XtRImmediate, (caddr_t) 60 },
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    77
    {XtNforeground, XtCForeground, XtRPixel, sizeof(Pixel),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    78
        offset(fgpixel), XtRString, "XtdefaultForeground"},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    79
    {XtNhand, XtCForeground, XtRPixel, sizeof(Pixel),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    80
        offset(Hdpixel), XtRString, "XtdefaultForeground"},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    81
    {XtNhighlight, XtCForeground, XtRPixel, sizeof(Pixel),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    82
        offset(Hipixel), XtRString, "XtdefaultForeground"},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    83
    {XtNanalog, XtCBoolean, XtRBoolean, sizeof(Boolean),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    84
        offset(analog), XtRImmediate, (caddr_t) TRUE},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    85
    {XtNchime, XtCBoolean, XtRBoolean, sizeof(Boolean),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    86
	offset(chime), XtRImmediate, (caddr_t) FALSE },
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    87
    {XtNpadding, XtCMargin, XtRInt, sizeof(int),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    88
        offset(padding), XtRImmediate, (caddr_t) 8},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    89
    {XtNfont, XtCFont, XtRFontStruct, sizeof(XFontStruct *),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    90
        offset(font), XtRString, "fixed"},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    91
    {XtNreverseVideo, XtCReverseVideo, XtRBoolean, sizeof (Boolean),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    92
	offset (reverse_video), XtRImmediate, (caddr_t) FALSE},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    93
    {XtNbackingStore, XtCBackingStore, XtRBackingStore, sizeof (int),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    94
    	offset (backing_store), XtRString, "default"},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    95
};
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    96
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    97
#undef offset
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    98
#undef goffset
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    99
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   100
static void ClassInitialize();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   101
static void Initialize(), Realize(), Destroy(), Resize(), Redisplay();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   102
static Boolean SetValues();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   103
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   104
ClockClassRec clockClassRec = {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   105
    { /* core fields */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   106
    /* superclass		*/	&widgetClassRec,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   107
    /* class_name		*/	"Clock",
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   108
    /* widget_size		*/	sizeof(ClockRec),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   109
    /* class_initialize		*/	ClassInitialize,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   110
    /* class_part_initialize	*/	NULL,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   111
    /* class_inited		*/	FALSE,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   112
    /* initialize		*/	Initialize,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   113
    /* initialize_hook		*/	NULL,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   114
    /* realize			*/	Realize,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   115
    /* actions			*/	NULL,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   116
    /* num_actions		*/	0,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   117
    /* resources		*/	resources,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   118
    /* resource_count		*/	XtNumber(resources),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   119
    /* xrm_class		*/	NULL,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   120
    /* compress_motion		*/	TRUE,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   121
    /* compress_exposure	*/	TRUE,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   122
    /* compress_enterleave	*/	TRUE,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   123
    /* visible_interest		*/	FALSE,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   124
    /* destroy			*/	Destroy,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   125
    /* resize			*/	Resize,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   126
    /* expose			*/	Redisplay,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   127
    /* set_values		*/	SetValues,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   128
    /* set_values_hook		*/	NULL,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   129
    /* set_values_almost	*/	XtInheritSetValuesAlmost,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   130
    /* get_values_hook		*/	NULL,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   131
    /* accept_focus		*/	NULL,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   132
    /* version			*/	XtVersion,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   133
    /* callback_private		*/	NULL,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   134
    /* tm_table			*/	NULL,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   135
    /* query_geometry           */	XtInheritQueryGeometry,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   136
    /* display_accelerator      */	XtInheritDisplayAccelerator,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   137
    /* extension                */	NULL
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   138
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   139
};
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   140
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   141
WidgetClass clockWidgetClass = (WidgetClass) &clockClassRec;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   142
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   143
/****************************************************************
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   144
 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   145
 * Private Procedures
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   146
 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   147
 ****************************************************************/
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   148
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   149
static void ClassInitialize()
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   150
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   151
    XawInitializeWidgetSet();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   152
    XtAddConverter( XtRString, XtRBackingStore, XmuCvtStringToBackingStore,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   153
		    NULL, 0 );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   154
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   155
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   156
/* ARGSUSED */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   157
static void Initialize (request, new)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   158
    Widget request, new;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   159
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   160
    ClockWidget w = (ClockWidget)new;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   161
    XtGCMask		valuemask;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   162
    XGCValues	myXGCV;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   163
    int min_height, min_width;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   164
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   165
    valuemask = GCForeground | GCBackground | GCFont | GCLineWidth;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   166
    if (w->clock.font != NULL)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   167
        myXGCV.font = w->clock.font->fid;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   168
    else
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   169
        valuemask &= ~GCFont;	/* use server default font */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   170
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   171
    min_width = min_height = ANALOG_SIZE_DEFAULT;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   172
    if(!w->clock.analog) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   173
       char *str;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   174
       struct tm tm;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   175
       long time_value;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   176
       (void) time(&time_value);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   177
       tm = *localtime(&time_value);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   178
       str = asctime(&tm);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   179
       if (w->clock.font == NULL)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   180
          w->clock.font = XQueryFont( XtDisplay(w),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   181
				      XGContextFromGC(
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   182
					   DefaultGCOfScreen(XtScreen(w))) );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   183
       min_width = XTextWidth(w->clock.font, str, strlen(str)) +
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   184
	  2 * w->clock.padding;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   185
       min_height = w->clock.font->ascent +
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   186
	  w->clock.font->descent + 2 * w->clock.padding;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   187
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   188
    if (w->core.width == 0)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   189
	w->core.width = min_width;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   190
    if (w->core.height == 0)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   191
	w->core.height = min_height;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   192
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   193
    myXGCV.foreground = w->clock.fgpixel;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   194
    myXGCV.background = w->core.background_pixel;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   195
    if (w->clock.font != NULL)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   196
        myXGCV.font = w->clock.font->fid;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   197
    else
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   198
        valuemask &= ~GCFont;	/* use server default font */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   199
    myXGCV.line_width = 0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   200
    w->clock.myGC = XtGetGC((Widget)w, valuemask, &myXGCV);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   201
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   202
    valuemask = GCForeground | GCLineWidth ;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   203
    myXGCV.foreground = w->core.background_pixel;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   204
    w->clock.EraseGC = XtGetGC((Widget)w, valuemask, &myXGCV);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   205
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   206
    myXGCV.foreground = w->clock.Hipixel;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   207
    w->clock.HighGC = XtGetGC((Widget)w, valuemask, &myXGCV);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   208
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   209
    valuemask = GCForeground;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   210
    myXGCV.foreground = w->clock.Hdpixel;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   211
    w->clock.HandGC = XtGetGC((Widget)w, valuemask, &myXGCV);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   212
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   213
    if (w->clock.update <= 0)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   214
	w->clock.update = 60;	/* make invalid update's use a default */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   215
    w->clock.show_second_hand = (w->clock.update <= SECOND_HAND_TIME);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   216
    w->clock.numseg = 0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   217
    w->clock.interval_id = 0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   218
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   219
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   220
static void Realize (gw, valueMask, attrs)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   221
     Widget gw;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   222
     XtValueMask *valueMask;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   223
     XSetWindowAttributes *attrs;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   224
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   225
     ClockWidget	w = (ClockWidget) gw;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   226
#ifdef notdef
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   227
     *valueMask |= CWBitGravity;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   228
     attrs->bit_gravity = ForgetGravity;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   229
#endif
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   230
     switch (w->clock.backing_store) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   231
     case Always:
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   232
     case NotUseful:
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   233
     case WhenMapped:
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   234
     	*valueMask |=CWBackingStore;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   235
	attrs->backing_store = w->clock.backing_store;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   236
	break;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   237
     }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   238
     XtCreateWindow( gw, InputOutput, (Visual *)CopyFromParent,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   239
		     *valueMask, attrs);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   240
     Resize(gw);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   241
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   242
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   243
static void Destroy (gw)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   244
     Widget gw;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   245
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   246
     ClockWidget w = (ClockWidget) gw;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   247
     if (w->clock.interval_id) XtRemoveTimeOut (w->clock.interval_id);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   248
     XtDestroyGC (w->clock.myGC);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   249
     XtDestroyGC (w->clock.HighGC);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   250
     XtDestroyGC (w->clock.HandGC);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   251
     XtDestroyGC (w->clock.EraseGC);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   252
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   253
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   254
static void Resize (gw) 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   255
    Widget gw;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   256
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   257
    ClockWidget w = (ClockWidget) gw;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   258
    /* don't do this computation if window hasn't been realized yet. */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   259
    if (XtIsRealized(gw) && w->clock.analog) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   260
	/* need signed value since Dimension is unsigned */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   261
	int radius = ((int) min(w->core.width, w->core.height) - (int) (2 * w->clock.padding)) / 2;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   262
        w->clock.radius = (Dimension) max (radius, 1);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   263
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   264
        w->clock.second_hand_length = ((SECOND_HAND_FRACT * w->clock.radius) / 100);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   265
        w->clock.minute_hand_length = ((MINUTE_HAND_FRACT * w->clock.radius) / 100);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   266
        w->clock.hour_hand_length = ((HOUR_HAND_FRACT * w->clock.radius) / 100);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   267
        w->clock.hand_width = ((HAND_WIDTH_FRACT * w->clock.radius) / 100);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   268
        w->clock.second_hand_width = ((SECOND_WIDTH_FRACT * w->clock.radius) / 100);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   269
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   270
        w->clock.centerX = w->core.width / 2;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   271
        w->clock.centerY = w->core.height / 2;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   272
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   273
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   274
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   275
/* ARGSUSED */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   276
static void Redisplay (gw, event, region)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   277
    Widget gw;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   278
    XEvent *event;		/* unused */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   279
    Region region;		/* unused */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   280
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   281
    ClockWidget w = (ClockWidget) gw;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   282
    if (w->clock.analog) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   283
	if (w->clock.numseg != 0)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   284
	    erase_hands (w, (struct tm *) 0);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   285
        DrawClockFace(w);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   286
    } else {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   287
	w->clock.prev_time_string[0] = '\0';
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   288
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   289
    clock_tic((caddr_t)w, (XtIntervalId)0);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   290
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   291
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   292
/* ARGSUSED */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   293
static void clock_tic(client_data, id)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   294
        caddr_t client_data;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   295
        XtIntervalId *id;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   296
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   297
        ClockWidget w = (ClockWidget)client_data;    
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   298
	struct tm tm; 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   299
	long	time_value;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   300
	char	*time_ptr;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   301
        register Display *dpy = XtDisplay(w);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   302
        register Window win = XtWindow(w);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   303
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   304
	if (id || !w->clock.interval_id)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   305
	    w->clock.interval_id =
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   306
		XtAppAddTimeOut( XtWidgetToApplicationContext( (Widget) w),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   307
				w->clock.update*1000,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   308
				(XtTimerCallbackProc)clock_tic, (caddr_t)w );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   309
	(void) time(&time_value);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   310
	tm = *localtime(&time_value);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   311
	/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   312
	 * Beep on the half hour; double-beep on the hour.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   313
	 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   314
	if (w->clock.chime == TRUE) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   315
	    if (w->clock.beeped && (tm.tm_min != 30) &&
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   316
		(tm.tm_min != 0))
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   317
	      w->clock.beeped = FALSE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   318
	    if (((tm.tm_min == 30) || (tm.tm_min == 0)) 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   319
		&& (!w->clock.beeped)) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   320
		w->clock.beeped = TRUE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   321
		XBell(dpy, 50);	
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   322
		if (tm.tm_min == 0)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   323
		  XBell(dpy, 50);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   324
	    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   325
	}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   326
	if( w->clock.analog == FALSE ) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   327
	    int	clear_from;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   328
	    int i, len, prev_len;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   329
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   330
	    time_ptr = asctime(&tm);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   331
	    len = strlen (time_ptr);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   332
	    if (time_ptr[len - 1] == '\n') time_ptr[--len] = '\0';
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   333
	    prev_len = strlen (w->clock.prev_time_string);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   334
	    for (i = 0; ((i < len) && (i < prev_len) && 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   335
	    		 (w->clock.prev_time_string[i] == time_ptr[i])); i++);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   336
	    strcpy (w->clock.prev_time_string+i, time_ptr+i);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   337
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   338
	    XDrawImageString (dpy, win, w->clock.myGC,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   339
			      (2+w->clock.padding +
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   340
			       XTextWidth (w->clock.font, time_ptr, i)),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   341
			      2+w->clock.font->ascent+w->clock.padding,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   342
			      time_ptr + i, len - i);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   343
	    /*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   344
	     * Clear any left over bits
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   345
	     */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   346
	    clear_from = XTextWidth (w->clock.font, time_ptr, len)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   347
 	    		+ 2 + w->clock.padding;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   348
	    if (clear_from < w->core.width)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   349
		XFillRectangle (dpy, win, w->clock.EraseGC,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   350
		    clear_from, 0, w->core.width - clear_from, w->core.height);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   351
	} else {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   352
			/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   353
			 * The second (or minute) hand is sec (or min) 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   354
			 * sixtieths around the clock face. The hour hand is
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   355
			 * (hour + min/60) twelfths of the way around the
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   356
			 * clock-face.  The derivation is left as an excercise
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   357
			 * for the reader.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   358
			 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   359
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   360
			/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   361
			 * 12 hour clock.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   362
			 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   363
			if(tm.tm_hour > 12)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   364
				tm.tm_hour -= 12;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   365
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   366
			erase_hands (w, &tm);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   367
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   368
		    if (w->clock.numseg == 0 ||
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   369
			tm.tm_min != w->clock.otm.tm_min ||
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   370
			tm.tm_hour != w->clock.otm.tm_hour) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   371
			    w->clock.segbuffptr = w->clock.segbuff;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   372
			    w->clock.numseg = 0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   373
			    /*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   374
			     * Calculate the hour hand, fill it in with its
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   375
			     * color and then outline it.  Next, do the same
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   376
			     * with the minute hand.  This is a cheap hidden
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   377
			     * line algorithm.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   378
			     */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   379
			    DrawHand(w,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   380
				w->clock.minute_hand_length, w->clock.hand_width,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   381
				((double) tm.tm_min)/60.0
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   382
			    );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   383
			    if(w->clock.Hdpixel != w->core.background_pixel)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   384
				XFillPolygon( dpy,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   385
				    win, w->clock.HandGC,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   386
				    w->clock.segbuff, VERTICES_IN_HANDS,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   387
				    Convex, CoordModeOrigin
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   388
				);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   389
			    XDrawLines( dpy,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   390
				win, w->clock.HighGC,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   391
				w->clock.segbuff, VERTICES_IN_HANDS,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   392
				       CoordModeOrigin);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   393
			    w->clock.hour = w->clock.segbuffptr;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   394
			    DrawHand(w, 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   395
				w->clock.hour_hand_length, w->clock.hand_width,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   396
				((((double)tm.tm_hour) + 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   397
				    (((double)tm.tm_min)/60.0)) / 12.0)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   398
			    );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   399
			    if(w->clock.Hdpixel != w->core.background_pixel) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   400
			      XFillPolygon(dpy,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   401
					   win, w->clock.HandGC,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   402
					   w->clock.hour,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   403
					   VERTICES_IN_HANDS,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   404
					   Convex, CoordModeOrigin
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   405
					   );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   406
			    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   407
			    XDrawLines( dpy,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   408
				       win, w->clock.HighGC,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   409
				       w->clock.hour, VERTICES_IN_HANDS,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   410
				       CoordModeOrigin );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   411
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   412
			    w->clock.sec = w->clock.segbuffptr;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   413
		    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   414
		    if (w->clock.show_second_hand == TRUE) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   415
			    w->clock.segbuffptr = w->clock.sec;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   416
			    DrawSecond(w,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   417
				w->clock.second_hand_length - 2, 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   418
				w->clock.second_hand_width,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   419
				w->clock.minute_hand_length + 2,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   420
				((double) tm.tm_sec)/60.0
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   421
			    );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   422
			    if(w->clock.Hdpixel != w->core.background_pixel)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   423
				XFillPolygon( dpy,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   424
				    win, w->clock.HandGC,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   425
				    w->clock.sec,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   426
				    VERTICES_IN_HANDS -2,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   427
				    Convex, CoordModeOrigin
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   428
			    );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   429
			    XDrawLines( dpy,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   430
				       win, w->clock.HighGC,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   431
				       w->clock.sec,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   432
				       VERTICES_IN_HANDS-1,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   433
				       CoordModeOrigin
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   434
				        );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   435
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   436
			}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   437
			w->clock.otm = tm;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   438
		}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   439
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   440
	
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   441
static void erase_hands (w, tm)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   442
ClockWidget	w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   443
struct tm	*tm;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   444
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   445
    /*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   446
     * Erase old hands.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   447
     */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   448
    if(w->clock.numseg > 0) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   449
	Display	*dpy;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   450
	Window	win;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   451
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   452
	dpy = XtDisplay (w);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   453
	win = XtWindow (w);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   454
	if (w->clock.show_second_hand == TRUE) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   455
	    XDrawLines(dpy, win,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   456
		w->clock.EraseGC,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   457
		w->clock.sec,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   458
		VERTICES_IN_HANDS-1,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   459
		CoordModeOrigin);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   460
	    if(w->clock.Hdpixel != w->core.background_pixel) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   461
		XFillPolygon(dpy,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   462
			win, w->clock.EraseGC,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   463
			w->clock.sec,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   464
			VERTICES_IN_HANDS-2,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   465
			Convex, CoordModeOrigin
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   466
			);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   467
	    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   468
	}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   469
	if(!tm || tm->tm_min != w->clock.otm.tm_min ||
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   470
		  tm->tm_hour != w->clock.otm.tm_hour)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   471
 	{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   472
	    XDrawLines( dpy, win,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   473
			w->clock.EraseGC,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   474
			w->clock.segbuff,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   475
			VERTICES_IN_HANDS,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   476
			CoordModeOrigin);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   477
	    XDrawLines( dpy, win,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   478
			w->clock.EraseGC,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   479
			w->clock.hour,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   480
			VERTICES_IN_HANDS,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   481
			CoordModeOrigin);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   482
	    if(w->clock.Hdpixel != w->core.background_pixel) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   483
		XFillPolygon( dpy, win,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   484
 			      w->clock.EraseGC,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   485
			      w->clock.segbuff, VERTICES_IN_HANDS,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   486
			      Convex, CoordModeOrigin);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   487
		XFillPolygon( dpy, win,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   488
 			      w->clock.EraseGC,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   489
			      w->clock.hour,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   490
			      VERTICES_IN_HANDS,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   491
			      Convex, CoordModeOrigin);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   492
	    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   493
	}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   494
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   495
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   496
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   497
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   498
 * DrawLine - Draws a line.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   499
 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   500
 * blank_length is the distance from the center which the line begins.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   501
 * length is the maximum length of the hand.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   502
 * Fraction_of_a_circle is a fraction between 0 and 1 (inclusive) indicating
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   503
 * how far around the circle (clockwise) from high noon.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   504
***** Note: in this routine, fraction_of_a_circle is actually the minute
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   505
*****  tic we are drawing, 0 through 59.  This is due to a Solaris 2.0
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   506
*****  compiler bug I was not able to work around any other way. C'est la vie.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   507
 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   508
 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   509
 * The blank_length feature is because I wanted to draw tick-marks around the
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   510
 * circle (for seconds).  The obvious means of drawing lines from the center
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   511
 * to the perimeter, then erasing all but the outside most pixels doesn't
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   512
 * work because of round-off error (sigh).
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   513
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   514
static void DrawLine(w, blank_length, length, fraction_of_a_circle)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   515
ClockWidget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   516
Dimension blank_length;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   517
Dimension length;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   518
int fraction_of_a_circle;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   519
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   520
	double dblank_length = (double)blank_length, dlength = (double)length;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   521
	double angle, cosangle, sinangle;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   522
	double cos();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   523
	double sin();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   524
	int cx = w->clock.centerX, cy = w->clock.centerY, x1, y1, x2, y2;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   525
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   526
	/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   527
	 *  A full circle is 2 PI radians.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   528
	 *  Angles are measured from 12 o'clock, clockwise increasing.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   529
	 *  Since in X, +x is to the right and +y is downward:
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   530
	 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   531
	 *	x = x0 + r * sin(theta)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   532
	 *	y = y0 - r * cos(theta)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   533
	 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   534
	 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   535
	angle = TWOPI * (double) fraction_of_a_circle / 60. ;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   536
	cosangle = cos(angle);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   537
	sinangle = sin(angle);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   538
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   539
	/* break this out so that stupid compilers can cope */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   540
	x1 = cx + (int)(dblank_length * sinangle);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   541
	y1 = cy - (int)(dblank_length * cosangle);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   542
	x2 = cx + (int)(dlength * sinangle);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   543
	y2 = cy - (int)(dlength * cosangle);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   544
	SetSeg(w, x1, y1, x2, y2);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   545
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   546
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   547
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   548
 * DrawHand - Draws a hand.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   549
 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   550
 * length is the maximum length of the hand.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   551
 * width is the half-width of the hand.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   552
 * Fraction_of_a_circle is a fraction between 0 and 1 (inclusive) indicating
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   553
 * how far around the circle (clockwise) from high noon.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   554
 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   555
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   556
static void DrawHand(w, length, width, fraction_of_a_circle)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   557
ClockWidget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   558
Dimension length, width;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   559
double fraction_of_a_circle;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   560
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   561
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   562
	register double angle, cosangle, sinangle;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   563
	register double ws, wc;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   564
	Position x, y, x1, y1, x2, y2;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   565
	double cos();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   566
	double sin();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   567
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   568
	/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   569
	 *  A full circle is 2 PI radians.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   570
	 *  Angles are measured from 12 o'clock, clockwise increasing.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   571
	 *  Since in X, +x is to the right and +y is downward:
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   572
	 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   573
	 *	x = x0 + r * sin(theta)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   574
	 *	y = y0 - r * cos(theta)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   575
	 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   576
	 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   577
	angle = TWOPI * fraction_of_a_circle;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   578
	cosangle = cos(angle);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   579
	sinangle = sin(angle);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   580
	/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   581
	 * Order of points when drawing the hand.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   582
	 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   583
	 *		1,4
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   584
	 *		/ \
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   585
	 *	       /   \
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   586
	 *	      /     \
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   587
	 *	    2 ------- 3
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   588
	 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   589
	wc = width * cosangle;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   590
	ws = width * sinangle;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   591
	SetSeg(w,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   592
	       x = w->clock.centerX + round(length * sinangle),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   593
	       y = w->clock.centerY - round(length * cosangle),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   594
	       x1 = w->clock.centerX - round(ws + wc), 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   595
	       y1 = w->clock.centerY + round(wc - ws));  /* 1 ---- 2 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   596
	/* 2 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   597
	SetSeg(w, x1, y1, 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   598
	       x2 = w->clock.centerX - round(ws - wc), 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   599
	       y2 = w->clock.centerY + round(wc + ws));  /* 2 ----- 3 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   600
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   601
	SetSeg(w, x2, y2, x, y);	/* 3 ----- 1(4) */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   602
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   603
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   604
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   605
 * DrawSecond - Draws the second hand (diamond).
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   606
 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   607
 * length is the maximum length of the hand.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   608
 * width is the half-width of the hand.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   609
 * offset is direct distance from center to tail end.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   610
 * Fraction_of_a_circle is a fraction between 0 and 1 (inclusive) indicating
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   611
 * how far around the circle (clockwise) from high noon.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   612
 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   613
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   614
static void DrawSecond(w, length, width, offset, fraction_of_a_circle)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   615
ClockWidget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   616
Dimension length, width, offset;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   617
double fraction_of_a_circle;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   618
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   619
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   620
	register double angle, cosangle, sinangle;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   621
	register double ms, mc, ws, wc;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   622
	register int mid;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   623
	Position x, y;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   624
	double cos();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   625
	double sin();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   626
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   627
	/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   628
	 *  A full circle is 2 PI radians.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   629
	 *  Angles are measured from 12 o'clock, clockwise increasing.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   630
	 *  Since in X, +x is to the right and +y is downward:
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   631
	 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   632
	 *	x = x0 + r * sin(theta)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   633
	 *	y = y0 - r * cos(theta)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   634
	 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   635
	 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   636
	angle = TWOPI * fraction_of_a_circle;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   637
	cosangle = cos(angle);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   638
	sinangle = sin(angle);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   639
	/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   640
	 * Order of points when drawing the hand.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   641
	 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   642
	 *		1,5
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   643
	 *		/ \
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   644
	 *	       /   \
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   645
	 *	      /     \
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   646
	 *	    2<       >4
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   647
	 *	      \     /
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   648
	 *	       \   /
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   649
	 *		\ /
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   650
	 *	-	 3
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   651
	 *	|
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   652
	 *	|
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   653
	 *   offset
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   654
	 *	|
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   655
	 *	|
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   656
	 *	-	 + center
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   657
	 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   658
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   659
	mid = (length + offset) / 2;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   660
	mc = mid * cosangle;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   661
	ms = mid * sinangle;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   662
	wc = width * cosangle;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   663
	ws = width * sinangle;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   664
	/*1 ---- 2 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   665
	SetSeg(w,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   666
	       x = w->clock.centerX + round(length * sinangle),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   667
	       y = w->clock.centerY - round(length * cosangle),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   668
	       w->clock.centerX + round(ms - wc),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   669
	       w->clock.centerY - round(mc + ws) );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   670
	SetSeg(w, w->clock.centerX + round(offset *sinangle),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   671
	       w->clock.centerY - round(offset * cosangle), /* 2-----3 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   672
	       w->clock.centerX + round(ms + wc), 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   673
	       w->clock.centerY - round(mc - ws));
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   674
	w->clock.segbuffptr->x = x;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   675
	w->clock.segbuffptr++->y = y;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   676
	w->clock.numseg ++;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   677
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   678
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   679
static void SetSeg(w, x1, y1, x2, y2)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   680
ClockWidget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   681
int x1, y1, x2, y2;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   682
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   683
	w->clock.segbuffptr->x = x1;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   684
	w->clock.segbuffptr++->y = y1;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   685
	w->clock.segbuffptr->x = x2;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   686
	w->clock.segbuffptr++->y = y2;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   687
	w->clock.numseg += 2;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   688
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   689
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   690
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   691
 *  Draw the clock face (every fifth tick-mark is longer
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   692
 *  than the others).
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   693
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   694
static void DrawClockFace(w)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   695
ClockWidget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   696
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   697
	register int i;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   698
	register int delta = (w->clock.radius - w->clock.second_hand_length) / 3;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   699
	
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   700
	w->clock.segbuffptr = w->clock.segbuff;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   701
	w->clock.numseg = 0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   702
	for (i = 0; i < 60; i++)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   703
		DrawLine(w, ( (i % 5) == 0 ? 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   704
			     w->clock.second_hand_length :
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   705
			     (w->clock.radius - delta) ),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   706
			 w->clock.radius, i );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   707
	/* Changed last argument to DrawLine from i/60. to i due 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   708
	 * to compiler bug. Updated DrawLine function to reflect this.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   709
	 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   710
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   711
	/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   712
	 * Go ahead and draw it.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   713
	 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   714
	XDrawSegments(XtDisplay(w), XtWindow(w),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   715
		      w->clock.myGC, (XSegment *) &(w->clock.segbuff[0]),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   716
		      w->clock.numseg/2);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   717
	
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   718
	w->clock.segbuffptr = w->clock.segbuff;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   719
	w->clock.numseg = 0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   720
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   721
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   722
static int round(x)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   723
double x;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   724
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   725
	return(x >= 0.0 ? (int)(x + .5) : (int)(x - .5));
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   726
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   727
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   728
/* ARGSUSED */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   729
static Boolean SetValues (gcurrent, grequest, gnew)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   730
    Widget gcurrent, grequest, gnew;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   731
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   732
      ClockWidget current = (ClockWidget) gcurrent;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   733
      ClockWidget new = (ClockWidget) gnew;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   734
      Boolean redisplay = FALSE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   735
      XtGCMask valuemask;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   736
      XGCValues	myXGCV;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   737
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   738
      /* first check for changes to clock-specific resources.  We'll accept all
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   739
         the changes, but may need to do some computations first. */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   740
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   741
      if (new->clock.update != current->clock.update) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   742
	  if (current->clock.interval_id)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   743
	      XtRemoveTimeOut (current->clock.interval_id);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   744
	  if (XtIsRealized((Widget)new))
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   745
	      new->clock.interval_id = XtAppAddTimeOut( 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   746
                                         XtWidgetToApplicationContext(gnew),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   747
					 new->clock.update*1000,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   748
				         (XtTimerCallbackProc)clock_tic,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   749
				         (caddr_t)gnew);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   750
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   751
	  new->clock.show_second_hand =(new->clock.update <= SECOND_HAND_TIME);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   752
      }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   753
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   754
      if (new->clock.padding != current->clock.padding)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   755
	   redisplay = TRUE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   756
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   757
      if (new->clock.analog != current->clock.analog)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   758
	   redisplay = TRUE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   759
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   760
       if (new->clock.font != current->clock.font)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   761
	   redisplay = TRUE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   762
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   763
      if ((new->clock.fgpixel != current->clock.fgpixel)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   764
          || (new->core.background_pixel != current->core.background_pixel)) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   765
          valuemask = GCForeground | GCBackground | GCFont | GCLineWidth;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   766
	  myXGCV.foreground = new->clock.fgpixel;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   767
	  myXGCV.background = new->core.background_pixel;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   768
          myXGCV.font = new->clock.font->fid;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   769
	  myXGCV.line_width = 0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   770
	  XtDestroyGC (current->clock.myGC);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   771
	  new->clock.myGC = XtGetGC(gcurrent, valuemask, &myXGCV);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   772
	  redisplay = TRUE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   773
          }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   774
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   775
      if (new->clock.Hipixel != current->clock.Hipixel) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   776
          valuemask = GCForeground | GCLineWidth;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   777
	  myXGCV.foreground = new->clock.fgpixel;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   778
          myXGCV.font = new->clock.font->fid;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   779
	  myXGCV.line_width = 0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   780
	  XtDestroyGC (current->clock.HighGC);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   781
	  new->clock.HighGC = XtGetGC((Widget)gcurrent, valuemask, &myXGCV);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   782
	  redisplay = TRUE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   783
          }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   784
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   785
      if (new->clock.Hdpixel != current->clock.Hdpixel) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   786
          valuemask = GCForeground;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   787
	  myXGCV.foreground = new->clock.fgpixel;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   788
	  XtDestroyGC (current->clock.HandGC);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   789
	  new->clock.HandGC = XtGetGC((Widget)gcurrent, valuemask, &myXGCV);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   790
	  redisplay = TRUE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   791
          }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   792
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   793
      if (new->core.background_pixel != current->core.background_pixel) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   794
          valuemask = GCForeground | GCLineWidth;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   795
	  myXGCV.foreground = new->core.background_pixel;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   796
	  myXGCV.line_width = 0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   797
	  XtDestroyGC (current->clock.EraseGC);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   798
	  new->clock.EraseGC = XtGetGC((Widget)gcurrent, valuemask, &myXGCV);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   799
	  redisplay = TRUE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   800
	  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   801
     
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   802
     return (redisplay);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   803
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   804
}