188 lines
4.3 KiB
C
188 lines
4.3 KiB
C
/**
|
|
*
|
|
* $Id: ScrollBarP.h,v 1.1 2004/08/28 19:23:26 dannybackx Exp $
|
|
*
|
|
* Copyright (C) 1995 Free Software Foundation, Inc.
|
|
* Copyright (C) 1995-2000 LessTif Development Team
|
|
*
|
|
* This file is part of the GNU LessTif Library.
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Library General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Library General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Library General Public
|
|
* License along with this library; if not, write to the Free
|
|
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
*
|
|
**/
|
|
|
|
#ifndef _XM_SCROLLBARP_H
|
|
#define _XM_SCROLLBARP_H
|
|
|
|
#include <Xm/ScrollBar.h>
|
|
#include <Xm/PrimitiveP.h>
|
|
|
|
#define MIN_SLIDER_THICKNESS 1
|
|
#define MIN_SLIDER_LENGTH 6
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* define the instance record */
|
|
typedef struct {
|
|
int value;
|
|
int minimum;
|
|
int maximum;
|
|
int slider_size;
|
|
|
|
unsigned char orientation;
|
|
unsigned char processing_direction;
|
|
Boolean show_arrows;
|
|
|
|
int increment;
|
|
int page_increment;
|
|
|
|
int initial_delay;
|
|
int repeat_delay;
|
|
|
|
XtCallbackList value_changed_callback;
|
|
XtCallbackList increment_callback;
|
|
XtCallbackList decrement_callback;
|
|
XtCallbackList page_increment_callback;
|
|
XtCallbackList page_decrement_callback;
|
|
XtCallbackList to_top_callback;
|
|
XtCallbackList to_bottom_callback;
|
|
XtCallbackList drag_callback;
|
|
|
|
/* Obsolete M*tif compatability */
|
|
GC unhighlight_GC;
|
|
/********************************/
|
|
|
|
GC foreground_GC;
|
|
Pixel trough_color;
|
|
|
|
/* private instance variables... don't look here for a good time*/
|
|
Pixmap pixmap;
|
|
Boolean sliding_on;
|
|
Boolean etched_slider;
|
|
int saved_value;
|
|
|
|
unsigned char flags;
|
|
|
|
unsigned char change_type;
|
|
XtIntervalId timer;
|
|
|
|
short initial_x;
|
|
short initial_y;
|
|
short separation_x;
|
|
short separation_y;
|
|
|
|
short slider_x;
|
|
short slider_y;
|
|
short slider_width;
|
|
short slider_height;
|
|
|
|
short slider_area_x;
|
|
short slider_area_y;
|
|
short slider_area_width;
|
|
short slider_area_height;
|
|
|
|
#if 0
|
|
/* rws 5 Feb 1998
|
|
changed as per Gilles Seguin report (I also checked)
|
|
*/
|
|
int arrow1_x;
|
|
int arrow1_y;
|
|
#else
|
|
short arrow1_x;
|
|
short arrow1_y;
|
|
#endif
|
|
unsigned char arrow1_orientation;
|
|
Boolean arrow1_selected;
|
|
|
|
#if 0
|
|
/* rws 5 Feb 1998
|
|
changed as per Gilles Seguin report (I also checked)
|
|
*/
|
|
int arrow2_x;
|
|
int arrow2_y;
|
|
#else
|
|
short arrow2_x;
|
|
short arrow2_y;
|
|
#endif
|
|
unsigned char arrow2_orientation;
|
|
Boolean arrow2_selected;
|
|
|
|
#if 0
|
|
/* rws 5 Feb 1998
|
|
changed as per Gilles Seguin report (I also checked)
|
|
*/
|
|
int arrow_width;
|
|
int arrow_height;
|
|
#else
|
|
short arrow_width;
|
|
short arrow_height;
|
|
#endif
|
|
|
|
/* obsolescent fields that M*tif has, but apparently doesn't use */
|
|
short arrow1_top_count;
|
|
short arrow1_cent_count;
|
|
short arrow1_bot_count;
|
|
|
|
XRectangle * arrow1_top;
|
|
XRectangle * arrow1_cent;
|
|
XRectangle * arrow1_bot;
|
|
|
|
short arrow2_top_count;
|
|
short arrow2_cent_count;
|
|
short arrow2_bot_count;
|
|
|
|
XRectangle * arrow2_top;
|
|
XRectangle * arrow2_cent;
|
|
XRectangle * arrow2_bot;
|
|
/***********/
|
|
|
|
GC unavailable_GC;
|
|
} XmScrollBarPart;
|
|
|
|
/* define the full instance record */
|
|
typedef struct _XmScrollBarRec {
|
|
CorePart core;
|
|
XmPrimitivePart primitive;
|
|
XmScrollBarPart scrollBar;
|
|
} XmScrollBarRec;
|
|
|
|
/* Define class part structure */
|
|
typedef struct {
|
|
XtPointer extension;
|
|
} XmScrollBarClassPart;
|
|
|
|
/* define the full class record */
|
|
|
|
typedef struct _XmScrollBarClassRec {
|
|
CoreClassPart core_class;
|
|
XmPrimitiveClassPart primitive_class;
|
|
XmScrollBarClassPart scrollBar_class;
|
|
} XmScrollBarClassRec;
|
|
|
|
/* External definition for class record */
|
|
|
|
XMLIBEXPORT extern XmScrollBarClassRec xmScrollBarClassRec;
|
|
|
|
/* Private function declaration */
|
|
|
|
XMLIBEXPORT extern void _XmSetEtchedSlider(XmScrollBarWidget);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* _XM_SCROLLBARP_H */
|