IUP Driver (cdiup.h)
This driver provides access to an interface element of a IUP canvas. IUP is a portable user-interface library used to create portable user-interface applications.
Use
The canvas is created by means of a call to the function cdCreateCanvas(CD_IUP, Data), after which other CD functions can be called as usual. This function creates a CD canvas based on the existing IUP canvas. The parameter Data is a pointer to a handle of the IUP canvas (Ihandle*). For use with CDLUA, a canvas created with IUPLUA must necessarily be passed as parameter.
Any amount of such canvases may exist simultaneously, but they should not use the same IUP canvas. It is important to note that a call to function cdKillCanvas is required to close the file properly.
The CD canvas is automatically stored in the IUP canvas as the "_CD_CANVAS" attribute.
This driver can totally be replaced by the Native Window driver using IUP's attribute. The canvas' creation changes to:
myCdCanvas = cdCreateCanvas(CD_NATIVEWINDOW, IupGetAttribute(myIupCanvas, "CONID")); IupSetAttribute(myIupCanvas, "_CD_CANVAS", myCdCanvas);
To use this driver, it must be linked with the "cdiup" library (cdiup.lib in Windows, cdiuplib.a in UNIX).
In Lua, it is necessary to call function cdluaiup_open() after a call to function cdlua_open(), apart from linkediting with the "cdluaiup" library.
To use this driver in Windows using GDI+ is necessary to call the cdInitGdiPlusIUP() function. And to link with the "cdiupgdiplus" library.
Behavior of Functions
This driver is greatly platform-dependent, but little dependent on the IUP library. For further detail, see the Behavior of Functions in each platform: Macintosh (QuickDraw), Microsoft Windows (GDI), Windows Using GDI+, X-Windows (XLIB). However, it should be noted that some functions behave differently from the basic functions of each platform.
Control
- cdActivate: updates the canvas size; the IUP canvas might have been resized.