NAME
XtMakeGeometryRequest, XtMakeResizeRequest - make geometry manager request
SYNTAX
XtGeometryResult XtMakeGeometryRequest(Widget _w, XtWidgetGeometry
*_r_e_q_u_e_s_t, XtWidgetGeometry *_r_e_p_l_y___r_e_t_u_r_n);
XtGeometryResult XtMakeResizeRequest(Widget _w, Dimension _w_i_d_t_h,
_h_e_i_g_h_t, Dimension *_w_i_d_t_h___r_e_t_u_r_n, Dimension *_h_e_i_g_h_t___r_e_t_u_r_n);
ARGUMENTS
-
_r_e_p_l_y___r_e_t_u_r_n
Returns the allowed widget size or may be NULL
-
if the requesting widget is not interested in handling
_X_t_G_e_o_m_e_t_r_y_A_l_m_o_s_t.
-
_r_e_q_u_e_s_t
Specifies the desired widget geometry (size, position, border width,
-
and stacking order).
-
_w
Specifies the widget that is making the request.
-
-
_w_i_d_t_h___r_e_t_u_r_n
-
-
_h_e_i_g_h_t___r_e_t_u_r_n
Return the allowed widget width and height.
-
DESCRIPTION
Depending on the condition,
_X_t_M_a_k_e_G_e_o_m_e_t_r_y_R_e_q_u_e_s_t
performs the following:
-
·
If the widget is unmanaged or the widget's parent is not realized,
-
it makes the changes and returns
_X_t_G_e_o_m_e_t_r_y_Y_e_s.
-
·
If the parent is not a subclass of
-
_c_o_m_p_o_s_i_t_e_W_i_d_g_e_t_C_l_a_s_s
or the parent's geometry_manager is NULL,
it issues an error.
-
·
If the widget's being_destroyed field is
-
_T_r_u_e,
it returns
_X_t_G_e_o_m_e_t_r_y_N_o.
-
·
If the widget x, y, width, height and border_width fields are
-
all equal to the requested values,
it returns
_X_t_G_e_o_m_e_t_r_y_Y_e_s;
otherwise, it calls the parent's geometry_manager procedure
with the given parameters.
-
·
If the parent's geometry manager returns
-
_X_t_G_e_o_m_e_t_r_y_Y_e_s
and if
_X_t_C_W_Q_u_e_r_y_O_n_l_y
is not set in the request_mode
and if the widget is realized,
_X_t_M_a_k_e_G_e_o_m_e_t_r_y_R_e_q_u_e_s_t
calls the
_X_C_o_n_f_i_g_u_r_e_W_i_n_d_o_w
Xlib function to reconfigure the widget's window (set its size, location,
and stacking order as appropriate).
-
·
If the geometry manager returns
-
_X_t_G_e_o_m_e_t_r_y_D_o_n_e,
the change has been approved and actually has been done.
In this case,
_X_t_M_a_k_e_G_e_o_m_e_t_r_y_R_e_q_u_e_s_t
does no configuring and returns
_X_t_G_e_o_m_e_t_r_y_Y_e_s.
_X_t_M_a_k_e_G_e_o_m_e_t_r_y_R_e_q_u_e_s_t
never returns
_X_t_G_e_o_m_e_t_r_y_D_o_n_e.
Otherwise,
_X_t_M_a_k_e_G_e_o_m_e_t_r_y_R_e_q_u_e_s_t
returns the resulting value from the parent's geometry manager.
Children of primitive widgets are always unmanaged; thus,
_X_t_M_a_k_e_G_e_o_m_e_t_r_y_R_e_q_u_e_s_t
always returns
_X_t_G_e_o_m_e_t_r_y_Y_e_s
when called by a child of a primitive widget.
The
_X_t_M_a_k_e_R_e_s_i_z_e_R_e_q_u_e_s_t
function, a simple interface to
_X_t_M_a_k_e_G_e_o_m_e_t_r_y_R_e_q_u_e_s_t,
creates a
_X_t_W_i_d_g_e_t_G_e_o_m_e_t_r_y
structure and specifies that width and height should change.
The geometry manager is free to modify any of the other window attributes
(position or stacking order) to satisfy the resize request.
If the return value is
_X_t_G_e_o_m_e_t_r_y_A_l_m_o_s_t,
width_return and height_return contain a compromise width and height.
If these are acceptable,
the widget should immediately make an
_X_t_M_a_k_e_R_e_s_i_z_e_R_e_q_u_e_s_t
and request that the compromise width and height be applied.
If the widget is not interested in
_X_t_G_e_o_m_e_t_r_y_A_l_m_o_s_t
replies,
it can pass NULL for width_return and height_return.
SEE ALSO
XtConfigureWidget(3Xt),
XtQueryGeometery(3Xt)
_X _T_o_o_l_k_i_t _I_n_t_r_i_n_s_i_c_s _- _C _L_a_n_g_u_a_g_e _I_n_t_e_r_f_a_c_e
_X_l_i_b _- _C _L_a_n_g_u_a_g_e _X _I_n_t_e_r_f_a_c_e