main.c 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. #include "u8g2.h"
  2. #include <stdio.h>
  3. u8g2_t u8g2;
  4. void stdout_string(const char *s)
  5. {
  6. printf("%s", s);
  7. }
  8. int main(void)
  9. {
  10. int x, y;
  11. int k;
  12. //u8g2_SetupBuffer_SDL_240x160(&u8g2, &u8g2_cb_r0);
  13. u8g2_SetupBuffer_SDL_128x64(&u8g2, &u8g2_cb_r0);
  14. //u8x8_ConnectBitmapToU8x8(u8g2_GetU8x8(&u8g2)); /* connect to bitmap */
  15. u8x8_InitDisplay(u8g2_GetU8x8(&u8g2));
  16. u8x8_SetPowerSave(u8g2_GetU8x8(&u8g2), 0);
  17. u8g2_SetFont(&u8g2, u8g2_font_helvB18_tr);
  18. x = 30;
  19. y = 35;
  20. for(;;)
  21. {
  22. #ifdef U8G2_WITH_HVLINE_COUNT
  23. u8g2.hv_cnt = 0UL;
  24. #endif /* U8G2_WITH_HVLINE_COUNT */
  25. u8g2_ClearBuffer(&u8g2);
  26. u8g2_SetFontDirection(&u8g2, 0);
  27. u8g2_DrawStr(&u8g2, x, y, "A");
  28. u8g2_SetFontDirection(&u8g2, 1);
  29. u8g2_DrawStr(&u8g2, x, y, "a");
  30. u8g2_SetFontDirection(&u8g2, 2);
  31. u8g2_DrawStr(&u8g2, x, y, "a");
  32. u8g2_SetFontDirection(&u8g2, 3);
  33. u8g2_DrawStr(&u8g2, x, y, "a");
  34. u8g2_DrawHVLine(&u8g2, u8g2.user_x0, u8g2.user_y0, 1, 0);
  35. u8g2_DrawHVLine(&u8g2, u8g2.user_x0, u8g2.user_y1-1, 1, 0);
  36. u8g2_DrawHVLine(&u8g2, u8g2.user_x1-1, u8g2.user_y1-1, 1, 0);
  37. u8g2_DrawHVLine(&u8g2, u8g2.user_x1-1, u8g2.user_y0, 1, 0);
  38. //u8g2_DrawFilledEllipse(&u8g2, x, y, 23, 27, U8G2_DRAW_UPPER_LEFT | U8G2_DRAW_LOWER_LEFT);
  39. u8g2_SendBuffer(&u8g2);
  40. /*
  41. u8g2_FirstPage(&u8g2);
  42. i = 0;
  43. do
  44. {
  45. u8g2_SetFontDirection(&u8g2, 0);
  46. u8g2_DrawStr(&u8g2, x, y, "ABC");
  47. u8g2_SetFontDirection(&u8g2, 1);
  48. u8g2_DrawStr(&u8g2, x, y, "abc");
  49. u8g2_SetFontDirection(&u8g2, 2);
  50. u8g2_DrawStr(&u8g2, x, y, "abc");
  51. u8g2_SetFontDirection(&u8g2, 3);
  52. u8g2_DrawStr(&u8g2, x, y, "abc");
  53. if ( i == 1 )
  54. {
  55. u8g2_DrawHVLine(&u8g2, u8g2.user_x0, u8g2.user_y0, 1, 0);
  56. u8g2_DrawHVLine(&u8g2, u8g2.user_x0, u8g2.user_y1-1, 1, 0);
  57. u8g2_DrawHVLine(&u8g2, u8g2.user_x1-1, u8g2.user_y1-1, 1, 0);
  58. u8g2_DrawHVLine(&u8g2, u8g2.user_x1-1, u8g2.user_y0, 1, 0);
  59. }
  60. i++;
  61. } while( u8g2_NextPage(&u8g2) );
  62. */
  63. #ifdef U8G2_WITH_HVLINE_COUNT
  64. printf("hv cnt: %ld\n", u8g2.hv_cnt);
  65. #endif /* U8G2_WITH_HVLINE_COUNT */
  66. do
  67. {
  68. k = u8g_sdl_get_key();
  69. } while( k < 0 );
  70. if ( k == 273 ) y -= 7;
  71. if ( k == 274 ) y += 7;
  72. if ( k == 276 ) x -= 7;
  73. if ( k == 275 ) x += 7;
  74. if ( k == 'e' ) y -= 1;
  75. if ( k == 'x' ) y += 1;
  76. if ( k == 's' ) x -= 1;
  77. if ( k == 'd' ) x += 1;
  78. if ( k == 'q' ) break;
  79. if ( k == 'c' )
  80. u8g2_WriteBufferPBM(&u8g2, stdout_string);
  81. if ( k == 'b' )
  82. u8g2_WriteBufferXBM(&u8g2, stdout_string);
  83. //if ( k == 't' )
  84. // u8x8_SaveBitmapTGA(u8g2_GetU8x8(&u8g2), "screenshot.tga");
  85. }
  86. //u8x8_Set8x8Font(u8g2_GetU8x8(&u8g2), bdf_font);
  87. //u8x8_Draw8x8String(u8g2_GetU8x8(&u8g2), 0, 0, "Hello World!");
  88. return 0;
  89. }