Initial import of the CDE 2.1.30 sources from the Open Group.

This commit is contained in:
Peter Howkins
2012-03-10 18:21:40 +00:00
commit 83b6996daa
18978 changed files with 3945623 additions and 0 deletions

View File

@@ -0,0 +1,501 @@
/*
* (c) Copyright 1989, 1990, 1991, 1992 OPEN SOFTWARE FOUNDATION, INC.
* ALL RIGHTS RESERVED
*/
/*
* Motif Release 1.2
*/
#ifdef REV_INFO
#ifndef lint
static char rcsid[] = "$XConsortium: Dog.c /main/4 1995/10/27 10:41:52 rswiston $"
#endif
#endif
/*****************************************************************************
*
* Dog.c - Dog widget source file
*
******************************************************************************/
#include <stdio.h>
#include <X11/StringDefs.h>
#include <Xm/Xm.h>
#include <Mrm/MrmPublic.h>
#include "DogP.h"
#include "up.bm"
#include "down.bm"
#include "bark.bm"
#ifndef MAX
#define MAX(x,y) ((x) > (y) ? (x) : (y))
#endif
#define WagTime(w) XmField(w,offsets,Dog,wag_time, int)
#define BarkTime(w) XmField(w,offsets,Dog,bark_time, int)
#define BarkCallback(w) XmField(w,offsets,Dog,bark_callback,XtCallbackList)
#define UpPixmap(w) XmField(w,offsets,Dog,up_pixmap,Pixmap)
#define DownPixmap(w) XmField(w,offsets,Dog,down_pixmap,Pixmap)
#define BarkPixmap(w) XmField(w,offsets,Dog,bark_pixmap,Pixmap)
#define CurrPixmap(w) XmField(w,offsets,Dog,curr_pixmap,Pixmap)
#define CurrPx(w) XmField(w,offsets,Dog,curr_px,int)
#define Wagging(w) XmField(w,offsets,Dog,wagging,Boolean)
#define Barking(w) XmField(w,offsets,Dog,barking,Boolean)
#define DrawGC(w) XmField(w,offsets,Dog,draw_GC,GC)
#define PixmapX(w) XmField(w,offsets,Dog,pixmap_x,Position)
#define PixmapY(w) XmField(w,offsets,Dog,pixmap_y,Position)
#define DrawX(w) XmField(w,offsets,Dog,draw_x,Position)
#define DrawY(w) XmField(w,offsets,Dog,draw_y,Position)
#define DrawWidth(w) XmField(w,offsets,Dog,draw_width,Dimension)
#define DrawHeight(w) XmField(w,offsets,Dog,draw_height,Dimension)
#define CurrWidth(w) XmField(w,offsets,Dog,curr_width,Dimension)
#define CurrHeight(w) XmField(w,offsets,Dog,curr_height,Dimension)
#define HighlightThickness(w) \
XmField(w,offsets,XmPrimitive,highlight_thickness,Dimension)
#define ShadowThickness(w) \
XmField(w,offsets,XmPrimitive,shadow_thickness,Dimension)
#define Foreground(w) XmField(w,offsets,XmPrimitive,foreground,Pixel)
#define Highlighted(w) XmField(w,offsets,XmPrimitive,highlighted,Boolean)
#define TopShadowGC(w) XmField(w,offsets,XmPrimitive,top_shadow_GC,GC)
#define BottomShadowGC(w) XmField(w,offsets,XmPrimitive,bottom_shadow_GC,GC)
#define BackgroundPixel(w) XmField(w,offsets,Core,background_pixel,Pixel)
#define Width(w) XmField(w,offsets,Core,width,Dimension)
#define Height(w) XmField(w,offsets,Core,height,Dimension)
#define SetPixmap(w, px, pixmap, width, height) \
CurrPx(w) = px; CurrPixmap(w) = pixmap; \
CurrWidth(w) = width; CurrHeight(w) = height
#define MakePixmap(b,wd,ht) \
XCreatePixmapFromBitmapData(XtDisplay(w),RootWindowOfScreen(XtScreen(w)), \
(char*)(b), (wd), (ht), Foreground(w), BackgroundPixel(w), \
DefaultDepthOfScreen(XtScreen(w)))
static void ClassInitialize();
static void Initialize();
static void Redisplay();
static void Resize();
static void Destroy();
static Boolean SetValues();
static XtGeometryResult QueryGeometry();
static void bark_dog();
static void end_bark();
static void start_wag();
static void stop_wag();
static void do_wag();
static char defaultTranslations[] =
"<Btn1Down>: Bark()\n\
~Shift<Btn2Down>: StartWag()\n\
Shift<Btn2Down>: StopWag()\n\
<Key>Return: Bark()\n\
Ctrl <Key>Return: Bark()\n\
<Key>osfActivate: Bark()\n\
<Key>space: Bark()\n\
Ctrl <Key>space: Bark()\n\
<Key>osfSelect: Bark()\n\
<Key>W: StartWag()\n\
<Key>S: StopWag()\n\
<Key>osfHelp: PrimitiveHelp()";
static XtActionsRec actionsList[] = {
{ "Bark", (XtActionProc) bark_dog},
{ "StartWag", (XtActionProc) start_wag},
{ "StopWag", (XtActionProc) stop_wag}
};
static XmPartResource resources[] = {
{DogNwagTime, DogCWagTime, XtRInt, sizeof(int),
XmPartOffset(Dog,wag_time), XmRImmediate, (XtPointer)100},
{DogNbarkTime, DogCBarkTime, XtRInt, sizeof(int),
XmPartOffset(Dog,bark_time), XmRImmediate, (XtPointer)1000},
{DogNbarkCallback, XtCCallback, XtRCallback, sizeof(XtPointer),
XmPartOffset(Dog,bark_callback), XtRCallback, NULL}
};
DogClassRec dogClassRec = {
{ /* core_class fields */
(WidgetClass) &xmPrimitiveClassRec, /* superclass */
"Dog", /* class_name */
sizeof(DogPart), /* widget_size */
ClassInitialize, /* class_initialize */
NULL, /* class_part_initialize*/
False, /* class_inited */
Initialize, /* initialize */
NULL, /* initialize_notify */
XtInheritRealize, /* realize */
actionsList, /* actions */
XtNumber(actionsList), /* num_actions */
(XtResourceList)resources, /* resources */
XtNumber(resources), /* num_resources */
NULLQUARK, /* xrm_class */
True, /* compress_motion */
True, /* compress_exposure */
True, /* compress_enterleave */
False, /* visible_interest */
Destroy, /* destroy */
Resize, /* resize */
Redisplay, /* expose */
SetValues, /* set_values */
NULL, /* set_values_hook */
XtInheritSetValuesAlmost, /* set_values_almost */
NULL, /* get_values_hook */
NULL, /* accept_focus */
XtVersionDontCheck, /* version */
NULL, /* callback_private */
defaultTranslations, /* tm_table */
QueryGeometry, /* query_geometry */
NULL, /* disp accelerator */
NULL /* extension */
},
{ /* primitive_class record */
XmInheritWidgetProc, /* border_highlight */
XmInheritWidgetProc, /* border_unhighlight */
XtInheritTranslations, /* translations */
bark_dog, /* arm_and_activate */
NULL, /* syn resources */
0, /* num syn_resources */
NULL, /* extension */
},
{ /* dog_class record */
NULL, /* extension */
}
};
externaldef(dogwidgetclass) WidgetClass dogWidgetClass =
(WidgetClass) &dogClassRec;
static XmOffsetPtr offsets; /* Part Offset table for XmResolvePartOffsets */
/**********************************************************************
*
* DogCreate - Convenience routine, used by Uil/Mrm.
*
*********************************************************************/
Widget DogCreate(parent, name, arglist, nargs)
Widget parent;
char *name;
Arg *arglist;
int nargs;
{
return(XtCreateWidget (name, dogWidgetClass, parent, arglist, nargs));
}
/**********************************************************************
*
* DogMrmInitialize - register Dog widget class with Mrm
*
*********************************************************************/
int DogMrmInitialize()
{
return(MrmRegisterClass (MrmwcUnknown, "Dog" , "DogCreate", DogCreate,
(WidgetClass)&dogClassRec));
}
/**********************************************************************
*
* _DogDrawPixmap - draw the current pixmap
*
*********************************************************************/
void _DogDrawPixmap(w)
DogWidget w;
{
if (XtIsRealized(w)) {
XCopyArea(XtDisplay(w),CurrPixmap(w),
XtWindow(w),DrawGC(w),
PixmapX(w), PixmapY(w),
DrawWidth(w), DrawHeight(w),
DrawX(w), DrawY(w));
}
}
/**********************************************************************
*
* _DogPosition(w) - position the current pixmap
*
*********************************************************************/
void _DogPosition(w)
DogWidget w;
{
Dimension margin = ShadowThickness(w) + HighlightThickness(w);
if (CurrWidth(w) < MAX(Width(w) - 2u * margin,0)) {
PixmapX(w) = 0;
DrawX(w) = Width(w)/2 - CurrWidth(w)/2;
DrawWidth(w) = CurrWidth(w);
}
else {
PixmapX(w) = (CurrWidth(w) - (Width(w) - 2 * margin))/2u;
DrawX(w) = margin;
DrawWidth(w) = Width(w) - 2 * margin;
}
if (CurrHeight(w) < MAX(Height(w) - 2u * margin,0)) {
PixmapY(w)= 0;
DrawY(w) = Height(w)/2 - CurrHeight(w)/2;
DrawHeight(w) = CurrHeight(w);
}
else {
PixmapY(w) = (CurrHeight(w) - (Height(w) - 2 * margin))/2u;
DrawY(w) = margin;
DrawHeight(w) = Height(w) - 2 * margin;
}
}
/**********************************************************************
*
* Class methods
*
*********************************************************************/
static void ClassInitialize()
{
XmResolvePartOffsets(dogWidgetClass, &offsets);
}
static create_GC(w)
DogWidget w;
{
XGCValues values;
XtGCMask valueMask;
valueMask = GCForeground | GCBackground | GCGraphicsExposures;
values.foreground = Foreground(w);
values.background = BackgroundPixel(w);
values.graphics_exposures = False;
DrawGC(w) = XtGetGC((Widget)w,valueMask,&values);
}
static create_pixmaps(w)
DogWidget w;
{
UpPixmap(w) = MakePixmap(up_bits, up_width, up_height);
DownPixmap(w) = MakePixmap(down_bits, down_width, down_height);
BarkPixmap(w) = MakePixmap(bark_bits, bark_width, bark_height);
}
static void Initialize(request, new)
DogWidget request;
DogWidget new;
{
if (Width(request) == 0)
Width(new) = MAX(MAX(up_width, down_width),bark_width) +
2*(ShadowThickness(new)+HighlightThickness(new));
if (Height(request) == 0)
Height(new) = MAX(MAX(up_height, down_height),bark_height) +
2*(ShadowThickness(new)+HighlightThickness(new));
create_GC(new);
create_pixmaps(new);
SetPixmap(new, DownPx, DownPixmap(new), down_width, down_height);
Wagging(new) = False;
Barking(new) = False;
Resize(new);
}
static destroy_pixmaps(w)
DogWidget w;
{
XFreePixmap (XtDisplay(w), UpPixmap(w));
XFreePixmap (XtDisplay(w), DownPixmap(w));
XFreePixmap (XtDisplay(w), BarkPixmap(w));
}
static void Destroy(w)
DogWidget w;
{
XtReleaseGC ((Widget)w, DrawGC(w));
destroy_pixmaps(w);
XtRemoveAllCallbacks ((Widget)w, DogNbarkCallback);
}
static void Resize(w)
DogWidget w;
{
_DogPosition(w);
}
static Boolean DifferentBackground(w, p)
Widget w;
Widget p;
{
if (XmIsPrimitive(w) && XmIsManager(p))
{
Pixel w_bg, p_bg;
Pixmap w_px, p_px;
XtVaGetValues(w, XmNbackground, &w_bg, XmNbackgroundPixmap, &w_px, NULL);
XtVaGetValues(p, XmNbackground, &p_bg, XmNbackgroundPixmap, &p_px, NULL);
return ((w_bg == p_bg) && (w_px == p_px));
}
return (False);
}
static void Redisplay(w, event, region)
DogWidget w;
XEvent *event;
Region region;
{
if (XtIsRealized(w)) {
XmeDrawShadows (XtDisplay (w), XtWindow (w),
TopShadowGC(w), BottomShadowGC(w),
HighlightThickness(w), HighlightThickness(w),
Width(w) - 2 * HighlightThickness(w),
Height(w) - 2 * HighlightThickness(w),
ShadowThickness(w),
XmSHADOW_OUT);
if (Highlighted(w))
(*((DogWidgetClass)XtClass(w)) ->
primitive_class.border_highlight)((Widget)w);
else if (DifferentBackground ((Widget)w, XtParent (w)))
(*((DogWidgetClass)XtClass(w)) ->
primitive_class.border_unhighlight)((Widget)w);
_DogDrawPixmap(w);
}
}
static Boolean SetValues(current, request, new)
DogWidget current;
DogWidget request;
DogWidget new;
{
Boolean redraw = False;
if (ShadowThickness(new) != ShadowThickness(current) ||
HighlightThickness(new) != HighlightThickness(current)) {
_DogPosition(new);
redraw = True;
}
if (Foreground(new) != Foreground(current) ||
BackgroundPixel(new) != BackgroundPixel(current)) {
XtReleaseGC ((Widget)current, DrawGC(current));
create_GC(new);
destroy_pixmaps(new);
create_pixmaps(new);
switch (CurrPx(new)) {
case(UpPx) :
SetPixmap(new,UpPx,UpPixmap(new),up_width,up_height);
break;
case(DownPx) :
SetPixmap(new,DownPx,DownPixmap(new),down_width,down_height);
break;
case(BarkPx) :
SetPixmap(new,BarkPx,BarkPixmap(new),bark_width,bark_height);
break;
}
redraw = True;
}
return (redraw);
}
static XtGeometryResult QueryGeometry (w, intended, reply)
DogWidget w;
XtWidgetGeometry *intended;
XtWidgetGeometry *reply;
{
reply->request_mode = 0;
if (intended->request_mode & (~(CWWidth | CWHeight)) != 0)
return (XtGeometryNo);
reply->request_mode = (CWWidth | CWHeight);
reply->width = MAX(MAX(down_width,up_width),bark_width) +
2*(ShadowThickness(w)+HighlightThickness(w));
reply->height = MAX(MAX(down_height,up_height),bark_height) +
2*(ShadowThickness(w)+HighlightThickness(w));
if (reply->width != intended->width ||
reply->height != intended->height ||
intended->request_mode != reply->request_mode)
return (XtGeometryAlmost);
else {
reply->request_mode = 0;
return (XtGeometryYes);
}
}
/**********************************************************************
*
* Widget actions
*
*********************************************************************/
static void bark_dog(w, event)
DogWidget w;
XEvent *event;
{
XmProcessTraversal((Widget)w, XmTRAVERSE_CURRENT);
XtCallCallbacks ((Widget)w, DogNbarkCallback, NULL);
if (Barking(w) == True) return;
Barking(w) = True;
SetPixmap(w,BarkPx,BarkPixmap(w),bark_width,bark_height);
_DogPosition(w);
_DogDrawPixmap(w);
XtAppAddTimeOut (XtWidgetToApplicationContext((Widget)w),
BarkTime((Widget)w), end_bark, w);
}
static void end_bark(w, t)
DogWidget w;
XtIntervalId *t;
{
SetPixmap(w,DownPx,DownPixmap(w),down_width,down_height);
_DogPosition(w);
_DogDrawPixmap(w);
Barking(w) = False;
if (Wagging(w) == True)
XtAppAddTimeOut(XtWidgetToApplicationContext((Widget)w),
WagTime(w), do_wag, w);
}
static void start_wag(w, event)
DogWidget w;
XEvent *event;
{
XmProcessTraversal((Widget)w, XmTRAVERSE_CURRENT);
if (Wagging(w) == True) return;
Wagging(w) = True;
if (Barking(w) == True) return;
XtAppAddTimeOut (XtWidgetToApplicationContext((Widget)w),
WagTime(w), do_wag, w);
}
static void stop_wag(w, event)
DogWidget w;
XEvent *event;
{
XmProcessTraversal((Widget)w, XmTRAVERSE_CURRENT);
Wagging(w) = False;
}
static void do_wag(cd, t)
XtPointer cd;
XtIntervalId *t;
{
DogWidget w = (DogWidget)cd;
if (Barking(w) == True) return;
if (Wagging(w) == False) return;
switch(CurrPx(w)) {
case(UpPx):
SetPixmap(w,DownPx,DownPixmap(w),down_width,down_height);
break;
case(DownPx):
SetPixmap(w,UpPx,UpPixmap(w),up_width,up_height);
break;
}
_DogPosition(w);
_DogDrawPixmap(w);
XtAppAddTimeOut (XtWidgetToApplicationContext((Widget)w),
WagTime(w), do_wag, (XtPointer)w);
}

