/src/Core/objects/Color.xs

http://github.com/PerlGameDev/SDL · Unknown · 73 lines · 61 code · 12 blank · 0 comment · 0 complexity · 46829ceeb8af5e7cf3e37d73bcfa8647 MD5 · raw file

  1. #include "EXTERN.h"
  2. #include "perl.h"
  3. #include "XSUB.h"
  4. #include "ppport.h"
  5. #include "helper.h"
  6. #ifndef aTHX_
  7. #define aTHX_
  8. #endif
  9. #include <SDL.h>
  10. MODULE = SDL::Color PACKAGE = SDL::Color PREFIX = color_
  11. =for documentation
  12. SDL_Color -- Format independent color description
  13. typedef struct{
  14. Uint8 r;
  15. Uint8 g;
  16. Uint8 b;
  17. Uint8 unused;
  18. } SDL_Color;
  19. =cut
  20. SDL_Color *
  21. color_new (CLASS, r, g, b )
  22. char* CLASS
  23. Uint8 r
  24. Uint8 g
  25. Uint8 b
  26. CODE:
  27. RETVAL = (SDL_Color *) safemalloc(sizeof(SDL_Color));
  28. RETVAL->r = r;
  29. RETVAL->g = g;
  30. RETVAL->b = b;
  31. OUTPUT:
  32. RETVAL
  33. Uint8
  34. color_r ( color, ... )
  35. SDL_Color *color
  36. CODE:
  37. if (items > 1 ) color->r = SvIV(ST(1));
  38. RETVAL = color->r;
  39. OUTPUT:
  40. RETVAL
  41. Uint8
  42. color_g ( color, ... )
  43. SDL_Color *color
  44. CODE:
  45. if (items > 1 ) color->g = SvIV(ST(1));
  46. RETVAL = color->g;
  47. OUTPUT:
  48. RETVAL
  49. Uint8
  50. color_b ( color, ... )
  51. SDL_Color *color
  52. CODE:
  53. if (items > 1 ) color->b = SvIV(ST(1));
  54. RETVAL = color->b;
  55. OUTPUT:
  56. RETVAL
  57. void
  58. color_DESTROY ( bag )
  59. SV *bag
  60. CODE:
  61. objDESTROY(bag, safefree);