WonxDisplay.c 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /*****************************************************************************/
  2. /* ここから */
  3. /*****************************************************************************/
  4. #include "WonxDisplayP.h"
  5. /*****************************************************************************/
  6. /* メンバ関数の定義 */
  7. /*****************************************************************************/
  8. XDisplay WonxDisplay_GetXDisplay(WonxDisplay wonx_display)
  9. { return (wonx_display->x_display); }
  10. WWDisplay WonxDisplay_GetWWDisplay(WonxDisplay wonx_display)
  11. { return (wonx_display->ww_display); }
  12. static XDisplay WonxDisplay_SetXDisplay(WonxDisplay wonx_d, XDisplay xd)
  13. { return (wonx_d->x_display = xd); }
  14. static WWDisplay WonxDisplay_SetWWDisplay(WonxDisplay wonx_d, WWDisplay wd)
  15. { return (wonx_d->ww_display = wd); }
  16. WonxDisplay WonxDisplay_Create(int x_width, int x_height,
  17. int ww_lcd_panel_width, int ww_lcd_panel_height,
  18. int ww_screen_width, int ww_screen_height)
  19. {
  20. WonxDisplay wonx_display;
  21. WWDisplay ww_display;
  22. XDisplay x_display;
  23. wonx_display = (WonxDisplay)malloc(sizeof(_WonxDisplay));
  24. if (wonx_display == NULL)
  25. Error("WonxDisplay_Create", "Cannot allocate memory.");
  26. ww_display = WWDisplay_Create(ww_lcd_panel_width, ww_lcd_panel_height,
  27. ww_screen_width, ww_screen_height);
  28. if (ww_display == NULL)
  29. Error("WonxDisplay_Create", "Cannot create WonderWitch display.");
  30. WonxDisplay_SetWWDisplay(wonx_display, ww_display);
  31. x_display = XDisplay_Create(x_width, x_height);
  32. if (x_display == NULL)
  33. Error("WonxDisplay_Create", "Cannot create X display.");
  34. WonxDisplay_SetXDisplay(wonx_display, x_display);
  35. return (wonx_display);
  36. }
  37. int WonxDisplay_Flush(WonxDisplay wonx_display)
  38. {
  39. XDisplay x_display;
  40. WWDisplay ww_display;
  41. WWLCDPanel ww_lcd_panel;
  42. x_display = WonxDisplay_GetXDisplay(wonx_display);
  43. ww_display = WonxDisplay_GetWWDisplay(wonx_display);
  44. if (XDisplay_GetLCDDraw(x_display)) {
  45. WWDisplay_DrawLCDPanel(ww_display);
  46. ww_lcd_panel = WWDisplay_GetLCDPanel(ww_display);
  47. XDisplay_DrawLCDWindow(x_display, ww_lcd_panel);
  48. }
  49. return (0);
  50. }
  51. /*****************************************************************************/
  52. /* ここまで */
  53. /*****************************************************************************/
  54. /*****************************************************************************/
  55. /* End of File. */
  56. /*****************************************************************************/