View File

@@ -0,0 +1,37 @@
/*
* (c) Copyright 1989, 1990, 1991, 1992 OPEN SOFTWARE FOUNDATION, INC.
* ALL RIGHTS RESERVED
*/
/*
* Motif Release 1.2
*/
/* $XConsortium: Dog.h /main/3 1995/10/27 10:42:01 rswiston $ */
/*****************************************************************************
*
* Dog.h - widget public header file
*
******************************************************************************/
#ifndef _Dog_h
#define _Dog_h
externalref WidgetClass dogWidgetClass;
typedef struct _DogClassRec *DogWidgetClass;
typedef struct _DogRec *DogWidget;
#define DogNbarkCallback "barkCallback"
#define DogNwagTime "wagTime"
#define DogNbarkTime "barkTime"
#define DogCWagTime "WagTime"
#define DogCBarkTime "BarkTime"
#define IsDog(w) XtIsSubclass((w), dogWidgetClass)
extern Widget DogCreate();
extern int DogMrmInitialize();
#endif /* _Dog_h */
/* DON'T ADD ANYTHING AFTER THIS #endif */

View File

@@ -0,0 +1,26 @@
!
! (c) Copyright 1989, 1990, 1991, 1992 OPEN SOFTWARE FOUNDATION, INC.
! ALL RIGHTS RESERVED
!
!
! Motif Release 1.2
!
! $XConsortium: Dog.uil /main/3 1995/10/27 10:42:11 rswiston $
!******************************************************************************
!****************************************************************************
!*
!* Dog.uil - Dog widget UIL header file
!*
!****************************************************************************
! resources
value
DogNwagTime : private argument ('wagTime', integer);
DogNbarkTime : private argument ('barkTime', integer);
DogNbarkCallback : reason ('barkCallback');
! widget create procedure
procedure DogCreate();

View File

@@ -0,0 +1,74 @@
/*
* (c) Copyright 1989, 1990, 1991, 1992 OPEN SOFTWARE FOUNDATION, INC.
* ALL RIGHTS RESERVED
*/
/*
* Motif Release 1.2
*/
/* $XConsortium: DogP.h /main/3 1995/10/27 10:42:18 rswiston $ */
/*****************************************************************************
*
* DogP.H - widget private header file
*
******************************************************************************/
#ifndef _DogP_h
#define _DogP_h
#include "Dog.h"
#include <Xm/XmP.h>
#include <Xm/PrimitiveP.h>
void _DogDrawPixmap();
void _DogPosition();
#define DogIndex (XmPrimitiveIndex + 1)
typedef struct _DogClassPart {
int reserved;
} DogClassPart;
typedef struct _DogClassRec {
CoreClassPart core_class;
XmPrimitiveClassPart primitive_class;
DogClassPart dog_class;
} DogClassRec;
extern DogClassRec dogClassRec;
typedef struct _DogPart {
int wag_time;
int bark_time;
XtCallbackList bark_callback;
Boolean wagging;
Boolean barking;
GC draw_GC;
Pixmap up_pixmap;
Pixmap down_pixmap;
Pixmap bark_pixmap;
Position pixmap_x;
Position pixmap_y;
Position draw_x;
Position draw_y;
Dimension draw_width;
Dimension draw_height;
int curr_px;
Pixmap curr_pixmap;
Dimension curr_width;
Dimension curr_height;
} DogPart;
typedef struct _DogRec {
CorePart core;
XmPrimitivePart primitive;
DogPart dog;
} DogRec;
#define UpPx 0
#define DownPx 1
#define BarkPx 2
#endif /* _DogP_h */
/* DON'T ADD ANYTHING AFTER THIS #endif */

