summaryrefslogtreecommitdiff
path: root/iup/srclua5/il_val.c
blob: e8918d769113db064d059102e52abb3431cf973c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
/******************************************************************************
 * Automatically generated file (iuplua5). Please don't change anything.                *
 *****************************************************************************/

#include <stdlib.h>

#include <lua.h>
#include <lauxlib.h>

#include "iup.h"
#include "iuplua.h"
#include "il.h"


static int val_button_press_cb(Ihandle *self, double p0)
{
  lua_State *L = iuplua_call_start(self, "button_press_cb");
  lua_pushnumber(L, p0);
  return iuplua_call(L, 1);
}

static int val_mousemove_cb(Ihandle *self, double p0)
{
  lua_State *L = iuplua_call_start(self, "mousemove_cb");
  lua_pushnumber(L, p0);
  return iuplua_call(L, 1);
}

static int val_button_release_cb(Ihandle *self, double p0)
{
  lua_State *L = iuplua_call_start(self, "button_release_cb");
  lua_pushnumber(L, p0);
  return iuplua_call(L, 1);
}

static int Val(lua_State *L)
{
  Ihandle *ih = IupVal((char *) luaL_checkstring(L, 1));
  iuplua_plugstate(L, ih);
  iuplua_pushihandle_raw(L, ih);
  return 1;
}

int iupvallua_open(lua_State * L)
{
  iuplua_register(L, Val, "Val");

  iuplua_register_cb(L, "BUTTON_PRESS_CB", (lua_CFunction)val_button_press_cb, NULL);
  iuplua_register_cb(L, "MOUSEMOVE_CB", (lua_CFunction)val_mousemove_cb, "val");
  iuplua_register_cb(L, "BUTTON_RELEASE_CB", (lua_CFunction)val_button_release_cb, NULL);

#ifdef IUPLUA_USELOH
#ifdef TEC_BIGENDIAN
#ifdef TEC_64
#include "loh/val_be64.loh"
#else
#include "loh/val_be32.loh"
#endif
#else
#ifdef TEC_64
#ifdef WIN64
#include "loh/val_le64w.loh"
#else
#include "loh/val_le64.loh"
#endif
#else
#include "loh/val.loh"
#endif
#endif
#else
  iuplua_dofile(L, "val.lua");
#endif

  return 0;
}