WWColorMap.c 2.4 KB

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