FTK_HIDE int FTK_MAIN(int argc, char* argv[]) { FtkWidget* image = NULL; FtkWidget* win = NULL; char filename[FTK_MAX_PATH+1] = {0}; FTK_INIT(argc, argv); win = ftk_app_window_create(); ftk_window_set_animation_hint(win, "app_main_window"); ftk_snprintf(filename, FTK_MAX_PATH, "%s/earth.png", ftk_config_get_test_data_dir(ftk_default_config())); image = ftk_image_create(win, 0, 0, ftk_widget_width(win)/2, ftk_widget_height(win)/2); ftk_image_set_image(image, ftk_bitmap_factory_load(ftk_default_bitmap_factory(), filename)); ftk_snprintf(filename, FTK_MAX_PATH, "%s/png_RGB_tRNS.png", ftk_config_get_test_data_dir(ftk_default_config())); image = ftk_image_create(win, 0, 0, ftk_widget_width(win)/2, ftk_widget_height(win)/2); ftk_image_set_image(image, ftk_bitmap_factory_load(ftk_default_bitmap_factory(), filename)); ftk_widget_set_attr(image, FTK_ATTR_TRANSPARENT); ftk_snprintf(filename, FTK_MAX_PATH, "%s/Calculator.png", ftk_config_get_test_data_dir(ftk_default_config())); image = ftk_image_create(win, ftk_widget_width(win)/2, 0, ftk_widget_width(win)/2, ftk_widget_height(win)/2); ftk_image_set_image(image, ftk_bitmap_factory_load(ftk_default_bitmap_factory(), filename)); ftk_widget_set_attr(image, FTK_ATTR_BG_TILE); ftk_snprintf(filename, FTK_MAX_PATH, "%s/t8.bmp", ftk_config_get_test_data_dir(ftk_default_config())); image = ftk_image_create(win, 0, ftk_widget_height(win)/2, ftk_widget_width(win)/2, ftk_widget_height(win)/2); ftk_image_set_image(image, ftk_bitmap_factory_load(ftk_default_bitmap_factory(), filename)); ftk_widget_set_attr(image, FTK_ATTR_BG_CENTER); ftk_snprintf(filename, FTK_MAX_PATH, "%s/jpeg1.jpg", ftk_config_get_test_data_dir(ftk_default_config())); 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); ftk_image_set_image(image, ftk_bitmap_factory_load(ftk_default_bitmap_factory(), filename)); ftk_widget_set_attr(image, FTK_ATTR_BG_TILE); ftk_widget_set_text(win, "image demo"); ftk_widget_show_all(win, 1); FTK_QUIT_WHEN_WIDGET_CLOSE(win); FTK_RUN(); return 0; }
static FtkBitmap* ftk_app_music_get_icon(FtkApp* thiz) { DECL_PRIV(thiz, priv); const char* name="music.png"; char file_name[FTK_MAX_PATH + 1] = {0}; return_val_if_fail(priv != NULL, NULL); if(priv->icon != NULL) return priv->icon; snprintf(file_name, FTK_MAX_PATH, "%s/icons/%s", APP_DATA_DIR, name); priv->icon = ftk_bitmap_factory_load(ftk_default_bitmap_factory(), file_name); if(priv->icon != NULL) return priv->icon; snprintf(file_name, FTK_MAX_PATH, "%s/icons/%s", APP_LOCAL_DATA_DIR, name); priv->icon = ftk_bitmap_factory_load(ftk_default_bitmap_factory(), file_name); return priv->icon; }
static void _app_music_create_button(FtkWidget *win, int x, int id, const char *icons) { FtkGc gc = {0}; char temp[100]; char path[FTK_MAX_PATH+1] = {0}; FtkWidget* button = NULL; FtkBitmap* bitmap_normal = NULL; FtkBitmap* bitmap_active = NULL; FtkBitmap* bitmap_focus = NULL; gc.mask = FTK_GC_BITMAP; sprintf(temp, "icons/%s_normal.png", icons); bitmap_normal = ftk_bitmap_factory_load(ftk_default_bitmap_factory(), ftk_translate_path(temp, path)); sprintf(temp, "icons/%s_pressed.png", icons); bitmap_active = ftk_bitmap_factory_load(ftk_default_bitmap_factory(), ftk_translate_path(temp, path)); sprintf(temp, "icons/%s_selected.png", icons); bitmap_focus = ftk_bitmap_factory_load(ftk_default_bitmap_factory(), ftk_translate_path(temp, path)); button = ftk_button_create(win, x, 170, 68, 68); ftk_widget_set_id(button, id); ftk_button_set_clicked_listener(button, ftk_music_on_button_clicked, win); gc.bitmap = bitmap_normal; ftk_widget_set_gc(button, FTK_WIDGET_NORMAL, &gc); gc.bitmap = bitmap_focus; ftk_widget_set_gc(button, FTK_WIDGET_FOCUSED, &gc); gc.bitmap = bitmap_active; ftk_widget_set_gc(button, FTK_WIDGET_ACTIVE, &gc); ftk_bitmap_unref(bitmap_normal); ftk_bitmap_unref(bitmap_active); ftk_bitmap_unref(bitmap_focus); }
int main(int argc, char* argv[]) { int i = 0; int j = 0; int width = 0; int height = 0; FtkGc gc = {0}; FtkWidget* win = NULL; FtkWidget* button = NULL; ftk_init(argc, argv); width = ftk_display_width(ftk_default_display()); height = ftk_display_height(ftk_default_display()); gc.mask = FTK_GC_BITMAP; win = ftk_window_create(0, 0, width, height); for(i = 0; i < height/80; i++) { for(j = 0; j < width/80; j++) { gc.bitmap = ftk_bitmap_factory_load(ftk_default_bitmap_factory(), pngs[i + 1]); button = ftk_button_create(1000, j * 80, i * 80, ftk_bitmap_width(gc.bitmap), ftk_bitmap_height(gc.bitmap)); ftk_widget_set_gc(button, FTK_WIDGET_NORMAL, &gc); ftk_widget_set_gc(button, FTK_WIDGET_FOCUSED, &gc); ftk_widget_append_child(win, button); ftk_widget_show(button, 1); ftk_bitmap_unref(gc.bitmap); if(i == 0 && j == 0) { ftk_button_set_clicked_listener(button, button_clicked, NULL); ftk_button_set_text(button, "Quit"); } } } ftk_window_set_title(win, "button demo"); ftk_widget_show(win, 1); ftk_run(); return 0; }
int main(int argc, char* argv[]) { FtkColor c = {0}; FtkBitmap* bitmap = NULL; FtkBitmapFactory* f = NULL; ftk_set_allocator(ftk_allocator_default_create()); if(argv[1] != NULL) { f = ftk_bitmap_factory_create(); bitmap = ftk_bitmap_factory_load(f, argv[1]); c = ftk_bitmap_get_pixel(bitmap, 0, 0); ftk_logi("r=%02x g=%02x b=%02x a=%02x\n", c.r, c.g, c.b, c.a); ftk_bitmap_unref(bitmap); ftk_bitmap_factory_destroy(f); } ftk_bitmap_auto_test(); return 0; }