XmRenderTableAddRenditions(3) Creates a new render table

SYNOPSIS


#include <Xm/Xm.h>
XmRenderTable XmRenderTableAddRenditions(
XmRenderTable oldtable,
XmRendition *renditions,
Cardinal rendition_count,
XmMergeMode merge_mode);

DESCRIPTION

XmRenderTableAddRenditions is a function to create a new render table that includes the renditions listed in oldtable, if there is one. This function also copies specified renditions (renditions) to the new render table. The first rendition_count renditions of the renditions array are added to the new table. If a rendition is tagged with a tag that matches a tag already in oldtable, then the existing rendition using that tag is either modified or freed and replaced with the new rendition, depending on the value of merge_mode. If oldtable is NULL, XmRenderTableAddRenditions creates a new render table containing only the specified renditions.

This function deallocates the original render table after extracting the required information. It is the responsibility of the caller to free the renditions of the renditions array by calling the XmRenditionFree function.

oldtable
Specifies the render table to be added to.
renditions
Specifies an array of renditions to be added.
rendition_count
Specifies the number of renditions from renditions to be added.
merge_mode
Specifies what to do if the XmNtag of a rendition matches that of one that already exists in oldtable. The possible values are as follows:
XmMERGE_REPLACE
Completely replaces the old rendition with the new one.
XmMERGE_OLD
Replaces any unspecified values of the old rendition with the corresponding values from the new rendition.
XmMERGE_NEW
Replaces the old rendition with the new rendition, replacing any unspecified values of the new rendition with the corresponding values from the old rendition.
XmSKIP
Skips over the new rendition, leaving the old rendition intact.

RETURN

If renditions is NULL or rendition_count is 0 (zero), this function returns oldtable. Otherwise, the function returns a new XmRenderTable. The function allocates space to hold this new render table. The application is responsible for managing this allocated space. The application can recover the allocated space by calling XmRenderTableFree.

RELATED

XmRendition(3) and XmRenderTableFree(3).