gboolean gtk_mng_view_load_mng_from_memory_remaining (GtkMngView * mng_view, guchar * data_to_eat, guint data_size) { mng_read_pushdata (mng_view->MNG_handle, data_to_eat, data_size, MNG_FALSE); //printf("Calling read\n"); mng_read(mng_view->MNG_handle); //printf("mng_get_totalframes %d\n", mng_get_totalframes (mng_view->MNG_handle)); //printf("mng_get_totallayers %d\n", mng_get_totallayers (mng_view->MNG_handle)); //printf("mng_get_totalplaytime %d\n", mng_get_totalplaytime (mng_view->MNG_handle)); //printf("Iterate chunks\n"); int i = 0; mng_iterate_chunks (mng_view->MNG_handle, 0, myiterchunk); for (i = 0; i < 1000; i++) { //printf("calling iterate i %d\n", i); //printf("out of iterate\n"); } printf("Calling display\n"); //mng_display(mng_view->MNG_handle); //printf("Display over\n"); printf("mng_get_framecount %d\n", mng_get_framecount(mng_view->MNG_handle)); printf("mng_get_layercount %d\n", mng_get_layercount(mng_view->MNG_handle)); printf("mng_get_playtime %d\n", mng_get_playtime(mng_view->MNG_handle)); printf("mng_get_ticks %d\n", mng_get_ticks(mng_view->MNG_handle)); printf("mng_get_starttime %d\n", mng_get_starttime (mng_view->MNG_handle)); printf("mng_get_runtime %d\n", mng_get_runtime (mng_view->MNG_handle)); printf("mng_get_currentframe %d\n", mng_get_currentframe (mng_view->MNG_handle)); printf("mng_get_currentlayer %d\n", mng_get_currentlayer (mng_view->MNG_handle)); printf("mng_get_currentplaytime %d\n", mng_get_currentplaytime (mng_view->MNG_handle)); printf("mng_get_totalframes %d\n", mng_get_totalframes (mng_view->MNG_handle)); printf("mng_get_totallayers %d\n", mng_get_totallayers (mng_view->MNG_handle)); printf("mng_get_totalplaytime %d\n", mng_get_totalplaytime (mng_view->MNG_handle)); return TRUE; }
mng_handle mng_load(char* filename, int *width, int *height) { mng_handle mngh; mng_anim *mng; mng = (mng_anim*)malloc(sizeof(mng_anim)); if (!mng) { iprint(MSG_ERROR, "%s: Unable to allocate memory for MNG data\n", __FUNCTION__); return MNG_NULL; } memset(mng, 0, sizeof(mng_anim)); mngh = mng_initialize(mng, fb_mng_memalloc, fb_mng_memfree, MNG_NULL); if (mngh == MNG_NULL) { iprint(MSG_ERROR, "%s: mng_initialize failed\n", __FUNCTION__); goto freemem_fail; } if (mng_init_callbacks(mngh)) { print_mng_error(mngh, "mng_init_callbacks failed"); goto cleanup_fail; } /* Load the file into memory */ if (!mng_readfile(mngh, filename)) goto cleanup_fail; /* Read and parse the file */ if (mng_read(mngh) != MNG_NOERROR) { /* Do something about it. */ print_mng_error(mngh, "mng_read failed"); goto cleanup_fail; } mng->num_frames = mng_get_totalframes(mngh); *width = mng->canvas_w; *height = mng->canvas_h; return mngh; cleanup_fail: mng_cleanup(&mngh); freemem_fail: free(mng); return MNG_NULL; }
static mng_bool mng_process_mend_callback (mng_handle mng_h, mng_uint32 iIterationsdone, mng_uint32 iIterationsleft) { printf("MEND MEND MEND MEND\n"); printf("iIterationsdone %d\n", iIterationsdone); printf("iIterationsleft %d\n", iIterationsleft); printf("mng_get_framecount %d\n", mng_get_framecount(mng_h)); printf("mng_get_layercount %d\n", mng_get_layercount(mng_h)); printf("mng_get_playtime %d\n", mng_get_playtime(mng_h)); printf("mng_get_ticks %d\n", mng_get_ticks(mng_h)); printf("mng_get_totalframes %d\n", mng_get_totalframes (mng_h)); printf("mng_get_totallayers %d\n", mng_get_totallayers (mng_h)); printf("mng_get_totalplaytime %d\n", mng_get_totalplaytime (mng_h)); }
static mng_bool mng_refresh_callback (mng_handle mng_h, mng_uint32 x, mng_uint32 y, mng_uint32 width, mng_uint32 height) { FUNCTION_ENTRY(); GtkMngView * mng_view; mng_view = GTK_MNG_VIEW (mng_get_userdata (mng_h)); mng_display_resume (mng_h); gtk_widget_queue_draw_area (GTK_WIDGET (mng_get_userdata (mng_h)), x, y, width, height); return MNG_TRUE; if (GTK_WIDGET_REALIZED (mng_view)) { GdkRectangle rectangle; rectangle.x = x; rectangle.y = y; rectangle.width = width; rectangle.height = height; gtk_mng_view_paint (mng_view, &rectangle); } static int bs_count = 0; bs_count++; printf("bs_paint count %d\n", bs_count); printf("mng_get_starttime %d\n", mng_get_starttime (mng_h)); printf("mng_get_runtime %d\n", mng_get_runtime (mng_h)); printf("mng_get_currentframe %d\n", mng_get_currentframe (mng_h)); printf("mng_get_currentlayer %d\n", mng_get_currentlayer (mng_h)); printf("mng_get_currentplaytime %d\n", mng_get_currentplaytime (mng_h)); printf("mng_get_totalframes %d\n", mng_get_totalframes (mng_h)); printf("mng_get_totallayers %d\n", mng_get_totallayers (mng_h)); printf("mng_get_totalplaytime %d\n", mng_get_totalplaytime (mng_h)); FUNCTION_EXIT(); return MNG_TRUE; }