awips2/nativeLib/rary.empty.motif/include/Xm/XmP.h

1654 lines
53 KiB
C
Raw Permalink Normal View History

2017-04-21 18:33:55 -06:00
/**
*
* $Id: XmP.h,v 1.2 2005/03/26 06:12:17 dannybackx Exp $
*
* Copyright (C) 1995 Free Software Foundation, Inc.
* Copyright (C) 1995-2002 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_XMP_H
#define _XM_XMP_H
#include <X11/IntrinsicP.h>
#include <Xm/Xm.h>
#include <Xm/DrawP.h>
#ifndef XmConst
#define XmConst const
#endif /* !XmConst */
#ifdef __cplusplus
extern "C" {
#endif
/*
* shorthand macros
*/
#ifdef XtDisplay
#undef XtDisplay
#endif
#define XtDisplay(widget) \
(XtIsWidget(widget) \
? ((Widget)(widget))->core.screen->display \
: ((Object)(widget))->object.parent->core.screen->display)
#ifdef XtScreen
#undef XtScreen
#endif
#define XtScreen(widget) \
(XtIsWidget(widget) \
? ((Widget)(widget))->core.screen \
: ((Object)(widget))->object.parent->core.screen)
#ifdef XtWindow
#undef XtWindow
#endif
#define XtWindow(widget) \
(XtIsWidget(widget) \
? ((Widget)(widget))->core.window \
: ((Object)(widget))->object.parent->core.window)
#ifdef XtName
#undef XtName
#endif
#define XtName(widget) \
XrmQuarkToString(((Object)(widget))->object.xrm_name)
#ifdef XtClass
#undef XtClass
#endif
#define XtClass(widget) \
(((Object)(widget))->object.widget_class)
#ifdef XtSuperclass
#undef XtSuperclass
#endif
#define XtSuperclass(widget) \
(XtClass(widget)->core_class.superclass)
#ifdef XtIsRealized
#undef XtIsRealized
#endif
#define XtIsRealized(widget) \
(XtIsWidget(widget) \
? ((Widget)(widget))->core.window \
: ((Object)(widget))->object.parent->core.window)
#ifdef XtIsManaged
#undef XtIsManaged
#endif
#define XtIsManaged(widget) \
(((XmGadget)(widget))->rectangle.managed)
#ifdef XtParent
#undef XtParent
#endif
#define XtParent(widget) \
(((Object)(widget))->object.parent)
/*
* #defines for useful core record variables
*/
#define XtWidth(w) (((Widget)(w))->core.width)
#define XtHeight(w) (((Widget)(w))->core.height)
#define XtX(w) (((Widget)(w))->core.x)
#define XtY(w) (((Widget)(w))->core.y)
#define XtBackground(w) (((Widget)(w))->core.background_pixel)
#define XtBorderWidth(w) (((Widget)(w))->core.border_width)
#define XtSensitive(w) (((Widget)(w))->core.sensitive && \
((Widget)(w))->core.ancestor_sensitive)
#define XtCoreProc(w,p) (((Widget)(w))->core.widget_class->core_class.p)
/*
* menu values
*/
enum {
XmMENU_POPDOWN,
XmMENU_PROCESS_TREE,
XmMENU_TRAVERSAL,
XmMENU_SHELL_POPDOWN,
XmMENU_CALLBACK,
XmMENU_BUTTON,
XmMENU_CASCADING,
XmMENU_SUBMENU,
XmMENU_ARM,
XmMENU_DISARM,
XmMENU_BAR_CLEANUP,
XmMENU_STATUS,
XmMENU_MEMWIDGET_UPDATE,
XmMENU_BUTTON_POPDOWN,
XmMENU_RESTORE_EXCLUDED_TEAROFF_TO_TOPLEVEL_SHELL,
XmMENU_RESTORE_TEAROFF_TO_TOPLEVEL_SHELL,
XmMENU_RESTORE_TEAROFF_TO_MENUSHELL,
XmMENU_GET_LAST_SELECT_TOPLEVEL,
XmMENU_TEAR_OFF_ARM
};
#define XmMENU_TORN_BIT (1 << 0)
#define XmMENU_TEAR_OFF_SHELL_DESCENDANT_BIT (1 << 1)
#define XmMENU_POPUP_POSTED_BIT (1 << 2)
#define XmIsTorn(m) \
((m) & XmMENU_TORN_BIT)
#define XmPopupPosted(m) \
((m) & XmMENU_POPUP_POSTED_BIT)
#define XmIsTearOffShellDescendant(m) \
((m) & XmMENU_TEAR_OFF_SHELL_DESCENDANT_BIT)
/*
* constants used in button/SimpleMenu communication
*/
typedef struct _XmSimpleMenuRec {
int count;
int post_from_button;
XtCallbackProc callback;
XmStringTable label_string;
String *accelerator;
XmStringTable accelerator_text;
XmKeySymTable mnemonic;
XmStringCharSetTable mnemonic_charset;
XmButtonTypeTable button_type;
int button_set;
XmString option_label;
KeySym option_mnemonic;
} XmSimpleMenuRec, *XmSimpleMenu;
/* For MapEvent: _XmMatchBtnEvent */
#define XmIGNORE_EVENTTYPE -1
/* Default minimum Toggle indicator dimension */
#define XmDEFAULT_INDICATOR_DIM 9
/* DefaultButtonShadow stuff */
#define Xm3D_ENHANCE_PIXEL 2
#define XmDEFAULT_TOP_MARGIN 0
#define XmDEFAULT_BOTTOM_MARGIN 0
/*
* synthetic resource stuff
*/
typedef enum {
XmSYNTHETIC_NONE,
XmSYNTHETIC_LOAD
} XmImportOperator;
typedef void (*XmExportProc)(Widget, int, XtArgVal *);
typedef XmImportOperator (*XmImportProc)(Widget, int, XtArgVal*);
typedef struct _XmSyntheticResource {
String resource_name;
Cardinal resource_size;
Cardinal resource_offset;
XmExportProc export_proc;
XmImportProc import_proc;
} XmSyntheticResource;
/*
* ParentProcess structures
*/
enum {
XmPARENT_PROCESS_ANY,
XmINPUT_ACTION
};
enum {
XmPARENT_ACTIVATE,
XmPARENT_CANCEL
};
#define XmRETURN XmPARENT_ACTIVATE
#define XmCANCEL XmPARENT_CANCEL
typedef struct {
int process_type;
} XmParentProcessAnyRec;
typedef struct {
int process_type;
XEvent *event;
int action;
String *params;
Cardinal *num_params;
} XmParentInputActionRec;
typedef union {
XmParentProcessAnyRec any;
XmParentInputActionRec input_action;
} XmParentProcessDataRec, *XmParentProcessData;
#define XmINVALID_DIMENSION (0xFFFF)
enum {
XmBASELINE_GET,
XmBASELINE_SET
};
typedef struct _XmBaselineMargins {
unsigned char get_or_set;
Dimension margin_top;
Dimension margin_bottom;
Dimension shadow;
Dimension highlight;
Dimension text_height;
Dimension text_width;
Dimension margin_height;
} XmBaselineMargins;
typedef enum {
XmFOCUS_IN,
XmFOCUS_OUT,
XmENTER,
XmLEAVE
} XmFocusChange;
typedef enum{
XmNOT_NAVIGABLE,
XmCONTROL_NAVIGABLE,
XmTAB_NAVIGABLE,
XmDESCENDANTS_NAVIGABLE,
XmDESCENDANTS_TAB_NAVIGABLE
} XmNavigability;
#define XmVoidProc XtProc
typedef Boolean (*XmParentProcessProc)(Widget, XmParentProcessData);
typedef void (*XmWidgetDispatchProc)
(Widget gadget, XEvent *event, Mask event_mask);
typedef void (*XmMenuPopupProc)(Widget, Widget, XEvent *);
typedef void (*XmMenuTraversalProc)( Widget, Widget, XmTraversalDirection);
typedef void (*XmResizeFlagProc)(Widget, Boolean);
typedef void (*XmRealizeOutProc)(Widget, Mask *, XSetWindowAttributes *);
typedef Boolean (*XmVisualChangeProc)
(Widget gadget, Widget cur_mgr, Widget new_mgr);
typedef void (*XmTraversalProc)(Widget, XtPointer, XtPointer, int);
typedef void (*XmFocusMovedProc)( Widget, XtPointer, XtPointer) ;
typedef void (*XmCacheCopyProc)(XtPointer, XtPointer, size_t);
typedef int (*XmCacheCompareProc)(XtPointer, XtPointer);
typedef Boolean (*XmWidgetBaselineProc)
(Widget w, Dimension **baselines, int *num_baselines);
typedef Boolean (*XmWidgetDisplayRectProc)(Widget w, XRectangle *rect);
typedef void (*XmWidgetMarginsProc)(Widget w, XmBaselineMargins *margins);
typedef XmNavigability (*XmWidgetNavigableProc)(Widget w);
typedef void (*XmFocusChangeProc)(Widget w, XmFocusChange change);
typedef void (*XmMenuProc)(int function, Widget widget, ...);
typedef void (*XmGadgetCacheProc)(XtPointer);
typedef Boolean (*XmTraversalChildrenProc)
(Widget mw, Widget **children, Cardinal *num_children);
/*
* virtkey stuff
*/
typedef struct {
Modifiers mod;
char *key;
char *action;
} _XmBuildVirtualKeyStruct;
/*
* stuff needed by the Text and TextField widgets to do their rendering
*/
typedef struct {
XmTextPosition position;
XmHighlightMode mode;
} _XmHighlightRec;
typedef struct {
Cardinal number;
Cardinal maximum;
_XmHighlightRec *list;
} _XmHighlightData;
typedef struct {
Atom selection;
Atom target;
} _XmTextInsertPair;
typedef enum {
XmDEST_SELECT,
XmPRIM_SELECT
} XmSelectType;
typedef struct {
Boolean done_status;
Boolean success_status;
XmSelectType select_type;
XSelectionRequestEvent *event;
} _XmInsertSelect;
typedef struct {
XEvent *event;
String *params;
Cardinal *num_params;
} _XmTextActionRec;
typedef struct {
Widget widget;
XmTextPosition insert_pos;
int num_chars;
Time timestamp;
Boolean move;
} _XmTextDropTransferRec;
typedef struct {
XmTextPosition position;
Atom target;
Time time;
int num_chars;
int ref_count;
} _XmTextPrimSelect;
typedef struct {
Screen *screen;
XContext context;
unsigned char type;
} XmTextContextDataRec, *XmTextContextData;
enum {
_XM_IS_DEST_CTX,
_XM_IS_GC_DATA_CTX,
_XM_IS_PIXMAP_CTX
};
#define XmTEXT_DRAG_ICON_WIDTH 64
#define XmTEXT_DRAG_ICON_HEIGHT 64
#define XmTEXT_DRAG_ICON_X_HOT 10
#define XmTEXT_DRAG_ICON_Y_HOT 4
/*
* geometry stuff, used in GeoUtils.c
*/
enum{
XmGET_ACTUAL_SIZE = 1,
XmGET_PREFERRED_SIZE,
XmGEO_PRE_SET,
XmGEO_POST_SET
};
/* fill modes for the GeoLayoutRec's below */
enum {
XmGEO_EXPAND,
XmGEO_CENTER,
XmGEO_PACK
};
/* fit modes for the GeoLayoutRec's below */
enum {
XmGEO_PROPORTIONAL,
XmGEO_AVERAGING,
XmGEO_WRAP
};
enum {
XmGEO_ROW_MAJOR,
XmGEO_COLUMN_MAJOR
};
typedef struct _XmGeoMatrixRec *XmGeoMatrix;
typedef union _XmGeoMajorLayoutRec *XmGeoMajorLayout;
typedef struct _XmKidGeometryRec {
Widget kid;
XtWidgetGeometry box;
} XmKidGeometryRec, *XmKidGeometry;
typedef void (*XmGeoArrangeProc)(XmGeoMatrix, Position, Position,
Dimension *, Dimension *);
typedef Boolean (*XmGeoExceptProc)(XmGeoMatrix);
typedef void (*XmGeoExtDestructorProc)(XtPointer);
typedef void (*XmGeoSegmentFixUpProc)(XmGeoMatrix, int,
XmGeoMajorLayout, XmKidGeometry);
typedef struct {
Boolean end;
XmGeoSegmentFixUpProc fix_up;
Dimension even_width;
Dimension even_height;
Dimension min_height;
Boolean stretch_height;
Boolean uniform_border;
Dimension border;
unsigned char fill_mode;
unsigned char fit_mode;
Boolean sticky_end;
Dimension space_above;
Dimension space_end;
Dimension space_between;
Dimension max_box_height;
Dimension boxes_width;
Dimension fill_width;
Dimension box_count;
} XmGeoRowLayoutRec, *XmGeoRowLayout;
typedef struct {
Boolean end;
XmGeoSegmentFixUpProc fix_up;
Dimension even_height;
Dimension even_width;
Dimension min_width;
Boolean stretch_width;
Boolean uniform_border;
Dimension border;
unsigned char fill_mode;
unsigned char fit_mode;
Boolean sticky_end;
Dimension space_left;
Dimension space_end;
Dimension space_between;
Dimension max_box_width;
Dimension boxed_height;
Dimension fill_height;
Dimension box_count;
} XmGeoColumnLayoutRec, *XmGeoColumnLayout;
typedef union _XmGeoMajorLayoutRec {
XmGeoRowLayoutRec row;
XmGeoColumnLayoutRec col;
} XmGeoMajorLayoutRec;
typedef struct _XmGeoMatrixRec {
Widget composite;
Widget instigator;
XtWidgetGeometry instig_request;
XtWidgetGeometry parent_request;
XtWidgetGeometry *in_layout;
XmKidGeometry boxes; /* there is a NULL pointer add the end of each row */
XmGeoMajorLayout layouts;
Dimension margin_w;
Dimension margin_h;
Boolean stretch_boxes;
Boolean uniform_border;
Dimension border;
Dimension max_major;
Dimension boxes_minor;
Dimension fill_minor;
Dimension width;
Dimension height;
XmGeoExceptProc set_except;
XmGeoExceptProc almost_except;
XmGeoExceptProc no_geo_request;
XtPointer extension;
XmGeoExtDestructorProc ext_destructor;
XmGeoArrangeProc arrange_boxes;
unsigned char major_order;
} XmGeoMatrixRec;
typedef XmGeoMatrix (*XmGeoCreateProc)(Widget, Widget, XtWidgetGeometry *);
/*
* inheritance stuff
*/
#define XmInheritCallbackProc ((XtCallbackProc) _XtInherit)
#define XmInheritTraversalProc ((XmTraversalProc) _XtInherit)
#define XmInheritParentProcess ((XmParentProcessProc) _XtInherit)
#define XmInheritWidgetProc ((XtWidgetProc) _XtInherit)
#define XmInheritMenuProc ((XmMenuProc) _XtInherit)
#define XmInheritTranslations XtInheritTranslations
#define XmInheritCachePart ((XtCacheClassPartPtr) _XtInherit)
#define XmInheritBaselineProc ((XmWidgetBaselineProc) _XtInherit)
#define XmInheritDisplayRectProc ((XmWidgetDisplayRectProc) _XtInherit)
#define XmInheritMarginsProc ((XmWidgetMarginsProc) _XtInherit)
#define XmInheritGeoMatrixCreate ((XmGeoCreateProc) _XtInherit)
#define XmInheritFocusMovedProc ((XmFocusMovedProc) _XtInherit)
#define XmInheritClass ((WidgetClass) &_XmInheritClass)
#define XmInheritInitializePrehook ((XtInitProc) _XtInherit)
#define XmInheritSetValuesPrehook ((XtSetValuesFunc) _XtInherit)
#define XmInheritInitializePosthook ((XtInitProc) _XtInherit)
#define XmInheritSetValuesPosthook ((XtSetValuesFunc) _XtInherit)
#define XmInheritGetValuesPosthook ((XtArgsProc) _XtInherit)
#define XmInheritSecObjectCreate ((XtInitProc) _XtInherit)
#define XmInheritGetSecResData ((XmGetSecResDataFunc) _XtInherit)
#define XmInheritInputDispatch ((XmWidgetDispatchProc) _XtInherit)
#define XmInheritVisualChange ((XmVisualChangeProc) _XtInherit)
#define XmInheritGetValuesPrehook ((XtArgsProc) _XtInherit)
#define XmInheritArmAndActivate ((XtActionProc) _XtInherit)
#define XmInheritActionProc ((XtActionProc) _XtInherit)
#define XmInheritFocusChange ((XmFocusChangeProc) _XtInherit)
#define XmInheritWidgetNavigable ((XmWidgetNavigableProc) _XtInherit)
#define XmInheritClassPartInitPrehook ((XtWidgetClassProc) _XtInherit)
#define XmInheritClassPartInitPosthook ((XtWidgetClassProc) _XtInherit)
#define XmInheritBorderHighlight ((XtWidgetProc) _XtInherit)
#define XmInheritBorderUnhighlight ((XtWidgetProc) _XtInherit)
#define XmInheritRealize ((XtRealizeProc) _XtInherit)
#define XmInheritResize ((XtWidgetProc) _XtInherit)
#define XmInheritSetOverrideCallback ((XtWidgetProc) _XtInherit)
#define XmInheritTraversalChildrenProc ((XmTraversalChildrenProc) _XtInherit)
/*
* fast subclassing definitions
*/
enum {
XmCASCADE_BUTTON_BIT = 1,
XmCASCADE_BUTTON_GADGET_BIT,
XmCOMMAND_BOX_BIT,
XmDIALOG_SHELL_BIT,
XmLIST_BIT,
XmFORM_BIT,
XmTEXT_FIELD_BIT,
XmGADGET_BIT,
XmLABEL_BIT,
XmLABEL_GADGET_BIT,
XmMAIN_WINDOW_BIT,
XmMANAGER_BIT,
XmMENU_SHELL_BIT,
XmDRAWN_BUTTON_BIT,
XmPRIMITIVE_BIT,
XmPUSH_BUTTON_BIT,
XmPUSH_BUTTON_GADGET_BIT,
XmROW_COLUMN_BIT,
XmSCROLL_BAR_BIT,
XmSCROLLED_WINDOW_BIT,
XmSELECTION_BOX_BIT,
XmSEPARATOR_BIT,
XmSEPARATOR_GADGET_BIT,
XmTEXT_BIT,
XmTOGGLE_BUTTON_BIT,
XmTOGGLE_BUTTON_GADGET_BIT,
XmDROP_TRANSFER_BIT,
XmDROP_SITE_MANAGER_BIT,
XmDISPLAY_BIT,
XmSCREEN_BIT,
XmARROW_BUTTON_BIT = 32,
XmARROW_BUTTON_GADGET_BIT,
XmBULLETIN_BOARD_BIT,
XmDRAWING_AREA_BIT,
XmFILE_SELECTION_BOX_BIT,
XmFRAME_BIT,
XmMESSAGE_BOX_BIT,
XmSASH_BIT,
XmSCALE_BIT,
XmPANED_WINDOW_BIT,
XmVENDOR_SHELL_BIT,
XmCLIP_WINDOW_BIT,
XmDRAG_ICON_BIT,
XmTEAROFF_BUTTON_BIT,
XmDRAG_OVER_SHELL_BIT,
XmDRAG_CONTEXT_BIT,
XmCONTAINER_BIT,
XmICONGADGET_BIT,
XmNOTEBOOK_BIT,
XmCSTEXT_BIT,
XmGRAB_SHELL_BIT,
XmCOMBO_BOX_BIT,
XmSPINBOX_BIT,
XmICONHEADER_BIT,
XmICON_GADGET_BIT,
XmFAST_SUBCLASS_TAIL_BIT,
XmFIRST_APPLICATION_SUBCLASS_BIT = 192
};
#define XmLAST_FAST_SUBCLASS_BIT (XmFAST_SUBCLASS_TAIL_BIT - 1)
#undef XmIsCascadeButton
#define XmIsCascadeButton(w) \
(_XmIsFastSubclass(XtClass(w), XmCASCADE_BUTTON_BIT))
#undef XmIsCascadeButtonGadget
#define XmIsCascadeButtonGadget(w) \
(_XmIsFastSubclass(XtClass(w), XmCASCADE_BUTTON_GADGET_BIT))
#undef XmIsCommandBox
#define XmIsCommandBox(w) \
(_XmIsFastSubclass(XtClass(w), XmCOMMAND_BOX_BIT))
#undef XmIsDialogShell
#define XmIsDialogShell(w) \
(_XmIsFastSubclass(XtClass(w), XmDIALOG_SHELL_BIT))
#undef XmIsDisplay
#define XmIsDisplay(w) \
(_XmIsFastSubclass(XtClass(w), XmDISPLAY_BIT))
#undef XmIsList
#define XmIsList(w) \
(_XmIsFastSubclass(XtClass(w), XmLIST_BIT))
#undef XmIsForm
#define XmIsForm(w) \
(_XmIsFastSubclass(XtClass(w), XmFORM_BIT))
#undef XmIsTextField
#define XmIsTextField(w) \
(_XmIsFastSubclass(XtClass(w), XmTEXT_FIELD_BIT))
#undef XmIsGadget
#define XmIsGadget(w) \
(_XmIsFastSubclass(XtClass(w), XmGADGET_BIT))
#undef XmIsLabel
#define XmIsLabel(w) \
(_XmIsFastSubclass(XtClass(w), XmLABEL_BIT))
#undef XmIsLabelGadget
#define XmIsLabelGadget(w) \
(_XmIsFastSubclass(XtClass(w), XmLABEL_GADGET_BIT))
#undef XmIsIconGadget
#define XmIsIconGadget(w) \
(_XmIsFastSubclass(XtClass(w), XmICON_GADGET_BIT))
#undef XmIsMainWindow
#define XmIsMainWindow(w) \
(_XmIsFastSubclass(XtClass(w), XmMAIN_WINDOW_BIT))
#undef XmIsManager
#define XmIsManager(w) \
(_XmIsFastSubclass(XtClass(w), XmMANAGER_BIT))
#undef XmIsMenuShell
#define XmIsMenuShell(w) \
(_XmIsFastSubclass(XtClass(w), XmMENU_SHELL_BIT))
#undef XmIsDragIcon
#define XmIsDragIcon(w) \
(_XmIsFastSubclass(XtClass(w), XmDRAG_ICON_BIT))
#undef XmIsDropSiteManager
#define XmIsDropSiteManager(w) \
(_XmIsFastSubclass(XtClass(w), XmDROP_SITE_MANAGER_BIT))
#undef XmIsDropTransfer
#define XmIsDropTransfer(w) \
(_XmIsFastSubclass(XtClass(w), XmDROP_TRANSFER_BIT))
#undef XmIsDragOverShell
#define XmIsDragOverShell(w) \
(_XmIsFastSubclass(XtClass(w), XmDRAG_OVER_SHELL_BIT))
#undef XmIsDragContext
#define XmIsDragContext(w) \
(_XmIsFastSubclass(XtClass(w), XmDRAG_CONTEXT_BIT))
#undef XmIsDrawnButton
#define XmIsDrawnButton(w) \
(_XmIsFastSubclass(XtClass(w), XmDRAWN_BUTTON_BIT))
#undef XmIsPrimitive
#define XmIsPrimitive(w) \
(_XmIsFastSubclass(XtClass(w), XmPRIMITIVE_BIT))
#undef XmIsPushButton
#define XmIsPushButton(w) \
(_XmIsFastSubclass(XtClass(w), XmPUSH_BUTTON_BIT))
#undef XmIsPushButtonGadget
#define XmIsPushButtonGadget(w) \
(_XmIsFastSubclass(XtClass(w), XmPUSH_BUTTON_GADGET_BIT))
#undef XmIsRowColumn
#define XmIsRowColumn(w) \
(_XmIsFastSubclass(XtClass(w), XmROW_COLUMN_BIT))
#undef XmIsScreen
#define XmIsScreen(w) \
(_XmIsFastSubclass(XtClass(w), XmSCREEN_BIT))
#undef XmIsScrollBar
#define XmIsScrollBar(w) \
(_XmIsFastSubclass(XtClass(w), XmSCROLL_BAR_BIT))
#undef XmIsScrolledWindow
#define XmIsScrolledWindow(w) \
(_XmIsFastSubclass(XtClass(w), XmSCROLLED_WINDOW_BIT))
#undef XmIsSelectionBox
#define XmIsSelectionBox(w) \
(_XmIsFastSubclass(XtClass(w), XmSELECTION_BOX_BIT))
#undef XmIsSeparator
#define XmIsSeparator(w) \
(_XmIsFastSubclass(XtClass(w), XmSEPARATOR_BIT))
#undef XmIsSeparatorGadget
#define XmIsSeparatorGadget(w) \
(_XmIsFastSubclass(XtClass(w), XmSEPARATOR_GADGET_BIT))
#undef XmIsText
#define XmIsText(w) \
(_XmIsFastSubclass(XtClass(w), XmTEXT_BIT))
#undef XmIsTearOffButton
#define XmIsTearOffButton(w) \
(_XmIsFastSubclass(XtClass(w), XmTEAROFF_BUTTON_BIT))
#undef XmIsToggleButton
#define XmIsToggleButton(w) \
(_XmIsFastSubclass(XtClass(w), XmTOGGLE_BUTTON_BIT))
#undef XmIsToggleButtonGadget
#define XmIsToggleButtonGadget(w) \
(_XmIsFastSubclass(XtClass(w), XmTOGGLE_BUTTON_GADGET_BIT))
#undef XmIsArrowButton
#define XmIsArrowButton(w) \
(_XmIsFastSubclass(XtClass(w), XmARROW_BUTTON_BIT))
#undef XmIsArrowButtonGadget
#define XmIsArrowButtonGadget(w) \
(_XmIsFastSubclass(XtClass(w), XmARROW_BUTTON_GADGET_BIT))
#undef XmIsBulletinBoard
#define XmIsBulletinBoard(w) \
(_XmIsFastSubclass(XtClass(w), XmBULLETIN_BOARD_BIT))
#undef XmIsDrawingArea
#define XmIsDrawingArea(w) \
(_XmIsFastSubclass(XtClass(w), XmDRAWING_AREA_BIT))
#undef XmIsFileSelectionBox
#define XmIsFileSelectionBox(w) \
(_XmIsFastSubclass(XtClass(w), XmFILE_SELECTION_BOX_BIT))
#undef XmIsFrame
#define XmIsFrame(w) \
(_XmIsFastSubclass(XtClass(w), XmFRAME_BIT))
#undef XmIsMessageBox
#define XmIsMessageBox(w) \
(_XmIsFastSubclass(XtClass(w), XmMESSAGE_BOX_BIT))
#undef XmIsSash
#define XmIsSash(w) \
(_XmIsFastSubclass(XtClass(w), XmSASH_BIT))
#undef XmIsScale
#define XmIsScale(w) \
(_XmIsFastSubclass(XtClass(w), XmSCALE_BIT))
#undef XmIsPanedWindow
#define XmIsPanedWindow(w) \
(_XmIsFastSubclass(XtClass(w), XmPANED_WINDOW_BIT))
/*
* XmPartOffset bogosity
*/
#define XmObjectIndex 0
#define ObjectIndex XmObjectIndex
#define XmRectObjIndex (XmObjectIndex + 1)
#define RectObjIndex XmRectObjIndex
#define XmWindowObjIndex (XmRectObjIndex + 1)
#define WindowObjIndex XmWindowObjIndex
#define XmCoreIndex 0
#define CoreIndex XmCoreIndex
#define XmCompositeIndex (XmWindowObjIndex + 2)
#define CompositeIndex XmCompositeIndex
#define XmConstraintIndex (XmCompositeIndex + 1)
#define ConstraintIndex XmConstraintIndex
#define XmGadgetIndex (XmRectObjIndex + 1)
#define XmPrimitiveIndex (XmWindowObjIndex + 2)
#define XmManagerIndex (XmConstraintIndex + 1)
#define XmArrowBIndex (XmPrimitiveIndex + 1)
#define XmArrowButtonIndex XmArrowBIndex
#define XmLabelIndex (XmPrimitiveIndex + 1)
#define XmListIndex (XmPrimitiveIndex + 1)
#define XmScrollBarIndex (XmPrimitiveIndex + 1)
#define XmSeparatorIndex (XmPrimitiveIndex + 1)
#define XmTextIndex (XmPrimitiveIndex + 1)
#define XmCascadeBIndex (XmLabelIndex + 1)
#define XmCascadeButtonIndex XmCascadeBIndex
#define XmDrawnBIndex (XmLabelIndex + 1)
#define XmDrawnButtonIndex XmDrawnBIndex
#define XmPushBIndex (XmLabelIndex + 1)
#define XmPushButtonIndex XmPushBIndex
#define XmToggleBIndex (XmLabelIndex + 1)
#define XmToggleButtonIndex XmToggleBIndex
#define XmTearOffButtonIndex (XmPushBIndex + 1)
#define XmArrowBGIndex (XmGadgetIndex + 1)
#define XmArrowButtonGadgetIndex XmArrowBGIndex
#define XmLabelGIndex (XmGadgetIndex + 1)
#define XmLabelGadgetIndex XmLabelGIndex
#define XmSeparatoGIndex (XmGadgetIndex + 1)
#define XmSeparatorGadgetIndex XmSeparatoGIndex
#define XmCascadeBGIndex (XmLabelGIndex + 1)
#define XmCascadeButtonGadgetIndex XmCascadeBGIndex
#define XmPushBGIndex (XmLabelGIndex + 1)
#define XmPushButtonGadgetIndex XmPushBGIndex
#define XmToggleBGIndex (XmLabelGIndex + 1)
#define XmToggleButtonGadgetIndex XmToggleBGIndex
#define XmBulletinBIndex (XmManagerIndex + 1)
#define XmBulletinBoardIndex XmBulletinBIndex
#define XmDrawingAIndex (XmManagerIndex + 1)
#define XmDrawingAreaIndex XmDrawingAIndex
#define XmFrameIndex (XmManagerIndex + 1)
#define XmPanedWIndex (XmManagerIndex + 1)
#define XmPanedWindowIndex XmPanedWIndex
#define XmSashIndex (XmPrimitiveIndex + 1)
#define XmRowColumnIndex (XmManagerIndex + 1)
#define XmScaleIndex (XmManagerIndex + 1)
#define XmScrolledWIndex (XmManagerIndex + 1)
#define XmScrolledWindowIndex XmScrolledWIndex
#define XmFormIndex (XmBulletinBIndex + 1)
#define XmMessageBIndex (XmBulletinBIndex + 1)
#define XmMessageBoxIndex XmMessageBIndex
#define XmSelectioBIndex (XmBulletinBIndex + 1)
#define XmSelectionBoxIndex XmSelectioBIndex
#define XmMainWIndex (XmScrolledWIndex + 1)
#define XmMainWindowIndex XmMainWIndex
#define XmCommandIndex (XmSelectioBIndex + 1)
#define XmFileSBIndex (XmSelectioBIndex + 1)
#define XmFileSelectionBoxIndex XmFileSBIndex
#define XmShellIndex (XmCompositeIndex + 1)
#define ShellIndex XmShellIndex
#define XmOverrideShellIndex (XmShellIndex + 1)
#define OverrideShellIndex XmOverrideShellIndex
#define XmWMShellIndex (XmShellIndex + 1)
#define WMShellIndex XmWMShellIndex
#define XmVendorShellIndex (XmWMShellIndex + 1)
#define VendorShellIndex XmVendorShellIndex
#define XmTransientShellIndex (XmVendorShellIndex + 1)
#define TransientShellIndex XmTransientShellIndex
#define XmTopLevelShellIndex (XmVendorShellIndex + 1)
#define TopLevelShellIndex XmTopLevelShellIndex
#define XmApplicationShellIndex (XmTopLevelShellIndex + 1)
#define ApplicationShellIndex XmApplicationShellIndex
#define XmDisplayIndex (XmApplicationShellIndex + 1)
#define XmDialogSIndex (XmTransientShellIndex + 1)
#define XmDialogShellIndex XmDialogSIndex
#define XmMenuShellIndex (XmOverrideShellIndex + 1)
#define XmDragIconIndex (XmRectObjIndex + 1)
#define XmDropSiteManagerIndex (XmObjectIndex + 1)
#define XmDropTransferIndex (XmObjectIndex + 1)
#define XmDragOverShellIndex (XmVendorShellIndex + 1)
#define XmDragContextIndex (XmCoreIndex + 1)
#define XmOFFSETBITS (sizeof(Cardinal)*8/2)
#define XmOFFSETMASK ((1<<XmOFFSETBITS)-1)
typedef struct _XmPartResource {
String resource_name;
String resource_class;
String resource_type;
Cardinal resource_size;
Cardinal resource_offset;
String default_type;
XtPointer default_addr;
} XmPartResource;
#define XmPartOffset(part, variable) \
((part##Index) << XmOFFSETBITS) + XtOffsetOf( part##Part, variable)
#define XmConstraintPartOffset(part, var) \
((part##Index) << XmOFFSETBITS) + XtOffsetOf(part##ConstraintPart, var)
#define XmGetPartOffset(r, off) \
((r)->resource_offset & 0xffff) + \
(*(off))[(r)->resource_offset >> XmOFFSETBITS];
#define XmField(widget, offsetrecord, part, variable, type) \
(*(type *)(((char *) (widget)) + offsetrecord[part##Index] + \
XtOffsetOf( part##Part, variable)))
#define XmConstraintField(widget, offsetrecord, part, variable, type) \
(*(type *)(((char *) (widget)->core.constraints) + \
offsetrecord[part##Index] + \
XtOffsetOf( part##ConstraintPart, variable)))
/*
* these structures must match those of XRectangle, XRegion
*/
typedef struct {
short x1, x2, y1, y2;
} XmRegionBox;
typedef struct _XmRegion {
long size;
long numRects;
XmRegionBox *rects;
XmRegionBox extents;
} XmRegionRec, *XmRegion;
/*********************** Trait.c ***********************************/
#include <Xm/TraitP.h>
/*********************** GadgetUtils.c *****************************/
XMLIBEXPORT XmGadget _XmInputInGadget(Widget cw, int x, int y);
XMLIBEXPORT XmGadget _XmInputForGadget(Widget cw, int x, int y);
XMLIBEXPORT void _XmConfigureObject(Widget g, Position x, Position y,
Dimension width, Dimension height,
Dimension border_width);
XMLIBEXPORT void XmeConfigureObject(Widget g, Position x, Position y,
Dimension width, Dimension height,
Dimension border_width);
XMLIBEXPORT void _XmResizeObject(Widget g, Dimension width, Dimension height,
Dimension border_width);
XMLIBEXPORT void _XmMoveObject(Widget g, Position x, Position y);
XMLIBEXPORT void _XmRedisplayGadgets(Widget w, XEvent *event, Region region);
XMLIBEXPORT void XmeRedisplayGadgets(Widget w, XEvent *event, Region region);
XMLIBEXPORT void _XmDispatchGadgetInput(Widget g, XEvent *event, Mask mask);
XMLIBEXPORT Time __XmGetDefaultTime(Widget w, XEvent *event);
/************************* ImageCache.c *******************************/
#define _XmCreateImage(IMAGE, DISPLAY, DATA, WIDTH, HEIGHT, BYTE_ORDER) {\
IMAGE = XCreateImage(DISPLAY,\
DefaultVisual(DISPLAY, DefaultScreen(DISPLAY)),\
1,\
XYBitmap,\
0,\
DATA,\
WIDTH, HEIGHT,\
8,\
(WIDTH+7) >> 3);\
IMAGE->byte_order = BYTE_ORDER;\
IMAGE->bitmap_unit = 8;\
IMAGE->bitmap_bit_order = LSBFirst;\
}
XMLIBEXPORT Boolean _XmInstallImage(XImage *image, char *image_name,
int hot_x, int hot_y);
XMLIBEXPORT Boolean _XmGetImage(Screen *screen, char *image_name, XImage **image);
XMLIBEXPORT Boolean _XmGetPixmapData(Screen *screen,
Pixmap pixmap,
char **image_name,
int *depth,
Pixel *foreground,
Pixel *background,
int *hot_x,
int *hot_y,
unsigned int *width,
unsigned int *height);
XMLIBEXPORT Boolean XmeGetPixmapData(Screen *screen,
Pixmap pixmap,
char **image_name,
int *depth,
Pixel *foreground,
Pixel *background,
int *hot_x,
int *hot_y,
unsigned int *width,
unsigned int *height);
XMLIBEXPORT Pixmap _XmGetPixmap(Screen *screen,
char *image_name,
int depth,
Pixel foreground,
Pixel background);
XMLIBEXPORT Boolean _XmInstallPixmap(Pixmap pixmap,
Screen *screen,
char *image_name,
Pixel foreground,
Pixel background);
/************************** MapEvent.c *****************************/
XMLIBEXPORT Boolean _XmMapBtnEvent(String str,
int *eventType,
unsigned int *button,
unsigned int *modifiers);
XMLIBEXPORT Boolean _XmMapKeyEvent(String str,
int *eventType,
unsigned *keysym,
unsigned int *modifiers);
XMLIBEXPORT Boolean _XmMatchBtnEvent(XEvent *event,
int eventType,
unsigned int button,
unsigned int modifiers);
XMLIBEXPORT Boolean _XmMatchKeyEvent(XEvent *event,
int eventType,
unsigned int key,
unsigned int modifiers);
/************************** ReadImage.c *****************************/
XMLIBEXPORT XImage *_XmGetImageFromFile(char *filename);
XMLIBEXPORT XImage *_XmGetImageAndHotSpotFromFile(char *filename, int *hot_x, int *hot_y);
/************************* RenderTable.c ****************************/
XMLIBEXPORT Boolean XmeRenderTableGetDefaultFont(XmRenderTable renderTable,
XFontStruct **fontStruct);
/************************* ResConvert.c *****************************/
enum { XmLABEL_FONTLIST = 1,
XmBUTTON_FONTLIST,
XmTEXT_FONTLIST
};
enum { XmLABEL_RENDER_TABLE = 1,
XmBUTTON_RENDER_TABLE,
XmTEXT_RENDER_TABLE
};
XMLIBEXPORT void _XmRegisterConverters(void);
#define _XmWarning XmeWarning
XMLIBEXPORT void XmeWarning(Widget w, const char *message, ...);
XMLIBEXPORT Boolean _XmStringsAreEqual(char *in_str, char *text_str);
XMLIBEXPORT Boolean XmeNamesAreEqual(char *in_str, char *text_str);
XMLIBEXPORT XmFontList _XmGetDefaultFontList(Widget w, unsigned char fontListType);
XMLIBEXPORT char *_XmConvertCSToString(XmString cs);
XMLIBEXPORT Boolean _XmCvtXmStringToCT(XrmValue *from, XrmValue *to);
XMLIBEXPORT XmFontList XmeGetDefaultRenderTable(Widget w, unsigned int fontListType);
/**************************** ResInd.c *****************************/
XMLIBEXPORT void _XmBuildResources(XmSyntheticResource **wc_resources_ptr,
int *wc_num_resources_ptr,
XmSyntheticResource *sc_resources,
int sc_num_resources);
XMLIBEXPORT void _XmInitializeSyntheticResources(XmSyntheticResource *resources,
int num_resources);
XMLIBEXPORT void _XmPrimitiveGetValuesHook(Widget w,
ArgList args,
Cardinal *num_args);
XMLIBEXPORT void _XmGadgetGetValuesHook(Widget w,
ArgList args,
Cardinal *num_args);
XMLIBEXPORT void _XmManagerGetValuesHook(Widget w,
ArgList args,
Cardinal *num_args);
XMLIBEXPORT void _XmExtGetValuesHook(Widget w,
ArgList args,
Cardinal *num_args);
XMLIBEXPORT void _XmExtImportArgs(Widget w,
ArgList args,
Cardinal *num_args);
XMLIBEXPORT void _XmPrimitiveImportArgs(Widget w,
ArgList args,
Cardinal *num_args);
XMLIBEXPORT void _XmGadgetImportArgs(Widget w,
ArgList args,
Cardinal *num_args);
XMLIBEXPORT void _XmGadgetImportSecondaryArgs(Widget w,
ArgList args,
Cardinal *num_args);
XMLIBEXPORT void _XmManagerImportArgs(Widget w,
ArgList args,
Cardinal *num_args);
XMLIBEXPORT int _XmConvertUnits(Screen *screen,
int dimension,
int from_type,
int from_val,
int to_type);
XMLIBEXPORT XmImportOperator _XmToHorizontalPixels(Widget widget,
int offset,
XtArgVal *value);
XMLIBEXPORT XmImportOperator XmeToHorizontalPixels(Widget widget,
int offset,
XtArgVal *value);
XMLIBEXPORT XmImportOperator _XmToVerticalPixels(Widget widget,
int offset,
XtArgVal *value);
XMLIBEXPORT XmImportOperator XmeToVerticalPixels(Widget widget,
int offset,
XtArgVal *value);
XMLIBEXPORT void _XmFromHorizontalPixels(Widget widget,
int offset,
XtArgVal *value);
XMLIBEXPORT void XmeFromHorizontalPixels(Widget widget,
int offset,
XtArgVal *value);
XMLIBEXPORT void _XmFromVerticalPixels(Widget widget,
int offset,
XtArgVal *value);
XMLIBEXPORT void XmeFromVerticalPixels(Widget widget,
int offset,
XtArgVal *value);
XMLIBEXPORT void _XmSortResourceList(XrmResource *list[], Cardinal len);
XMLIBEXPORT void _XmUnitTypeDefault(Widget widget,
int offset,
XrmValue *value);
XMLIBEXPORT unsigned char _XmGetUnitType(Widget widget);
/************************* UniqueEvent.c *****************************/
XMLIBEXPORT Boolean _XmIsEventUnique(XEvent *event);
XMLIBEXPORT void _XmRecordEvent(XEvent *event);
/*************************** Visual.c ********************************/
#define XmLOOK_AT_SCREEN (1<<0)
#define XmLOOK_AT_CMAP (1<<1)
#define XmLOOK_AT_BACKGROUND (1<<2)
#define XmLOOK_AT_FOREGROUND (1<<3)
#define XmLOOK_AT_TOP_SHADOW (1<<4)
#define XmLOOK_AT_BOTTOM_SHADOW (1<<5)
#define XmLOOK_AT_SELECT (1<<6)
#define XmBACKGROUND ((unsigned char) (1<<0))
#define XmFOREGROUND ((unsigned char) (1<<1))
#define XmTOP_SHADOW ((unsigned char) (1<<2))
#define XmBOTTOM_SHADOW ((unsigned char) (1<<3))
#define XmSELECT ((unsigned char) (1<<4))
typedef struct _XmColorData {
Screen * screen;
Colormap color_map;
unsigned char allocated;
XColor background;
XColor foreground;
XColor top_shadow;
XColor bottom_shadow;
XColor select;
} XmColorData;
XMLIBEXPORT void _XmRegisterPixmapConverters(void);
XMLIBEXPORT char *_XmGetBGPixmapName(void);
XMLIBEXPORT void _XmClearBGPixmap(void);
XMLIBEXPORT void XmeGetDefaultPixel(Widget widget, int type, int offset, XrmValue *value);
XMLIBEXPORT void _XmForegroundColorDefault(Widget widget, int offset, XrmValue *value);
XMLIBEXPORT void _XmHighlightColorDefault(Widget widget, int offset, XrmValue *value);
XMLIBEXPORT void _XmBackgroundColorDefault(Widget widget, int offset, XrmValue *value);
XMLIBEXPORT void _XmTopShadowColorDefault(Widget widget, int offset, XrmValue *value);
XMLIBEXPORT void _XmBottomShadowColorDefault(Widget widget, int offset, XrmValue *value);
XMLIBEXPORT void _XmPrimitiveTopShadowPixmapDefault(Widget widget, int offset,
XrmValue *value);
XMLIBEXPORT void _XmManagerTopShadowPixmapDefault(Widget widget, int offset,
XrmValue *value);
XMLIBEXPORT void _XmPrimitiveHighlightPixmapDefault(Widget widget, int offset,
XrmValue *value);
XMLIBEXPORT void _XmManagerHighlightPixmapDefault(Widget widget, int offset,
XrmValue *value);
XMLIBEXPORT void _XmGetDefaultThresholdsForScreen(Screen *screen);
XMLIBEXPORT String _XmGetDefaultBackgroundColorSpec(Screen *screen);
XMLIBEXPORT void _XmSetDefaultBackgroundColorSpec(Screen *screen, String new_color_spec);
XMLIBEXPORT XmColorData *_XmGetDefaultColors(Screen *screen, Colormap color_map);
XMLIBEXPORT Boolean _XmSearchColorCache(unsigned int which, XmColorData *values,
XmColorData **ret);
XMLIBEXPORT XmColorData *_XmAddToColorCache(XmColorData *new_rec);
XMLIBEXPORT Pixel _XmBlackPixel(Screen *screen, Colormap colormap, XColor blackcolor);
XMLIBEXPORT Pixel _XmWhitePixel(Screen *screen, Colormap colormap, XColor whitecolor);
XMLIBEXPORT Pixel _XmAccessColorData(XmColorData *cd, unsigned char which);
XMLIBEXPORT XmColorData *_XmGetColors(Screen *screen, Colormap color_map, Pixel background);
XMLIBEXPORT void _XmSelectColorDefault(Widget w, int offset, XrmValue *val);
/**************************** XmString.c **********************************/
XMLIBEXPORT XFontStruct *_XmGetFirstFont(XmFontListEntry entry);
XMLIBEXPORT Boolean _XmFontListGetDefaultFont(XmFontList fontlist,
XFontStruct **font_struct);
XMLIBEXPORT Boolean _XmFontListSearch(XmFontList fontlist, XmStringCharSet charset,
short *indx, XFontStruct **font_struct);
XMLIBEXPORT Boolean _XmStringIsXmString(XmString string);
XMLIBEXPORT Boolean _XmStringInitContext(_XmStringContext *context, _XmString string);
XMLIBEXPORT Boolean _XmStringGetNextSegment(_XmStringContext context,
XmStringCharSet *charset,
XmStringDirection *direction,
char **text,
short *char_count,
Boolean *separator) ;
XMLIBEXPORT void _XmStringFreeContext(_XmStringContext context) ;
XMLIBEXPORT Dimension _XmStringWidth(XmFontList fontlist, _XmString string) ;
XMLIBEXPORT Dimension _XmStringHeight(XmFontList fontlist, _XmString string) ;
XMLIBEXPORT void _XmStringExtent(XmFontList fontlist, _XmString string,
Dimension *width, Dimension *height) ;
XMLIBEXPORT Boolean _XmStringEmpty(_XmString string);
XMLIBEXPORT void _XmStringDraw(Display *d, Window w, XmFontList fontlist, _XmString string,
GC gc, Position x, Position y, Dimension width,
unsigned char align, unsigned char lay_dir,
XRectangle *clip);
XMLIBEXPORT void _XmStringDrawImage(Display *d, Window w,
XmFontList fontlist, _XmString string,
GC gc, Position x, Position y, Dimension width,
unsigned char align, unsigned char lay_dir,
XRectangle *clip);
XMLIBEXPORT void _XmStringDrawUnderline(Display *d, Window w, XmFontList f, _XmString s,
GC gc, Position x, Position y, Dimension width,
unsigned char align, unsigned char lay_dir,
XRectangle *clip, _XmString u);
XMLIBEXPORT void _XmStringDrawMnemonic(Display *d, Window w,
XmFontList fontlist, _XmString string,
GC gc, Position x, Position y, Dimension width,
unsigned char alignment,
unsigned char layout_direction,
XRectangle *clip,
String mnemonic, XmStringCharSet charset);
XMLIBEXPORT _XmString _XmStringCreate(XmString cs);
XMLIBEXPORT void _XmStringFree(_XmString string);
XMLIBEXPORT char *_XmStringGetCurrentCharset(void) ;
XMLIBEXPORT char *_XmCharsetCanonicalize(String charset);
XMLIBEXPORT _XmString _XmStringCopy(_XmString string);
XMLIBEXPORT Boolean _XmStringByteCompare(_XmString a, _XmString b);
XMLIBEXPORT Boolean _XmStringHasSubstring(_XmString string, _XmString substring);
XMLIBEXPORT XmString _XmStringCreateExternal(XmFontList fontlist, _XmString cs);
XMLIBEXPORT Dimension _XmStringBaseline(XmFontList fontlist, _XmString string);
XMLIBEXPORT int _XmStringLineCount(_XmString string);
XMLIBEXPORT char * _XmStringGetTextConcat(XmString string);
XMLIBEXPORT Boolean _XmStringIsCurrentCharset(XmStringCharSet c);
XMLIBEXPORT Boolean _XmStringSingleSegment(XmString str, char **pTextOut,
XmStringCharSet *pCharsetOut);
XMLIBEXPORT void _XmStringUpdateWMShellTitle(XmString xmstr, Widget shell);
XMLIBEXPORT void XmeStringUpdateWMShellTitle(XmString xmstr, Widget shell);
XMLIBEXPORT XmIncludeStatus XmeGetNextCharacter(XtPointer *text_in_out,
XtPointer text_end,
XmTextType type,
XmStringTag tag,
XmParseMapping entry,
int pattern_length,
XmString *str_include,
XtPointer call_data);
XMLIBEXPORT XmIncludeStatus XmeGetDirection(XtPointer *text_in_out,
XtPointer text_end,
XmTextType type,
XmStringTag tag,
XmParseMapping entry,
int pattern_length,
XmString *str_include,
XtPointer call_data);
/************************* Traversal.c ********************************/
#define XmTAB_ANY ((XmNavigationType)255)
#define XmNONE_OR_BC ((XmNavigationType)254)
typedef struct _XmFocusMovedCallbackStruct {
int reason;
XEvent *event;
Boolean cont;
Widget old_focus;
Widget new_focus;
unsigned char focus_policy;
} XmFocusMovedCallbackStruct, *XmFocusMovedCallback;
typedef struct _XmFocusDataRec *XmFocusData;
XMLIBEXPORT XmFocusData _XmCreateFocusData(void);
XMLIBEXPORT void _XmDestroyFocusData(XmFocusData focusData);
XMLIBEXPORT void _XmSetActiveTabGroup(XmFocusData focusData, Widget tabGroup);
XMLIBEXPORT Widget _XmGetActiveItem(Widget w);
XMLIBEXPORT void _XmNavigInitialize(Widget request, Widget new_wid,
ArgList args, Cardinal *num_args);
XMLIBEXPORT Boolean _XmNavigSetValues(Widget current, Widget request, Widget new_wid,
ArgList args, Cardinal *num_args);
XMLIBEXPORT void _XmNavigChangeManaged(Widget wid);
XMLIBEXPORT void XmeNavigChangeManaged(Widget wid);
XMLIBEXPORT void _XmNavigResize(Widget wid);
XMLIBEXPORT void _XmValidateFocus(Widget wid);
XMLIBEXPORT void _XmNavigDestroy(Widget wid);
XMLIBEXPORT Boolean _XmCallFocusMoved(Widget old, Widget new_wid, XEvent *event);
XMLIBEXPORT Boolean _XmMgrTraversal(Widget wid, XmTraversalDirection direction);
XMLIBEXPORT void _XmClearFocusPath(Widget wid);
XMLIBEXPORT Boolean _XmFocusIsHere(Widget w);
XMLIBEXPORT unsigned char _XmGetFocusPolicy(Widget w);
XMLIBEXPORT Widget _XmFindTopMostShell(Widget w);
XMLIBEXPORT void _XmFocusModelChanged(Widget wid,
XtPointer client_data, XtPointer call_data);
XMLIBEXPORT Boolean _XmGrabTheFocus(Widget w, XEvent *event);
XMLIBEXPORT XmFocusData _XmGetFocusData(Widget wid);
XMLIBEXPORT Boolean _XmCreateVisibilityRect(Widget w, XRectangle *rectPtr);
XMLIBEXPORT void _XmSetRect(XRectangle *rect, Widget w);
XMLIBEXPORT int _XmIntersectRect(XRectangle *srcRectA, Widget widget, XRectangle *dstRect);
XMLIBEXPORT int _XmEmptyRect(XRectangle *r);
XMLIBEXPORT void _XmClearRect(XRectangle *r);
XMLIBEXPORT Boolean _XmIsNavigable(Widget wid);
XMLIBEXPORT void _XmWidgetFocusChange(Widget wid, XmFocusChange change);
XMLIBEXPORT Widget _XmNavigate(Widget wid, XmTraversalDirection direction);
XMLIBEXPORT Widget _XmFindNextTabGroup(Widget wid);
XMLIBEXPORT Widget _XmFindPrevTabGroup(Widget wid);
XMLIBEXPORT void _XmSetInitialOfTabGroup(Widget tab_group, Widget init_focus);
XMLIBEXPORT void _XmResetTravGraph(Widget wid);
XMLIBEXPORT Boolean _XmFocusIsInShell(Widget wid);
XMLIBEXPORT Boolean XmeFocusIsInShell(Widget wid);
XMLIBEXPORT Boolean _XmShellIsExclusive(Widget wid);
XMLIBEXPORT Widget _XmGetFirstFocus(Widget wid);
/*********************** TravAct.c ******************************/
XMLIBEXPORT void _XmTrackShellFocus(Widget wid,
XtPointer client_data,
XEvent *event,
Boolean *dontSwallow);
XMLIBEXPORT void _XmManagerEnter(Widget wid,
XEvent *event_in,
String *params,
Cardinal *num_params);
XMLIBEXPORT void _XmManagerLeave(Widget wid,
XEvent *event_in,
String *params,
Cardinal *num_params);
XMLIBEXPORT void _XmManagerFocusInInternal(Widget wid,
XEvent *event,
String *params,
Cardinal *num_params);
XMLIBEXPORT void _XmManagerFocusIn(Widget mw,
XEvent *event,
String *params,
Cardinal *num_params);
XMLIBEXPORT void _XmManagerFocusOut(Widget wid,
XEvent *event,
String *params,
Cardinal *num_params);
XMLIBEXPORT void _XmManagerUnmap(Widget mw,
XEvent *event,
String *params,
Cardinal *num_params);
XMLIBEXPORT void _XmPrimitiveEnter(Widget w,
XEvent *event,
String *params,
Cardinal *num_params);
XMLIBEXPORT void _XmPrimitiveLeave(Widget w,
XEvent *event,
String *params,
Cardinal *num_params);
XMLIBEXPORT void _XmPrimitiveFocusOut(Widget w,
XEvent *event,
String *params,
Cardinal *num_params);
XMLIBEXPORT void _XmPrimitiveFocusIn(Widget w,
XEvent *event,
String *params,
Cardinal *num_params);
XMLIBEXPORT void _XmPrimitiveUnmap(Widget w,
XEvent *event,
String *params,
Cardinal *num_params);
XMLIBEXPORT void _XmEnterGadget(Widget w,
XEvent *event,
String *params,
Cardinal *num_params);
XMLIBEXPORT void _XmLeaveGadget(Widget w,
XEvent *event,
String *params,
Cardinal *num_params);
XMLIBEXPORT void _XmFocusInGadget(Widget w,
XEvent *event,
String *params,
Cardinal *num_params);
XMLIBEXPORT void _XmFocusOutGadget(Widget w,
XEvent *event,
String *params,
Cardinal *num_params);
/************************ GeoUtils.c ***************************/
XMLIBEXPORT void _XmGeoAdjustBoxes(XmGeoMatrix geoSpec);
XMLIBEXPORT void _XmGeoArrangeBoxes(XmGeoMatrix geoSpec, Position x, Position y,
Dimension *pW, Dimension *pH);
XMLIBEXPORT Dimension _XmGeoBoxesSameWidth(XmKidGeometry rowPtr, Dimension width);
XMLIBEXPORT Dimension _XmGeoBoxesSameHeight(XmKidGeometry rowPtr, Dimension height);
XMLIBEXPORT void _XmGeoClearRectObjAreas(RectObj r, XWindowChanges *old);
XMLIBEXPORT int _XmGeoCount_kids(CompositeWidget c);
XMLIBEXPORT void _XmGeoGetDimensions(XmGeoMatrix geoSpec);
XMLIBEXPORT XmKidGeometry _XmGetKidGeo(Widget wid, Widget instigator,
XtWidgetGeometry *request,
int uniform_border, Dimension border,
int uniform_width_margins,
int uniform_height_margins,
Widget help, int geo_type);
XMLIBEXPORT void _XmGeoLoadValues(Widget wid, int geoType, Widget instigator,
XtWidgetGeometry *request,
XtWidgetGeometry *geoResult);
XMLIBEXPORT XmGeoMatrix _XmGeoMatrixAlloc(unsigned int numRows,
unsigned int numBoxes,
unsigned int extSize);
XMLIBEXPORT void _XmGeoMatrixFree(XmGeoMatrix geo_spec);
XMLIBEXPORT void _XmGeoMatrixGet(XmGeoMatrix geoSpec, int geoType);
XMLIBEXPORT void _XmGeoMatrixSet(XmGeoMatrix geoSpec);
XMLIBEXPORT Boolean _XmGeoReplyYes(Widget wid, XtWidgetGeometry *desired,
XtWidgetGeometry *response);
XMLIBEXPORT Boolean _XmGeoSetupKid(XmKidGeometry geo, Widget kidWid);
XMLIBEXPORT Boolean _XmGeometryEqual(Widget wid, XtWidgetGeometry *geoA,
XtWidgetGeometry *geoB);
XMLIBEXPORT void _XmHandleSizeUpdate(Widget wid, unsigned char policy,
XmGeoCreateProc createMatrix);
XMLIBEXPORT XtGeometryResult _XmHandleQueryGeometry(Widget wid,
XtWidgetGeometry *intended,
XtWidgetGeometry *desired,
unsigned char policy,
XmGeoCreateProc createMatrix);
XMLIBEXPORT XtGeometryResult _XmHandleGeometryManager(Widget wid, Widget instigator,
XtWidgetGeometry *desired,
XtWidgetGeometry *allowed,
unsigned char policy,
XmGeoMatrix *cachePtr,
XmGeoCreateProc createMatrix);
XMLIBEXPORT XtGeometryResult _XmMakeGeometryRequest(Widget w,
XtWidgetGeometry *geom);
XMLIBEXPORT void _XmMenuBarFix(XmGeoMatrix geoSpec, int action,
XmGeoMajorLayout layoutPtr, XmKidGeometry rowPtr);
XMLIBEXPORT void _XmSeparatorFix(XmGeoMatrix geoSpec, int action,
XmGeoMajorLayout layoutPtr, XmKidGeometry rowPtr);
XMLIBEXPORT void _XmSetKidGeo(XmKidGeometry kg, Widget instigator);
XMLIBEXPORT XtGeometryResult XmeReplyToQueryGeometry(Widget w,
XtWidgetGeometry *request, XtWidgetGeometry *reply);
/*************************** Region.c ***************************/
XMLIBEXPORT XmRegion _XmRegionCreate(void);
XMLIBEXPORT XmRegion _XmRegionCreateSize(long size);
XMLIBEXPORT void _XmRegionComputeExtents(XmRegion r);
XMLIBEXPORT void _XmRegionGetExtents(XmRegion r, XRectangle *rect);
XMLIBEXPORT void _XmRegionUnionRectWithRegion(XRectangle *rect,
XmRegion source,
XmRegion dest);
XMLIBEXPORT void _XmRegionIntersectRectWithRegion(XRectangle *rect,
XmRegion source,
XmRegion dest);
XMLIBEXPORT long _XmRegionGetNumRectangles(XmRegion r);
XMLIBEXPORT void _XmRegionGetRectangles(XmRegion r,
XRectangle **rects,
long *nrects);
XMLIBEXPORT void _XmRegionSetGCRegion(Display *dpy,
GC gc,
int x_origin,
int y_origin,
XmRegion r);
XMLIBEXPORT void _XmRegionDestroy(XmRegion r);
XMLIBEXPORT void _XmRegionOffset(XmRegion pRegion, int x, int y);
XMLIBEXPORT void _XmRegionIntersect(XmRegion reg1, XmRegion reg2, XmRegion newReg);
XMLIBEXPORT void _XmRegionUnion(XmRegion reg1, XmRegion reg2, XmRegion newReg);
XMLIBEXPORT void _XmRegionSubtract(XmRegion regM, XmRegion regS, XmRegion regD);
XMLIBEXPORT Boolean _XmRegionIsEmpty(XmRegion r);
XMLIBEXPORT Boolean _XmRegionEqual(XmRegion r1, XmRegion r2);
XMLIBEXPORT Boolean _XmRegionPointInRegion(XmRegion pRegion, int x, int y);
XMLIBEXPORT void _XmRegionClear(XmRegion r );
XMLIBEXPORT void _XmRegionShrink(XmRegion r, int dx, int dy);
XMLIBEXPORT void _XmRegionDrawShadow(Display *display,
Drawable d,
GC top_gc,
GC bottom_gc,
XmRegion region,
Dimension border_thick,
Dimension shadow_thick,
unsigned int shadow_type);
/****************************** Dest.c ***************************/
XMLIBEXPORT void _XmSetDestination(Display *dpy, Widget w);
/***************************** XmIm.c ****************************/
XMLIBEXPORT void _XmImChangeManaged(Widget vw);
XMLIBEXPORT void _XmImRealize(Widget vw);
XMLIBEXPORT void _XmImResize(Widget vw);
XMLIBEXPORT void _XmImRedisplay(Widget vw);
/************************* DragBS.c ******************************/
XMLIBEXPORT void _XmInitAtomPairs(Display *display);
XMLIBEXPORT void _XmInitTargetsTable(Display *display);
XMLIBEXPORT Cardinal _XmIndexToTargets(Widget shell, Cardinal t_index, Atom **targetsRtn);
XMLIBEXPORT Cardinal _XmTargetsToIndex(Widget shell, Atom *targets, Cardinal numTargets);
XMLIBEXPORT Atom _XmAllocMotifAtom(Widget shell, Time time);
XMLIBEXPORT void _XmFreeMotifAtom(Widget shell, Atom atom);
XMLIBEXPORT void _XmDestroyMotifWindow(Display *dpy);
XMLIBEXPORT Window _XmGetDragProxyWindow(Display *display);
/************************* DragOverS.c ***************************/
XMLIBEXPORT void _XmDragOverHide(Widget w, Position clipOriginX, Position clipOriginY,
XmRegion clipRegion);
XMLIBEXPORT void _XmDragOverShow(Widget w, Position clipOriginX, Position clipOriginY,
XmRegion clipRegion);
XMLIBEXPORT void _XmDragOverMove(Widget w, Position x, Position y);
XMLIBEXPORT void _XmDragOverChange(Widget w, unsigned char dropSiteStatus);
XMLIBEXPORT void _XmDragOverFinish(Widget w, unsigned char completionStatus);
XMLIBEXPORT Cursor _XmDragOverGetActiveCursor( Widget w);
XMLIBEXPORT void _XmDragOverSetInitialPosition(Widget w,
Position initialX, Position initialY);
/************************** DragUnder.c *******************************/
XMLIBEXPORT void _XmDragUnderAnimation(Widget w, XtPointer clientData, XtPointer callData);
/************************** Xme.c **************************************/
XMLIBEXPORT void XmeVirtualToActualKeysym(Display *Dsp, KeySym VirtualKeysym,
KeySym *RealKeysymReturn,
Modifiers *ModifierReturn);
XMLIBEXPORT void XmeResolvePartOffsets(WidgetClass widget_class,
XmOffsetPtr *offset,
XmOffsetPtr *constraint_offset);
XMLIBEXPORT Cursor XmeGetNullCursor(Widget w);
XMLIBEXPORT void XmeQueryBestCursorSize(Widget widget, Dimension *width, Dimension *height);
XMLIBEXPORT void XmeSetWMShellTitle(XmString xmstr, Widget shell);
/************************* Xmos.c *************************************/
XMLIBEXPORT extern int XmeMicroSleep(long secs);
XMLIBEXPORT XmString XmeGetLocalizedString(char *reserved, Widget widget,
char *resource, String string);
/****************** THESE AREN'T SUPPOSED TO BE USED ******************/
#ifdef XM_1_1_BC
#define XmVPANED_BIT XmPANED_WINDOW_BIT
#define LOOK_AT_SCREEN (1<<0)
#define LOOK_AT_CMAP (1<<1)
#define LOOK_AT_BACKGROUND (1<<2)
#define LOOK_AT_FOREGROUND (1<<3)
#define LOOK_AT_TOP_SHADOW (1<<4)
#define LOOK_AT_BOTTOM_SHADOW (1<<5)
#define LOOK_AT_SELECT (1<<6)
#define XmStrlen(s) ((s) ? strlen(s) : 0)
#define DEFAULT_INDICATOR_DIM 9
#ifndef MAX
#define MAX(a,b) ((a) > (b) ? (a) : (b))
#endif
#define RX(r) (((RectObj)(r))->rectangle.x)
#define RY(r) (((RectObj)(r))->rectangle.y)
#define RWidth(r) (((RectObj)(r))->rectangle.width)
#define RHeight(r) (((RectObj)(r))->rectangle.height)
#define RBorder(r) (((RectObj)(r))->rectangle.border_width)
#define GMode(g) ((g)->request_mode)
#define IsX(g) (GMode(g) & CWX)
#define IsY(g) (GMode(g) & CWY)
#define IsWidth(g) (GMode(g) & CWWidth)
#define IsHeight(g) (GMode(g) & CWHeight)
#define IsBorder(g) (GMode(g) & CWBorderWidth)
#define IsWidthHeight(g) ((GMode(g) & CWWidth) || (GMode(g) & CWHeight))
#define IsQueryOnly(g) (GMode(g) & XtCWQueryOnly)
#define MAXDIMENSION ((1 << 31)-1)
#define Max(x, y) (((x) > (y)) ? (x) : (y))
#define Min(x, y) (((x) < (y)) ? (x) : (y))
#define AssignMax(x, y) if ((y) > (x)) x = (y)
#define AssignMin(x, y) if ((y) < (x)) x = (y)
#define DIALOG_SUFFIX "_popup"
#define DIALOG_SUFFIX_SIZE 6
#define XM_3D_ENHANCE_PIXEL 2
#define XM_DEFAULT_TOP_MARGIN 0
#define XM_DEFAULT_BOTTOM_MARGIN 0
XMLIBEXPORT extern WidgetClass xmWorldObjectClass;
XMLIBEXPORT extern WidgetClass xmDesktopObjectClass;
XMLIBEXPORT extern WidgetClass xmDisplayObjectClass;
XMLIBEXPORT extern WidgetClass xmScreenObjectClass;
#endif /* XM_1_1_BC */
/**********************************************************************/
#ifdef __cplusplus
}
#endif
#include <Xm/VendorSP.h>
#include <Xm/ManagerP.h>
#include <Xm/PrimitiveP.h>
#include <Xm/GadgetP.h>
#include <Xm/BaseClassP.h>
#endif /* _XM_XMP_H */