_Xm*(3) LessTif Internal Functions

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.