You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

colour.c 1.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #include <curses.h>
  2. /**
  3. * Indicates whether the underlying terminal device is capable of
  4. * having colours redefined
  5. *
  6. * @ret bool returns boolean
  7. */
  8. bool can_change_colour ( void ) {
  9. return (bool)TRUE;
  10. }
  11. /**
  12. * Identify the RGB components of a given colour value
  13. *
  14. * @v colour colour value
  15. * @v *red address to store red component
  16. * @v *green address to store green component
  17. * @v *blue address to store blue component
  18. * @ret rc return status code
  19. */
  20. int colour_content ( short colour, short *red, short *green, short *blue ) {
  21. /* we do not have a particularly large range of colours (3
  22. primary, 3 secondary and black), so let's just put in a
  23. basic switch... */
  24. switch(colour) {
  25. case COLOUR_BLACK:
  26. *red = 0; *green = 0; *blue = 0;
  27. break;
  28. case COLOUR_BLUE:
  29. *red = 0; *green = 0; *blue = 1000;
  30. break;
  31. case COLOUR_GREEN:
  32. *red = 0; *green = 1000; *blue = 0;
  33. break;
  34. case COLOUR_CYAN:
  35. *red = 0; *green = 1000; *blue = 1000;
  36. break;
  37. case COLOUR_RED:
  38. *red = 1000; *green = 0; *blue = 0;
  39. break;
  40. case COLOUR_MAGENTA:
  41. *red = 1000; *green = 0; *blue = 1000;
  42. break;
  43. case COLOUR_YELLOW:
  44. *red = 1000; *green = 1000; *blue = 0;
  45. break;
  46. }
  47. return OK;
  48. }