[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/image.c
From: |
YAMAMOTO Mitsuharu |
Subject: |
[Emacs-diffs] Changes to emacs/src/image.c |
Date: |
Sat, 06 May 2006 06:52:24 +0000 |
Index: emacs/src/image.c
diff -u emacs/src/image.c:1.55 emacs/src/image.c:1.56
--- emacs/src/image.c:1.55 Fri Apr 21 14:07:05 2006
+++ emacs/src/image.c Sat May 6 06:52:24 2006
@@ -2628,7 +2628,7 @@
UNGCPRO;
return 0;
}
- path = cfstring_create_with_string (file);
+ path = cfstring_create_with_utf8_cstring (SDATA (file));
url = CFURLCreateWithFileSystemPath (NULL, path,
kCFURLPOSIXPathStyle, 0);
CFRelease (path);
@@ -7899,6 +7899,8 @@
#else /* !HAVE_GIF */
#ifdef MAC_OS
+static Lisp_Object Qduration;
+
static int
gif_load (f, img)
struct frame *f;
@@ -7920,7 +7922,8 @@
RGBColor bg_color;
int width, height;
XImagePtr ximg;
- TimeValue time;
+ TimeScale time_scale;
+ TimeValue time, duration;
int ino;
CGrafPtr old_port;
GDHandle old_gdh;
@@ -8028,6 +8031,7 @@
image, img->spec);
goto error;
}
+ time_scale = GetMediaTimeScale (media);
specified_bg = image_spec_value (img->spec, QCbackground, NULL);
if (!STRINGP (specified_bg) ||
@@ -8053,7 +8057,7 @@
SetGWorld (old_port, old_gdh);
SetMovieActive (movie, 1);
SetMovieGWorld (movie, ximg, NULL);
- SampleNumToMediaTime (media, ino + 1, &time, NULL);
+ SampleNumToMediaTime (media, ino + 1, &time, &duration);
SetMovieTimeValue (movie, time);
MoviesTask (movie, 0L);
DisposeTrackMedia (media);
@@ -8061,6 +8065,12 @@
DisposeMovie (movie);
if (dh)
DisposeHandle (dh);
+
+ /* Save GIF image extension data for `image-extension-data'.
+ Format is (count IMAGES duration DURATION). */
+ img->data.lisp_val = list4 (Qcount, make_number (nsamples), Qduration,
+ make_float ((double)duration / time_scale));
+
/* Maybe fill in the background field while we have ximg handy. */
if (NILP (image_spec_value (img->spec, QCbackground, NULL)))
IMAGE_BACKGROUND (img, f, ximg);
@@ -8616,6 +8626,11 @@
ADD_IMAGE_TYPE(Qgif);
#endif
+#ifdef MAC_OS
+ Qduration = intern ("duration");
+ staticpro (&Qduration);
+#endif
+
#if defined (HAVE_PNG) || defined (MAC_OS)
Qpng = intern ("png");
staticpro (&Qpng);
- [Emacs-diffs] Changes to emacs/src/image.c,
YAMAMOTO Mitsuharu <=