/script_binding/lua/lua_ftk_structs.c

http://ftk.googlecode.com/ · C · 362 lines · 291 code · 71 blank · 0 comment · 30 complexity · e0cee8c6486d31bcb78bc55349a1d862 MD5 · raw file

  1. #include "lua_ftk_typedef.h"
  2. #include "lua_ftk_structs.h"
  3. static void tolua_reg_types (lua_State* L)
  4. {
  5. tolua_usertype(L, "FtkGc");
  6. tolua_usertype(L, "FtkEvent");
  7. }
  8. int lua_ftk_gc_create(lua_State* L)
  9. {
  10. FtkGc* retv = calloc(1, sizeof(FtkGc));
  11. tolua_pushusertype_and_takeownership(L, (void*)retv, "FtkGc");
  12. return 1;
  13. }
  14. static int tolua_get_FtkGc_ref(lua_State* L)
  15. {
  16. lua_Number retv;
  17. FtkGc* thiz = (FtkGc*) tolua_tousertype(L, 1, 0);
  18. return_val_if_fail(thiz != NULL, 0);
  19. retv = (lua_Number)thiz->ref;
  20. tolua_pushnumber(L, (lua_Number)retv);
  21. return 1;
  22. }
  23. static int tolua_set_FtkGc_ref(lua_State* L)
  24. {
  25. FtkGc* thiz = (FtkGc*) tolua_tousertype(L, 1, 0);
  26. return_val_if_fail(thiz != NULL, 0);
  27. thiz->ref = (int) (tolua_tonumber(L, 2, 0));
  28. return 1;
  29. }
  30. static int tolua_get_FtkGc_mask(lua_State* L)
  31. {
  32. lua_Number retv;
  33. FtkGc* thiz = (FtkGc*) tolua_tousertype(L, 1, 0);
  34. return_val_if_fail(thiz != NULL, 0);
  35. retv = (lua_Number)thiz->mask;
  36. tolua_pushnumber(L, (lua_Number)retv);
  37. return 1;
  38. }
  39. static int tolua_set_FtkGc_mask(lua_State* L)
  40. {
  41. FtkGc* thiz = (FtkGc*) tolua_tousertype(L, 1, 0);
  42. return_val_if_fail(thiz != NULL, 0);
  43. thiz->mask = (int) (tolua_tonumber(L, 2, 0));
  44. return 1;
  45. }
  46. static int tolua_get_FtkGc_bg(lua_State* L)
  47. {
  48. void* retv;
  49. FtkGc* thiz = (FtkGc*) tolua_tousertype(L, 1, 0);
  50. return_val_if_fail(thiz != NULL, 0);
  51. retv = (void*)&(thiz->bg);
  52. tolua_pushusertype(L, retv, "FtkColor");
  53. return 1;
  54. }
  55. static int tolua_set_FtkGc_bg(lua_State* L)
  56. {
  57. FtkGc* thiz = (FtkGc*) tolua_tousertype(L, 1, 0);
  58. return_val_if_fail(thiz != NULL, 0);
  59. thiz->bg = (*(FtkColor*)tolua_tousertype(L, 2, 0));
  60. return 1;
  61. }
  62. static int tolua_get_FtkGc_fg(lua_State* L)
  63. {
  64. void* retv;
  65. FtkGc* thiz = (FtkGc*) tolua_tousertype(L, 1, 0);
  66. return_val_if_fail(thiz != NULL, 0);
  67. retv = (void*)&(thiz->fg);
  68. tolua_pushusertype(L, retv, "FtkColor");
  69. return 1;
  70. }
  71. static int tolua_set_FtkGc_fg(lua_State* L)
  72. {
  73. FtkGc* thiz = (FtkGc*) tolua_tousertype(L, 1, 0);
  74. return_val_if_fail(thiz != NULL, 0);
  75. thiz->fg = (*(FtkColor*)tolua_tousertype(L, 2, 0));
  76. return 1;
  77. }
  78. static int tolua_get_FtkGc_bitmap(lua_State* L)
  79. {
  80. void* retv;
  81. FtkGc* thiz = (FtkGc*) tolua_tousertype(L, 1, 0);
  82. return_val_if_fail(thiz != NULL, 0);
  83. retv = (void*)thiz->bitmap;
  84. tolua_pushusertype(L, (FtkBitmap*)retv, "FtkBitmap");
  85. return 1;
  86. }
  87. static int tolua_set_FtkGc_bitmap(lua_State* L)
  88. {
  89. FtkGc* thiz = (FtkGc*) tolua_tousertype(L, 1, 0);
  90. return_val_if_fail(thiz != NULL, 0);
  91. thiz->bitmap = (FtkBitmap*) (tolua_tousertype(L, 2, 0));
  92. return 1;
  93. }
  94. static int tolua_get_FtkGc_alpha(lua_State* L)
  95. {
  96. lua_Number retv;
  97. FtkGc* thiz = (FtkGc*) tolua_tousertype(L, 1, 0);
  98. return_val_if_fail(thiz != NULL, 0);
  99. retv = thiz->alpha;
  100. tolua_pushnumber(L, (lua_Number)retv);
  101. return 1;
  102. }
  103. static int tolua_set_FtkGc_alpha(lua_State* L)
  104. {
  105. FtkGc* thiz = (FtkGc*) tolua_tousertype(L, 1, 0);
  106. return_val_if_fail(thiz != NULL, 0);
  107. thiz->alpha = (char)tolua_tonumber(L, 2, 0);
  108. return 1;
  109. }
  110. static int tolua_get_FtkGc_line_mask(lua_State* L)
  111. {
  112. lua_Number retv;
  113. FtkGc* thiz = (FtkGc*) tolua_tousertype(L, 1, 0);
  114. return_val_if_fail(thiz != NULL, 0);
  115. retv = (lua_Number)thiz->line_mask;
  116. tolua_pushnumber(L, (lua_Number)retv);
  117. return 1;
  118. }
  119. static int tolua_set_FtkGc_line_mask(lua_State* L)
  120. {
  121. FtkGc* thiz = (FtkGc*) tolua_tousertype(L, 1, 0);
  122. return_val_if_fail(thiz != NULL, 0);
  123. thiz->line_mask = (int) (tolua_tonumber(L, 2, 0));
  124. return 1;
  125. }
  126. int lua_ftk_event_create(lua_State* L)
  127. {
  128. FtkEvent* retv = calloc(1, sizeof(FtkEvent));
  129. tolua_pushusertype_and_takeownership(L, (void*)retv, "FtkEvent");
  130. return 1;
  131. }
  132. static int tolua_get_FtkEvent_type(lua_State* L)
  133. {
  134. lua_Number retv;
  135. FtkEvent* thiz = (FtkEvent*) tolua_tousertype(L, 1, 0);
  136. return_val_if_fail(thiz != NULL, 0);
  137. retv = (lua_Number)thiz->type;
  138. tolua_pushnumber(L, (lua_Number)retv);
  139. return 1;
  140. }
  141. static int tolua_set_FtkEvent_type(lua_State* L)
  142. {
  143. FtkEvent* thiz = (FtkEvent*) tolua_tousertype(L, 1, 0);
  144. return_val_if_fail(thiz != NULL, 0);
  145. thiz->type = tolua_tonumber(L, 2, 0);
  146. return 1;
  147. }
  148. static int tolua_get_FtkEvent_widget(lua_State* L)
  149. {
  150. void* retv;
  151. FtkEvent* thiz = (FtkEvent*) tolua_tousertype(L, 1, 0);
  152. return_val_if_fail(thiz != NULL, 0);
  153. retv = (void*)thiz->widget;
  154. tolua_pushusertype(L, (FtkWidget*)retv, "FtkWidget");
  155. return 1;
  156. }
  157. static int tolua_set_FtkEvent_widget(lua_State* L)
  158. {
  159. FtkEvent* thiz = (FtkEvent*) tolua_tousertype(L, 1, 0);
  160. return_val_if_fail(thiz != NULL, 0);
  161. thiz->widget = (FtkWidget*) (tolua_tousertype(L, 2, 0));
  162. return 1;
  163. }
  164. static int tolua_get_FtkEvent_time(lua_State* L)
  165. {
  166. lua_Number retv;
  167. FtkEvent* thiz = (FtkEvent*) tolua_tousertype(L, 1, 0);
  168. return_val_if_fail(thiz != NULL, 0);
  169. retv = (lua_Number)thiz->time;
  170. tolua_pushnumber(L, (lua_Number)retv);
  171. return 1;
  172. }
  173. static int tolua_set_FtkEvent_time(lua_State* L)
  174. {
  175. FtkEvent* thiz = (FtkEvent*) tolua_tousertype(L, 1, 0);
  176. return_val_if_fail(thiz != NULL, 0);
  177. thiz->time = (int) (tolua_tonumber(L, 2, 0));
  178. return 1;
  179. }
  180. static int tolua_get_FtkEvent_u_key_code(lua_State* L)
  181. {
  182. lua_Number retv;
  183. FtkEvent* thiz = (FtkEvent*) tolua_tousertype(L, 1, 0);
  184. return_val_if_fail(thiz != NULL, 0);
  185. retv = (lua_Number)thiz->u.key.code;
  186. tolua_pushnumber(L, (lua_Number)retv);
  187. return 1;
  188. }
  189. static int tolua_set_FtkEvent_u_key_code(lua_State* L)
  190. {
  191. FtkEvent* thiz = (FtkEvent*) tolua_tousertype(L, 1, 0);
  192. return_val_if_fail(thiz != NULL, 0);
  193. thiz->u.key.code = (int) (tolua_tonumber(L, 2, 0));
  194. return 1;
  195. }
  196. static int tolua_get_FtkEvent_u_mouse_press(lua_State* L)
  197. {
  198. lua_Number retv;
  199. FtkEvent* thiz = (FtkEvent*) tolua_tousertype(L, 1, 0);
  200. return_val_if_fail(thiz != NULL, 0);
  201. retv = (lua_Number)thiz->u.mouse.press;
  202. tolua_pushnumber(L, (lua_Number)retv);
  203. return 1;
  204. }
  205. static int tolua_set_FtkEvent_u_mouse_press(lua_State* L)
  206. {
  207. FtkEvent* thiz = (FtkEvent*) tolua_tousertype(L, 1, 0);
  208. return_val_if_fail(thiz != NULL, 0);
  209. thiz->u.mouse.press = (int) (tolua_tonumber(L, 2, 0));
  210. return 1;
  211. }
  212. static int tolua_get_FtkEvent_u_mouse_button(lua_State* L)
  213. {
  214. lua_Number retv;
  215. FtkEvent* thiz = (FtkEvent*) tolua_tousertype(L, 1, 0);
  216. return_val_if_fail(thiz != NULL, 0);
  217. retv = (lua_Number)thiz->u.mouse.button;
  218. tolua_pushnumber(L, (lua_Number)retv);
  219. return 1;
  220. }
  221. static int tolua_set_FtkEvent_u_mouse_button(lua_State* L)
  222. {
  223. FtkEvent* thiz = (FtkEvent*) tolua_tousertype(L, 1, 0);
  224. return_val_if_fail(thiz != NULL, 0);
  225. thiz->u.mouse.button = (int) (tolua_tonumber(L, 2, 0));
  226. return 1;
  227. }
  228. static int tolua_get_FtkEvent_u_mouse_x(lua_State* L)
  229. {
  230. lua_Number retv;
  231. FtkEvent* thiz = (FtkEvent*) tolua_tousertype(L, 1, 0);
  232. return_val_if_fail(thiz != NULL, 0);
  233. retv = (lua_Number)thiz->u.mouse.x;
  234. tolua_pushnumber(L, (lua_Number)retv);
  235. return 1;
  236. }
  237. static int tolua_set_FtkEvent_u_mouse_x(lua_State* L)
  238. {
  239. FtkEvent* thiz = (FtkEvent*) tolua_tousertype(L, 1, 0);
  240. return_val_if_fail(thiz != NULL, 0);
  241. thiz->u.mouse.x = (int) (tolua_tonumber(L, 2, 0));
  242. return 1;
  243. }
  244. static int tolua_get_FtkEvent_u_mouse_y(lua_State* L)
  245. {
  246. lua_Number retv;
  247. FtkEvent* thiz = (FtkEvent*) tolua_tousertype(L, 1, 0);
  248. return_val_if_fail(thiz != NULL, 0);
  249. retv = (lua_Number)thiz->u.mouse.y;
  250. tolua_pushnumber(L, (lua_Number)retv);
  251. return 1;
  252. }
  253. static int tolua_set_FtkEvent_u_mouse_y(lua_State* L)
  254. {
  255. FtkEvent* thiz = (FtkEvent*) tolua_tousertype(L, 1, 0);
  256. return_val_if_fail(thiz != NULL, 0);
  257. thiz->u.mouse.y = (int) (tolua_tonumber(L, 2, 0));
  258. return 1;
  259. }
  260. int tolua_ftk_structs_init(lua_State* L)
  261. {
  262. tolua_open(L);
  263. tolua_reg_types(L);
  264. tolua_module(L, NULL, 0);
  265. tolua_beginmodule(L, NULL);
  266. tolua_cclass(L, "FtkEvent", "FtkEvent", "", NULL);
  267. tolua_beginmodule(L, "FtkEvent");
  268. tolua_function(L, "Create", lua_ftk_event_create);
  269. tolua_variable(L, "type",tolua_get_FtkEvent_type, tolua_set_FtkEvent_type);
  270. tolua_variable(L, "widget",tolua_get_FtkEvent_widget, tolua_set_FtkEvent_widget);
  271. tolua_variable(L, "time",tolua_get_FtkEvent_time, tolua_set_FtkEvent_time);
  272. tolua_variable(L, "u_key_code",tolua_get_FtkEvent_u_key_code, tolua_set_FtkEvent_u_key_code);
  273. tolua_variable(L, "u_mouse_press",tolua_get_FtkEvent_u_mouse_press, tolua_set_FtkEvent_u_mouse_press);
  274. tolua_variable(L, "u_mouse_button",tolua_get_FtkEvent_u_mouse_button, tolua_set_FtkEvent_u_mouse_button);
  275. tolua_variable(L, "u_mouse_x",tolua_get_FtkEvent_u_mouse_x, tolua_set_FtkEvent_u_mouse_x);
  276. tolua_variable(L, "u_mouse_y",tolua_get_FtkEvent_u_mouse_y, tolua_set_FtkEvent_u_mouse_y);
  277. tolua_endmodule(L);
  278. tolua_cclass(L, "FtkGc", "FtkGc", "", NULL);
  279. tolua_beginmodule(L, "FtkGc");
  280. tolua_function(L, "Create", lua_ftk_gc_create);
  281. tolua_variable(L, "ref",tolua_get_FtkGc_ref, tolua_set_FtkGc_ref);
  282. tolua_variable(L, "mask",tolua_get_FtkGc_mask, tolua_set_FtkGc_mask);
  283. tolua_variable(L, "bg",tolua_get_FtkGc_bg, tolua_set_FtkGc_bg);
  284. tolua_variable(L, "fg",tolua_get_FtkGc_fg, tolua_set_FtkGc_fg);
  285. tolua_variable(L, "bitmap",tolua_get_FtkGc_bitmap, tolua_set_FtkGc_bitmap);
  286. tolua_variable(L, "alpha",tolua_get_FtkGc_alpha, tolua_set_FtkGc_alpha);
  287. tolua_variable(L, "line_mask",tolua_get_FtkGc_line_mask, tolua_set_FtkGc_line_mask);
  288. tolua_endmodule(L);
  289. tolua_endmodule(L);
  290. return 1;
  291. }