1 #ifndef SOXT_THUMBWHEEL_H_PRIVATE
2 #define SOXT_THUMBWHEEL_H_PRIVATE
3 
4 /**************************************************************************\
5  *
6  *  This file is part of the Coin 3D visualization library.
7  *  Copyright (C) by Kongsberg Oil & Gas Technologies.
8  *
9  *  This library is free software; you can redistribute it and/or
10  *  modify it under the terms of the GNU General Public License
11  *  ("GPL") version 2 as published by the Free Software Foundation.
12  *  See the file LICENSE.GPL at the root directory of this source
13  *  distribution for additional information about the GNU GPL.
14  *
15  *  For using Coin with software that can not be combined with the GNU
16  *  GPL, and for taking advantage of the additional benefits of our
17  *  support services, please contact Kongsberg Oil & Gas Technologies
18  *  about acquiring a Coin Professional Edition License.
19  *
20  *  See http://www.coin3d.org/ for more information.
21  *
22  *  Kongsberg Oil & Gas Technologies, Bygdoy Alle 5, 0257 Oslo, NORWAY.
23  *  http://www.sim.no/  sales@sim.no  coin-support@coin3d.org
24  *
25 \**************************************************************************/
26 
27 /* $Id$ */
28 
29 #include <Xm/Xm.h>
30 #include <Xm/PrimitiveP.h>
31 
32 #include <Inventor/Xt/widgets/SoXtThumbWheel.h>
33 
34 #ifdef __cplusplus
35 extern "C" {
36 #endif /* __cplusplus */
37 
38 /* ********************************************************************** */
39 
40 typedef struct _SoXtThumbWheelClassPart {
41   XtPointer                extension;
42 } SoXtThumbWheelClassPart;
43 
44 typedef struct _SoXtThumbWheelClassRec {
45   CoreClassPart            core_class;
46   XmPrimitiveClassPart     primitive_class;
47   SoXtThumbWheelClassPart  thumbwheel_class;
48 } SoXtThumbWheelClassRec;
49 
50 /* ********************************************************************** */
51 
52 typedef struct _SoXtThumbWheelPart {
53   /* resources */
54   int orientation;
55 //  Pixel sensitive_color; // ABGR format
56 //  Pixel insensitive_color; // ABGR format
57   Boolean refresh;
58   XtCallbackList arm_callback;
59   XtCallbackList disarm_callback;
60   XtCallbackList valuechanged_callback;
61 
62   /* private data */
63   float value;
64   GC context;
65   Pixmap * pixmaps;
66   int numpixmaps; // or null-terminate?
67   int currentpixmap;
68   Boolean armed;
69   float arm_value;
70   float prev_value;
71   int arm_position;
72   int prev_position;
73   void * thumbwheel;
74 
75 } SoXtThumbWheelPart;
76 
77 typedef struct _SoXtThumbWheelRec {
78   CorePart            core;
79   XmPrimitivePart     primitive;
80   SoXtThumbWheelPart  thumbwheel;
81 } SoXtThumbWheelRec;
82 
83 #ifndef SoXtNrefresh
84 #define SoXtNrefresh "refresh"
85 #endif
86 
87 #ifndef SoXtCRefresh
88 #define SoXtCRefresh "Refresh"
89 #endif
90 
91 /* ********************************************************************** */
92 
93 #ifdef __cplusplus
94 } /* extern "C" */
95 #endif /* __cplusplus */
96 
97 #endif /* ! SOXT_THUMBWHEEL_H_PRIVATE */
98