Blame lib/Xm/PrimitiveP.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: PrimitiveP.h /main/10 1996/03/28 15:59:54 daniel $ */
Packit b099d7
/* (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
Packit b099d7
/* (c) Copyright 1989, 1990 DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. */
Packit b099d7
/* (c) Copyright 1988 MASSACHUSETTS INSTITUTE OF TECHNOLOGY  */
Packit b099d7
#ifndef _XmPrimitiveP_h
Packit b099d7
#define _XmPrimitiveP_h
Packit b099d7
Packit b099d7
#ifndef _XmNO_BC_INCL
Packit b099d7
#define _XmNO_BC_INCL
Packit b099d7
#endif
Packit b099d7
Packit b099d7
#include <Xm/XmP.h>
Packit b099d7
Packit b099d7
#ifdef __cplusplus
Packit b099d7
extern "C" {
Packit b099d7
#endif
Packit b099d7
Packit b099d7
Packit b099d7
/* Access Macros */
Packit b099d7
Packit b099d7
#define Prim_ShadowThickness(w) (((XmPrimitiveWidget)(w))->primitive.shadow_thickness)
Packit b099d7
#define Prim_HaveTraversal(w) (((XmPrimitiveWidget)(w))->primitive.have_traversal)
Packit b099d7
Packit b099d7
#define PCEPTR(wc)  ((XmPrimitiveClassExt *)(&(((XmPrimitiveWidgetClass)(wc))->primitive_class.extension)))
Packit b099d7
#define _XmGetPrimitiveClassExtPtr(wc, owner) \
Packit b099d7
  ((*PCEPTR(wc) && (((*PCEPTR(wc))->record_type) == owner))\
Packit b099d7
   ? PCEPTR(wc) \
Packit b099d7
   :((XmPrimitiveClassExt *) _XmGetClassExtensionPtr(((XmGenericClassExt *)PCEPTR(wc)), owner)))
Packit b099d7
Packit b099d7
Packit b099d7
#define XmPrimitiveClassExtVersion 1L
Packit b099d7
Packit b099d7
Packit b099d7
typedef struct _XmPrimitiveClassExtRec{
Packit b099d7
    XtPointer           next_extension;
Packit b099d7
    XrmQuark            record_type;
Packit b099d7
    long                version;
Packit b099d7
    Cardinal            record_size;
Packit b099d7
    XmWidgetBaselineProc widget_baseline;
Packit b099d7
    XmWidgetDisplayRectProc  widget_display_rect;
Packit b099d7
    XmWidgetMarginsProc widget_margins;
Packit b099d7
} XmPrimitiveClassExtRec, *XmPrimitiveClassExt;
Packit b099d7
Packit b099d7
typedef struct _XmPrimitiveClassPart
Packit b099d7
{
Packit b099d7
   XtWidgetProc         border_highlight;
Packit b099d7
   XtWidgetProc         border_unhighlight;
Packit b099d7
   String               translations;
Packit b099d7
   XtActionProc         arm_and_activate;
Packit b099d7
   XmSyntheticResource * syn_resources;   
Packit b099d7
   int                  num_syn_resources;   
Packit b099d7
   XtPointer            extension;
Packit b099d7
} XmPrimitiveClassPart;
Packit b099d7
Packit b099d7
typedef struct _XmPrimitiveClassRec
Packit b099d7
{
Packit b099d7
    CoreClassPart        core_class;
Packit b099d7
    XmPrimitiveClassPart primitive_class;
Packit b099d7
} XmPrimitiveClassRec;
Packit b099d7
Packit b099d7
externalref XmPrimitiveClassRec xmPrimitiveClassRec;
Packit b099d7
Packit b099d7
Packit b099d7
/*  The Primitive instance record  */
Packit b099d7
Packit b099d7
typedef struct _XmPrimitivePart
Packit b099d7
{
Packit b099d7
   Pixel   foreground;
Packit b099d7
Packit b099d7
   Dimension   shadow_thickness;
Packit b099d7
   Pixel   top_shadow_color;
Packit b099d7
   Pixmap  top_shadow_pixmap;
Packit b099d7
   Pixel   bottom_shadow_color;
Packit b099d7
   Pixmap  bottom_shadow_pixmap;
Packit b099d7
Packit b099d7
   Dimension   highlight_thickness;
Packit b099d7
   Pixel   highlight_color;
Packit b099d7
   Pixmap  highlight_pixmap;
Packit b099d7
Packit b099d7
   XtCallbackList help_callback;
Packit b099d7
   XtPointer      user_data;
Packit b099d7
Packit b099d7
   Boolean traversal_on;
Packit b099d7
   Boolean highlight_on_enter;
Packit b099d7
   Boolean have_traversal;
Packit b099d7
Packit b099d7
   unsigned char unit_type;
Packit b099d7
   XmNavigationType navigation_type;
Packit b099d7
Packit b099d7
   Boolean highlight_drawn;
Packit b099d7
   Boolean highlighted;
Packit b099d7
Packit b099d7
   GC      highlight_GC;
Packit b099d7
   GC      top_shadow_GC;
Packit b099d7
   GC      bottom_shadow_GC;
Packit b099d7
Packit b099d7
   /* New fields in Motif 2.0 */
Packit b099d7
Packit b099d7
#ifndef XM_PART_BC
Packit b099d7
Packit b099d7
   XtCallbackList   convert_callback;       /* Selection convert callback */
Packit b099d7
   XtCallbackList   popup_handler_callback;
Packit b099d7
Packit b099d7
   XmDirection layout_direction;
Packit b099d7
#endif
Packit b099d7
#ifdef OM22_COMPATIBILITY
Packit b099d7
   XmString tool_tip_string;
Packit b099d7
#endif
Packit b099d7
} XmPrimitivePart;
Packit b099d7
Packit b099d7
#ifdef XM_PART_BC
Packit b099d7
extern XmDirection XmPrimLayoutDir ;
Packit b099d7
#define XmPrim_layout_direction(w) (XmPrimLayoutDir)
Packit b099d7
#else
Packit b099d7
#define XmPrim_layout_direction(w) ((w)->primitive.layout_direction)
Packit b099d7
#endif
Packit b099d7
Packit b099d7
Packit b099d7
typedef struct _XmPrimitiveRec
Packit b099d7
{
Packit b099d7
   CorePart        core;
Packit b099d7
   XmPrimitivePart primitive;
Packit b099d7
} XmPrimitiveRec;
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 /* _XmPrimitiveP_h */
Packit b099d7
/* DON'T ADD ANYTHING AFTER THIS #endif */