1 /*
2  * Motif
3  *
4  * Copyright (c) 1987-2012, The Open Group. All rights reserved.
5  *
6  * These libraries and programs are free software; you can
7  * redistribute them and/or modify them under the terms of the GNU
8  * Lesser General Public License as published by the Free Software
9  * Foundation; either version 2 of the License, or (at your option)
10  * any later version.
11  *
12  * These libraries and programs are distributed in the hope that
13  * they will be useful, but WITHOUT ANY WARRANTY; without even the
14  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15  * PURPOSE. See the GNU Lesser General Public License for more
16  * details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with these librararies and programs; if not, write
20  * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
21  * Floor, Boston, MA 02110-1301 USA
22 */
23 
24 #ifndef _SLIDECP_H
25 #define _SLIDECP_H
26 
27 #include <Xm/SlideC.h>
28 #include <X11/IntrinsicP.h>
29 #include <X11/ObjectP.h>
30 #include <Xm/XmP.h>
31 
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
35 
36 #ifndef XmUNSPECIFIED_POSITION
37 #define XmUNSPECIFIED_POSITION (-1)
38 #endif
39 
40 typedef struct {
41     XtPointer extension;
42 } XmSlideContextClassPart;
43 
44 typedef struct _XmSlideContextClassRec {
45 	ObjectClassPart object_class;
46 	XmSlideContextClassPart slide_class;
47 } XmSlideContextClassRec;
48 
49 extern XmSlideContextClassRec xmSlideContextClassRec;
50 
51 typedef struct _XmSlideContextPart {
52 	XtIntervalId id;
53 	XtCallbackList slideFinishCallback;
54 	XtCallbackList slideMotionCallback;
55 	Widget slide_widget;
56 	unsigned long interval;
57 	Dimension dest_width;
58 	Dimension dest_height;
59 	Position dest_x;
60 	Position dest_y;
61 } XmSlideContextPart;
62 
63 typedef struct _XmSlideContextRec {
64 	ObjectPart object;
65 	XmSlideContextPart slide;
66 } XmSlideContextRec;
67 
68 #define Slide_Id(w) (((XmSlideContextWidget)w)->slide.id)
69 #define Slide_Widget(w) (((XmSlideContextWidget)w)->slide.slide_widget)
70 #define Slide_Interval(w) (((XmSlideContextWidget)w)->slide.interval)
71 #define Slide_DestWidth(w) (((XmSlideContextWidget)w)->slide.dest_width)
72 #define Slide_DestHeight(w) (((XmSlideContextWidget)w)->slide.dest_height)
73 #define Slide_DestX(w) (((XmSlideContextWidget)w)->slide.dest_x)
74 #define Slide_DestY(w) (((XmSlideContextWidget)w)->slide.dest_y)
75 #define Slide_FinishCallback(w) (((XmSlideContextWidget)w)->slide.slideFinishCallback)
76 #define Slide_MotionCallback(w) (((XmSlideContextWidget)w)->slide.slideMotionCallback)
77 
78 #ifdef __cplusplus
79 }
80 #endif
81 
82 #endif
83