/************************************************************* * * 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 */