/*
 * Copyright (c) 1996 Michael A. Perzl
 * All rights reserved.
 *
 * 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, and that the name of Michael A. Perzl not
 * be used in advertising or publicity pertaining to distribution of
 * the software without specific, written prior permission.
 * Michael A. Perzl makes no representations about the suitability of
 * this software for any purpose.  It is provided "as is" without any
 * express or implied warranties, including, without limitation, the
 * implied warranties of merchantability and fitness for a particular
 * purpose.
 *
 * Michael A. Perzl DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
 * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
 * FITNESS.  IN NO EVENT SHALL Michael A. Perzl 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.
 */



#ifndef _XmProgressMeter_h
#define _XmProgressMeter_h



#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {
#endif



/* include Motif header files */

#include <Xm/Xm.h>



#ifndef XmNboxMode
#define XmNboxMode "boxMode"
#endif

#ifndef XmCBoxMode
#define XmCBoxMode "BoxMode"
#endif



#ifndef XmNnumBoxes
#define XmNnumBoxes "numBoxes"
#endif

#ifndef XmCNumBoxes
#define XmCNumBoxes "NumBoxes"
#endif



#ifndef XmNshowBoxSeparators
#define XmNshowBoxSeparators "showBoxSeparators"
#endif

#ifndef XmCShowBoxSeparators
#define XmCShowBoxSeparators "ShowBoxSeparators"
#endif



#ifndef XmNshowPercentage
#define XmNshowPercentage "showPercentage"
#endif

#ifndef XmCShowPercentage
#define XmCShowPercentage "ShowPercentage"
#endif



#ifndef XmNshowTime
#define XmNshowTime "showTime"
#endif

#ifndef XmCShowTime
#define XmCShowTime "ShowTime"
#endif



#ifndef XmNshowTimeUnit
#define XmNshowTimeUnit "showTimeUnit"
#endif

#ifndef XmCShowTimeUnit
#define XmCShowTimeUnit "ShowTimeUnit"
#endif



externalref WidgetClass xmProgressMeterWidgetClass;

typedef struct _XmProgressMeterClassRec *XmProgressMeterWidgetClass;
typedef struct _XmProgressMeterRec      *XmProgressMeterWidget;



typedef struct _XmProgressMeterCallbackStruct
                          {
                            int     reason;
                            XEvent *event;
                            int     value;
                          } XmProgressMeterCallbackStruct;



#ifdef _NO_PROTO


Widget XmCreateProgressMeter ();

void XmProgressMeterSetValue ();

int XmProgressMeterGetValue ();


#else


Widget XmCreateProgressMeter (Widget parent, String name,
                              ArgList args, Cardinal numArgs);

void XmProgressMeterSetValue (Widget w, int value);

int XmProgressMeterGetValue (Widget w);


#endif  /* _NO_PROTO */



#if defined(__cplusplus) || defined(c_plusplus)
}
#endif



#endif    /* _XmProgressMeter_h */