View File

@@ -0,0 +1,52 @@
# $XConsortium: Makefile.hp /main/2 1996/05/13 11:56:33 drk $
##########################################################################
#
# Makefile for Motif dog widget demo (HP)
#
# (c) Copyright 1993, 1994 Hewlett-Packard Company
# (c) Copyright 1993, 1994 International Business Machines Corp.
# (c) Copyright 1993, 1994 Sun Microsystems, Inc.
# (c) Copyright 1993, 1994 Novell, Inc.
#
##########################################################################
CC = cc
RM = rm -f
UIL = /usr/dt/bin/uil
PROGRAM = dogs
SOURCES = dogs.c Dog.c Square.c
OBJECTS = dogs.o Dog.o Square.o
UID = dogs.uid
UILSOURCE = dogs.uil
DEFINES =
CDEBUGFLAGS = -O
CFLAGS = -Aa -z $(DEFINES) $(CDEBUGFLAGS)
DTINCLUDE = -I/usr/dt/include
X11INCLUDE = -I/usr/include/X11R5
INCLUDES = $(DTINCLUDE) $(X11INCLUDE)
DTLIBS = -L/usr/dt/lib -lMrm -lXm
X11LIBS = -L/usr/lib/X11R5 -lXt -lX11
SYSLIBS =
LIBRARIES = $(DTLIBS) $(X11LIBS) $(SYSLIBS)
LDFLAGS =
.c.o:
${CC} -c $(CFLAGS) $(INCLUDES) $<
all:: $(PROGRAM) $(UID)
$(PROGRAM):: $(OBJECTS)
$(CC) -o $(PROGRAM) $(LDFLAGS) $(OBJECTS) $(LIBRARIES)
$(UID):: $(UILSOURCE)
$(UIL) -o $(UID) $(UILSOURCE)
clean::
$(RM) $(PROGRAM) $(OBJECTS) $(UID)

View File

@@ -0,0 +1,51 @@
# $XConsortium: Makefile.ibm /main/2 1996/05/13 11:56:51 drk $
##########################################################################
#
# Makefile for Motif dog widget demo (IBM)
#
# (c) Copyright 1993, 1994 Hewlett-Packard Company
# (c) Copyright 1993, 1994 International Business Machines Corp.
# (c) Copyright 1993, 1994 Sun Microsystems, Inc.
# (c) Copyright 1993, 1994 Novell, Inc.
#
##########################################################################
CC = cc
RM = rm -f
UIL = /usr/dt/bin/uil
PROGRAM = dogs
SOURCES = dogs.c Dog.c Square.c
OBJECTS = dogs.o Dog.o Square.o
UID = dogs.uid
UILSOURCE = dogs.uil
DEFINES =
CDEBUGFLAGS = -O
CFLAGS = $(DEFINES) $(CDEBUGFLAGS)
DTINCLUDE = -I/usr/dt/include
X11INCLUDE = -I/usr/include
INCLUDES = $(DTINCLUDE) $(X11INCLUDE)
DTLIBS = -L/usr/dt/lib -lMrm -lXm
X11LIBS = -L/usr/lib -lXt -lX11
SYSLIBS =
LIBRARIES = $(DTLIBS) $(X11LIBS) $(SYSLIBS)
LDFLAGS =
.c.o:
$(CC) -c $(CFLAGS) $(INCLUDES) $<
all:: $(PROGRAM) $(UID)
$(PROGRAM):: $(OBJECTS)
$(CC) -o $(PROGRAM) $(LDFLAGS) $(OBJECTS) $(LIBRARIES)
$(UID):: $(UILSOURCE)
$(UIL) -o $(UID) $(UILSOURCE)
clean::
$(RM) $(PROGRAM) $(OBJECTS) $(UID)

View File

@@ -0,0 +1,52 @@
# $XConsortium: Makefile.novell /main/2 1996/05/13 11:57:07 drk $
##########################################################################
#
# Makefile for Motif dog widget demo (Novell)
#
# (c) Copyright 1993, 1994 Hewlett-Packard Company
# (c) Copyright 1993, 1994 International Business Machines Corp.
# (c) Copyright 1993, 1994 Sun Microsystems, Inc.
# (c) Copyright 1993, 1994 Novell, Inc.
#
##########################################################################
CC = cc
RM = rm -f
UIL = /usr/dt/bin/uil
PROGRAM = dogs
SOURCES = dogs.c Dog.c Square.c
OBJECTS = dogs.o Dog.o Square.o
UID = dogs.uid
UILSOURCE = dogs.uil
DEFINES =
CDEBUGFLAGS = -O
CFLAGS = -Xc $(DEFINES) $(CDEBUGFLAGS)
DTINCLUDE = -I/usr/dt/include
X11INCLUDE = -I/usr/X/include
INCLUDES = $(DTINCLUDE) $(X11INCLUDE)
DTLIBS = -L/usr/dt/lib -lMrm -lXm
X11LIBS = -L/usr/X/lib -lXt -lX11
SYSLIBS = -lw -lgen -lnsl -lresolv -lsocket -lXIM
LIBRARIES = $(DTLIBS) $(X11LIBS) $(SYSLIBS)
LDFLAGS =
.c.o:
$(CC) -c $(CFLAGS) $(INCLUDES) $<
all:: $(PROGRAM) $(UID)
$(PROGRAM):: $(OBJECTS)
$(CC) -o $(PROGRAM) $(LDFLAGS) $(OBJECTS) $(LIBRARIES)
$(UID):: $(UILSOURCE)
$(UIL) -o $(UID) $(UILSOURCE)
clean::
$(RM) $(PROGRAM) $(OBJECTS) $(UID)

View File

@@ -0,0 +1,51 @@
# $XConsortium: Makefile.sun /main/2 1996/05/13 11:57:24 drk $
##########################################################################
#
# Makefile for Motif dog widget demo (SUN)
#
# (c) Copyright 1993, 1994 Hewlett-Packard Company
# (c) Copyright 1993, 1994 International Business Machines Corp.
# (c) Copyright 1993, 1994 Sun Microsystems, Inc.
# (c) Copyright 1993, 1994 Novell, Inc.
#
##########################################################################
CC = cc
RM = rm -f
UIL = /usr/dt/bin/uil
PROGRAM = dogs
SOURCES = dogs.c Dog.c Square.c
OBJECTS = dogs.o Dog.o Square.o
UID = dogs.uid
UILSOURCE = dogs.uil
DEFINES =
CDEBUGFLAGS = -O
CFLAGS = $(DEFINES) $(CDEBUGFLAGS)
DTINCLUDE = -I/usr/dt/include
X11INCLUDE = -I/usr/openwin/include
INCLUDES = $(DTINCLUDE) $(X11INCLUDE)
DTLIBS = -L/usr/dt/lib -lMrm -lXm
X11LIBS = -L/usr/openwin/lib -lXt -lX11
SYSLIBS = -ldl -lw -lgen
LIBRARIES = $(DTLIBS) $(X11LIBS) $(SYSLIBS)
LDFLAGS = -R/usr/dt/lib:/usr/openwin/lib
.c.o:
$(CC) -c $(CFLAGS) $(INCLUDES) $<
all:: $(PROGRAM) $(UID)
$(PROGRAM):: $(OBJECTS)
$(CC) -o $(PROGRAM) $(LDFLAGS) $(OBJECTS) $(LIBRARIES)
$(UID):: $(UILSOURCE)
$(UIL) -o $(UID) $(UILSOURCE)
clean::
$(RM) $(PROGRAM) $(OBJECTS) $(UID)

View File

@@ -0,0 +1,52 @@
# $XConsortium: Makefile.uxp /main/2 1996/05/13 11:57:42 drk $
##########################################################################
#
# Makefile for Motif dog widget demo (UXP)
#
# (Fujitsu.patch applied)
#
# (c) Copyright 1993, 1994 Hewlett-Packard Company
# (c) Copyright 1993, 1994 International Business Machines Corp.
# (c) Copyright 1993, 1994 Sun Microsystems, Inc.
# (c) Copyright 1993, 1994 Novell, Inc.
#
##########################################################################
CC = cc
RM = rm -f
UIL = /usr/dt/bin/uil
PROGRAM = dogs
SOURCES = dogs.c Dog.c Square.c
OBJECTS = dogs.o Dog.o Square.o
UID = dogs.uid
UILSOURCE = dogs.uil
DEFINES =
CDEBUGFLAGS = -O
CFLAGS = -Xc $(DEFINES) $(CDEBUGFLAGS)
DTINCLUDE = -I/usr/dt/include
INCLUDES = $(DTINCLUDE)
DTLIBS = -L/usr/dt/lib -lMrm -lXm
X11LIBS = -lXt -lX11
SYSLIBS = -lw -lgen -lnsl -lresolv -lsocket
LIBRARIES = $(DTLIBS) $(X11LIBS) $(SYSLIBS)
LDFLAGS =
.c.o:
$(CC) -c $(CFLAGS) $(INCLUDES) $<
all:: $(PROGRAM) $(UID)
$(PROGRAM):: $(OBJECTS)
$(CC) -o $(PROGRAM) $(LDFLAGS) $(OBJECTS) $(LIBRARIES)
$(UID):: $(UILSOURCE)
$(UIL) -o $(UID) $(UILSOURCE)
clean::
$(RM) $(PROGRAM) $(OBJECTS) $(UID)

View File

