Exemplo n.º 1
0
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;
}
Exemplo n.º 2
0
static Ret ftk_init_bitmap_factory(void)
{
	ftk_set_bitmap_factory(ftk_bitmap_factory_create());
	quit_if_fail(ftk_default_bitmap_factory(), "Init bitmap factory failed.\n");

	return RET_OK;
}
Exemplo n.º 3
0
static int lua_ftk_default_bitmap_factory(lua_State* L)
{
	FtkBitmapFactory* retv;
	retv = ftk_default_bitmap_factory();
	tolua_pushusertype(L, (FtkBitmapFactory*)retv, "FtkBitmapFactory");

	return 1;
}
Exemplo n.º 4
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;
}
Exemplo n.º 5
0
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);

}
Exemplo n.º 6
0
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;
}
Exemplo n.º 7
0
void ftk_deinit(void)
{
	if(ftk_default_input_method_preeditor() != NULL)
	{
		ftk_input_method_preeditor_destroy(ftk_default_input_method_preeditor());
	}

	if(ftk_default_wnd_manager() != NULL)
	{
		ftk_wnd_manager_destroy(ftk_default_wnd_manager());
	}
	
	if(ftk_default_main_loop() != NULL)
	{
		ftk_main_loop_destroy(ftk_default_main_loop());
	}

	if(ftk_default_sources_manager() != NULL)
	{
		ftk_sources_manager_destroy(ftk_default_sources_manager());
	}

	if(ftk_default_bitmap_factory() != NULL)
	{
		ftk_bitmap_factory_destroy(ftk_default_bitmap_factory());
	}

	if(ftk_default_text_layout() != NULL)
	{
		ftk_text_layout_destroy(ftk_default_text_layout());
	}

	if(ftk_default_display() != NULL)
	{
		ftk_display_destroy(ftk_default_display());
	}

	if(ftk_default_theme() != NULL)
	{
		ftk_theme_destroy(ftk_default_theme());
	}

	if(ftk_shared_canvas() != NULL)
	{
		ftk_canvas_destroy(ftk_shared_canvas());
	}

	if(ftk_default_input_method_manager() != NULL)
	{
		ftk_input_method_manager_destroy(ftk_default_input_method_manager());
	}

	if(ftk_default_config() != NULL)
	{
		ftk_config_destroy(ftk_default_config());
	}

	ftk_platform_deinit();

#ifndef USE_STD_MALLOC
	if(ftk_default_allocator() != NULL)
	{
		ftk_allocator_destroy(ftk_default_allocator());
	}
#endif

	ftk_logd("%s: ftk exit.\n", __func__);

	ftk_clear_globals();

	return;
}