/src/demos/demo_image.c

http://ftk.googlecode.com/ · C · 74 lines · 59 code · 15 blank · 0 comment · 0 complexity · 957184033908955b47a8398dd178f60b MD5 · raw file

  1. #include "ftk.h"
  2. #ifdef FTK_AS_PLUGIN
  3. #include "ftk_app_demo.h"
  4. FTK_HIDE int FTK_MAIN(int argc, char* argv[]);
  5. FtkApp* ftk_app_demo_image_create()
  6. {
  7. return ftk_app_demo_create(_("image"), ftk_main);
  8. }
  9. #else
  10. #define FTK_HIDE extern
  11. #endif /*FTK_AS_PLUGIN*/
  12. FTK_HIDE int FTK_MAIN(int argc, char* argv[])
  13. {
  14. FtkWidget* image = NULL;
  15. FtkWidget* button = NULL;
  16. FtkWidget* win = NULL;
  17. char filename[FTK_MAX_PATH+1] = {0};
  18. FTK_INIT(argc, argv);
  19. win = ftk_app_window_create();
  20. ftk_window_set_animation_hint(win, "app_main_window");
  21. ftk_snprintf(filename, FTK_MAX_PATH, "%s/earth.png",
  22. ftk_config_get_test_data_dir(ftk_default_config()));
  23. image = ftk_image_create(win, 0, 0, ftk_widget_width(win)/2, ftk_widget_height(win)/2);
  24. ftk_image_set_image(image,
  25. ftk_bitmap_factory_load(ftk_default_bitmap_factory(), filename));
  26. ftk_snprintf(filename, FTK_MAX_PATH, "%s/png_RGB_tRNS.png",
  27. ftk_config_get_test_data_dir(ftk_default_config()));
  28. image = ftk_image_create(win, 0, 0, ftk_widget_width(win)/2, ftk_widget_height(win)/2);
  29. ftk_image_set_image(image,
  30. ftk_bitmap_factory_load(ftk_default_bitmap_factory(), filename));
  31. ftk_widget_set_attr(image, FTK_ATTR_TRANSPARENT);
  32. ftk_snprintf(filename, FTK_MAX_PATH, "%s/Calculator.png",
  33. ftk_config_get_test_data_dir(ftk_default_config()));
  34. image = ftk_image_create(win, ftk_widget_width(win)/2, 0, ftk_widget_width(win)/2, ftk_widget_height(win)/2);
  35. ftk_image_set_image(image,
  36. ftk_bitmap_factory_load(ftk_default_bitmap_factory(), filename));
  37. ftk_widget_set_attr(image, FTK_ATTR_BG_TILE);
  38. ftk_snprintf(filename, FTK_MAX_PATH, "%s/t8.bmp",
  39. ftk_config_get_test_data_dir(ftk_default_config()));
  40. image = ftk_image_create(win, 0, ftk_widget_height(win)/2, ftk_widget_width(win)/2, ftk_widget_height(win)/2);
  41. ftk_image_set_image(image,
  42. ftk_bitmap_factory_load(ftk_default_bitmap_factory(), filename));
  43. ftk_widget_set_attr(image, FTK_ATTR_BG_CENTER);
  44. ftk_snprintf(filename, FTK_MAX_PATH, "%s/jpeg1.jpg",
  45. ftk_config_get_test_data_dir(ftk_default_config()));
  46. image = ftk_image_create(win, ftk_widget_width(win)/2, ftk_widget_height(win)/2, ftk_widget_width(win)/2, ftk_widget_height(win)/2);
  47. ftk_image_set_image(image,
  48. ftk_bitmap_factory_load(ftk_default_bitmap_factory(), filename));
  49. ftk_widget_set_attr(image, FTK_ATTR_BG_TILE);
  50. button = ftk_button_create(win, 10, 10, 200, 50);
  51. ftk_widget_set_text(button, "buton1 on backgruop");
  52. button = ftk_button_create(win, 10, 70, 200, 50);
  53. ftk_widget_set_text(button, "buton2 on backgruop");
  54. ftk_widget_set_text(win, "image demo");
  55. ftk_widget_show_all(win, 1);
  56. FTK_QUIT_WHEN_WIDGET_CLOSE(win);
  57. FTK_RUN();
  58. return 0;
  59. }