|
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: LabelP.h /main/13 1995/10/25 20:08:32 cde-sun $ */
|
|
Packit |
b099d7 |
/* (c) Copyright 1989, DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. */
|
|
Packit |
b099d7 |
/* (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
|
|
Packit |
b099d7 |
#ifndef _XmLabelP_h_
|
|
Packit |
b099d7 |
#define _XmLabelP_h_
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#include <Xm/Label.h>
|
|
Packit |
b099d7 |
#include <Xm/PrimitiveP.h>
|
|
Packit |
b099d7 |
#include <Xm/XmP.h>
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef __cplusplus
|
|
Packit |
b099d7 |
extern "C" {
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* The Label Widget Class and instance records */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _XmLabelClassPart /* label class record */
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
XtWidgetProc setOverrideCallback;
|
|
Packit |
b099d7 |
XmMenuProc menuProcs;
|
|
Packit |
b099d7 |
String translations;
|
|
Packit |
b099d7 |
XtPointer extension;
|
|
Packit |
b099d7 |
} XmLabelClassPart;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _XmLabelClassRec
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
CoreClassPart core_class;
|
|
Packit |
b099d7 |
XmPrimitiveClassPart primitive_class;
|
|
Packit |
b099d7 |
XmLabelClassPart label_class;
|
|
Packit |
b099d7 |
} XmLabelClassRec;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
externalref XmLabelClassRec xmLabelClassRec;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* Inherited Functions exported by label */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define XmInheritSetOverrideCallback ((XtWidgetProc) _XtInherit)
|
|
Packit |
b099d7 |
#define XmInheritResize ((XtWidgetProc) _XtInherit)
|
|
Packit |
b099d7 |
#define XmInheritRealize ((XtRealizeProc) _XtInherit)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* The padding between label text and accelerator text */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
# define LABEL_ACC_PAD 15
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* The Label instance record */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _XmLabelPart
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
_XmString _label; /* String sent to this widget */
|
|
Packit |
b099d7 |
_XmString _acc_text;
|
|
Packit |
b099d7 |
KeySym mnemonic;
|
|
Packit |
b099d7 |
XmStringCharSet mnemonicCharset;
|
|
Packit |
b099d7 |
char *accelerator;
|
|
Packit |
b099d7 |
unsigned char label_type;
|
|
Packit |
b099d7 |
unsigned char alignment;
|
|
Packit |
b099d7 |
unsigned char string_direction;
|
|
Packit |
b099d7 |
XmFontList font;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Dimension margin_height; /* margin around widget */
|
|
Packit |
b099d7 |
Dimension margin_width;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Dimension margin_left; /* additional margins on */
|
|
Packit |
b099d7 |
Dimension margin_right; /* each side of widget */
|
|
Packit |
b099d7 |
Dimension margin_top; /* text (or pixmap) is placed */
|
|
Packit |
b099d7 |
Dimension margin_bottom; /* inside the margins */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Boolean recompute_size;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Pixmap pixmap;
|
|
Packit |
b099d7 |
Pixmap pixmap_insen;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* PRIVATE members -- values computed by LabelWidgetClass methods */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
GC normal_GC; /* GC for text */
|
|
Packit |
b099d7 |
GC insensitive_GC;
|
|
Packit |
b099d7 |
XRectangle TextRect; /* The bounding box of the text or clip */
|
|
Packit |
b099d7 |
XRectangle acc_TextRect; /* rectangle of the window; whichever is */
|
|
Packit |
b099d7 |
/* smaller */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Boolean skipCallback; /* set by RowColumn with entryCallback. */
|
|
Packit |
b099d7 |
unsigned char menu_type;
|
|
Packit |
b099d7 |
Boolean computing_size; /* suppresses DrawnB resize callbacks. */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Dimension acc_left_delta; /* Amount we increased the margins */
|
|
Packit |
b099d7 |
Dimension acc_right_delta; /* to accomodate accelerator text. */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Dimension * baselines; /* Cached baseline information */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Boolean check_set_render_table;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmPixmapPlacement pixmap_placement; /* Where to place the icon label. */
|
|
Packit |
b099d7 |
Dimension pixmap_text_padding; /* padding between the icon and the text. */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XRectangle PixmapRect; /* The bounding box of the pixmap in TextRect */
|
|
Packit |
b099d7 |
XRectangle StringRect; /* The bounding box of the string in TextRect */
|
|
Packit |
b099d7 |
#ifdef FIX_1381
|
|
Packit |
b099d7 |
GC shadow_GC;
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
} XmLabelPart;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _XmLabelRec
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
CorePart core;
|
|
Packit |
b099d7 |
XmPrimitivePart primitive;
|
|
Packit |
b099d7 |
XmLabelPart label;
|
|
Packit |
b099d7 |
} XmLabelRec;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* MACROS */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define Lab_MarginWidth(w) (((XmLabelWidget)(w)) ->label.margin_width)
|
|
Packit |
b099d7 |
#define Lab_MarginHeight(w) (((XmLabelWidget)(w)) ->label.margin_height)
|
|
Packit |
b099d7 |
#define Lab_MarginTop(w) (((XmLabelWidget)(w)) ->label.margin_top)
|
|
Packit |
b099d7 |
#define Lab_MarginBottom(w) (((XmLabelWidget)(w)) ->label.margin_bottom)
|
|
Packit |
b099d7 |
#define Lab_MarginRight(w) (((XmLabelWidget)(w)) ->label.margin_right)
|
|
Packit |
b099d7 |
#define Lab_MarginLeft(w) (((XmLabelWidget)(w)) ->label.margin_left)
|
|
Packit |
b099d7 |
#define Lab_TextRect_x(w) (((XmLabelWidget)(w)) ->label.TextRect.x)
|
|
Packit |
b099d7 |
#define Lab_TextRect_y(w) (((XmLabelWidget)(w)) ->label.TextRect.y)
|
|
Packit |
b099d7 |
#define Lab_TextRect_width(w) (((XmLabelWidget)(w)) ->label.TextRect.width)
|
|
Packit |
b099d7 |
#define Lab_TextRect_height(w) (((XmLabelWidget)(w)) ->label.TextRect.height)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define Lab_IsText(w) (((XmLabelWidget)(w)) ->label.label_type == XmSTRING)
|
|
Packit |
b099d7 |
#define Lab_IsPixmap(w) (((XmLabelWidget)(w)) ->label.label_type == XmPIXMAP)
|
|
Packit |
b099d7 |
#define Lab_IsPixmapAndText(w) (((XmLabelWidget)(w)) ->label.label_type == \
|
|
Packit |
b099d7 |
XmPIXMAP_AND_STRING)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define Lab_Font(w) (((XmLabelWidget)(w)) ->label.font)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define Lab_Mnemonic(w) (((XmLabelWidget)(w)) ->label.mnemonic)
|
|
Packit |
b099d7 |
#define Lab_Accelerator(w) (((XmLabelWidget)(w)) ->label.accelerator)
|
|
Packit |
b099d7 |
#define Lab_AcceleratorText(w) (((XmLabelWidget)(w)) ->label.acc_text)
|
|
Packit |
b099d7 |
#define Lab_MenuType(w) (((XmLabelWidget)(w))->label.menu_type)
|
|
Packit |
b099d7 |
#define Lab_Shadow(w) (((XmLabelWidget)(w))->primitive.shadow_thickness)
|
|
Packit |
b099d7 |
#define Lab_Highlight(w) (((XmLabelWidget)(w))->primitive.highlight_thickness)
|
|
Packit |
b099d7 |
#define Lab_Baseline(w) \
|
|
Packit |
b099d7 |
(_XmStringBaseline (((XmLabelWidget)(w))->label.font, \
|
|
Packit |
b099d7 |
((XmLabelWidget)(w))->label._label))
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define Lab_ComputingSize(w) (((XmLabelWidget)(w))->label.computing_size)
|
|
Packit |
b099d7 |
#define Lab_IsMenupane(w) ((Lab_MenuType(w) == XmMENU_POPUP) || \
|
|
Packit |
b099d7 |
(Lab_MenuType(w) == XmMENU_PULLDOWN))
|
|
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 /* _XmLabelP_h */
|
|
Packit |
b099d7 |
/* DON'T ADD ANYTHING AFTER THIS #endif */
|