@@ -0,0 +1,231 @@
/* $XConsortium: README /main/2 1996/07/15 14:04:15 drk $ */
This directory contains the sources of the Dog widget, the Square widget,
and the dogs demo.
DOG WIDGET
----------
The Dog widget demonstrates how to subclass a primitive widget which
will remain binary compatible with future versions of Motif. It uses
XmResolvePartOffsets(), and associated macros, and implements all
the recommendations in the XmResolvePartOffsets manpage.
The Dog widget is a subclass of XmPrimitive. It can bark and wag its
tail. If you want more exotic tricks - feel free to subclass it, or
replace up.bm, down.bm and bark.bm with more interesting bitmaps.
It has the following resources:
DogNwagTime - time in milliseconds between each wag.
DogNbarkTime - time in milliseconds the bark graphic is displayed.
DogNbarkCallback - callback called by the bark action.
It has the following translations:
osfActivate/Return/Space/MB1 = Bark
W/MB2 = Wag tail.
S/Shift-MB2 = Stop wagging tail.
osfHelp = Help
SQUARE WIDGET
-------------
The Square widget demonstrates how to subclass a constraint widget which
will remain binary compatible with future versions of Motif. It uses
XmResolveAllPartOffsets(), and associated macros, and implements all
the recommendations in the XmResolveAllPartOffsets manpage.
The Square Widget is a subclass of XmBulletinBoard. It forces its children
to be square using a constraint resource.
It has one resource:
SquareNmajorDimension - determines which dimension will be used
for the new size of the child. Values are
SquareWIDTH or SquareHEIGHT.
It has one constraint resource:
SquareNmakeSquare - determines whether the child is forced
to be square or set to its preferred size.
DOGS DEMO
---------
The dogs demo uses the Dog and Square widgets. It illustrates how
to incorporate new widgets into UIL source, using the user_defined
function.
It allows you to dynamically change the DogNwagTime and SquareNmakeSquare
resources.
If you have a machine with any sound generation features at all, you may
want to change the bark callback to something better than XBell().
ADDITIONAL INFORMATION ON THE MOTIF BINARY COMPATIBILITY MECHANISM
------------------------------------------------------------------
Why is it needed?:
Motif custom widget subclasses compiled against Motif 1.2 may
not be binary compatible with future major releases of Motif, and
will cause fatal errors when used. To fix the problem the widget will
need to be recompiled against the new version of Motif.
The incompatibility will occur because a subclass must contain
compiled-in references to its instance fields which will be
specified relative to the start address of the widget instance.
When a new Motif library is installed in which the widget's
superclass instance structures have been extended, the compiled-in
references will point to the wrong memory location, and general
chaos will ensue.
The solution:
Motif provides a solution to this problem in the form of a new
mechanism for defining resources and accessing widget fields.
The mechanism allows all references to fields in the instance and
constraint structures to be specified relative to the start of the
widget *part* structure instead of the overall widget structures
(which include the superclass part structures.) The mechanism resolves
these relative references at runtime when the widget class is
first initialized. This involves factoring in the true size of
the widget's superclass instance structures read from the currently-
linked Motif library.
Converting a Widget To Use The Motif Widget Binary Compatibility Mechanism
--------------------------------------------------------------------------
The guidelines for converting a widget to use the mechanism illustrate
each stage with examples from a hypothetical widget named 'XmpNew'.
The mechanism requires changes only to the widget's source file and
not to any public header file.
For additional information, see the Motif 1.2 man pages for
XmResolvePartOffsets() and XmResolveAllPartOffsets().
Edit your widget source file and proceed through the file, implementing
these guidelines:
1) Provide a clear indication that the widget uses the Motif widget
binary compatibility mechanism. The Motif changes are not part of the
standard Xt widget-writing specification, and may be confusing
to the future maintainers of the widget. Add the following comment
near the start of the file and tag each change in the file with
a brief comment:
/*
* The XmpNew widget is rigged with the Motif widget binary compatibility
* mechanism. All Motif-specific changes for this mechanism are preceded
* by a comment including the string "MotifBc".
*
* For a description of the Motif widget binary compatibility mechanism,
* see the reference manual entry on XmResolveAllPartOffsets().
*
*/
2) Define an index value for your class. The value should be one
greater than the predefined index for your widget's superclass:
For a subclass of XmPrimitive:
#define XmpNewIndex (XmPrimitiveIndex + 1)
For a subclass of XmManager:
#define XmpNewIndex (XmManagerIndex + 1)
3) Define variables to hold the dynamic offset tables. They
should be statically defined, but global to the widget source
file:
static XmOffsetPtr ipot; /* Instance part offset table */
For subclasses of XmManager, you also need:
static XmOffsetPtr cpot; /* Constraint part offset table */
4) Define macros to provide access to your widget's fields:
For all widget instance fields:
#define MarginWidth(w) XmField(w,ipot,XmpNew,margin_width,Dimension)
For all widget constraint fields:
#define ChildType(w) \
XmConstraintField(w,cpot,XmpNew,child_type,unsigned char)
(The last parameter is the data type of the instance or constraint field.)
5) Modify the definition of all widget resources, synthetic resources,
constraint resources and synthetic constraint resources to use dynamic
offset calculation macros:
Change the type of widget resource lists and constraint resource
lists from:
XtResource foo[] = { };
to:
XmPartResource foo[] = { };
Change all widget resource and synthetic resource offset entries from:
XtOffsetOf( struct _XmpNewRec, new.margin_width)
to:
XmPartOffset(XmpNew,margin_width)
Change all widget constraint resource and synthetic constraint resource
offset entries from:
XtOffsetOf( struct _XmpNewConstraintRec, new.child_type),
to:
XmConstraintPartOffset(XmpNew,child_type)
6) In the widget class record change the widget 'size' and 'constraint_size'
fields to be the size of the widget part structure, not the size
of the entire widget structure:
Change the Core class 'size' field from:
sizeof(XmpNewWidgetRec) /* widget size */
to:
sizeof(XmpNewWidgetPart), /* widget size */
Change the Constraint class 'constraint_size' field from:
sizeof(XmpNewConstraintRec), /* constraint_size */
to:
sizeof(XmpNewConstraintPart), /* constraint_size */
7) Change the Core class 'version' field to disable version checking:
XtVersion, /* version */
becomes:
XtVersionDontCheck /* version */
8) In the widget's ClassInitialize method, add the call which will
resolve the part-relative references:
For a subclass of XmPrimitive:
XmResolvePartOffsets(xmpNewWidgetClass, &ipot);
For a subclass of XmManager:
XmResolveAllPartOffsets(xmpNewWidgetClass, &ipot, &cpot);
9) Ensure that references to all instance and constraint fields in the
widget source use the macros defined in (4) above. There must be no direct
access to these fields.
Superclass instance and constraint fields can still be accessed normally,
however, to keep the widget source readable and consistent it is
recommended that macros are also defined and used for those fields. e.g
#define Width(w) ((w)->core.width)
#define NumChildren(w) ((w)->composite.num_children)
#define ShadowThickness(w) ((w)->manager.shadow_thickness)
10) Test the results. The easiest way to do this is go to the lib/Xm
directory, add some new fields to PrimitiveP.h and ManagerP.h, and rebuild
the libXm library. Test your widget with this new library (without
recompiling the widget source!)
----- End Included Message -----

View File

