/** * * $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 #include #include #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<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 /*********************** 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 #include #include #include #include #endif /* _XM_XMP_H */