The structure pointed to by procs contains the following:
typedef struct Tk_ClassProcs {
unsigned int size;
Tk_ClassWorldChangedProc *worldChangedProc;
Tk_ClassCreateProc *createProc;
Tk_ClassModalProc *modalProc;
} Tk_ClassProcs;
The size field is used to simplify future expansion of the
structure. It should always be set to (literally) sizeof(Tk_ClassProcs).
worldChangedProc is invoked when the system has altered in some way that requires some reaction from the widget. For example, when a font alias (see the font manual entry) is reconfigured, widgets configured to use that font alias must update their display accordingly. worldChangedProc should have arguments and results that match the type Tk_ClassWorldChangedProc:
typedef void Tk_ClassWorldChangedProc(
ClientData instanceData);
The instanceData parameter passed to the worldChangedProc
will be identical to the instanceData parameter passed to
Tk_SetClassProcs.
createProc is used to create platform-dependant windows. It is invoked by Tk_MakeWindowExist. createProc should have arguments and results that match the type Tk_ClassCreateProc:
typedef Window Tk_ClassCreateProc(
Tk_Window tkwin,
Window parent,
ClientData instanceData);
The tkwin and instanceData parameters will be identical to
the tkwin and instanceData parameters passed to
Tk_SetClassProcs. The parent parameter will be the parent
of the window to be created. The createProc should return the
created window.
modalProc is invoked after all bindings on a widget have been triggered in order to handle a modal loop. modalProc should have arguments and results that match the type Tk_ClassModalProc:
typedef void Tk_ClassModalProc(
Tk_Window tkwin,
XEvent *eventPtr);
The tkwin parameter to modalProc will be identical to the
tkwin parameter passed to Tk_SetClassProcs. The
eventPtr parameter will be a pointer to an XEvent structure
describing the event being processed.