@@ -0,0 +1,253 @@
/*
* (c) Copyright 1989, 1990, 1991, 1992 OPEN SOFTWARE FOUNDATION, INC.
* ALL RIGHTS RESERVED
*/
/*
* Motif Release 1.2
*/
#ifdef REV_INFO
#ifndef lint
static char rcsid[] = "$XConsortium: Square.c /main/3 1995/10/27 10:42:28 rswiston $"
#endif
#endif
/*****************************************************************************
*
* Square.c - widget source file
*
******************************************************************************/
#include <stdio.h>
#include <Xm/Xm.h>
#include <Mrm/MrmPublic.h>
#include <Xm/BulletinBP.h>
#include "SquareP.h"
#define Width(w) XmField((w),square_offsets,Core,width,Dimension)
#define Height(w) XmField((w),square_offsets,Core,height,Dimension)
#define BorderWidth(w) XmField((w),square_offsets,Core,border_width,Dimension)
#define MajorDimension(w) XmField((w),square_offsets,Square,major_dimension,int)
#define MakeSquare(w) XmConstraintField((w),square_constraint_offsets, \
Square,make_square, Boolean)
static void ClassInitialize();
static void Initialize();
static Boolean SetValues();
static void ConstraintInitialize();
static Boolean ConstraintSetValues();
static XmPartResource resources[] = {
{
SquareNmajorDimension, SquareCMajorDimension, XmRInt, sizeof(int),
XmPartOffset(Square,major_dimension), XmRImmediate, (XtPointer)SquareWIDTH
}
};
static XmPartResource constraints[] = {
{
SquareNmakeSquare, SquareCMakeSquare, XmRBoolean, sizeof(Boolean),
XmConstraintPartOffset(Square,make_square),
XmRImmediate, (XtPointer)False
}
};
externaldef(squareclassrec) SquareClassRec squareClassRec =
{
{ /* core_class fields */
(WidgetClass) &xmBulletinBoardClassRec, /* superclass */
"Square", /* class_name */
sizeof(SquarePart), /* widget_size */
ClassInitialize, /* class_initialize */
NULL, /* class init part proc */
False, /* class_inited */
Initialize, /* initialize */
NULL, /* initialize_notify */
XtInheritRealize, /* realize */
NULL, /* actions */
0, /* num_actions */
(XtResourceList)resources,/* resources */
XtNumber(resources), /* num_resources */
NULLQUARK, /* xrm_class */
False, /* compress_motion */
XtExposeCompressMaximal, /* compress_exposure */
False, /* compress_enterleave */
False, /* visible_interest */
NULL, /* destroy */
XtInheritResize, /* resize */
XtInheritExpose, /* expose */
SetValues, /* set_values */
NULL, /* set_values_hook */
XtInheritSetValuesAlmost, /* set_values_almost */
NULL, /* get_values_hook */
NULL, /* accept_focus */
XtVersionDontCheck, /* version */
NULL, /* callback_private */
XtInheritTranslations, /* tm_table */
XtInheritQueryGeometry, /* Query Geometry proc */
NULL, /* disp accelerator */
NULL, /* extension */
},
{ /* composite_class fields */
XtInheritGeometryManager, /* geometry_manager */
XtInheritChangeManaged, /* change_managed */
XtInheritInsertChild, /* insert_child */
XtInheritDeleteChild, /* delete_child */
NULL, /* extension */
},
{ /* constraint_class fields */
(XtResourceList)constraints, /* constraint resource */
XtNumber(constraints), /* number of constraints */
sizeof(SquareConstraintPart), /* size of constraint */
ConstraintInitialize, /* initialization */
NULL, /* destroy proc */
ConstraintSetValues, /* set_values proc */
NULL, /* extension */
},
{ /* manager_class fields */
XtInheritTranslations, /* translations */
NULL, /* syn_resources */
0, /* num_syn_resources */
NULL, /* syn_cont_resources */
0, /* num_syn_cont_resources */
XmInheritParentProcess, /* parent_process */
NULL, /* extension */
},
{ /* bulletin_board_class fields */
FALSE, /* always_install_accelerators */
NULL, /* geo_matrix_create */
XtInheritFocusMovedProc, /* focus_moved_proc */
NULL, /* extension */
},
{ /* square_class fields */
NULL, /* extension */
}
};
externaldef(squarewidgetclass) WidgetClass
squareWidgetClass = (WidgetClass) &squareClassRec;
static XmOffsetPtr square_offsets; /* Part offsets table */
static XmOffsetPtr square_constraint_offsets; /* Constraint offsets table */
/**********************************************************************
*
* SquareCreate - Convenience routine, used by Uil/Mrm.
*
*********************************************************************/
Widget SquareCreate(parent, name, arglist, nargs)
Widget parent;
char *name;
Arg *arglist;
int nargs;
{
return(XtCreateWidget (name, squareWidgetClass, parent, arglist, nargs));
}
/**********************************************************************
*
* SquareMrmInitialize - register Square widget class with Mrm
*
*********************************************************************/
int SquareMrmInitialize()
{
return(MrmRegisterClass (MrmwcUnknown, "Square", "SquareCreate",
SquareCreate, (WidgetClass)&squareClassRec));
}
/**********************************************************************
*
* Class methods
*
*********************************************************************/
static void ClassInitialize()
{
XmResolveAllPartOffsets(squareWidgetClass, &square_offsets,
&square_constraint_offsets);
}
static void Initialize(req, new)
SquareWidget req;
SquareWidget new;
{
if (MajorDimension(new) != SquareWIDTH &&
MajorDimension(new) != SquareHEIGHT) {
XtWarning("Square: invalid majorDimension");
MajorDimension(new) = SquareWIDTH;
}
}
static Boolean SetValues(curr, req, new)
SquareWidget curr;
SquareWidget req;
SquareWidget new;
{
if (MajorDimension(new) != SquareWIDTH &&
MajorDimension(new) != SquareHEIGHT) {
XtWarning("Square: invalid majorDimension");
MajorDimension(new) = MajorDimension(curr);
}
return (False);
}
static void ConstraintInitialize (req, new)
Widget req;
Widget new;
{
Dimension m;
if(MakeSquare(new) == True) {
if (MajorDimension(XtParent(new))==SquareWIDTH)
m = Width(new);
else
m = Height(new);
XtResizeWidget(new, m, m, BorderWidth(new));
}
}
static Boolean ConstraintSetValues (old, ref, new)
Widget old;
Widget ref;
Widget new;
{
Boolean redraw = False;
if (MakeSquare(new) != MakeSquare(old)) {
if(MakeSquare(new)==True) {
if (MajorDimension(XtParent(new))==SquareWIDTH)
Height(new) = Width(new);
else
Width(new) = Height(new);
}
else {
XtWidgetGeometry gi;
XtWidgetGeometry gp;
if (MajorDimension(XtParent(new))==SquareWIDTH)
Height(new) = Height(new)/2;
else
Width(new) = Width(new)/2;
gi.request_mode = CWWidth | CWHeight;
gi.width = Width(new);
gi.height = Height(new);
if (XtQueryGeometry(new, &gi, &gp) == XtGeometryAlmost) {
if (gp.request_mode && CWWidth != 0) Width(new) = gp.width;
if (gp.request_mode && CWHeight != 0) Height(new) = gp.height;
}
}
redraw = True;
}
return (redraw);
}

View File

@@ -0,0 +1,41 @@
/*
* (c) Copyright 1989, 1990, 1991, 1992 OPEN SOFTWARE FOUNDATION, INC.
* ALL RIGHTS RESERVED
*/
/*
* Motif Release 1.2
*/
/* $XConsortium: Square.h /main/3 1995/10/27 10:42:37 rswiston $ */
/*****************************************************************************
*
* Square.h - widget public header file
*
******************************************************************************/
#ifndef _Square_h
#define _Square_h
#include <Xm/BulletinB.h>
externalref WidgetClass squareWidgetClass;
typedef struct _SquareClassRec *SquareWidgetClass;
typedef struct _SquareRec *SquareWidget;
extern Widget SquareCreate();
extern int SquareMrmInitialize();
#define IsSquare(w) XtIsSubclass((w), squareWidgetClass)
#define SquareWIDTH 0
#define SquareHEIGHT 1
#define SquareNmajorDimension "majorDimension"
#define SquareCMajorDimension "MajorDimension"
#define SquareNmakeSquare "makeSquare"
#define SquareCMakeSquare "MakeSquare"
#endif /* _Square_h */
/* DON'T ADD ANYTHING AFTER THIS #endif */

View File

@@ -0,0 +1,31 @@
!
! (c) Copyright 1989, 1990, 1991, 1992 OPEN SOFTWARE FOUNDATION, INC.
! ALL RIGHTS RESERVED
!
!
! Motif Release 1.2
!
! $XConsortium: Square.uil /main/3 1995/10/27 10:42:46 rswiston $
!******************************************************************************
!****************************************************************************
!*
!* Square.uil - Square widget UIL header file
!*
!****************************************************************************
! resources
value
SquareNmajorDimension : private argument ('majorDimension', integer);
SquareNmakeSquare : private argument ('makeSquare', boolean);
! resource values
value
SquareWIDTH : 0;
SquareHEIGHT : 1;
! widget create procedure
procedure SquareCreate();

View File

@@ -0,0 +1,68 @@
/*
* (c) Copyright 1989, 1990, 1991, 1992 OPEN SOFTWARE FOUNDATION, INC.
* ALL RIGHTS RESERVED
*/
/*
* Motif Release 1.2
*/
/* $XConsortium: SquareP.h /main/3 1995/10/27 10:42:55 rswiston $ */
#ifndef _SquareP_h
#define _SquareP_h
#include "Square.h"
#include <Xm/BulletinBP.h>
#define SquareIndex (XmBulletinBIndex + 1)
typedef struct _SquareClassPart
{
int reserved;
} SquareClassPart;
typedef struct _SquareClassRec
{
CoreClassPart core_class;
CompositeClassPart composite_class;
ConstraintClassPart constraint_class;
XmManagerClassPart manager_class;
XmBulletinBoardClassPart bulletin_board_class;
SquareClassPart square_class;
} SquareClassRec;
externalref SquareClassRec squareClassRec;
typedef struct _SquarePart
{
int major_dimension;
} SquarePart;
/* Full instance record declaration */
typedef struct _SquareRec
{
CorePart core;
CompositePart composite;
ConstraintPart constraint;
XmManagerPart manager;
XmBulletinBoardPart bulletin_board;
SquarePart square;
} SquareRec;
typedef struct _SquareConstraintPart
{
Boolean make_square;
} SquareConstraintPart;
typedef struct _SquareConstraintRec
{
XmManagerConstraintPart manager;
SquareConstraintPart square;
} SquareConstraintRec, *SquareConstraint;
#endif /* _SquareP_h */
/* DON'T ADD ANYTHING AFTER THIS #endif */

View File

