Include <dlfcn.h> and "config.h". (free_frame): Call frame->driver->close instead of mwin__close_device. (DLOPEN_SHLIB_EXT): New macro. (MDeviceLibraryInterface): New type. (device_library_list): New variable. (register_device_library): New function. (null_device): New variable. (null_device_close, null_device_get_prop) (null_device_realize_face, null_device_free_realized_face): New function. (null_driver): New variable. (null_device_init, null_device_fini, null_device_open): New functions. (null_interface): New variable. (Mfreetype, Mdevice): Declare them. (m17n_init_win): Increment win_initialized.  Initialize Mx, Mgd, Mfreetype, Mdevice, Mdisplay, Mscreen, Mdrawable, Mdevice, and Mwin__Close_Device.  Register drivers for Mx and Mgd. (m17n_fini_win): Decremented win_initialized.  Call "fini" function of all opened devices.  Don't call mwin__fini. (Mdisplay, Mscreen, Mdrawable, Mdepth, Mwidget, Mcolormap): Declare them here. (mframe): Handle Mdevice key of PLIST. (mframe_get_prop): Call frame->device->get_prop instead of mwin__device_get_prop.
Include <dlfcn.h> and "config.h".
(free_frame): Call frame->driver->close instead of
mwin__close_device.
(DLOPEN_SHLIB_EXT): New macro.
(MDeviceLibraryInterface): New type.
(device_library_list): New variable.
(register_device_library): New function.
(null_device): New variable.
(null_device_close, null_device_get_prop)
(null_device_realize_face, null_device_free_realized_face): New
function.
(null_driver): New variable.
(null_device_init, null_device_fini, null_device_open): New
functions.
(null_interface): New variable.
(Mfreetype, Mdevice): Declare them.
(m17n_init_win): Increment win_initialized.  Initialize Mx, Mgd,
Mfreetype, Mdevice, Mdisplay, Mscreen, Mdrawable, Mdevice, and
Mwin__Close_Device.  Register drivers for Mx and Mgd.
(m17n_fini_win): Decremented win_initialized.  Call "fini"
function of all opened devices.  Don't call mwin__fini.
(Mdisplay, Mscreen, Mdrawable, Mdepth, Mwidget, Mcolormap):
Declare them here.
(mframe): Handle Mdevice key of PLIST.
(mframe_get_prop): Call frame->device->get_prop instead of
mwin__device_get_prop.

xmirror/m17n-lib,xmirror/m17n-lib,xmirror/m17n-lib,xmirror/m17n-lib