428
+ − 1 /* Define X-specific scrollbar instance.
+ − 2 Copyright (C) 1994, 1995 Board of Trustees, University of Illinois.
+ − 3
+ − 4 This file is part of XEmacs.
+ − 5
+ − 6 XEmacs is free software; you can redistribute it and/or modify it
+ − 7 under the terms of the GNU General Public License as published by the
+ − 8 Free Software Foundation; either version 2, or (at your option) any
+ − 9 later version.
+ − 10
+ − 11 XEmacs is distributed in the hope that it will be useful, but WITHOUT
+ − 12 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ − 13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ − 14 for more details.
+ − 15
+ − 16 You should have received a copy of the GNU General Public License
+ − 17 along with XEmacs; see the file COPYING. If not, write to
+ − 18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ − 19 Boston, MA 02111-1307, USA. */
+ − 20
+ − 21 /* Synched up with: Not in FSF. */
+ − 22
440
+ − 23 #ifndef INCLUDED_scrollbar_x_h_
+ − 24 #define INCLUDED_scrollbar_x_h_
428
+ − 25
+ − 26 #if defined (HAVE_X_WINDOWS) && defined (HAVE_SCROLLBARS)
+ − 27
+ − 28 #include "scrollbar.h"
+ − 29
+ − 30 struct x_scrollbar_data
+ − 31 {
+ − 32 /* Unique scrollbar identifier and name. */
+ − 33 unsigned int id;
+ − 34 char *name;
+ − 35
+ − 36 /* Is set if we have already set the backing_store attribute correctly */
+ − 37 char backing_store_initialized;
+ − 38
+ − 39 /* Positioning and sizing information for scrollbar and slider. */
+ − 40 scrollbar_values pos_data;
+ − 41
+ − 42 /* Pointer to the scrollbar widget this structure describes. */
+ − 43 Widget widget;
+ − 44
+ − 45 #if defined (LWLIB_SCROLLBARS_MOTIF) || defined (LWLIB_SCROLLBARS_LUCID) || \
+ − 46 defined (LWLIB_SCROLLBARS_ATHENA3D)
+ − 47 /* Recorded starting position for Motif-like scrollbar drags. */
+ − 48 int vdrag_orig_value;
665
+ − 49 Charbpos vdrag_orig_window_start;
428
+ − 50 #endif
+ − 51 };
+ − 52
+ − 53 #define SCROLLBAR_X_DATA(i) ((struct x_scrollbar_data *) ((i)->scrollbar_data))
+ − 54
+ − 55 #define SCROLLBAR_X_ID(i) (SCROLLBAR_X_DATA (i)->id)
+ − 56 #define SCROLLBAR_X_NAME(i) (SCROLLBAR_X_DATA (i)->name)
+ − 57 #define SCROLLBAR_X_BACKING_STORE_INITIALIZED(i) \
+ − 58 (SCROLLBAR_X_DATA (i)->backing_store_initialized)
+ − 59 #define SCROLLBAR_X_POS_DATA(i) (SCROLLBAR_X_DATA (i)->pos_data)
+ − 60 #define SCROLLBAR_X_WIDGET(i) (SCROLLBAR_X_DATA (i)->widget)
+ − 61
+ − 62 #if defined (LWLIB_SCROLLBARS_MOTIF) || defined (LWLIB_SCROLLBARS_LUCID) || \
+ − 63 defined (LWLIB_SCROLLBARS_ATHENA3D)
+ − 64 #define SCROLLBAR_X_VDRAG_ORIG_VALUE(i) \
+ − 65 (SCROLLBAR_X_DATA (i)->vdrag_orig_value)
+ − 66 #define SCROLLBAR_X_VDRAG_ORIG_WINDOW_START(i) \
+ − 67 (SCROLLBAR_X_DATA (i)->vdrag_orig_window_start)
+ − 68 #endif
+ − 69
+ − 70 void x_update_frame_scrollbars (struct frame *f);
+ − 71 void x_set_scrollbar_pointer (struct frame *f, Lisp_Object cursor);
+ − 72
+ − 73 #endif /* HAVE_X_WINDOWS and HAVE_SCROLLBARS */
440
+ − 74
+ − 75 #endif /* INCLUDED_scrollbar_x_h_ */