@@ -0,0 +1,151 @@
/* $XConsortium: bark.bm /main/2 1995/07/17 18:03:47 drk $ */
#define bark_width 152
#define bark_height 91
#define bark_x_hot 0
#define bark_y_hot 0
static unsigned char bark_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x80, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x80, 0xfb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xfd,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xd5, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x80, 0xeb, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xe0, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x80, 0xeb, 0x07, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0x3f, 0x00, 0x00,
0x00, 0x00, 0x80, 0x57, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x7f, 0x55, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x80, 0x57, 0x07,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x55, 0xfd,
0x00, 0x00, 0x00, 0x00, 0x00, 0xae, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xc0, 0xea, 0xba, 0xea, 0x00, 0x00, 0x00, 0x00, 0x00,
0xae, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xea,
0xba, 0xea, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x1d, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x7d, 0x7d, 0xd5, 0x07, 0x00, 0x00,
0x00, 0x00, 0x56, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x78, 0x7d, 0x7d, 0xd5, 0x07, 0x00, 0x00, 0x00, 0x00, 0xbe, 0x1a, 0x00,
0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xae, 0xab, 0xae, 0xbe, 0x07,
0x00, 0x00, 0x00, 0x00, 0xbe, 0x1a, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0xae, 0xab, 0xae, 0xbe, 0x07, 0x00, 0x00, 0x00, 0x00, 0x78,
0xf5, 0x80, 0xff, 0x57, 0x55, 0x55, 0x55, 0xff, 0xc1, 0xd5, 0xd7, 0x5f,
0x7f, 0xff, 0x03, 0x00, 0x00, 0x00, 0x78, 0xf5, 0x80, 0xff, 0x57, 0x55,
0x55, 0x55, 0xff, 0xc1, 0xd5, 0xd7, 0x5f, 0x7f, 0xff, 0x03, 0x00, 0x00,
0x00, 0xf8, 0xea, 0xff, 0xab, 0xaa, 0xaa, 0xaa, 0xaa, 0xfe, 0xff, 0xab,
0xeb, 0xab, 0xaa, 0xea, 0x7f, 0x00, 0x00, 0x00, 0xc0, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xea, 0xaf, 0xff, 0xaa, 0xaa, 0xaa, 0x73,
0x00, 0x00, 0x00, 0xc0, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0xd5, 0x57, 0x7f, 0x55, 0x55, 0xd5, 0x73, 0x00, 0x00, 0x00, 0xc0, 0x57,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x7f, 0x55, 0x55, 0xfd,
0xd5, 0x7f, 0x00, 0x00, 0x00, 0xc0, 0xaf, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xbe, 0xaa, 0xaa, 0xba, 0xaa, 0x3f, 0x00, 0x00, 0x00,
0x00, 0xbf, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xfe, 0xaa,
0xaa, 0x2a, 0xbf, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x5f, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0xff, 0x55, 0x55, 0x75, 0xde, 0x0f, 0x00,
0x00, 0x00, 0x00, 0xe0, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0xfd, 0x55, 0xd5, 0xd7, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xfa, 0xaa, 0xea, 0xaf, 0x30,
0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xea, 0xab, 0xea, 0xfd, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0xe0, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xd5, 0x57, 0xd5,
0xf0, 0x01, 0x1f, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0xd5, 0x57, 0x7d, 0x00, 0x00, 0xf0, 0x01, 0x00,
0x00, 0x00, 0xe0, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xbf, 0x0f, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xbf, 0x0f, 0x00, 0x00, 0x01,
0x00, 0x00, 0x00, 0x00, 0xf8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0xff, 0x03, 0x00, 0x10, 0x06, 0x00, 0x00, 0x00, 0x00, 0xf8,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xff, 0x03, 0x00,
0x10, 0x0c, 0x00, 0x00, 0x00, 0x00, 0xb8, 0xaa, 0xae, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0x1f, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00,
0x00, 0xb8, 0xaa, 0xae, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x1f,
0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5f, 0xd5, 0x5f, 0x55,
0x55, 0x55, 0xf5, 0xff, 0x55, 0xd5, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
0x00, 0x00, 0x00, 0x5f, 0xd5, 0x5f, 0x55, 0x55, 0x55, 0xf5, 0xff, 0x55,
0xd5, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaf, 0xaa,
0xfb, 0xea, 0xea, 0xff, 0xff, 0xeb, 0xab, 0x3a, 0x00, 0x00, 0x00, 0x20,
0x00, 0x00, 0x00, 0x00, 0x00, 0xaf, 0xaa, 0xfb, 0xea, 0xea, 0xff, 0xff,
0xeb, 0xab, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
0x57, 0xf5, 0xd5, 0xff, 0x1f, 0x00, 0x00, 0x7f, 0x55, 0x3f, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x57, 0xf5, 0xd5, 0xff, 0x1f,
0x00, 0x00, 0x7f, 0x55, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xf8, 0xaa, 0xfe, 0xaa, 0x07, 0x00, 0x00, 0x00, 0xfc, 0xea, 0x07,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb8, 0xaa, 0xfe, 0xab,
0x07, 0x00, 0x00, 0x00, 0xbc, 0xfa, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x78, 0x55, 0xfd, 0x55, 0x07, 0x00, 0x00, 0x00, 0x5c,
0xf5, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0xf5,
0x83, 0x55, 0x07, 0x00, 0x00, 0x00, 0x57, 0x7f, 0x3f, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xbe, 0xea, 0x83, 0xab, 0x07, 0x00, 0x00,
0x00, 0xab, 0xbe, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
0xaf, 0xfa, 0x80, 0xaf, 0x1f, 0x00, 0x00, 0xe0, 0xab, 0xae, 0x3a, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x57, 0xfd, 0x80, 0x5f, 0x1f,
0x00, 0x00, 0xe0, 0x57, 0x5f, 0x3d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xf0, 0x57, 0x1f, 0x00, 0x7e, 0xfd, 0x00, 0x00, 0xf8, 0xf5, 0x7f,
0x3d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xaf, 0x1f, 0x00,
0xbe, 0xfa, 0x00, 0x00, 0xf8, 0xea, 0xbf, 0x3a, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xf0, 0xaa, 0x07, 0x00, 0xf0, 0xef, 0x00, 0x00, 0xbe,
0x7e, 0xb0, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x55,
0x07, 0x00, 0xf0, 0xf7, 0x00, 0x00, 0x5e, 0x7d, 0x70, 0xfd, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x55, 0x1f, 0x00, 0x00, 0xff, 0x00,
0x00, 0x56, 0x1d, 0xf0, 0xd7, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xab, 0x1f, 0x00, 0x00, 0xff, 0x00, 0x00, 0xae, 0x1e, 0xf0, 0xef,
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbe, 0xfa, 0x00, 0x00,
0x00, 0x00, 0xc0, 0xaf, 0x03, 0x00, 0xbe, 0x1f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xf8, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x7f,
0x00, 0xf8, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x1f,
0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x7f, 0x00, 0xf8, 0x1f, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
0xe0, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xc0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x1f, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00};

View File

@@ -0,0 +1,176 @@
/*
* (c) Copyright 1989, 1990, 1991, 1992 OPEN SOFTWARE FOUNDATION, INC.
* ALL RIGHTS RESERVED
*/
/*
* Motif Release 1.2
*/
#ifdef REV_INFO
#ifndef lint
static char rcsid[] = "$XConsortium: dogs.c /main/3 1995/10/27 10:43:03 rswiston $"
#endif
#endif
/*****************************************************************************
*
* dogs.c - Square & Dog widget demo source file.
*
******************************************************************************/
#include <stdio.h>
#include <Xm/Xm.h>
#include <Mrm/MrmPublic.h>
#include "Square.h"
#include "Dog.h"
XtAppContext app_context;
#define k_dog1_id 1
#define k_dog2_id 2
#define k_dog3_id 3
#define k_help_id 4
static void create_cb();
static void bark_cb();
static void tb_cb();
static void scale_cb();
static void help_cb();
static void exit_cb();
static MrmHierarchy mrm_id = 0;
static char *mrm_vec[]={"dogs.uid", NULL};
static MrmCode mrm_class;
static MRMRegisterArg mrm_names[] = {
{"create_cb", (XtPointer)create_cb },
{"bark_cb", (XtPointer)bark_cb },
{"tb_cb", (XtPointer)tb_cb },
{"scale_cb", (XtPointer)scale_cb },
{"help_cb", (XtPointer)help_cb },
{"exit_cb", (XtPointer)exit_cb }
};
static Widget dog1_id;
static Widget dog2_id;
static Widget dog3_id;
static Widget help_id;
main(argc, argv)
int argc;
char **argv;
{
Widget shell;
Display *display;
Widget app_main = NULL;
Arg args[3];
MrmInitialize ();
SquareMrmInitialize();
DogMrmInitialize();
XtToolkitInitialize();
app_context = XtCreateApplicationContext();
display = XtOpenDisplay(app_context, NULL, argv[0], "Dogs",
NULL, 0, &argc, argv);
if (display == NULL) {
fprintf(stderr, "%s: Can't open display\n", argv[0]);
exit(1);
}
XtSetArg (args[0], XtNallowShellResize, True);
XtSetArg (args[1], XtNminWidth, 620);
XtSetArg (args[2], XtNminHeight, 370);
shell = XtAppCreateShell(argv[0], NULL, applicationShellWidgetClass,
display, args, 3);
if (MrmOpenHierarchy(1, mrm_vec, NULL, &mrm_id) != MrmSUCCESS) exit(0);
MrmRegisterNames(mrm_names, XtNumber(mrm_names));
MrmFetchWidget (mrm_id, "app_main", shell, &app_main, &mrm_class);
XtManageChild(app_main);
XtRealizeWidget(shell);
XtAppMainLoop(app_context);
}
static void create_cb(w, id, reason)
Widget w;
int *id;
unsigned long *reason;
{
switch (*id) {
case k_dog1_id: dog1_id = w; break;
case k_dog2_id: dog2_id = w; break;
case k_dog3_id: dog3_id = w; break;
case k_help_id:
help_id = w;
XtUnmanageChild((Widget)XmMessageBoxGetChild(help_id,
XmDIALOG_CANCEL_BUTTON));
XtUnmanageChild((Widget)XmMessageBoxGetChild(help_id,
XmDIALOG_HELP_BUTTON));
break;
}
}
static void bark_cb (w, volume, cb)
Widget w;
int *volume;
XtPointer cb;
{
XBell(XtDisplay(w), *volume);
}
static void tb_cb (w, tag, cb)
Widget w;
int *tag;
XmToggleButtonCallbackStruct *cb;
{
Arg args[1];
Widget dog;
switch (*tag) {
case(1) : dog = dog1_id; break;
case(2) : dog = dog2_id; break;
case(3) : dog = dog3_id; break;
}
XtSetArg(args[0], SquareNmakeSquare, cb->set);
XtSetValues(dog, args, 1);
}
static void scale_cb(w, tag, cb)
Widget w;
int *tag;
XmScaleCallbackStruct *cb;
{
Arg args[1];
Widget dog;
switch (*tag) {
case(1) : dog = dog1_id; break;
case(2) : dog = dog2_id; break;
case(3) : dog = dog3_id; break;
}
XtSetArg(args[0], DogNwagTime, cb->value);
XtSetValues(dog, args, 1);
}
static void help_cb (w, name, cb)
Widget w;
XmString name;
XtPointer cb;
{
Arg args[1];
if (name == NULL) return;
XtSetArg (args[0], XmNmessageString, name);
XtSetValues(help_id, args, 1);
XtManageChild(help_id);
}
static void exit_cb (w, name, cb)
Widget w;
XmString name;
XtPointer cb;
{
exit(0);
}

View File

