Tk_ManageGeometry arranges for a particular geometry manager, described by the mgrPtr argument, to
control the geometry of a particular content window, given by tkwin. If tkwin was previously managed by
some other geometry manager, the previous manager loses control in favor of the new one. If mgrPtr is
NULL, geometry management is cancelled for tkwin.
The structure pointed to by mgrPtr contains information about the geometry manager:
typedef struct {
const char *name;
Tk_GeomRequestProc *requestProc;
Tk_GeomLostContentProc *lostContentProc;
} Tk_GeomMgr;
The name field is the textual name for the geometry manager, such as pack or place; this value will be
returned by the command winfomanager.
requestProc is a procedure in the geometry manager that will be invoked whenever Tk_GeometryRequest is
called by the content window to change its desired geometry. requestProc should have arguments and
results that match the type Tk_GeomRequestProc:
typedef void Tk_GeomRequestProc(
void *clientData,
Tk_Window tkwin);
The parameters to requestProc will be identical to the corresponding parameters passed to
Tk_ManageGeometry. clientData usually points to a data structure containing application-specific
information about how to manage tkwin's geometry.
The lostContentProc field of mgrPtr points to another procedure in the geometry manager. Tk will invoke
lostContentProc if some other manager calls Tk_ManageGeometry to claim tkwin away from the current
geometry manager. lostContentProc is not invoked if Tk_ManageGeometry is called with a NULL value for
mgrPtr (presumably the current geometry manager has made this call, so it already knows that the window
is no longer managed), nor is it called if mgrPtr is the same as the window's current geometry manager.
lostContentProc should have arguments and results that match the following prototype:
typedef void Tk_GeomLostContentProc(
void *clientData,
Tk_Window tkwin);
The parameters to lostContentProc will be identical to the corresponding parameters passed to
Tk_ManageGeometry.