コード例 #1
0
ファイル: gtk-mng-view.c プロジェクト: AlexKordic/sandbox
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_render.c プロジェクト: kissthink/fbsplash
mng_retcode mng_render_proportional(mng_handle mngh, int progress)
{
	mng_anim *mng = mng_get_userdata(mngh);
	mng_retcode ret = MNG_NOERROR;
	int frame_num, current_frame;

	frame_num = ((progress * mng->num_frames) / FBSPL_PROGRESS_MAX) + 1;
	if (!mng->displayed_first) {
		ret = mng_display(mngh);
		mng->displayed_first = 1;
	}

	if (mng->num_frames == 0 && mng->displayed_first)
		return MNG_NOERROR;

	if (frame_num > mng->num_frames)
		frame_num = mng->num_frames;

	current_frame = mng_get_currentframe(mngh);
	if (current_frame == frame_num)
		return ret;

	/* Don't bother freezing if the next frame is just n+1. mng_display_resume
	 * will do this case by default, and it saves us from the horrid hack
	 * below.
	 */
	if (frame_num != current_frame + 1) {
		mng_display_freeze(mngh);

		/* XXX: hack! workaround what seems to be a bug in libmng - it won't
		 * actually repaint the canvas if you wind an animation "forwards"
		 * using goframe, only backwards, so go to the end of the animation first.
		 */

		mng_display_goframe(mngh, mng->num_frames);
		if (frame_num != mng->num_frames)
			mng_display_goframe(mngh, frame_num);
	}

	ret = mng_display_resume(mngh);

	if (ret == MNG_NEEDTIMERWAIT || ret == MNG_NOERROR)
		return ret;

	print_mng_error(mngh, "mng_display failed");

	return ret;
}
コード例 #3
0
ファイル: gtk-mng-view.c プロジェクト: AlexKordic/sandbox
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;
}