ウィンドウを操作するための関数


PTRWindow* CreateFrame(gmx, gmy, wdx, wdy, title);
    int gmx, gmy;
    unsigned int wdx, wdy;
    char* title;
PTRWindow* CreateSimpleFrame();
フレーム(トップレベルのウィンドウ)を作成し、 表示します。 gmx、gmy でフレームの位置、wdx、wdy でフレームの大きさ、 title でフレームのタイトルをそれぞれ指定できます。 また CreateSimpleFrame は適当な位置、大きさでフレームを用意します。 どちらの関数も作成されたフレームのポインタを返します。
PTRWindow* CreateWindow(parent, x, y, width, height);
    PTRWindow* parent;
    double x, y, width, height;
PTRWindow* CreateSimpleWindow(parent);
    PTRWindow* parent;
parent で指定したウィンドウの中に 新しいウィンドウを作成します。 CreateWindow の場合、x、y、width、height で 親ウィンドウ内での位置と大きさを指定できます。 ただし、これらの値は親ウィンドウの縦、横を 1.0 とした 相対的な数値で表します。 例えば
x=0.25; y=0.25; width=0.5; height=0.5;
とすると新しいウィンドウは縦、横ともに親ウィンドウの半分の大きさで、 親ウィンドウの中央に用意されます。 この二つの関数は作成されたウィンドウのポインタを返します。
void MoveWindow(wp, x, y);
    PTRWindow* wp;
    double x, y;
void ResizeWindow(wp, width, height);
    PTRWindow* wp;
    double width, height;
void MoveResizeWindow(wp, x, y, width, height);
    PTRWindow* wp;
    double x, y;
    double width, height;
MoveWindow は wp で指定したウィンドウの (親ウィンドウ内での)位置を移動します。 ResizeWindow は同様にウィンドウの大きさを変更します。 また、MoveResizeWindow 関数で位置と大きさの両方を 変えることができます。
void WindowRegion(wp, rows, cols, num);
    PTRWindow* wp;
    int rows, cols;
    int num;
親ウィンドウを rows 行 cols 列に分け、 その num 番目の位置にウィンドウを移動し、 大きさを変更します。
void ResizeFrame(wp, wdx, wdy);
    PTRWindow* wp;
    unsigned int wdx, wdy;
フレームの大きさを横 wdx、縦 wdy に変えます。