demo_image.c 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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* win = NULL;
  16. char filename[FTK_MAX_PATH+1] = {0};
  17. FTK_INIT(argc, argv);
  18. win = ftk_app_window_create();
  19. ftk_window_set_animation_hint(win, "app_main_window");
  20. ftk_snprintf(filename, FTK_MAX_PATH, "%s/earth.png",
  21. ftk_config_get_test_data_dir(ftk_default_config()));
  22. image = ftk_image_create(win, 0, 0, ftk_widget_width(win)/2, ftk_widget_height(win)/2);
  23. ftk_image_set_image(image,
  24. ftk_bitmap_factory_load(ftk_default_bitmap_factory(), filename));
  25. ftk_snprintf(filename, FTK_MAX_PATH, "%s/png_RGB_tRNS.png",
  26. ftk_config_get_test_data_dir(ftk_default_config()));
  27. image = ftk_image_create(win, 0, 0, ftk_widget_width(win)/2, ftk_widget_height(win)/2);
  28. ftk_image_set_image(image,
  29. ftk_bitmap_factory_load(ftk_default_bitmap_factory(), filename));
  30. ftk_widget_set_attr(image, FTK_ATTR_TRANSPARENT);
  31. ftk_snprintf(filename, FTK_MAX_PATH, "%s/Calculator.png",
  32. ftk_config_get_test_data_dir(ftk_default_config()));
  33. image = ftk_image_create(win, ftk_widget_width(win)/2, 0, ftk_widget_width(win)/2, ftk_widget_height(win)/2);
  34. ftk_image_set_image(image,
  35. ftk_bitmap_factory_load(ftk_default_bitmap_factory(), filename));
  36. ftk_widget_set_attr(image, FTK_ATTR_BG_TILE);
  37. ftk_snprintf(filename, FTK_MAX_PATH, "%s/t8.bmp",
  38. ftk_config_get_test_data_dir(ftk_default_config()));
  39. image = ftk_image_create(win, 0, ftk_widget_height(win)/2, ftk_widget_width(win)/2, ftk_widget_height(win)/2);
  40. ftk_image_set_image(image,
  41. ftk_bitmap_factory_load(ftk_default_bitmap_factory(), filename));
  42. ftk_widget_set_attr(image, FTK_ATTR_BG_CENTER);
  43. ftk_snprintf(filename, FTK_MAX_PATH, "%s/jpeg1.jpg",
  44. ftk_config_get_test_data_dir(ftk_default_config()));
  45. 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);
  46. ftk_image_set_image(image,
  47. ftk_bitmap_factory_load(ftk_default_bitmap_factory(), filename));
  48. ftk_widget_set_attr(image, FTK_ATTR_BG_TILE);
  49. ftk_widget_set_text(win, "image demo");
  50. ftk_widget_show_all(win, 1);
  51. FTK_QUIT_WHEN_WIDGET_CLOSE(win);
  52. FTK_RUN();
  53. return 0;
  54. }