Mercurial > MadButterfly
view src/mbaf/mbapp.c @ 842:76fe4afce640
The inkscape:bbox is defined as the global coordinate system. However, the center.x and center.y must be the coordiante system of the parent group of the SVG entity. Therefore, we need to do coordinate transformation from the global coordination system to the local coordination system.
author | wycc |
---|---|
date | Sat, 18 Sep 2010 21:23:51 +0800 |
parents | 586e50f82c1f |
children | 5b58e74988bc |
line wrap: on
line source
// -*- indent-tabs-mode: t; tab-width: 8; c-basic-offset: 4; -*- // vim: sw=4:ts=8:sts=4 #include <mb.h> #include <mb_af.h> mbaf_t *mbaf_init(const char *module, const char *module_dir) { mbaf_t *app = (mbaf_t *) malloc(sizeof(mbaf_t)); void *rt; rt = backend.init(":0.0", 800, 600); if(rt == NULL) return NULL; sprite_set_search_path(module_dir); app->rt = rt; app->rdman = backend.rdman(rt); app->kbevents = backend.kbevents(rt); app->rootsprite= sprite_load(module,app->rdman, app->rdman->root_coord); if(app->rootsprite == NULL) { backend.free(rt); free(app); return NULL; } rdman_attach_backend(app->rdman, rt); MB_SPRITE_GOTO_SCENE(app->rootsprite, 1); return app; } void mbaf_set_data(mbaf_t *app,void *data) { app->private = (void *) data; } mb_tman_t *mbaf_get_timer(mbaf_t *app) { return backend.tman(app->rt); } void mbaf_loop(mbaf_t *app) { /* * Start handle connections, includes one to X server. * User start to interact with the application. */ backend.loop(app->rt); /* * Clean */ backend.free(app->rt); free(app); }