Blame lib/Xm/ScrolledWP.h

Packit b099d7
/* 
Packit b099d7
 * Motif
Packit b099d7
 *
Packit b099d7
 * Copyright (c) 1987-2012, The Open Group. All rights reserved.
Packit b099d7
 *
Packit b099d7
 * These libraries and programs are free software; you can
Packit b099d7
 * redistribute them and/or modify them under the terms of the GNU
Packit b099d7
 * Lesser General Public License as published by the Free Software
Packit b099d7
 * Foundation; either version 2 of the License, or (at your option)
Packit b099d7
 * any later version.
Packit b099d7
 *
Packit b099d7
 * These libraries and programs are distributed in the hope that
Packit b099d7
 * they will be useful, but WITHOUT ANY WARRANTY; without even the
Packit b099d7
 * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
Packit b099d7
 * PURPOSE. See the GNU Lesser General Public License for more
Packit b099d7
 * details.
Packit b099d7
 *
Packit b099d7
 * You should have received a copy of the GNU Lesser General Public
Packit b099d7
 * License along with these librararies and programs; if not, write
Packit b099d7
 * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
Packit b099d7
 * Floor, Boston, MA 02110-1301 USA
Packit b099d7
*/ 
Packit b099d7
/* 
Packit b099d7
 * HISTORY
Packit b099d7
*/ 
Packit b099d7
/* $XConsortium: ScrolledWP.h /main/13 1995/09/19 23:08:30 cde-sun $ */
Packit b099d7
/* (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
Packit b099d7
#ifndef _XmScrolledWindowP_h
Packit b099d7
#define _XmScrolledWindowP_h
Packit b099d7
Packit b099d7
#include <Xm/ManagerP.h>
Packit b099d7
#include <Xm/ScrolledW.h>
Packit b099d7
Packit b099d7
#include <Xm/ScrollBar.h>
Packit b099d7
#include <Xm/DrawingA.h>
Packit b099d7
Packit b099d7
#include <Xm/ScrollFrameT.h>
Packit b099d7
Packit b099d7
#ifdef __cplusplus
Packit b099d7
extern "C" {
Packit b099d7
#endif
Packit b099d7
Packit b099d7
typedef void (*XmGetAutoDragRectsProc)(Widget, XRectangle **, Cardinal *) ;
Packit b099d7
Packit b099d7
#define XmInheritGetAutoDragRectsProc ((XmGetAutoDragRectsProc) _XtInherit)
Packit b099d7
Packit b099d7
#define XmScrolledWindowClassExtVersion 1L
Packit b099d7
Packit b099d7
typedef struct _XmScrolledWindowClassExtRec{
Packit b099d7
    XtPointer           next_extension;
Packit b099d7
    XrmQuark            record_type;
Packit b099d7
    long                version;
Packit b099d7
    Cardinal            record_size;
Packit b099d7
    XmGetAutoDragRectsProc get_hor_rects;
Packit b099d7
    XmGetAutoDragRectsProc get_vert_rects;
Packit b099d7
} XmScrolledWindowClassExtRec, *XmScrolledWindowClassExt;
Packit b099d7
Packit b099d7
/* New fields for the ScrolledWindow widget class record */
Packit b099d7
typedef struct {
Packit b099d7
     XtPointer extension;   /* extension to new class methods */
Packit b099d7
} XmScrolledWindowClassPart;
Packit b099d7
Packit b099d7
/****************
Packit b099d7
 *
Packit b099d7
 * Class record declaration
Packit b099d7
 *
Packit b099d7
 ****************/
Packit b099d7
typedef struct _XmScrolledWindowClassRec {
Packit b099d7
    CoreClassPart	core_class;
Packit b099d7
    CompositeClassPart  composite_class;
Packit b099d7
    ConstraintClassPart constraint_class;
Packit b099d7
    XmManagerClassPart  manager_class;
Packit b099d7
    XmScrolledWindowClassPart	swindow_class;
Packit b099d7
} XmScrolledWindowClassRec;
Packit b099d7
Packit b099d7
externalref XmScrolledWindowClassRec xmScrolledWindowClassRec;
Packit b099d7
Packit b099d7
/****************
Packit b099d7
 *
Packit b099d7
 * Scrolled Window instance structure.
Packit b099d7
 *
Packit b099d7
 ****************/
