Texture.lua 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. require "Polycode/Resource"
  2. class "Texture" (Resource)
  3. function Texture:__index__(name)
  4. if name == "scrollSpeedX" then
  5. return Polycore.Texture_get_scrollSpeedX(self.__ptr)
  6. elseif name == "scrollSpeedY" then
  7. return Polycore.Texture_get_scrollSpeedY(self.__ptr)
  8. elseif name == "clamp" then
  9. return Polycore.Texture_get_clamp(self.__ptr)
  10. end
  11. end
  12. function Texture:__set_callback(name,value)
  13. if name == "scrollSpeedX" then
  14. Polycore.Texture_set_scrollSpeedX(self.__ptr, value)
  15. return true
  16. elseif name == "scrollSpeedY" then
  17. Polycore.Texture_set_scrollSpeedY(self.__ptr, value)
  18. return true
  19. elseif name == "clamp" then
  20. Polycore.Texture_set_clamp(self.__ptr, value)
  21. return true
  22. end
  23. return false
  24. end
  25. function Texture:setTextureData(data)
  26. local retVal = Polycore.Texture_setTextureData(self.__ptr, data.__ptr)
  27. end
  28. function Texture:recreateFromImageData()
  29. local retVal = Polycore.Texture_recreateFromImageData(self.__ptr)
  30. end
  31. function Texture:getScrollOffsetX()
  32. local retVal = Polycore.Texture_getScrollOffsetX(self.__ptr)
  33. return retVal
  34. end
  35. function Texture:getScrollOffsetY()
  36. local retVal = Polycore.Texture_getScrollOffsetY(self.__ptr)
  37. return retVal
  38. end
  39. function Texture:setImageData(data)
  40. local retVal = Polycore.Texture_setImageData(self.__ptr, data.__ptr)
  41. end
  42. function Texture:updateScroll(elapsed)
  43. local retVal = Polycore.Texture_updateScroll(self.__ptr, elapsed)
  44. end
  45. function Texture:setResourcePath(newPath)
  46. local retVal = Polycore.Texture_setResourcePath(self.__ptr, newPath)
  47. end
  48. function Texture:getResourcePath()
  49. local retVal = Polycore.Texture_getResourcePath(self.__ptr)
  50. return retVal
  51. end
  52. function Texture:getTextureData()
  53. local retVal = Polycore.Texture_getTextureData(self.__ptr)
  54. if retVal == nil then return nil end
  55. if Polycore.__ptr_lookup[retVal] ~= nil then
  56. return Polycore.__ptr_lookup[retVal]
  57. else
  58. Polycore.__ptr_lookup[retVal] = char("__skip_ptr__")
  59. Polycore.__ptr_lookup[retVal].__ptr = retVal
  60. return Polycore.__ptr_lookup[retVal]
  61. end
  62. end
  63. function Texture:getWidth()
  64. local retVal = Polycore.Texture_getWidth(self.__ptr)
  65. return retVal
  66. end
  67. function Texture:getHeight()
  68. local retVal = Polycore.Texture_getHeight(self.__ptr)
  69. return retVal
  70. end
  71. function Texture:__delete()
  72. Polycore.__ptr_lookup[self.__ptr] = nil
  73. Polycore.delete_Texture(self.__ptr)
  74. end