home *** CD-ROM | disk | FTP | other *** search
/ IRIS Development Option 6.2 / IRIS_Development_Option_6.2_814-0478-001.iso / dist / motif_dev.idb / usr / include / Sgm / ScrollBarP.h.z / ScrollBarP.h
C/C++ Source or Header  |  1996-03-14  |  8KB  |  264 lines

  1. /*******************************************************************************
  2. ///////   Copyright 1992, Silicon Graphics, Inc.  All Rights Reserved.   ///////
  3. //                                                                            //
  4. // This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;     //
  5. // the contents of this file may not be disclosed to third parties, copied    //
  6. // or duplicated in any form, in whole or in part, without the prior written  //
  7. // permission of Silicon Graphics, Inc.                                       //
  8. //                                                                            //
  9. // RESTRICTED RIGHTS LEGEND:                                                  //
  10. // Use,duplication or disclosure by the Government is subject to restrictions //
  11. // as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data     //
  12. // and Computer Software clause at DFARS 252.227-7013, and/or in similar or   //
  13. // successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -    //
  14. // rights reserved under the Copyright Laws of the United States.             //
  15. //                                                                            //
  16. *******************************************************************************/
  17. #ifdef REV_INFO
  18. #ifndef lint
  19. static char SCCSID[] = "OSF/Motif: @(#)ScrollBarP.h    4.14 92/01/03";
  20. #endif /* lint */
  21. #endif /* REV_INFO */
  22. /******************************************************************************
  23. *******************************************************************************
  24. *
  25. *  (c) Copyright 1989, 1990, 1991, 1992 OPEN SOFTWARE FOUNDATION, INC.
  26. *  (c) Copyright 1989, DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
  27. *  (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 HEWLETT-PACKARD COMPANY
  28. *  ALL RIGHTS RESERVED
  29. *  
  30. *      THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED
  31. *  AND COPIED ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND
  32. *  WITH THE INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR
  33. *  ANY OTHER COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE
  34. *  AVAILABLE TO ANY OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF THE
  35. *  SOFTWARE IS HEREBY TRANSFERRED.
  36. *  
  37. *      THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
  38. *  NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY OPEN SOFTWARE
  39. *  FOUNDATION, INC. OR ITS THIRD PARTY SUPPLIERS  
  40. *  
  41. *      OPEN SOFTWARE FOUNDATION, INC. AND ITS THIRD PARTY SUPPLIERS,
  42. *  ASSUME NO RESPONSIBILITY FOR THE USE OR INABILITY TO USE ANY OF ITS
  43. *  SOFTWARE .   OSF SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
  44. *  KIND, AND OSF EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES, INCLUDING
  45. *  BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  46. *  FITNESS FOR A PARTICULAR PURPOSE.
  47. *  
  48. *  Notice:  Notwithstanding any other lease or license that may pertain to,
  49. *  or accompany the delivery of, this computer software, the rights of the
  50. *  Government regarding its use, reproduction and disclosure are as set
  51. *  forth in Section 52.227-19 of the FARS Computer Software-Restricted
  52. *  Rights clause.
  53. *  
  54. *  (c) Copyright 1989, 1990, 1991, 1992 Open Software Foundation, Inc.  Unpublished - all
  55. *  rights reserved under the Copyright laws of the United States.
  56. *  
  57. *  RESTRICTED RIGHTS NOTICE:  Use, duplication, or disclosure by the
  58. *  Government is subject to the restrictions as set forth in subparagraph
  59. *  (c)(1)(ii) of the Rights in Technical Data and Computer Software clause
  60. *  at DFARS 52.227-7013.
  61. *  
  62. *  Open Software Foundation, Inc.
  63. *  11 Cambridge Center
  64. *  Cambridge, MA   02142
  65. *  (617)621-8700
  66. *  
  67. *  RESTRICTED RIGHTS LEGEND:  This computer software is submitted with
  68. *  "restricted rights."  Use, duplication or disclosure is subject to the
  69. *  restrictions as set forth in NASA FAR SUP 18-52.227-79 (April 1985)
  70. *  "Commercial Computer Software- Restricted Rights (April 1985)."  Open
  71. *  Software Foundation, Inc., 11 Cambridge Center, Cambridge, MA  02142.  If
  72. *  the contract contains the Clause at 18-52.227-74 "Rights in Data General"
  73. *  then the "Alternate III" clause applies.
  74. *  
  75. *  (c) Copyright 1989, 1990, 1991, 1992 Open Software Foundation, Inc.
  76. *  ALL RIGHTS RESERVED 
  77. *  
  78. *  
  79. * Open Software Foundation is a trademark of The Open Software Foundation, Inc.
  80. * OSF is a trademark of Open Software Foundation, Inc.
  81. * OSF/Motif is a trademark of Open Software Foundation, Inc.
  82. * Motif is a trademark of Open Software Foundation, Inc.
  83. * DEC is a registered trademark of Digital Equipment Corporation
  84. * DIGITAL is a registered trademark of Digital Equipment Corporation
  85. * X Window System is a trademark of the Massachusetts Institute of Technology
  86. *
  87. *******************************************************************************
  88. ******************************************************************************/
  89. #ifndef _SgScrollBarP_h
  90. #define _SgScrollBarP_h
  91.  
  92. #include "ScrollBar.h"
  93. #include <Xm/PrimitiveP.h>
  94.  
  95. #ifdef __cplusplus
  96. extern "C" {
  97. #endif
  98.  
  99. /*  Minimum slider width or height  */
  100.  
  101. #define MIN_SLIDER_THICKNESS    1
  102. #define MIN_SLIDER_LENGTH    6
  103.  
  104.  
  105. /*  ScrollBar class structure  */
  106.  
  107. typedef struct _SgScrollBarClassPart
  108. {
  109.    int foo;    /*  No new fields needed  */
  110. #ifdef sgi
  111. /* Allow future extensions without breaking shared library compatibility */
  112.    caddr_t _SG_vendorExtension;
  113. #endif /* sgi */
  114. } SgScrollBarClassPart;
  115.  
  116.  
  117. /*  Full class record declaration for CheckBox class  */
  118.  
  119. typedef struct _SgScrollBarClassRec
  120. {
  121.    CoreClassPart        core_class;
  122.    XmPrimitiveClassPart primitive_class;
  123.    SgScrollBarClassPart scrollBar_class;
  124. } SgScrollBarClassRec;
  125.  
  126. externalref SgScrollBarClassRec sgScrollBarClassRec;
  127.  
  128.  
  129. /*  The ScrollBar instance record  */
  130.  
  131. typedef struct _SgScrollBarPart
  132. {
  133.    int value;
  134.    int minimum;
  135.    int maximum;
  136.    int slider_size;
  137.  
  138.    unsigned char orientation;
  139.    unsigned char processing_direction;
  140.    Boolean show_arrows;
  141.  
  142.    int increment;
  143.    int page_increment;
  144.  
  145.    int initial_delay;
  146.    int repeat_delay;
  147.  
  148.    XtCallbackList value_changed_callback;
  149.    XtCallbackList increment_callback;
  150.    XtCallbackList decrement_callback;
  151.    XtCallbackList page_increment_callback;
  152.    XtCallbackList page_decrement_callback;
  153.    XtCallbackList to_top_callback;
  154.    XtCallbackList to_bottom_callback;
  155.    XtCallbackList drag_callback;
  156.  
  157.    /* obsolete */
  158.    GC unhighlight_GC;
  159.    /***********/
  160.  
  161.    GC foreground_GC;
  162.    Pixel trough_color;
  163.  
  164.    Drawable pixmap;
  165.    Boolean  sliding_on;
  166.    Boolean  etched_slider;
  167.    int saved_value;
  168.  
  169.    unsigned char flags;
  170.  
  171.    unsigned char change_type;
  172.    XtIntervalId timer;
  173.  
  174.    short initial_x;
  175.    short initial_y;
  176.    short separation_x;
  177.    short separation_y;
  178.  
  179.    short slider_x;
  180.    short slider_y;
  181.    short slider_width;
  182.    short slider_height;
  183.  
  184.    short slider_area_x;
  185.    short slider_area_y;
  186.    short slider_area_width;
  187.    short slider_area_height;
  188.  
  189.    short arrow1_x;
  190.    short arrow1_y;
  191.    unsigned char arrow1_orientation;
  192.    Boolean arrow1_selected;
  193.  
  194.    short arrow2_x;
  195.    short arrow2_y;
  196.    unsigned char arrow2_orientation;
  197.    Boolean arrow2_selected;
  198.  
  199.    short arrow_width;
  200.    short arrow_height;
  201.  
  202.    /*  Obsolete fields */
  203.    short arrow1_top_count;
  204.    short arrow1_cent_count;
  205.    short arrow1_bot_count;
  206.  
  207.    XRectangle * arrow1_top;
  208.    XRectangle * arrow1_cent;
  209.    XRectangle * arrow1_bot;
  210.  
  211.    short arrow2_top_count;
  212.    short arrow2_cent_count;
  213.    short arrow2_bot_count;
  214.  
  215.    XRectangle * arrow2_top;
  216.    XRectangle * arrow2_cent;
  217.    XRectangle * arrow2_bot;
  218.    /***********/
  219.  
  220.  
  221.    /* new for 1.2 */
  222.    GC    unavailable_GC;
  223.  
  224.    XtCallbackList trough_pixmap_callback;
  225.    Drawable area_pixmap;
  226.    Drawable pixmap_mask;
  227.  
  228. #ifdef sgi
  229. /* Allow future extensions without breaking shared library compatibility */
  230.    caddr_t _SG_vendorExtension;
  231. #endif /* sgi */
  232. } SgScrollBarPart;
  233.  
  234.  
  235. /*  Full instance record declaration  */
  236.  
  237. typedef struct _SgScrollBarRec
  238. {
  239.    CorePart       core;
  240.    XmPrimitivePart primitive;
  241.    SgScrollBarPart scrollBar;
  242. } SgScrollBarRec;
  243.  
  244.  
  245. /********    Private Function Declarations    ********/
  246. #ifdef _NO_PROTO
  247.  
  248. extern void _SgSetEtchedSlider() ;
  249.  
  250. #else
  251.  
  252. extern void _SgSetEtchedSlider( 
  253.                         SgScrollBarWidget sbw) ;
  254.  
  255. #endif /* _NO_PROTO */
  256. /********    End Private Function Declarations    ********/
  257.  
  258. #ifdef __cplusplus
  259. }  /* Close scope of 'extern "C"' declaration which encloses file. */
  260. #endif
  261.  
  262. #endif /* _SgScrollBarP_h */
  263. /* DON'T ADD ANYTHING AFTER THIS #endif */
  264.