/src/test/theme_test.c

http://ftk.googlecode.com/ · C · 52 lines · 46 code · 6 blank · 0 comment · 11 complexity · 3561b1616b9e94cf52a14be7eb1701bf MD5 · raw file

  1. #include "ftk.h"
  2. #include "ftk_theme.h"
  3. const char* xml = "\
  4. <theme name=\"android\" >\
  5. <entry bg[normal]=\"ff00ffff\" \
  6. bg[focused]=\"ff01ffff\" \
  7. bg[active]=\"ff02ffff\" \
  8. bg[disable]=\"ff03a899\" \
  9. bg_image[normal]=\"Acrobat.png\" \
  10. bg_image[focused]=\"Chat.png\" \
  11. bg_image[active]=\"Flickr.png\" \
  12. bg_image[disable]=\"Flickr.png\"\
  13. fg_image[normal]=\"fAcrobat.png\" \
  14. fg_image[focused]=\"fChat.png\" \
  15. fg_image[active]=\"fFlickr.png\" \
  16. fg_image[disable]=\"fFlickr.png\"\
  17. fg[normal]=\"ff000000\" \
  18. fg[focused]=\"ff010000\" \
  19. fg[active]=\"ff020000\" \
  20. fg[disable]=\"ff030000\" \
  21. bd[normal]=\"ff000000\" \
  22. bd[focused]=\"ff010000\"\
  23. bd[active]=\"ff020000\" \
  24. bd[disable]=\"ff030000\" />\
  25. </theme>";
  26. int main(int argc, char* argv[])
  27. {
  28. FtkColor c = {0};
  29. FtkTheme* thiz = NULL;
  30. FtkWidgetState state = FTK_WIDGET_NORMAL;
  31. FtkWidgetType type = FTK_ENTRY;
  32. ftk_set_allocator(ftk_allocator_default_create());
  33. thiz = ftk_theme_create(0);
  34. assert(ftk_theme_parse_data(thiz, xml, strlen(xml)) == RET_OK);
  35. for(; state < FTK_WIDGET_STATE_NR; state++)
  36. {
  37. c = ftk_theme_get_bg_color(thiz, type, state);
  38. assert(c.a == 0xff && c.r == state);
  39. c = ftk_theme_get_fg_color(thiz, type, state);
  40. assert(c.a == 0xff && c.r == state);
  41. c = ftk_theme_get_border_color(thiz, type, state);
  42. assert(c.a == 0xff && c.r == state);
  43. }
  44. ftk_theme_destroy(thiz);
  45. return 0;
  46. }