12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- #include "ftk_app_demo.h"
- typedef struct _PrivInfo
- {
- char* name;
- FtkMain ftk_main;
- FtkBitmap* icon;
- }PrivInfo;
- static FtkBitmap* ftk_app_demo_get_icon(FtkApp* thiz)
- {
- DECL_PRIV(thiz, priv);
- return_val_if_fail(priv != NULL, NULL);
- return priv->icon;
- }
- static const char* ftk_app_demo_get_name(FtkApp* thiz)
- {
- DECL_PRIV(thiz, priv);
- return_val_if_fail(priv != NULL, NULL);
- return priv->name;
- }
- static Ret ftk_app_demo_run(FtkApp* thiz, int argc, char* argv[])
- {
- DECL_PRIV(thiz, priv);
- return_val_if_fail(priv != NULL, RET_FAIL);
- priv->ftk_main(argc, argv);
- return RET_OK;
- }
- static void ftk_app_demo_destroy(FtkApp* thiz)
- {
- if(thiz != NULL)
- {
- DECL_PRIV(thiz, priv);
- FTK_FREE(priv->name);
- ftk_bitmap_unref(priv->icon);
- FTK_FREE(thiz);
- }
- return;
- }
- FtkApp* ftk_app_demo_create(const char* name, FtkMain ftk_main)
- {
- FtkApp* thiz = FTK_ZALLOC(sizeof(FtkApp) + sizeof(PrivInfo));
- if(thiz != NULL)
- {
- DECL_PRIV(thiz, priv);
- priv->ftk_main = ftk_main;
- priv->name = ftk_strdup(name);
- priv->icon = ftk_theme_load_image(ftk_default_theme(), "flag-32"FTK_STOCK_IMG_SUFFIX);
- thiz->get_icon = ftk_app_demo_get_icon;
- thiz->get_name = ftk_app_demo_get_name;
- thiz->run = ftk_app_demo_run;
- thiz->destroy = ftk_app_demo_destroy;
- }
- return thiz;
- }
|