WWColorMap.c 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. /*****************************************************************************/
  2. /* ここから */
  3. /*****************************************************************************/
  4. #include "WWColorMapP.h"
  5. /*****************************************************************************/
  6. /* メンバ関数の定義 */
  7. /*****************************************************************************/
  8. WWColorMap WWColorMap_Create(int * lcd_colors)
  9. {
  10. WWColorMap color_map;
  11. color_map = (WWColorMap)malloc(sizeof(_WWColorMap));
  12. if (color_map == NULL) Error("WWColorMap_Create", "Cannot allocate memory");
  13. WWColorMap_SetLCDColors(color_map, lcd_colors);
  14. return (color_map);
  15. }
  16. WWColorMap WWColorMap_Destroy(WWColorMap color_map)
  17. {
  18. if (color_map == NULL) return (NULL);
  19. free(color_map);
  20. return (NULL);
  21. }
  22. int * WWColorMap_GetLCDColors(WWColorMap color_map, int * lcd_colors)
  23. {
  24. int i;
  25. for (i = 0; i < 8; i++) {
  26. lcd_colors[i] = WWColorMap_GetLCDColor(color_map, i);
  27. }
  28. return (lcd_colors);
  29. }
  30. int WWColorMap_SetLCDColors(WWColorMap color_map, int * lcd_colors)
  31. {
  32. int i;
  33. for (i = 0; i < 8; i++) {
  34. if (lcd_colors == NULL) {
  35. WWColorMap_SetLCDColor(color_map, i, (i * 2) + ((i == 7) ? 1 : 0));
  36. } else {
  37. WWColorMap_SetLCDColor(color_map, i, lcd_colors[i]);
  38. }
  39. }
  40. return (0);
  41. }
  42. int WWColorMap_GetLCDColor(WWColorMap color_map, int color)
  43. {
  44. return (color_map->lcd_color[color]);
  45. }
  46. int WWColorMap_SetLCDColor(WWColorMap color_map, int color, int lcd_color)
  47. {
  48. return (color_map->lcd_color[color] = lcd_color);
  49. }
  50. /*****************************************************************************/
  51. /* ここまで */
  52. /*****************************************************************************/
  53. /*****************************************************************************/
  54. /* End of File. */
  55. /*****************************************************************************/