diff options
Diffstat (limited to 'apps/xclock/ClockP.h')
-rw-r--r-- | apps/xclock/ClockP.h | 170 |
1 files changed, 170 insertions, 0 deletions
diff --git a/apps/xclock/ClockP.h b/apps/xclock/ClockP.h new file mode 100644 index 000000000..f8c84ee0e --- /dev/null +++ b/apps/xclock/ClockP.h @@ -0,0 +1,170 @@ +/* +* $Xorg: ClockP.h,v 1.4 2001/02/09 02:05:39 xorgcvs Exp $ +*/ + + +/*********************************************************** + +Copyright 1987, 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ +/* $XFree86: xc/programs/xclock/ClockP.h,v 1.11 2002/10/17 01:00:01 dawes Exp $ */ + +#ifndef _XawClockP_h +#define _XawClockP_h + +#include <X11/Xos.h> /* Needed for struct tm. */ +#include "Clock.h" +#include <X11/Xaw/SimpleP.h> +#ifdef XRENDER +#include <X11/Xft/Xft.h> +#include <X11/extensions/Xrender.h> +#endif + +#define SEG_BUFF_SIZE 128 +#ifdef NO_I18N +#define ASCII_TIME_BUFLEN 32 /* big enough for 26 plus slop */ +#define STRFTIME_BUFF_SIZE 100 /* buffer for "strftime" option */ +#else +#define STRFTIME_BUFF_SIZE 256 /* should handle any locale */ +#endif + + + +/* New fields for the clock widget instance record */ +typedef struct { +#ifndef RENDER + Pixel fgpixel; /* color index for text */ +#endif + Pixel Hipixel; /* color index for Highlighting */ + Pixel Hdpixel; /* color index for hands */ + XFontStruct *font; /* font for text */ + GC myGC; /* pointer to GraphicsContext */ + GC EraseGC; /* eraser GC */ + GC HandGC; /* Hand GC */ + GC HighGC; /* Highlighting GC */ +/* start of graph stuff */ + int update; /* update period in second */ + Dimension radius; /* radius factor */ + int backing_store; /* backing store type */ + Boolean chime; + Boolean beeped; + Boolean analog; + Boolean brief; + Boolean twentyfour; + Boolean utime; + String strftime; + Boolean show_second_hand; + Dimension second_hand_length; + Dimension minute_hand_length; + Dimension hour_hand_length; + Dimension hand_width; + Dimension second_hand_width; + Position centerX; + Position centerY; + int numseg; + int padding; + XPoint segbuff[SEG_BUFF_SIZE]; + XPoint *segbuffptr; + XPoint *hour, *sec; + struct tm otm ; + XtIntervalId interval_id; + char prev_time_string[STRFTIME_BUFF_SIZE]; +#ifndef NO_I18N + XFontSet fontSet; /* font set for localized text */ + Boolean utf8; +#endif +#ifdef XRENDER + XftColor fg_color; + XftColor hour_color; + XftColor min_color; + XftColor sec_color; + XftColor major_color; + XftColor minor_color; + XftFont *face; + XRenderPictFormat *mask_format; + + Boolean render; + Boolean sharp; + Boolean can_polygon; + Boolean buffer; + XftDraw *draw; + Picture picture; + Picture fill_picture; + Pixmap pixmap; + XRectangle damage; + XDouble x_scale; + XDouble x_off; + XDouble y_scale; + XDouble y_off; +#endif + } ClockPart; + +#ifdef XRENDER +#define ClockFgPixel(c) ((c)->clock.fg_color.pixel) +#else +#define ClockFgPixel(c) ((c)->clock.fgpixel) +#endif + +/* Full instance record declaration */ +typedef struct _ClockRec { + CorePart core; + SimplePart simple; + ClockPart clock; + } ClockRec; + +/* New fields for the Clock widget class record */ +typedef struct {int dummy;} ClockClassPart; + +/* Full class record declaration. */ +typedef struct _ClockClassRec { + CoreClassPart core_class; + SimpleClassPart simple_class; + ClockClassPart clock_class; + } ClockClassRec; + +/* Class pointer. */ +extern ClockClassRec clockClassRec; + +#endif /* _XawClockP_h */ |