man mframe () - Create a new frame.

NAME

mframe - Create a new frame.

SYNOPSIS

MFrame* mframe (MPlist * plist)

DESCRIPTION

The mframe() function creates a new frame with parameters listed in plist which may be NULL.

The recognized keys in plist are window system dependent.

The following key is always recognized.

•

Mdevice,

the value must be one of Mx, Mgd, and Mni.

If the value is Mx, the frame is for X Window System. The argument MDrawWindow specified together with the frame must be of type Window. The frame is both readable and writable, thus all GUI functions can be used.

If the value is Mgd, the frame is for an image object of GD library. The argument MDrawWindow specified together with the frame must be of type gdImagePtr. The frame is writable only, thus functions minput_XXX can't be used for the frame.

If the value is Mnil, the frame is for a null device. The frame is not writable nor readable, thus functions mdraw_XXX that require the argument MDrawWindow and functions minput_XXX can't be used for the frame.

•

Mface,

the value must be a pointer to MFac.

The value is used as the default face of the frame.

In addition, if the value of the key Mdevice is Mx, the following keys are recognized. They are to specify the root window and the depth of drawables that can be used with the frame.

•

Mdrawable,

the value type must be Drawabl.

A parameter of key Mdisplay must also be specified. The created frame can be used for drawables whose root window and depth are the same as those of the specified drawable on the specified display.

When this parameter is specified, the parameter of key Mscreen is ignored.

•

Mwidget,

the value type must be Widge.

The created frame can be used for drawables whose root window and depth are the same as those of the specified widget.

If a parameter of key Mface is not specified, the default face is created from the resources of the widget.

When this parameter is specified, the parameters of key Mdisplay, Mscreen, Mdrawable, Mdepth are ignored.

•

Mdepth,

the value type must be unsigne.

The created frame can be used for drawables of the specified depth.

•

Mscree, the value type must be

(Screen *).

The created frame can be used for drawables whose root window is the same as the root window of the specified screen, and depth is the same at the default depth of the screen.

When this parameter is specified, parameter of key Mdisplay is ignored.

•

Mdispla, the value type must be

(Display *).

The created frame can be used for drawables whose root window is the same as the root window for the default screen of the display, and depth is the same as the default depth of the screen.

•

Mcolorma, the value type must be

(Colormap).

The created frame uses the specified colormap.

•

Mfont,

the value must be Mx, Mfreetype, or Mxf.

The created frame uses the specified font backend. The value Mx instructs to use X core fonts, Mfreetype to use local fonts supported by FreeType fonts, and Mxft to use local fonts via Xft library. You can specify this parameter more than once with different values if you want to use multiple font backends. This is ignored if the specified font backend is not supported on the device.

When this parameter is not specified, all font backend supported on the device are used.

RETURN VALUE

If the operation was successful, mframe() returns a pointer to a newly created frame. Otherwise, it returns NULL.