WWColorMap.c 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  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) Error("WWColorMap_Create", "Cannot allocate memory");
  14. WWColorMap_SetLCDColors(color_map, lcd_colors);
  15. return (color_map);
  16. }
  17. WWColorMap WWColorMap_Destroy(WWColorMap color_map)
  18. {
  19. if (color_map == NULL) return (NULL);
  20. free(color_map);
  21. return (NULL);
  22. }
  23. int * WWColorMap_GetLCDColors(WWColorMap color_map, int * lcd_colors)
  24. {
  25. int i;
  26. for (i = 0; i < 8; i++) {
  27. lcd_colors[i] = WWColorMap_GetLCDColor(color_map, i);
  28. }
  29. return (lcd_colors);
  30. }
  31. int WWColorMap_SetLCDColors(WWColorMap color_map, int * lcd_colors)
  32. {
  33. int i;
  34. for (i = 0; i < 8; i++) {
  35. if (lcd_colors == NULL) {
  36. WWColorMap_SetLCDColor(color_map, i, (i * 2) + ((i == 7) ? 1 : 0));
  37. } else {
  38. WWColorMap_SetLCDColor(color_map, i, lcd_colors[i]);
  39. }
  40. }
  41. return (0);
  42. }
  43. int WWColorMap_GetLCDColor(WWColorMap color_map, int color)
  44. {
  45. return (color_map->lcd_color[color]);
  46. }
  47. int WWColorMap_SetLCDColor(WWColorMap color_map, int color, int lcd_color)
  48. {
  49. return (color_map->lcd_color[color] = lcd_color);
  50. }
  51. int WWColorMap_PrintData(WWColorMap c, FILE * f)
  52. {
  53. int i;
  54. fprintf(f, "\n");
  55. for (i = 0; i < 8; i++) {
  56. fprintf(f, "colormap :\tcolor[%d] = %d\n",
  57. i, WWColorMap_GetLCDColor(c, i));
  58. }
  59. fflush(f);
  60. return (0);
  61. }
  62. /*****************************************************************************/
  63. /* ここまで */
  64. /*****************************************************************************/
  65. /*****************************************************************************/
  66. /* End of File. */
  67. /*****************************************************************************/