Texture.lua 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  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.__ptr)
  47. end
  48. function Texture:getResourcePath()
  49. local retVal = Polycore.Texture_getResourcePath(self.__ptr)
  50. if retVal == nil then return nil end
  51. if Polycore.__ptr_lookup[retVal] ~= nil then
  52. return Polycore.__ptr_lookup[retVal]
  53. else
  54. Polycore.__ptr_lookup[retVal] = String("__skip_ptr__")
  55. Polycore.__ptr_lookup[retVal].__ptr = retVal
  56. return Polycore.__ptr_lookup[retVal]
  57. end
  58. end
  59. function Texture:getTextureData()
  60. local retVal = Polycore.Texture_getTextureData(self.__ptr)
  61. if retVal == nil then return nil end
  62. if Polycore.__ptr_lookup[retVal] ~= nil then
  63. return Polycore.__ptr_lookup[retVal]
  64. else
  65. Polycore.__ptr_lookup[retVal] = char("__skip_ptr__")
  66. Polycore.__ptr_lookup[retVal].__ptr = retVal
  67. return Polycore.__ptr_lookup[retVal]
  68. end
  69. end
  70. function Texture:getWidth()
  71. local retVal = Polycore.Texture_getWidth(self.__ptr)
  72. return retVal
  73. end
  74. function Texture:getHeight()
  75. local retVal = Polycore.Texture_getHeight(self.__ptr)
  76. return retVal
  77. end
  78. function Texture:__delete()
  79. Polycore.__ptr_lookup[self.__ptr] = nil
  80. Polycore.delete_Texture(self.__ptr)
  81. end