---
name: "LessTifInternals"
section: "3"
platform: "linux"
package: "lesstif-doc"
version: "1:0.95.2-1.1"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/LessTifInternals"
---

# LessTifInternals(3)

LessTif Internal Functions

## NAME

\_Xm\* - 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)](/XtConfigureWidget/3.md) 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.

## SEE ALSO

[**lesstif**(1x)](/lesstif/1x.md)
