DESCRIPTION
When the LessTif project began some discussion was undertaken about the use of the previously undocumented internal _Xm.. functions in Motif 1.2. Apparently many of those functions have been transformed to Xme.. functions in OSF/Motif® 2.x and are also documented. As many people use these functions in their code (especially widget writers) the implementation of the _Xm.. functions is important to the LessTif project.Below is a (outdated!) list of functions currently taken from the LessTif header files.
CONVENIENCE FUNCTIONS
void _XmCalcLabelDimensions(Widget w);
Sets the core width and height values to the values needed to display the current label contents. It takes into account the label type as well as all of the margin resources.
Boolean _XmGetInDragMode(Widget w);
returns True, if the widget (e.g. push button,...) resides in a menu and the user is currently dragging the mouse with button 1 pressed over the menu items. This way a widget can figure out, whether it must redraw itself in the armed state if the widget gets a PrimitiveEnter action.
Boolean _XmIsEventUnique(XEvent *event);
Unknown Function
Widget _XmGetRC_PopupPosted(Widget w);
Returns the widget id of the parent of the menu that is currently posted by any of the children of w. In other words the id of the shell that is cascaded from menu w.
void _XmRecordEvent(XEvent *event);
Unknown Function
void _XmSetInDragMode(Widget w, Boolean flag);
this is used to enter or leave the dragging mode within the menu system.
XmFontListEntry _XmFontListEntryFromTag(XmFontList fontlist, char *tag);
Unknown Function
Boolean _XmCreateVisibilityRect(Widget w, XRectangle *rectPtr);
Unknown Function
Boolean _XmCvtStringToXmNavigation(Display *, XrmValue *, Cardinal *, XrmValue *, XrmValue *, XtPointer *);
Unknown Function
Boolean _XmCvtStringToXmString(Display *, XrmValue *, Cardinal *, XrmValue *, XrmValue *, XtPointer *);
Unknown Function
Boolean _XmFocusIsHere(Widget w);
Unknown Function
Boolean _XmFocusIsInShell(Widget wid);
Unknown Function
Boolean _XmGrabTheFocus(Widget w, XEvent *event);
Unknown Function
Boolean _XmIsNavigable(Widget wid);
Unknown Function
Boolean _XmNavigSetValues(Widget current, Widget request, Widget new_wid, ArgList args, Cardinal *num_args);
Unknown Function
Boolean _XmSearchColorCache(unsigned int which, XmColorData *values, XmColorData **ret);
Unknown Function
Boolean _XmShellIsExclusive(Widget wid);
Unknown Function
Boolean _XmStringsAreEqual()
Unknown Function
Pixel _XmAccessColorData(XmColorData *cd, unsigned char which);
Unknown Function
Pixel _XmBlackPixel(Screen *screen, Colormap colormap, XColor blackcolor);
Unknown Function
Pixel _XmWhitePixel(Screen *screen, Colormap colormap, XColor whitecolor);
Unknown Function
Pixmap _XmGetPixmap();
Unknown Function
String _XmGetDefaultBackgroundColorSpec(Screen *screen);
Unknown Function
Time __XmGetDefaultTime(Widget w, XEvent *event);
Unknown Function
Widget _XmFindNextTabGroup(Widget wid);
Unknown Function
Widget _XmFindPrevTabGroup(Widget wid);
Unknown Function
Widget _XmFindTopMostShell(Widget w);
Unknown Function
Widget _XmGetActiveItem(Widget w);
Unknown Function
Widget _XmGetFirstFocus(Widget wid);
Unknown Function
Widget _XmNavigate(Widget wid, XmTraversalDirection direction);
Unknown Function
XmColorData *_XmAddToColorCache(XmColorData *new_rec);
Unknown Function
XmColorData *_XmGetColors(Screen *screen, Colormap color_map, Pixel background);
Unknown Function
XmColorData *_XmGetDefaultColors(Screen *screen, Colormap color_map);
Unknown Function
XmFocusData _XmCreateFocusData();
Unknown Function
XmFocusData _XmGetFocusData(Widget wid);
Unknown Function
XmFontList _XmGetDefaultFontList(Widget w, unsigned char fontListType);
Unknown Function
XmGadget _XmInputForGadget(Widget cw, int x, int y);
Unknown Function
XmGadget _XmInputInGadget(Widget cw, int x, int y);
Unknown Function
char * _XmGetBGPixmapName();
Unknown Function
char *_XmConvertCSToString(XmString cs);
Unknown Function
int _XmEmptyRect(XRectangle *r);
Unknown Function
int _XmIntersectRect(XRectangle *srcRectA, Widget widget, XRectangle *dstRect);
Unknown Function
unsigned char _XmGetFocusPolicy(Widget w);
Unknown Function
void _XmBackgroundColorDefault(Widget widget, int offset, XrmValue *value);
Unknown Function
void _XmBottomShadowColorDefault(Widget widget, int offset, XrmValue *value);
Unknown Function
void _XmCallFocusMoved(Widget old, Widget new_wid, XEvent *event);
Unknown Function
void _XmClearBGPixmap();
Unknown Function
void _XmClearFocusPath(Widget wid);
Unknown Function
void _XmClearRect(XRectangle *r);
Unknown Function
void _XmConfigureObject(Widget g, Position x, Position y, Dimension width, Dimension height, Dimension border_width);
_XmConfigureObject is a wrapper around XtConfigureWidget(3) which insulates a widget writer from the burden of checking whether an object is a widget or a gadget. The way for a manager widget (any subclass of XmManager; they're supposed to do geometry management for their children) to set the layout of a child is to use this function. In the case of a widget, XtConfigureWidget is called. For a gadget, the geometry fields are manipulated directly.
void _XmDestroyFocusData(XmFocusData focusData);
Unknown Function
void _XmDispatchGadgetInput(Widget g, XEvent *event, Mask mask);
Unknown Function
void _XmFocusModelChanged(Widget wid, XtPointer client_data, XtPointer call_data);
Unknown Function
void _XmForegroundColorDefault(Widget widget, int offset, XrmValue *value);
Unknown Function
void _XmGetDefaultThresholdsForScreen(Widget widget, int offset, XrmValue *value);
Unknown Function
void _XmHighlightColorDefault(Widget widget, int offset, XrmValue *value);
Unknown Function
void _XmManagerHighlightPixmapDefault(Widget widget, int offset, XrmValue *value);
Unknown Function
void _XmManagerTopShadowPixmapDefault(Widget widget, int offset, XrmValue *value);
Unknown Function
void _XmMgrTraversal(Widget wid, XmTraversalDirection direction);
Unknown Function
void _XmMoveObject(Widget g, Position x, Position y);
Unknown Function
void _XmNavigChangeManaged(Widget wid);
Unknown Function
void _XmNavigDestroy(Widget wid);
Unknown Function
void _XmNavigInitialize(Widget request, Widget new_wid, ArgList args, Cardinal num_args);
Unknown Function
void _XmNavigResize(Widget wid);
Unknown Function
void _XmPrimitiveEnter(Widget w, XEvent *event, String *params, Cardinal num_params);
Unknown Function
void _XmPrimitiveHighlightPixmapDefault(Widget widget, int offset, XrmValue *value);
Unknown Function
void _XmPrimitiveLeave(Widget w, XEvent *event, String *params, Cardinal num_params);
Unknown Function
void _XmPrimitiveTopShadowPixmapDefault(Widget widget, int offset, XrmValue *value);
Unknown Function
void _XmProcessTraversal(Widget w, XmTraversalDirection dir, Boolean check);
Unknown Function
void _XmRedisplayGadgets(Widget w, XEvent *event, Region region);
Unknown Function
void _XmRegisterConverters();
Unknown Function
void _XmRegisterPixmapConverters();
Unknown Function
void _XmResetTravGraph(Widget wid);
Unknown Function
void _XmResizeObject(Widget g, Dimension width, Dimension height, Dimension border_width);
Unknown Function
void _XmSetActiveTabGroup(XmFocusData focusData, Widget tabGroup);
Unknown Function
void _XmSetDefaultBackgroundColorSpec(Screen *screen, String new_color_spec);
Unknown Function
void _XmSetInitialOfTabGroup(Widget tab_group, Widget init_focus);
Unknown Function
void _XmSetRect(XRectangle *rect, Widget w);
Unknown Function
void _XmTopShadowColorDefault(Widget widget, int offset, XrmValue *value);
Unknown Function
void _XmValidateFocus(Widget wid);
Unknown Function
void _XmWarning(Widget w, char *message);
Unknown Function
void _XmWidgetFocusChange(Widget wid, XmFocusChange change);
Unknown Function
void _XmCascadePixmapDefault(Widget w, int offset, XrmValue *val);
Unknown Function
void _XmClearBorder(Display *display, Window win, int x, int y, Dimension width, Dimension height, Dimension shadow_thickness)
Unknown Function
void _XmDefaultButtonShadowThickness(Widget w, int offset, XrmValue *val);
Unknown Function
void _XmDefaultMultiClick(Widget w, int offset, XrmValue *val);
Unknown Function
void _XmDrawArrow(Display *display, Window win, GC bottomGC, GC topGC, GC fillGC, Position x, Position y, Dimension width, Dimension height, Dimension shadow_thickness, unsigned char direction);
Unknown Function
void _XmDrawDiamond(Display *display, Window win, GC bottomGC, GC topGC, GC selectGC, Position x, Position y, Dimension width, Dimension height, Dimension shadowThickness, Dimension fill);
Unknown Function
void _XmDrawSeparator(Display *display, Window win, GC top_gc, GC bottom_gc, separator_GC, Position wx, Position wy, Dimension wwidth, Dimension wheight, Dimension shadowThickness, Dimension margin, unsigned char orientation, unsigned char separator_type);
Unknown Function
void _XmDrawShadowDisplay *display, Drawable d, GC top_gc, GC bottom_gc, Dimension shad_thick, Position x, Position y, Dimension width, Dimension height);
Unknown Function
void _XmDrawShadows(Display *display, Window win, GC topShadowGC, GC bottomShadowGC, Position x, Position y, Dimension width, Dimension height, Dimension shadowThickness, unsigned int shadowType);
Unknown Function
void _XmFontListGetDefaultFont(XmFontList fontlist, XFontStruct **font_struct);
Unknown Function
void _XmFrameHorizSpaceDefault(Widget w, int offset, XrmValue *val);
Unknown Function
void _XmFrameShadowThicknessDefault(Widget w, int offset, XrmValue *val);
Unknown Function
void _XmFrameShadowTypeDefault(Widget w, int offset, XrmValue *val);
Unknown Function
void _XmInitializeWidgetSet();
Unknown Function
void _XmRowColumnEntryClassDefault(Widget w, int offset, XrmValue *val);
Unknown Function
void _XmRowColumnIsHomogeneousDefault(Widget w, int offset, XrmValue *val);
Unknown Function
void _XmRowColumnMarginDefault(Widget w, int offset, XrmValue *val);
Unknown Function
void _XmRowColumnMenuAcceleratorDefault(Widget w, int offset, XrmValue *val);
Unknown Function
void _XmRowColumnPackingDefault(Widget w, int offset, XrmValue *val);
Unknown Function
void _XmRowColumnSpacingDefault(Widget w, int offset, XrmValue *val);
Unknown Function
void _XmScrollBarMaximumDefault(Widget w, int offset, XrmValue *val);
Unknown Function
void _XmScrollBarProcessingDirectionDefault(Widget w, int offset, XrmValue *val);
Unknown Function
void _XmScrollBarSliderSizeDefault(Widget w, int offset, XrmValue *val);
Unknown Function
void _XmScrollBarTroughColorDefault(Widget w, int offset, XrmValue *val);
Unknown Function
void _XmScrollBarValueDefault(Widget w, int offset, XrmValue *val);
Unknown Function
void _XmSelectColorDefault(Widget w, int offset, XrmValue *val);
Unknown Function
void _XmToggleButtonIndicatorTypeDefault(Widget w, int offset, XrmValue *val);
Unknown Function
void _XmVendorShellVirtualBindingsDefault(Widget w, int offset, XrmValue *val);
Unknown Function
String _XmOSGetHomeDirName(void);
Unknown Function
XmString _XmOSGetLocalizedString(char *reserved,
Unknown Function
int _XmMicroSleep(long secs);
Unknown Function
void _XmInternAtomAndName(Display *display, Atom atom, String name);
Associates an atom name with an atom id (and vice versa) without the need to query the X server first for the atom id. This way any name to id mapping (as well as the id to name mapping) can be set on a given display.
void _XmVirtualToActualKeysym(Display *Dsp, KeySym VirtualKeysym, KeySym *RealKeysymReturn, Modifiers *ModifierReturn);
For the given virtual keysym (which must be one of the = osfXK_xxx keysyms) returns the real keysym as well as the modifiers which make up that particular virtual keysym. If asked for an invalid virtual keysym, _XmVirtualToActualKeysym returns NoSymbol for the real keysym.
int _XmVirtKeysLoadFallbackBindings(Display *Dsp, String *Bindings);
Installs the default key bindings for a specific display. If th= ere are any vendor specific default bindings available, then the appropiate one= will be installed instead of the fallback key bindings. Additionally, the bindings installed are returned in Bindings. The caller is responsible for freeing the space occupied by this key binding description string. The return code seems to be always zero. At least LessTif will always retur= n a zero...
Boolean _XmVirtKeysLoadFileBindings(String filename, String *binding= );
Reads in a file containing a description of the virtual key bindings. If succesful, returns True and the description string. The caller= is responsible for freeing the memory lateron.
void _XmVirtKeysInitialize(Widget w);
Sets up the virtual key bindings for a display. The widget specified must be a XmDisplay widget, otherwise _XmVirtKeysInitialize will deny the attempt to set up the key bindings. The function first checks several places in order to catch up key binding description. If all fails, it will install fallback key bindings. This internal function is called during when initializing a XmDisplay widget.
void _XmVirtKeysDestroy(Widget w);
Cleanup any leftovers from the virtual binding mechanism when destroying a XmDisplay widget.
void _XmVirtKeysHandler(Widget w, XtPointer Data, XEvent *Event, Boolean *ContDispatch);
This handler is installed on every widget. It just records the current key press event in an widget instance field private to a XmDisplay widget.