Packit b099d7
typedef struct {
Packit b099d7
Packit b099d7
   int vmin;		  /*  slider minimum coordinate position     */
Packit b099d7
   int vmax;		  /*  slider maximum coordinate position     */
Packit b099d7
   int vOrigin;		  /*  slider edge location                  */
Packit b099d7
   int vExtent;		  /*  slider size                           */
Packit b099d7
Packit b099d7
   int hmin;		  /*  Same as above for horizontal bar.     */
Packit b099d7
   int hmax;
Packit b099d7
   int hOrigin;
Packit b099d7
   int hExtent;
Packit b099d7
Packit b099d7
   Position hsbX,hsbY;
Packit b099d7
   Dimension hsbWidth,hsbHeight;    /* Dimensions for the horiz bar */
Packit b099d7
Packit b099d7
   Position vsbX,vsbY;
Packit b099d7
   Dimension vsbWidth,vsbHeight;    /* Dimensions for the vertical bar */
Packit b099d7
Packit b099d7
   Position    GivenHeight, GivenWidth;
Packit b099d7
   /* these 2 fields are now obsolete, we re-use them for
Packit b099d7
      a different purpose, to track the initial position
Packit b099d7
      of the scrollbars */
Packit b099d7
#define sw_prev_x GivenWidth
Packit b099d7
#define sw_prev_y GivenHeight
Packit b099d7
Packit b099d7
   Dimension	AreaWidth,AreaHeight;
Packit b099d7
   Dimension	WidthPad,HeightPad;
Packit b099d7
   Position	XOffset, YOffset;
Packit b099d7
Packit b099d7
   Dimension	pad;
Packit b099d7
Packit b099d7
   Boolean	hasHSB;
Packit b099d7
   Boolean	hasVSB;
Packit b099d7
   Boolean	InInit;
Packit b099d7
   Boolean	FromResize;
Packit b099d7
Packit b099d7
   unsigned char	VisualPolicy;
Packit b099d7
   unsigned char	ScrollPolicy;
Packit b099d7
   unsigned char	ScrollBarPolicy;
Packit b099d7
   unsigned char	Placement;
Packit b099d7
   
Packit b099d7
   XmScrollBarWidget   	hScrollBar;
Packit b099d7
   XmScrollBarWidget   	vScrollBar;
Packit b099d7
   XmDrawingAreaWidget 	ClipWindow;
Packit b099d7
   Widget              	WorkWindow;
Packit b099d7
   
Packit b099d7
   XtCallbackList       traverseObscuredCallback;
Packit b099d7
Packit b099d7
   XtEnum       auto_drag_model;
Packit b099d7
   XtIntervalId auto_drag_timer; 
Packit b099d7
Packit b099d7
   Boolean scroll_frame_inited ;
Packit b099d7
   XmScrollFrameData scroll_frame_data ;
Packit b099d7
Packit b099d7
   XtPointer	auto_drag_rects;
Packit b099d7
   XtPointer	auto_drag_closure;
Packit b099d7
} XmScrolledWindowPart;
Packit b099d7
Packit b099d7
Packit b099d7
/************************************************************************
Packit b099d7
 *									*
Packit b099d7
 * Full instance record declaration					*
Packit b099d7
 *									*
Packit b099d7
 ************************************************************************/
Packit b099d7
Packit b099d7
typedef struct _XmScrolledWindowRec {
Packit b099d7
    CorePart	    core;
Packit b099d7
    CompositePart   composite;
Packit b099d7
    ConstraintPart constraint;
Packit b099d7
    XmManagerPart   manager;
Packit b099d7
    XmScrolledWindowPart   swindow;
Packit b099d7
} XmScrolledWindowRec;
Packit b099d7
Packit b099d7
Packit b099d7
/*  Frame constraint records  */
Packit b099d7
Packit b099d7
typedef struct _XmScrolledWindowConstraintPart
Packit b099d7
{
Packit b099d7
   unsigned char child_type;
Packit b099d7
   Position orig_x;
Packit b099d7
   Position orig_y;
Packit b099d7
} XmScrolledWindowConstraintPart, * XmScrolledWindowConstraint;
Packit b099d7
Packit b099d7
typedef struct _XmScrolledWindowConstraintRec
Packit b099d7
{
Packit b099d7
   XmManagerConstraintPart manager;
Packit b099d7
   XmScrolledWindowConstraintPart   swindow;
Packit b099d7
} XmScrolledWindowConstraintRec, * XmScrolledWindowConstraintPtr;
Packit b099d7
Packit b099d7
Packit b099d7
#define DEFAULT_HEIGHT	20
Packit b099d7
#define DEFAULT_WIDTH	20
Packit b099d7
Packit b099d7
#define RESOURCE_DEFAULT (-1)
Packit b099d7
Packit b099d7
#define GetSWConstraint(w) \
Packit b099d7
        (&((XmScrolledWindowConstraintPtr) (w)->core.constraints)->swindow)
Packit b099d7
Packit b099d7
Packit b099d7
#ifdef __cplusplus
Packit b099d7
}  /* Close scope of 'extern "C"' declaration which encloses file. */
Packit b099d7
#endif
Packit b099d7
Packit b099d7
#endif /* _XmScrolledWindowP_h */
Packit b099d7
/* DON'T ADD STUFF AFTER THIS #endif */