@@ -0,0 +1,332 @@
!
! (c) Copyright 1989, 1990, 1991, 1992 OPEN SOFTWARE FOUNDATION, INC.
! ALL RIGHTS RESERVED
!
!
! Motif Release 1.2
!
! $XConsortium: dogs.uil /main/3 1995/10/27 10:43:12 rswiston $
!******************************************************************************
!******************************************************************************
!*
!* dogs.uil - Square & Dog widget demo, application UIL file.
!*
!******************************************************************************
module squares
version = 'v1.0'
names = case_sensitive
character_set=iso_latin1
objects = { XmPushButton = gadget; XmToggleButton = gadget; }
include file 'Square.uil';
include file 'Dog.uil';
procedure
create_cb(integer);
bark_cb(integer);
tb_cb(integer);
scale_cb(integer);
help_cb(compound_string);
exit_cb();
value
k_dog1_id : 1;
k_dog2_id : 2;
k_dog3_id : 3;
k_help_id : 4;
value
dog1_bark_volume : 90;
dog1_bark_time : 1100;
dog1_wag_time : 100;
dog1_square : false;
dog2_bark_volume : 40;
dog2_bark_time : 400;
dog2_wag_time : 100;
dog2_square : false;
dog3_bark_volume : 70;
dog3_bark_time : 700;
dog3_wag_time : 100;
dog3_square : false;
value help_text :
compound_string(" ", separate=true) &
compound_string(" ", separate=true) &
compound_string("osfActivate/MB1 = Bark.", separate=true) &
compound_string("W/MB2 = Wag tail.", separate=true) &
compound_string("S/Shift-MB2 = Stop.", separate=true) &
compound_string("osfHelp = Help.", separate=true) &
compound_string("");
object app_main : XmMainWindow {
controls {
XmMenuBar bar;
XmForm work;
unmanaged XmInformationDialog help_box;
};
callbacks {
XmNhelpCallback=procedure help_cb(compound_string("Dogs") & help_text);
};
};
object help_box : XmInformationDialog {
arguments {
XmNmessageAlignment = XmALIGNMENT_BEGINNING;
XmNdialogTitle = "Help";
XmNokLabelString = "Dismiss";
};
callbacks {
MrmNcreateCallback = procedure create_cb(k_help_id);
};
};
object bar : XmMenuBar {
arguments {
XmNmenuHelpWidget = XmCascadeButton help;
};
controls {
XmCascadeButton file;
XmCascadeButton help;
};
};
object file : XmCascadeButton {
arguments { XmNlabelString = "File"; XmNmnemonic = keysym('F'); };
controls { XmPulldownMenu file_pd; };
};
object file_pd : XmPulldownMenu {
controls {
XmPushButton exit_pb;
};
};
object exit_pb : XmPushButton {
arguments { XmNlabelString = "Exit"; XmNmnemonic = keysym('E');};
callbacks { XmNactivateCallback = procedure exit_cb(); };
};
object help : XmCascadeButton {
arguments { XmNlabelString = "Help"; XmNmnemonic = keysym('H'); };
controls { XmPulldownMenu help_pd; };
};
object help_pd : XmPulldownMenu {
arguments { XmNtearOffModel = XmTEAR_OFF_ENABLED; };
controls {
XmPushButton help_pb;
};
};
object help_pb : XmPushButton {
arguments { XmNlabelString = "On Dogs"; XmNmnemonic = keysym('D');};
callbacks { XmNactivateCallback = procedure help_cb
(compound_string("Dogs") & help_text); };
};
object work : XmForm {
controls {
XmFrame frame;
XmScale scale1;
XmScale scale2;
XmScale scale3;
XmSeparator sep;
XmToggleButton tb1;
XmToggleButton tb2;
XmToggleButton tb3;
};
};
object frame : XmFrame {
arguments {
XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 5;
XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;
XmNtopAttachment = XmATTACH_FORM; XmNtopOffset = 5;
XmNbottomAttachment = XmATTACH_WIDGET; XmNbottomOffset = 10;
XmNbottomWidget = XmScale scale1;
};
controls {
user_defined square;
};
};
object square : user_defined procedure SquareCreate {
arguments {
XmNwidth = 600;
XmNheight = 220;
XmNresizePolicy = XmRESIZE_GROW;
SquareNmajorDimension = SquareWIDTH;
};
controls {
user_defined dog1;
user_defined dog2;
user_defined dog3;
};
};
object dog1 : user_defined procedure DogCreate {
arguments {
SquareNmakeSquare = dog1_square;
XmNx = 20;
XmNy = 20;
XmNforeground = color('red', foreground);
XmNbackground = color('lightblue', background);
XmNshadowThickness = 12;
DogNwagTime = dog1_wag_time;
DogNbarkTime = dog1_bark_time;
};
callbacks {
MrmNcreateCallback = procedure create_cb(k_dog1_id);
DogNbarkCallback = procedure bark_cb(dog1_bark_volume);
XmNhelpCallback = procedure help_cb
(compound_string("Rover") & help_text);
};
};
object dog2 : user_defined procedure DogCreate {
arguments {
SquareNmakeSquare = dog2_square;
XmNx = 220;
XmNy = 20;
XmNforeground = color('black', foreground);
XmNbackground = color('lightblue', background);
XmNshadowThickness = 4;
DogNwagTime = dog2_wag_time;
DogNbarkTime = dog2_bark_time;
};
callbacks {
MrmNcreateCallback = procedure create_cb(k_dog2_id);
DogNbarkCallback = procedure bark_cb(dog2_bark_volume);
XmNhelpCallback = procedure help_cb
(compound_string("Spot") & help_text);
};
};
object dog3 : user_defined procedure DogCreate {
arguments {
SquareNmakeSquare = dog3_square;
XmNx = 420;
XmNy = 20;
XmNforeground = color('Brown', foreground);
XmNbackground = color('lightblue', background);
XmNshadowThickness = 10;
DogNwagTime = dog3_wag_time;
DogNbarkTime = dog3_bark_time;
};
callbacks {
MrmNcreateCallback = procedure create_cb(k_dog3_id);
DogNbarkCallback = procedure bark_cb(dog3_bark_volume);
XmNhelpCallback = procedure help_cb
(compound_string("Fido") & help_text);
};
};
object scale1 : XmScale {
arguments {
XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;
XmNrightAttachment = XmATTACH_POSITION; XmNrightPosition = 30;
XmNbottomAttachment = XmATTACH_WIDGET; XmNbottomOffset = 5;
XmNbottomWidget = XmSeparator sep;
XmNminimum = 1;
XmNmaximum = 200;
XmNtitleString = 'Wag Rate';
XmNorientation = XmHORIZONTAL;
XmNprocessingDirection = XmMAX_ON_LEFT;
XmNvalue = dog1_wag_time;
};
callbacks {
XmNvalueChangedCallback = procedure scale_cb(1);
XmNdragCallback = procedure scale_cb(1);
};
};
object scale2 : XmScale {
arguments {
XmNleftAttachment = XmATTACH_POSITION; XmNleftPosition = 36;
XmNrightAttachment = XmATTACH_POSITION; XmNrightPosition = 63;
XmNbottomAttachment = XmATTACH_WIDGET; XmNbottomOffset = 5;
XmNbottomWidget = XmSeparator sep;
XmNminimum = 1;
XmNmaximum = 200;
XmNtitleString = 'Wag Rate';
XmNorientation = XmHORIZONTAL;
XmNprocessingDirection = XmMAX_ON_LEFT;
XmNvalue = dog2_wag_time;
};
callbacks {
XmNvalueChangedCallback = procedure scale_cb(2);
XmNdragCallback = procedure scale_cb(2);
};
};
object scale3 : XmScale {
arguments {
XmNleftAttachment = XmATTACH_POSITION; XmNleftPosition = 69;
XmNrightAttachment = XmATTACH_FORM; XmNrightOffset = 5;
XmNbottomAttachment = XmATTACH_WIDGET; XmNbottomOffset = 5;
XmNbottomWidget = XmSeparator sep;
XmNminimum = 1;
XmNmaximum = 200;
XmNtitleString = 'Wag Rate';
XmNorientation = XmHORIZONTAL;
XmNprocessingDirection = XmMAX_ON_LEFT;
XmNvalue = dog3_wag_time;
};
callbacks {
XmNvalueChangedCallback = procedure scale_cb(3);
XmNdragCallback = procedure scale_cb(3);
};
};
object sep : XmSeparator {
arguments {
XmNleftAttachment = XmATTACH_FORM;
XmNrightAttachment = XmATTACH_FORM;
XmNbottomAttachment = XmATTACH_WIDGET; XmNbottomOffset = 5;
XmNbottomWidget = XmToggleButton tb1;
};
};
object tb1 : XmToggleButton {
arguments {
XmNleftAttachment = XmATTACH_FORM; XmNleftOffset = 5;
XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5;
XmNset = dog1_square;
XmNlabelString = 'Make Square';
};
callbacks {
XmNvalueChangedCallback = procedure tb_cb(1);
};
};
object tb2 : XmToggleButton {
arguments {
XmNleftAttachment = XmATTACH_POSITION; XmNleftPosition = 36;
XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5;
XmNset = dog2_square;
XmNlabelString = 'Make Square';
};
callbacks {
XmNvalueChangedCallback = procedure tb_cb(2);
};
};
object tb3 : XmToggleButton {
arguments {
XmNleftAttachment = XmATTACH_POSITION; XmNleftPosition = 69;
XmNbottomAttachment = XmATTACH_FORM; XmNbottomOffset = 5;
XmNset = dog3_square;
XmNlabelString = 'Make Square';
};
callbacks {
XmNvalueChangedCallback = procedure tb_cb(3);
};
};
end module;

View File

