home *** CD-ROM | disk | FTP | other *** search
/ Tools / WinSN5.0Ver.iso / NETSCAP.50 / WIN1998.ZIP / ns / cmd / xfe / XfeWidgets / Xfe / OrientedP.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-04-08  |  9.7 KB  |  271 lines

  1. /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
  2.  *
  3.  * The contents of this file are subject to the Netscape Public License
  4.  * Version 1.0 (the "NPL"); you may not use this file except in
  5.  * compliance with the NPL.  You may obtain a copy of the NPL at
  6.  * http://www.mozilla.org/NPL/
  7.  *
  8.  * Software distributed under the NPL is distributed on an "AS IS" basis,
  9.  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
  10.  * for the specific language governing rights and limitations under the
  11.  * NPL.
  12.  *
  13.  * The Initial Developer of this code under the NPL is Netscape
  14.  * Communications Corporation.  Portions created by Netscape are
  15.  * Copyright (C) 1998 Netscape Communications Corporation.  All Rights
  16.  * Reserved.
  17.  */
  18. /*-----------------------------------------*/
  19. /*                                                                        */
  20. /* Name:        <Xfe/OrientedP.h>                                        */
  21. /* Description:    XfeOriented widget private header file.                    */
  22. /* Author:        Ramiro Estrugo <ramiro@netscape.com>                    */
  23. /*                                                                        */
  24. /*----------------------------------------------------------------------*/
  25.  
  26.  
  27. #ifndef _XfeOrientedP_h_                        /* start OrientedP.h    */
  28. #define _XfeOrientedP_h_
  29.  
  30. #include <Xfe/Oriented.h>
  31. #include <Xfe/ManagerP.h>
  32.  
  33. #ifdef __cplusplus                                /* start C++            */
  34. extern "C" {
  35. #endif
  36.    
  37. /*----------------------------------------------------------------------*/
  38. /*                                                                        */
  39. /* XfeOrientedClassPart                                                    */
  40. /*                                                                        */
  41. /*----------------------------------------------------------------------*/
  42. typedef struct
  43. {
  44.     XfeOrientedProc        enter;                    /* Enter                */
  45.     XfeOrientedProc        leave;                    /* Leave                */
  46.     XfeOrientedProc        motion;                    /* Motion                */
  47.  
  48.     XfeOrientedProc        drag_start;                /* Drag start            */
  49.     XfeOrientedProc        drag_end;                /* Drag end                */
  50.     XfeOrientedProc        drag_motion;            /* Drag motion            */
  51.  
  52.     XfeOrientedProc        descendant_enter;        /* Descendant Enter        */
  53.     XfeOrientedProc        descendant_leave;        /* Descendant Leave        */
  54.     XfeOrientedProc        descendant_motion;        /* Descendant Motion    */
  55.  
  56.     XfeOrientedProc        descendant_drag_start;    /* Drag start            */
  57.     XfeOrientedProc        descendant_drag_end;    /* Drag end                */
  58.     XfeOrientedProc        descendant_drag_motion;    /* Drag motion            */
  59.  
  60.     XtPointer            extension;                /* Extension            */ 
  61. } XfeOrientedClassPart;
  62.  
  63. /*----------------------------------------------------------------------*/
  64. /*                                                                        */
  65. /* XfeOrientedClassRec                                                    */
  66. /*                                                                        */
  67. /*----------------------------------------------------------------------*/
  68. typedef struct _XfeOrientedClassRec
  69. {
  70.     CoreClassPart                core_class;
  71.     CompositeClassPart            composite_class;
  72.     ConstraintClassPart            constraint_class;
  73.     XmManagerClassPart            manager_class;
  74.     XfeManagerClassPart            xfe_manager_class;
  75.     XfeOrientedClassPart        xfe_oriented_class;
  76. } XfeOrientedClassRec;
  77.  
  78. externalref XfeOrientedClassRec xfeOrientedClassRec;
  79.  
  80. /*----------------------------------------------------------------------*/
  81. /*                                                                        */
  82. /* XfeOrientedPart                                                        */
  83. /*                                                                        */
  84. /*----------------------------------------------------------------------*/
  85. typedef struct _XfeOrientedPart
  86. {
  87.     /* Drag resources */
  88.     Boolean                allow_drag;                /* Allow drag            */
  89.     Boolean                drag_in_progress;        /* Drag in progress        */
  90.     Boolean                cursor_on;                /* Cursor on            */
  91.  
  92.     /* Cursor resources */
  93.     Cursor                vertical_cursor;        /* Vertical cursor        */
  94.     Cursor                horizontal_cursor;        /* Horizontal cursor    */
  95.  
  96.     /* Orientation resources */
  97.     unsigned char        orientation;            /* Orientation            */
  98.  
  99.     /* Spacing resources */
  100.     Dimension            spacing;                /* Spacing                */
  101.  
  102.     /* Private data -- Dont even look past this comment -- */
  103.     int                    drag_start_x;            /* Drag start x            */
  104.     int                    drag_start_y;            /* Drag start x            */
  105. } XfeOrientedPart;
  106.  
  107. /*----------------------------------------------------------------------*/
  108. /*                                                                        */
  109. /* XfeOrientedRec                                                        */
  110. /*                                                                        */
  111. /*----------------------------------------------------------------------*/
  112. typedef struct _XfeOrientedRec
  113. {
  114.    CorePart                core;
  115.    CompositePart        composite;
  116.    ConstraintPart        constraint;
  117.    XmManagerPart        manager;
  118.    XfeManagerPart        xfe_manager;
  119.    XfeOrientedPart        xfe_oriented;
  120. } XfeOrientedRec;
  121.  
  122. /*----------------------------------------------------------------------*/
  123. /*                                                                        */
  124. /* XfeOrientedConstraintPart                                            */
  125. /*                                                                        */
  126. /*----------------------------------------------------------------------*/
  127. typedef struct _XfeOrientedConstraintPart
  128. {
  129.     Boolean                            allow_drag;
  130. } XfeOrientedConstraintPart;
  131.  
  132. /*----------------------------------------------------------------------*/
  133. /*                                                                        */
  134. /* XfeOrientedConstraintRec                                                */
  135. /*                                                                        */
  136. /*----------------------------------------------------------------------*/
  137. typedef struct _XfeOrientedConstraintRec
  138. {
  139.     XmManagerConstraintPart            manager;
  140.     XfeManagerConstraintPart        xfe_manager;
  141.     XfeOrientedConstraintPart        xfe_oriented;
  142. } XfeOrientedConstraintRec;
  143.  
  144. /*----------------------------------------------------------------------*/
  145. /*                                                                        */
  146. /* XfeOrientedPart Access Macro                                            */
  147. /*                                                                        */
  148. /*----------------------------------------------------------------------*/
  149. #define _XfeOrientedPart(w) &(((XfeOrientedWidget) w) -> xfe_oriented)
  150.  
  151. /*----------------------------------------------------------------------*/
  152. /*                                                                        */
  153. /* XfeOriented member access macros                                        */
  154. /*                                                                        */
  155. /*----------------------------------------------------------------------*/
  156. #define _XfeOrientedOrientation(w) \
  157. (((XfeOrientedWidget) (w))-> xfe_oriented . orientation)
  158. /*----------------------------------------------------------------------*/
  159. #define _XfeOrientedSpacing(w) \
  160. (((XfeOrientedWidget) (w))-> xfe_oriented . spacing)
  161. /*----------------------------------------------------------------------*/
  162. #define _XfeOrientedDragStartX(w) \
  163. (((XfeOrientedWidget) (w))-> xfe_oriented . drag_start_x)
  164. /*----------------------------------------------------------------------*/
  165. #define _XfeOrientedDragStartY(w) \
  166. (((XfeOrientedWidget) (w))-> xfe_oriented . drag_start_y)
  167. /*----------------------------------------------------------------------*/
  168.  
  169. /*----------------------------------------------------------------------*/
  170. /*                                                                        */
  171. /* XfeOrientedPart child constraint part access macro                    */
  172. /*                                                                        */
  173. /*----------------------------------------------------------------------*/
  174. #define _XfeOrientedConstraintPart(w) \
  175. (&(((XfeOrientedConstraintRec *) _XfeConstraints(w)) -> xfe_oriented))
  176.  
  177. /*----------------------------------------------------------------------*/
  178. /*                                                                        */
  179. /* XfeOriented method invocation functions                                */
  180. /*                                                                        */
  181. /*----------------------------------------------------------------------*/
  182. extern void
  183. _XfeOrientedEnter                    (Widget            w,
  184.                                      Widget            descendant,
  185.                                      int            x,
  186.                                      int            y);
  187. /*----------------------------------------------------------------------*/
  188. extern void
  189. _XfeOrientedLeave                    (Widget            w,
  190.                                      Widget            descendant,
  191.                                      int            x,
  192.                                      int            y);
  193. /*----------------------------------------------------------------------*/
  194. extern void
  195. _XfeOrientedMotion                    (Widget            w,
  196.                                      Widget            descendant,
  197.                                      int            x,
  198.                                      int            y);
  199. /*----------------------------------------------------------------------*/
  200. extern void
  201. _XfeOrientedDragStart                (Widget            w,
  202.                                      Widget            descendant,
  203.                                      int            x,
  204.                                      int            y);
  205. /*----------------------------------------------------------------------*/
  206. extern void
  207. _XfeOrientedDragEnd                    (Widget            w,
  208.                                      Widget            descendant,
  209.                                      int            x,
  210.                                      int            y);
  211. /*----------------------------------------------------------------------*/
  212. extern void
  213. _XfeOrientedDragMotion                (Widget            w,
  214.                                      Widget            descendant,
  215.                                      int            x,
  216.                                      int            y);
  217. /*----------------------------------------------------------------------*/
  218. extern void
  219. _XfeOrientedDescendantEnter            (Widget            w,
  220.                                      Widget            descendant,
  221.                                      int            x,
  222.                                      int            y);
  223. /*----------------------------------------------------------------------*/
  224. extern void
  225. _XfeOrientedDescendantLeave            (Widget            w,
  226.                                      Widget            descendant,
  227.                                      int            x,
  228.                                      int            y);
  229. /*----------------------------------------------------------------------*/
  230. extern void
  231. _XfeOrientedDescendantMotion        (Widget            w,
  232.                                      Widget            descendant,
  233.                                      int            x,
  234.                                      int            y);
  235. /*----------------------------------------------------------------------*/
  236. extern void
  237. _XfeOrientedDescendantDragStart        (Widget            w,
  238.                                      Widget            descendant,
  239.                                      int            x,
  240.                                      int            y);
  241. /*----------------------------------------------------------------------*/
  242. extern void
  243. _XfeOrientedDescendantDragEnd        (Widget            w,
  244.                                      Widget            descendant,
  245.                                      int            x,
  246.                                      int            y);
  247. /*----------------------------------------------------------------------*/
  248. extern void
  249. _XfeOrientedDescendantDragMotion    (Widget            w,
  250.                                      Widget            descendant,
  251.                                      int            x,
  252.                                      int            y);
  253. /*----------------------------------------------------------------------*/
  254.  
  255. /*----------------------------------------------------------------------*/
  256. /*                                                                        */
  257. /* XfeOriented private Methods                                            */
  258. /*                                                                        */
  259. /*----------------------------------------------------------------------*/
  260. extern void
  261. _XfeOrientedSetCursorState            (Widget            w,
  262.                                      Boolean        state);
  263. /*----------------------------------------------------------------------*/
  264.  
  265. #ifdef __cplusplus                                /* end C++                */
  266. }
  267. #endif
  268.  
  269. #endif                                            /* end OrientedP.h        */
  270.  
  271.