예제 #1
0
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;
}
예제 #2
0
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;
}
예제 #3
0
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));
}
예제 #4
0
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;
}