@@ -0,0 +1,151 @@
/* $XConsortium: down.bm /main/2 1995/07/17 18:03:57 drk $ */
#define down_width 152
#define down_height 91
#define down_x_hot 0
#define down_y_hot 0
static unsigned char down_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xe0, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0x3f, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x7f, 0x55, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x55, 0xfd,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xc0, 0xea, 0xba, 0xea, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xea,
0xba, 0xea, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x7d, 0x7d, 0xd5, 0x07, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x78, 0x7d, 0x7d, 0xd5, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xae, 0xab, 0xae, 0xbe, 0x07,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0xae, 0xab, 0xae, 0xbe, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x80, 0xff, 0x57, 0x55, 0x55, 0x55, 0xff, 0xc1, 0xd5, 0xd7, 0x5f,
0x7f, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x57, 0x55,
0x55, 0x55, 0xff, 0xc1, 0xd5, 0xd7, 0x5f, 0x7f, 0xff, 0x03, 0x00, 0x00,
0x00, 0x00, 0xc0, 0xff, 0xab, 0xaa, 0xaa, 0xaa, 0xaa, 0xfe, 0xff, 0xab,
0xeb, 0xab, 0xaa, 0xea, 0x7f, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xea, 0xaf, 0xff, 0xaa, 0xaa, 0xaa, 0x73,
0x00, 0x00, 0x00, 0x00, 0x7e, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0xd5, 0x57, 0x7f, 0x55, 0x55, 0xd5, 0x73, 0x00, 0x00, 0x00, 0x80, 0x5f,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x7f, 0x55, 0x55, 0xfd,
0xd5, 0x7f, 0x00, 0x00, 0x00, 0xe0, 0xab, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xbe, 0xaa, 0xaa, 0xfa, 0xaa, 0x7f, 0x00, 0x00, 0x00,
0xf8, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xfe, 0xaa,
0xaa, 0xea, 0xbf, 0x0f, 0x00, 0x00, 0x00, 0x7c, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0xff, 0x55, 0x55, 0xd5, 0xdf, 0x0f, 0x00,
0x00, 0x00, 0x5e, 0xf5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0xfd, 0x55, 0xd5, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x80, 0xaf, 0xfe, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xfa, 0xaa, 0xea, 0xff, 0x7f,
0x00, 0x00, 0x00, 0xc0, 0xab, 0xef, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xea, 0xab, 0xea, 0x01, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf5,
0xe3, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xd5, 0x57, 0xd5,
0x01, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xfd, 0xe0, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0xd5, 0x57, 0xfd, 0x01, 0x00, 0x00, 0x00, 0x00,
0xf8, 0x3e, 0xe0, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xbf, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb8, 0x1e, 0xe0, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xbf, 0x0f, 0x00, 0x00, 0x00,
0x00, 0x00, 0x58, 0x07, 0xf8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd8, 0x01, 0xf8,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xff, 0x03, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0xb8, 0xaa, 0xae, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38,
0x00, 0xb8, 0xaa, 0xae, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x1f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5f, 0xd5, 0x5f, 0x55,
0x55, 0x55, 0xf5, 0xff, 0x55, 0xd5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x5f, 0xd5, 0x5f, 0x55, 0x55, 0x55, 0xf5, 0xff, 0x55,
0xd5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaf, 0xaa,
0xfb, 0xea, 0xea, 0xff, 0xff, 0xeb, 0xab, 0x3a, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xaf, 0xaa, 0xfb, 0xea, 0xea, 0xff, 0xff,
0xeb, 0xab, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
0x57, 0xf5, 0xd5, 0xff, 0x1f, 0x00, 0x00, 0x7f, 0x55, 0x3f, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x57, 0xf5, 0xd5, 0xff, 0x1f,
0x00, 0x00, 0x7f, 0x55, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xf8, 0xaa, 0xfe, 0xaa, 0x07, 0x00, 0x00, 0x00, 0xfc, 0xea, 0x07,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb8, 0xaa, 0xfe, 0xab,
0x07, 0x00, 0x00, 0x00, 0xbc, 0xfa, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x78, 0x55, 0xfd, 0x55, 0x07, 0x00, 0x00, 0x00, 0x5c,
0xf5, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0xf5,
0x83, 0x55, 0x07, 0x00, 0x00, 0x00, 0x57, 0x7f, 0x3f, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xbe, 0xea, 0x83, 0xab, 0x07, 0x00, 0x00,
0x00, 0xab, 0xbe, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
0xaf, 0xfa, 0x80, 0xaf, 0x1f, 0x00, 0x00, 0xe0, 0xab, 0xae, 0x3a, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x57, 0xfd, 0x80, 0x5f, 0x1f,
0x00, 0x00, 0xe0, 0x57, 0x5f, 0x3d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xf0, 0x57, 0x1f, 0x00, 0x7e, 0xfd, 0x00, 0x00, 0xf8, 0xf5, 0x7f,
0x3d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xaf, 0x1f, 0x00,
0xbe, 0xfa, 0x00, 0x00, 0xf8, 0xea, 0xbf, 0x3a, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xf0, 0xaa, 0x07, 0x00, 0xf0, 0xef, 0x00, 0x00, 0xbe,
0x7e, 0xb0, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x55,
0x07, 0x00, 0xf0, 0xf7, 0x00, 0x00, 0x5e, 0x7d, 0x70, 0xfd, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x55, 0x1f, 0x00, 0x00, 0xff, 0x00,
0x00, 0x56, 0x1d, 0xf0, 0xd7, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xab, 0x1f, 0x00, 0x00, 0xff, 0x00, 0x00, 0xae, 0x1e, 0xf0, 0xef,
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbe, 0xfa, 0x00, 0x00,
0x00, 0x00, 0xc0, 0xaf, 0x03, 0x00, 0xbe, 0x1f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xf8, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x7f,
0x00, 0xf8, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x1f,
0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x7f, 0x00, 0xf8, 0x1f, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
0xe0, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xc0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x1f, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00};

View File

@@ -0,0 +1,151 @@
/* $XConsortium: up.bm /main/2 1995/07/17 18:04:05 drk $ */
#define up_width 152
#define up_height 91
#define up_x_hot 0
#define up_y_hot 0
static unsigned char up_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x80, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x80, 0xfb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xfd,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xd5, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x80, 0xeb, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xe0, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x80, 0xeb, 0x07, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0x3f, 0x00, 0x00,
0x00, 0x00, 0x80, 0x57, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x7f, 0x55, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x80, 0x57, 0x07,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x55, 0xfd,
0x00, 0x00, 0x00, 0x00, 0x00, 0xae, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xc0, 0xea, 0xba, 0xea, 0x00, 0x00, 0x00, 0x00, 0x00,
0xae, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xea,
0xba, 0xea, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x1d, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x7d, 0x7d, 0xd5, 0x07, 0x00, 0x00,
0x00, 0x00, 0x56, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x78, 0x7d, 0x7d, 0xd5, 0x07, 0x00, 0x00, 0x00, 0x00, 0xbe, 0x1a, 0x00,
0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xae, 0xab, 0xae, 0xbe, 0x07,
0x00, 0x00, 0x00, 0x00, 0xbe, 0x1a, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0xae, 0xab, 0xae, 0xbe, 0x07, 0x00, 0x00, 0x00, 0x00, 0x78,
0xf5, 0x80, 0xff, 0x57, 0x55, 0x55, 0x55, 0xff, 0xc1, 0xd5, 0xd7, 0x5f,
0x7f, 0xff, 0x03, 0x00, 0x00, 0x00, 0x78, 0xf5, 0x80, 0xff, 0x57, 0x55,
0x55, 0x55, 0xff, 0xc1, 0xd5, 0xd7, 0x5f, 0x7f, 0xff, 0x03, 0x00, 0x00,
0x00, 0xf8, 0xea, 0xff, 0xab, 0xaa, 0xaa, 0xaa, 0xaa, 0xfe, 0xff, 0xab,
0xeb, 0xab, 0xaa, 0xea, 0x7f, 0x00, 0x00, 0x00, 0xc0, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xea, 0xaf, 0xff, 0xaa, 0xaa, 0xaa, 0x73,
0x00, 0x00, 0x00, 0xc0, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0xd5, 0x57, 0x7f, 0x55, 0x55, 0xd5, 0x73, 0x00, 0x00, 0x00, 0xc0, 0x57,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x7f, 0x55, 0x55, 0xfd,
0xd5, 0x7f, 0x00, 0x00, 0x00, 0xc0, 0xaf, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xbe, 0xaa, 0xaa, 0xfa, 0xaa, 0x7f, 0x00, 0x00, 0x00,
0x00, 0xbf, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xfe, 0xaa,
0xaa, 0xea, 0xbf, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x5f, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0xff, 0x55, 0x55, 0xd5, 0xdf, 0x0f, 0x00,
0x00, 0x00, 0x00, 0xe0, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0xfd, 0x55, 0xd5, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xfa, 0xaa, 0xea, 0xff, 0x7f,
0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xea, 0xab, 0xea, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xe0, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xd5, 0x57, 0xd5,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0xd5, 0x57, 0xfd, 0x01, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xe0, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xbf, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xbf, 0x0f, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf8, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xff, 0x03, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb8, 0xaa, 0xae, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xb8, 0xaa, 0xae, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x1f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5f, 0xd5, 0x5f, 0x55,
0x55, 0x55, 0xf5, 0xff, 0x55, 0xd5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x5f, 0xd5, 0x5f, 0x55, 0x55, 0x55, 0xf5, 0xff, 0x55,
0xd5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaf, 0xaa,
0xfb, 0xea, 0xea, 0xff, 0xff, 0xeb, 0xab, 0x3a, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xaf, 0xaa, 0xfb, 0xea, 0xea, 0xff, 0xff,
0xeb, 0xab, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
0x57, 0xf5, 0xd5, 0xff, 0x1f, 0x00, 0x00, 0x7f, 0x55, 0x3f, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x57, 0xf5, 0xd5, 0xff, 0x1f,
0x00, 0x00, 0x7f, 0x55, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xf8, 0xaa, 0xfe, 0xaa, 0x07, 0x00, 0x00, 0x00, 0xfc, 0xea, 0x07,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb8, 0xaa, 0xfe, 0xab,
0x07, 0x00, 0x00, 0x00, 0xbc, 0xfa, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x78, 0x55, 0xfd, 0x55, 0x07, 0x00, 0x00, 0x00, 0x5c,
0xf5, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0xf5,
0x83, 0x55, 0x07, 0x00, 0x00, 0x00, 0x57, 0x7f, 0x3f, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xbe, 0xea, 0x83, 0xab, 0x07, 0x00, 0x00,
0x00, 0xab, 0xbe, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
0xaf, 0xfa, 0x80, 0xaf, 0x1f, 0x00, 0x00, 0xe0, 0xab, 0xae, 0x3a, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x57, 0xfd, 0x80, 0x5f, 0x1f,
0x00, 0x00, 0xe0, 0x57, 0x5f, 0x3d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xf0, 0x57, 0x1f, 0x00, 0x7e, 0xfd, 0x00, 0x00, 0xf8, 0xf5, 0x7f,
0x3d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xaf, 0x1f, 0x00,
0xbe, 0xfa, 0x00, 0x00, 0xf8, 0xea, 0xbf, 0x3a, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xf0, 0xaa, 0x07, 0x00, 0xf0, 0xef, 0x00, 0x00, 0xbe,
0x7e, 0xb0, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x55,
0x07, 0x00, 0xf0, 0xf7, 0x00, 0x00, 0x5e, 0x7d, 0x70, 0xfd, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x55, 0x1f, 0x00, 0x00, 0xff, 0x00,
0x00, 0x56, 0x1d, 0xf0, 0xd7, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xab, 0x1f, 0x00, 0x00, 0xff, 0x00, 0x00, 0xae, 0x1e, 0xf0, 0xef,
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbe, 0xfa, 0x00, 0x00,
0x00, 0x00, 0xc0, 0xaf, 0x03, 0x00, 0xbe, 0x1f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xf8, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x7f,
0x00, 0xf8, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x1f,
0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x7f, 0x00, 0xf8, 0x1f, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
0xe0, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xc0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x1f, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00};