Blame lib/Xm/NavigatorT.h

Packit b099d7
/* $XConsortium: NavigatorT.h /main/5 1995/07/15 20:53:08 drk $ */
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
#ifndef _XmNavigatorT_H
Packit b099d7
#define _XmNavigatorT_H
Packit b099d7
Packit b099d7
#include <Xm/Xm.h>
Packit b099d7
Packit b099d7
#ifdef __cplusplus
Packit b099d7
extern "C" {
Packit b099d7
#endif
Packit b099d7
Packit b099d7
externalref XrmQuark XmQTnavigator;
Packit b099d7
Packit b099d7
/* Trait structures and typedefs, place typedefs first */
Packit b099d7
Packit b099d7
Packit b099d7
/* this structure is equivalent to an XPoint but in int,
Packit b099d7
   not in Position, which are short */
Packit b099d7
typedef struct _TwoDInt {
Packit b099d7
    int x;
Packit b099d7
    int y;
Packit b099d7
} TwoDIntRec, *TwoDInt;
Packit b099d7
Packit b099d7
Packit b099d7
/* this one can be expanded in the future */
Packit b099d7
typedef struct _XmNavigatorDataRec {
Packit b099d7
    Mask valueMask ;
Packit b099d7
    Mask dimMask ;
Packit b099d7
    TwoDIntRec value;
Packit b099d7
    TwoDIntRec minimum;
Packit b099d7
    TwoDIntRec maximum;
Packit b099d7
    TwoDIntRec slider_size;
Packit b099d7
    TwoDIntRec increment;
Packit b099d7
    TwoDIntRec page_increment;
Packit b099d7
} XmNavigatorDataRec, *XmNavigatorData;
Packit b099d7
Packit b099d7
#define NavAllValid             (OxFFFF)
Packit b099d7
#define NavDimMask		(1L<<0)
Packit b099d7
#define NavValue  		(1L<<1)
Packit b099d7
#define NavMinimum              (1L<<2)
Packit b099d7
#define NavMaximum		(1L<<3)
Packit b099d7
#define NavSliderSize		(1L<<4)
Packit b099d7
#define NavIncrement            (1L<<5)
Packit b099d7
#define NavPageIncrement	(1L<<6)
Packit b099d7
Packit b099d7
Packit b099d7
Packit b099d7
typedef void (*XmNavigatorMoveCBProc)(Widget nav, 
Packit b099d7
				      XtCallbackProc moveCB,
Packit b099d7
				      XtPointer closure,
Packit b099d7
				      Boolean setunset);
Packit b099d7
typedef void (*XmNavigatorSetValueProc)(Widget nav, 
Packit b099d7
					XmNavigatorData nav_data,
Packit b099d7
					Boolean notify);
Packit b099d7
typedef void (*XmNavigatorGetValueProc)(Widget nav, 
Packit b099d7
					XmNavigatorData nav_data);
Packit b099d7
Packit b099d7
Packit b099d7
Packit b099d7
/* Version 0: initial release. */
Packit b099d7
Packit b099d7
typedef struct _XmNavigatorTraitRec {
Packit b099d7
  int			  version;		/* 0 */
Packit b099d7
  XmNavigatorMoveCBProc   changeMoveCB;
Packit b099d7
  XmNavigatorSetValueProc setValue;
Packit b099d7
  XmNavigatorGetValueProc getValue;
Packit b099d7
} XmNavigatorTraitRec, *XmNavigatorTrait;
Packit b099d7
Packit b099d7
Packit b099d7
#define NavigDimensionX			(1L<<0)  
Packit b099d7
#define NavigDimensionY			(1L<<1)  
Packit b099d7
Packit b099d7
/* convenience Macros */
Packit b099d7
#define ACCESS_DIM(mask,field) ((mask & NavigDimensionX)?(field.x):(field.y))
Packit b099d7
Packit b099d7
#define ASSIGN_DIM(mask,field,val)	\
Packit b099d7
  {					\
Packit b099d7
    if (mask & NavigDimensionX)		\
Packit b099d7
      (field.x)=(val);			\
Packit b099d7
    else				\
Packit b099d7
      (field.y)=(val);			\
Packit b099d7
  }
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 /* _XmNavigatorT_H */