Host Display Info
Availability LightWave 6.0 | Component Layout, Modeler | Header lwdisplay.h
The host display global returns platform-specific information about LightWave's interface. This is primarily useful when you want to create a platform-dependent interface for your plug-in.
Global Call
HostDisplayInfo *hdi; hdi = global( LWHOSTDISPLAYINFO_GLOBAL, GFUSE_TRANSIENT );
The global function returns a pointer to a HostDisplayInfo, or NULL if called in a non-interactive (e.g. Screamernet) context.
typedef struct st_HostDisplayInfo { #ifdef _WIN32 HANDLE instance; HWND window; #endif #ifdef _XGL Display *xsys; Window window; #endif #ifdef _MACOS WindowPtr window; #endif } HostDisplayInfo;
The operating system #defines (_WIN32
, _XGL
, _MACOS
) are
discussed in the section on plug-in compiling.
window
- LightWave's main window. This is often used as the parent window of the plug-in's main window.
_WIN32 instance
- Under Microsoft Windows, this is the instance handle for the LightWave process. You
won't need this very often. If you want a handle to a resource (dialog templates, icons,
bitmaps) that's stored in your plug-in's .p file, you need to use your plug-in's
instance handle, not LightWave's. See your Win32 documentation to find out how to get your
instance handle using the
DllMain
function. _XGL xsys
- Under Unix, this is LightWave's window session handle.
Example
This code fragment displays everyone's favorite first message, but using the Win32 MessageBox
function with LightWave's main window handle as the parent window.
#include <lwserver.h> #include <lwdisplay.h> /* includes windows.h under Windows */ HostDisplayInfo *hdi; hdi = global( LWHOSTDISPLAYINFO_GLOBAL, GFUSE_TRANSIENT ); if ( hdi ) { MessageBox( hdi->window, "Hello, world!", "My Message", MB_OK ); }