/*************************************************************
*
* RheostatP.h
* Private header file for Rheostat widget.
*
* Author: Joe English, joe@trystero.art.com
*
*************************************************************
*/
#ifndef RHEOSTATP_H
#define RHEOSTATP_H
typedef struct _RheostatClassPart {
int hosebrain;
} RheostatClassPart;
typedef struct _RheostatClassRec {
CoreClassPart core_class;
# ifdef MOTIF
XmPrimitiveClassPart primitive_class;
# endif
RheostatClassPart rheostat_class;
} RheostatClassRec;
extern RheostatClassRec rheostatClassRec;
typedef struct _RheostatPart
{
int value; /* value */
int minimum_value; /* minimum value */
int maximum_value; /* maximum value */
int minimum_angle; /* angle of minimum value */
int maximum_angle; /* angle of maximum value */
int number_intervals; /* #tick mark intervals */
Boolean tick_gravity; /* click by tick sticks to tick? */
Boolean resize_arrow; /* resize arrow? */
XtCallbackList set; /* callbacks for Set() action */
XtCallbackList notify; /* callbacks for Notify() */
Dimension outer_margin;
Dimension tick_length;
Dimension dial_thickness;
Dimension inner_margin;
Dimension radius;
Dimension outer_arrow_length; /* from tip to outer points */
Dimension inner_arrow_length; /* from tip to inner point */
Dimension arrow_width; /* width of arrow */
Boolean fill_arrow; /* filled/outlined arrow */
Dimension arrow_thickness; /* line thickness if outlined */
Dimension tick_thickness;
#ifdef MOTIF
Boolean use_shadow_colors; /* for arrow & dial */
#endif
Pixel arrow_pixel; /* arrow color */
Pixel tick_pixel; /* ticks */
Pixel dial_pixel; /* circular border */
/* Private: */
GC dial_GC; /* assorted GCs */
GC arrow_GC; /* to draw pointer */
GC eraser_GC; /* to erase pointer */
GC tick_GC; /* to erase pointer */
Position tip_x; /* coords of arrow tip */
Position tip_y;
Dimension orig_radius; /* Used to resize arrow */
Dimension orig_outer_length; /* if resize_arrow True */
Dimension orig_inner_length;
Dimension orig_width;
} RheostatPart;
typedef struct _RheostatRec {
CorePart core;
# ifdef MOTIF
XmPrimitivePart primitive;
# endif
RheostatPart rheostat;
} RheostatRec;
#endif /* RHEOSTATP_H */
syntax highlighted by Code2HTML, v. 0.9.1