Texture.lua 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. require "Polycode/Resource"
  2. class "Texture" (Resource)
  3. Texture.FILTERING_NEAREST = 0
  4. Texture.FILTERING_LINEAR = 1
  5. function Texture:__getvar(name)
  6. if name == "clamp" then
  7. return Polycode.Texture_get_clamp(self.__ptr)
  8. elseif name == "type" then
  9. return Polycode.Texture_get_type(self.__ptr)
  10. elseif name == "filteringMode" then
  11. return Polycode.Texture_get_filteringMode(self.__ptr)
  12. elseif name == "createMipmaps" then
  13. return Polycode.Texture_get_createMipmaps(self.__ptr)
  14. elseif name == "anisotropy" then
  15. return Polycode.Texture_get_anisotropy(self.__ptr)
  16. elseif name == "framebufferTexture" then
  17. return Polycode.Texture_get_framebufferTexture(self.__ptr)
  18. elseif name == "depthTexture" then
  19. return Polycode.Texture_get_depthTexture(self.__ptr)
  20. end
  21. if Resource["__getvar"] ~= nil then
  22. return Resource.__getvar(self, name)
  23. end
  24. end
  25. function Texture:__setvar(name,value)
  26. if name == "clamp" then
  27. Polycode.Texture_set_clamp(self.__ptr, value)
  28. return true
  29. elseif name == "type" then
  30. Polycode.Texture_set_type(self.__ptr, value)
  31. return true
  32. elseif name == "filteringMode" then
  33. Polycode.Texture_set_filteringMode(self.__ptr, value)
  34. return true
  35. elseif name == "createMipmaps" then
  36. Polycode.Texture_set_createMipmaps(self.__ptr, value)
  37. return true
  38. elseif name == "anisotropy" then
  39. Polycode.Texture_set_anisotropy(self.__ptr, value)
  40. return true
  41. elseif name == "framebufferTexture" then
  42. Polycode.Texture_set_framebufferTexture(self.__ptr, value)
  43. return true
  44. elseif name == "depthTexture" then
  45. Polycode.Texture_set_depthTexture(self.__ptr, value)
  46. return true
  47. end
  48. if Resource["__setvar"] ~= nil then
  49. return Resource.__setvar(self, name, value)
  50. else
  51. return false
  52. end
  53. end
  54. function Texture:getWidth()
  55. local retVal = Polycode.Texture_getWidth(self.__ptr)
  56. return retVal
  57. end
  58. function Texture:getHeight()
  59. local retVal = Polycode.Texture_getHeight(self.__ptr)
  60. return retVal
  61. end
  62. function Texture:setCreateMipmaps(createMipmapsIn)
  63. local retVal = Polycode.Texture_setCreateMipmaps(self.__ptr, createMipmapsIn)
  64. end
  65. function Texture:getCreateMipmaps()
  66. local retVal = Polycode.Texture_getCreateMipmaps(self.__ptr)
  67. return retVal
  68. end
  69. function Texture:__delete()
  70. if self then Polycode.delete_Texture(self.__ptr) end
  71. end