home *** CD-ROM | disk | FTP | other *** search
- /*
- * $XConsortium: PannerP.h,v 1.18 90/04/11 17:05:11 jim Exp $
- *
- * Copyright 1989 Massachusetts Institute of Technology
- *
- * 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 M.I.T. not be used in advertising or
- * publicity pertaining to distribution of the software without specific,
- * written prior permission. M.I.T. makes no representations about the
- * suitability of this software for any purpose. It is provided "as is"
- * without express or implied warranty.
- *
- * M.I.T. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL M.I.T.
- * 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.
- *
- * Author: Jim Fulton, MIT X Consortium
- */
-
- #ifndef _XawPannerP_h
- #define _XawPannerP_h
-
- #include <X11/Xaw/Panner.h>
- #include <X11/Xaw/SimpleP.h> /* parent */
-
- typedef struct { /* new fields in widget class */
- int dummy;
- } PannerClassPart;
-
- typedef struct _PannerClassRec { /* Panner widget class */
- CoreClassPart core_class;
- SimpleClassPart simple_class;
- PannerClassPart panner_class;
- } PannerClassRec;
-
- typedef struct { /* new fields in widget */
- /* resources... */
- XtCallbackList report_callbacks; /* callback/Callback */
- Boolean allow_off; /* allowOff/AllowOff */
- Boolean resize_to_pref; /* resizeToPreferred/Boolean */
- Pixel foreground; /* foreground/Foreground */
- Pixel shadow_color; /* shadowColor/ShadowColor */
- Dimension shadow_thickness; /* shadowThickness/ShadowThickness */
- Dimension default_scale; /* defaultScale/DefaultScale */
- Dimension line_width; /* lineWidth/LineWidth */
- Dimension canvas_width; /* canvasWidth/CanvasWidth */
- Dimension canvas_height; /* canvasHeight/CanvasHeight */
- Position slider_x; /* sliderX/SliderX */
- Position slider_y; /* sliderY/SliderY */
- Dimension slider_width; /* sliderWidth/SliderWidth */
- Dimension slider_height; /* sliderHeight/SliderHeight */
- Dimension internal_border; /* internalBorderWidth/BorderWidth */
- String stipple_name; /* backgroundStipple/BackgroundStipple */
- /* private data... */
- GC slider_gc; /* background of slider */
- GC shadow_gc; /* edge of slider and shadow */
- GC xor_gc; /* for doing XOR tmp graphics */
- double haspect, vaspect; /* aspect ratio of core to canvas */
- Boolean rubber_band; /* true = rubber band, false = move */
- struct {
- Boolean doing; /* tmp graphics in progress */
- Boolean showing; /* true if tmp graphics displayed */
- Position startx, starty; /* initial position of slider */
- Position dx, dy; /* offset loc for tmp graphics */
- Position x, y; /* location for tmp graphics */
- } tmp;
- Position knob_x, knob_y; /* real upper left of knob in canvas */
- Dimension knob_width, knob_height; /* real size of knob in canvas */
- Boolean shadow_valid; /* true if rects are valid */
- XRectangle shadow_rects[2]; /* location of shadows */
- Position last_x, last_y; /* previous location of knob */
- } PannerPart;
-
- typedef struct _PannerRec {
- CorePart core;
- SimplePart simple;
- PannerPart panner;
- } PannerRec;
-
- #define PANNER_HSCALE(pw,val) ((pw)->panner.haspect * ((double) (val)))
- #define PANNER_VSCALE(pw,val) ((pw)->panner.vaspect * ((double) (val)))
-
- #define PANNER_DSCALE(pw,val) (Dimension) \
- ((((unsigned long) (val)) * (unsigned long) pw->panner.default_scale) / 100L)
- #define PANNER_DEFAULT_SCALE 8 /* percent */
-
- #define PANNER_OUTOFRANGE -30000
-
- /*
- * external declarations
- */
- extern PannerClassRec pannerClassRec;
-
- #endif /* _XawPannerP_h */
-