52 lines
1.1 KiB
Lua
52 lines
1.1 KiB
Lua
|
------------------------------------------------------------------------------
|
||
|
-- GLCanvas class
|
||
|
------------------------------------------------------------------------------
|
||
|
local ctrl = {
|
||
|
nick = "glcanvas",
|
||
|
parent = iup.WIDGET,
|
||
|
creation = "-",
|
||
|
funcname = "GLCanvas",
|
||
|
include = "iupgl.h",
|
||
|
subdir = "ctrl",
|
||
|
callback = {
|
||
|
action = "ff", -- must repeat this callback because of its non-exclusive name
|
||
|
swapbuffers_cb = "",
|
||
|
},
|
||
|
extrafuncs = 1,
|
||
|
extracode = [[
|
||
|
int iupglbackgroundboxlua_open(lua_State * L);
|
||
|
|
||
|
int iupgllua_open(lua_State * L)
|
||
|
{
|
||
|
if (iuplua_opencall_internal(L))
|
||
|
IupGLCanvasOpen();
|
||
|
|
||
|
iuplua_get_env(L);
|
||
|
iupglcanvaslua_open(L);
|
||
|
iupglbackgroundboxlua_open(L);
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
/* obligatory to use require"iupluagl" */
|
||
|
int luaopen_iupluagl(lua_State* L)
|
||
|
{
|
||
|
return iupgllua_open(L);
|
||
|
}
|
||
|
|
||
|
]]
|
||
|
}
|
||
|
|
||
|
-- Defined in C
|
||
|
ctrl.SwapBuffers = iup.GLSwapBuffers
|
||
|
ctrl.IsCurrent = iup.GLIsCurrent
|
||
|
ctrl.MakeCurrent = iup.GLMakeCurrent
|
||
|
ctrl.Palette = iup.GLPalette
|
||
|
ctrl.UseFont = iup.GLUseFont
|
||
|
|
||
|
function ctrl.createElement(class, param)
|
||
|
return iup.GLCanvas()
|
||
|
end
|
||
|
|
||
|
iup.RegisterWidget(ctrl)
|
||
|
iup.SetClass(ctrl, "iupWidget")
|