RendererPlatformData.lua 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. class "RendererPlatformData"
  2. RendererPlatformData.PLATFORM_DATA_NONE = 0
  3. RendererPlatformData.PLATFORM_DATA_TEXTURE = 1
  4. RendererPlatformData.PLATFORM_DATA_RENDER_BUFFER = 2
  5. RendererPlatformData.PLATFORM_DATA_PROGRAM = 3
  6. RendererPlatformData.PLATFORM_DATA_SHADER = 4
  7. RendererPlatformData.PLATFORM_DATA_SUBMESH = 5
  8. function RendererPlatformData:__getvar(name)
  9. if name == "type" then
  10. return Polycode.RendererPlatformData_get_type(self.__ptr)
  11. end
  12. end
  13. function RendererPlatformData:__setvar(name,value)
  14. if name == "type" then
  15. Polycode.RendererPlatformData_set_type(self.__ptr, value)
  16. return true
  17. end
  18. return false
  19. end
  20. function RendererPlatformData:RendererPlatformData(...)
  21. local arg = {...}
  22. for k,v in pairs(arg) do
  23. if type(v) == "table" then
  24. if v.__ptr ~= nil then
  25. arg[k] = v.__ptr
  26. end
  27. end
  28. end
  29. if self.__ptr == nil and arg[1] ~= "__skip_ptr__" then
  30. self.__ptr = Polycode.RendererPlatformData(unpack(arg))
  31. end
  32. end
  33. function RendererPlatformData:__delete()
  34. if self then Polycode.delete_RendererPlatformData(self.__ptr) end
  35. end