Core.lua 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328
  1. require "Polycode/EventDispatcher"
  2. class "Core" (EventDispatcher)
  3. Core.EVENTBASE_CORE = 0x200
  4. Core.EVENT_CORE_RESIZE = Core.EVENTBASE_CORE + 0
  5. Core.EVENT_LOST_FOCUS = Core.EVENTBASE_CORE + 1
  6. Core.EVENT_GAINED_FOCUS = Core.EVENTBASE_CORE + 2
  7. Core.EVENT_UNDO = Core.EVENTBASE_CORE + 3
  8. Core.EVENT_REDO = Core.EVENTBASE_CORE + 4
  9. Core.EVENT_COPY = Core.EVENTBASE_CORE + 5
  10. Core.EVENT_CUT = Core.EVENTBASE_CORE + 6
  11. Core.EVENT_SELECT_ALL = Core.EVENTBASE_CORE + 7
  12. Core.EVENT_PASTE = Core.EVENTBASE_CORE + 8
  13. Core.EVENT_GYRO_ROTATION = Core.EVENTBASE_CORE + 9
  14. Core.EVENT_ACCELEROMETER_MOTION = Core.EVENTBASE_CORE + 10
  15. Core.CURSOR_ARROW = 0
  16. Core.CURSOR_TEXT = 1
  17. Core.CURSOR_POINTER = 2
  18. Core.CURSOR_CROSSHAIR = 3
  19. Core.CURSOR_RESIZE_LEFT_RIGHT = 4
  20. Core.CURSOR_RESIZE_UP_DOWN = 5
  21. Core.CURSOR_OPEN_HAND = 6
  22. function Core:__getvar(name)
  23. if name == "paused" then
  24. return Polycode.Core_get_paused(self.__ptr)
  25. elseif name == "pauseOnLoseFocus" then
  26. return Polycode.Core_get_pauseOnLoseFocus(self.__ptr)
  27. elseif name == "defaultScreenWidth" then
  28. return Polycode.Core_get_defaultScreenWidth(self.__ptr)
  29. elseif name == "defaultScreenHeight" then
  30. return Polycode.Core_get_defaultScreenHeight(self.__ptr)
  31. elseif name == "deviceAttitude" then
  32. local retVal = Polycode.Core_get_deviceAttitude(self.__ptr)
  33. if retVal == nil then return nil end
  34. local __c = _G["Quaternion"]("__skip_ptr__")
  35. __c.__ptr = retVal
  36. return __c
  37. end
  38. if EventDispatcher["__getvar"] ~= nil then
  39. return EventDispatcher.__getvar(self, name)
  40. end
  41. end
  42. function Core:__setvar(name,value)
  43. if name == "paused" then
  44. Polycode.Core_set_paused(self.__ptr, value)
  45. return true
  46. elseif name == "pauseOnLoseFocus" then
  47. Polycode.Core_set_pauseOnLoseFocus(self.__ptr, value)
  48. return true
  49. elseif name == "defaultScreenWidth" then
  50. Polycode.Core_set_defaultScreenWidth(self.__ptr, value)
  51. return true
  52. elseif name == "defaultScreenHeight" then
  53. Polycode.Core_set_defaultScreenHeight(self.__ptr, value)
  54. return true
  55. elseif name == "deviceAttitude" then
  56. Polycode.Core_set_deviceAttitude(self.__ptr, value.__ptr)
  57. return true
  58. end
  59. if EventDispatcher["__setvar"] ~= nil then
  60. return EventDispatcher.__setvar(self, name, value)
  61. else
  62. return false
  63. end
  64. end
  65. function Core:Update()
  66. local retVal = Polycode.Core_Update(self.__ptr)
  67. return retVal
  68. end
  69. function Core:fixedUpdate()
  70. local retVal = Polycode.Core_fixedUpdate(self.__ptr)
  71. return retVal
  72. end
  73. function Core:systemUpdate()
  74. local retVal = Polycode.Core_systemUpdate(self.__ptr)
  75. return retVal
  76. end
  77. function Core:enableMouse(newval)
  78. local retVal = Polycode.Core_enableMouse(self.__ptr, newval)
  79. end
  80. function Core:captureMouse(newval)
  81. local retVal = Polycode.Core_captureMouse(self.__ptr, newval)
  82. end
  83. function Core:setCursor(cursorType)
  84. local retVal = Polycode.Core_setCursor(self.__ptr, cursorType)
  85. end
  86. function Core:warpCursor(x, y)
  87. local retVal = Polycode.Core_warpCursor(self.__ptr, x, y)
  88. end
  89. function Core:openOnScreenKeyboard(open)
  90. local retVal = Polycode.Core_openOnScreenKeyboard(self.__ptr, open)
  91. end
  92. function Core:copyStringToClipboard(str)
  93. local retVal = Polycode.Core_copyStringToClipboard(self.__ptr, str)
  94. end
  95. function Core:getClipboardString()
  96. local retVal = Polycode.Core_getClipboardString(self.__ptr)
  97. return retVal
  98. end
  99. function Core:getFPS()
  100. local retVal = Polycode.Core_getFPS(self.__ptr)
  101. return retVal
  102. end
  103. function Core:Shutdown()
  104. local retVal = Polycode.Core_Shutdown(self.__ptr)
  105. end
  106. function Core:isFullscreen()
  107. local retVal = Polycode.Core_isFullscreen(self.__ptr)
  108. return retVal
  109. end
  110. function Core:getAALevel()
  111. local retVal = Polycode.Core_getAALevel(self.__ptr)
  112. return retVal
  113. end
  114. function Core:getXRes()
  115. local retVal = Polycode.Core_getXRes(self.__ptr)
  116. return retVal
  117. end
  118. function Core:getYRes()
  119. local retVal = Polycode.Core_getYRes(self.__ptr)
  120. return retVal
  121. end
  122. function Core:getBackingXRes()
  123. local retVal = Polycode.Core_getBackingXRes(self.__ptr)
  124. return retVal
  125. end
  126. function Core:getBackingYRes()
  127. local retVal = Polycode.Core_getBackingYRes(self.__ptr)
  128. return retVal
  129. end
  130. function Core:getScreenWidth()
  131. local retVal = Polycode.Core_getScreenWidth(self.__ptr)
  132. return retVal
  133. end
  134. function Core:getScreenHeight()
  135. local retVal = Polycode.Core_getScreenHeight(self.__ptr)
  136. return retVal
  137. end
  138. function Core:createFolder(folderPath)
  139. local retVal = Polycode.Core_createFolder(self.__ptr, folderPath)
  140. end
  141. function Core:copyDiskItem(itemPath, destItemPath)
  142. local retVal = Polycode.Core_copyDiskItem(self.__ptr, itemPath, destItemPath)
  143. end
  144. function Core:moveDiskItem(itemPath, destItemPath)
  145. local retVal = Polycode.Core_moveDiskItem(self.__ptr, itemPath, destItemPath)
  146. end
  147. function Core:removeDiskItem(itemPath)
  148. local retVal = Polycode.Core_removeDiskItem(self.__ptr, itemPath)
  149. end
  150. function Core:openFolderPicker()
  151. local retVal = Polycode.Core_openFolderPicker(self.__ptr)
  152. return retVal
  153. end
  154. function Core:setFramerate(frameRate, maxFixedCycles)
  155. local retVal = Polycode.Core_setFramerate(self.__ptr, frameRate, maxFixedCycles)
  156. end
  157. function Core:openFilePicker(extensions, allowMultiple)
  158. local retVal = Polycode.Core_openFilePicker(self.__ptr, extensions.__ptr, allowMultiple)
  159. if retVal == nil then return nil end
  160. for i=1,count(retVal) do
  161. local __c = _G["String"]("__skip_ptr__")
  162. __c.__ptr = retVal[i]
  163. retVal[i] = __c
  164. end
  165. return retVal
  166. end
  167. function Core:saveFilePicker(extensions)
  168. local retVal = Polycode.Core_saveFilePicker(self.__ptr, extensions.__ptr)
  169. return retVal
  170. end
  171. function Core:flushRenderContext()
  172. local retVal = Polycode.Core_flushRenderContext(self.__ptr)
  173. end
  174. function Core:prepareRenderContext()
  175. local retVal = Polycode.Core_prepareRenderContext(self.__ptr)
  176. end
  177. function Core:isWindowInitialized()
  178. local retVal = Polycode.Core_isWindowInitialized(self.__ptr)
  179. return retVal
  180. end
  181. function Core:addFileSource(type, source)
  182. local retVal = Polycode.Core_addFileSource(self.__ptr, type, source)
  183. end
  184. function Core:removeFileSource(type, source)
  185. local retVal = Polycode.Core_removeFileSource(self.__ptr, type, source)
  186. end
  187. function Core:parseFolder(pathString, showHidden)
  188. local retVal = Polycode.Core_parseFolder(self.__ptr, pathString, showHidden)
  189. if retVal == nil then return nil end
  190. for i=1,count(retVal) do
  191. local __c = _G["OSFileEntry"]("__skip_ptr__")
  192. __c.__ptr = retVal[i]
  193. retVal[i] = __c
  194. end
  195. return retVal
  196. end
  197. function Core:systemParseFolder(pathString, showHidden, targetVector)
  198. local retVal = Polycode.Core_systemParseFolder(self.__ptr, pathString, showHidden, targetVector.__ptr)
  199. return retVal
  200. end
  201. function Core:getResourcePathForFile(fileName)
  202. local retVal = Polycode.Core_getResourcePathForFile(self.__ptr, fileName)
  203. return retVal
  204. end
  205. function Core:setVideoMode(xRes, yRes, fullScreen, vSync, aaLevel, anisotropyLevel, retinaSupport)
  206. local retVal = Polycode.Core_setVideoMode(self.__ptr, xRes, yRes, fullScreen, vSync, aaLevel, anisotropyLevel, retinaSupport)
  207. end
  208. function Core:resizeTo(xRes, yRes)
  209. local retVal = Polycode.Core_resizeTo(self.__ptr, xRes, yRes)
  210. end
  211. function Core:doSleep()
  212. local retVal = Polycode.Core_doSleep(self.__ptr)
  213. end
  214. function Core:openURL(url)
  215. local retVal = Polycode.Core_openURL(self.__ptr, url)
  216. end
  217. function Core:getElapsed()
  218. local retVal = Polycode.Core_getElapsed(self.__ptr)
  219. return retVal
  220. end
  221. function Core:getTicks()
  222. local retVal = Polycode.Core_getTicks(self.__ptr)
  223. return retVal
  224. end
  225. function Core:getRefreshIntervalMs()
  226. local retVal = Polycode.Core_getRefreshIntervalMs(self.__ptr)
  227. return retVal
  228. end
  229. function Core:getTimeSleptMs()
  230. local retVal = Polycode.Core_getTimeSleptMs(self.__ptr)
  231. return retVal
  232. end
  233. function Core:getFixedTimestep()
  234. local retVal = Polycode.Core_getFixedTimestep(self.__ptr)
  235. return retVal
  236. end
  237. function Core:getViewport()
  238. local retVal = Polycode.Core_getViewport(self.__ptr)
  239. if retVal == nil then return nil end
  240. local __c = _G["Rectangle"]("__skip_ptr__")
  241. __c.__ptr = retVal
  242. return __c
  243. end
  244. function Core:getTicksFloat()
  245. local retVal = Polycode.Core_getTicksFloat(self.__ptr)
  246. return retVal
  247. end
  248. function Core:executeExternalCommand(command, args, inDirectory)
  249. local retVal = Polycode.Core_executeExternalCommand(self.__ptr, command, args, inDirectory)
  250. return retVal
  251. end
  252. function Core:getDefaultWorkingDirectory()
  253. local retVal = Polycode.Core_getDefaultWorkingDirectory(self.__ptr)
  254. return retVal
  255. end
  256. function Core:getUserHomeDirectory()
  257. local retVal = Polycode.Core_getUserHomeDirectory(self.__ptr)
  258. return retVal
  259. end
  260. function Core:makeApplicationMain()
  261. local retVal = Polycode.Core_makeApplicationMain(self.__ptr)
  262. end
  263. function Core:getConfig()
  264. local retVal = Polycode.Core_getConfig(self.__ptr)
  265. if retVal == nil then return nil end
  266. local __c = _G["ConfigRef"]("__skip_ptr__")
  267. __c.__ptr = retVal
  268. return __c
  269. end
  270. function Core:__delete()
  271. if self then Polycode.delete_Core(self.__ptr) end
  272. end