summaryrefslogtreecommitdiff
path: root/glib
diff options
context:
space:
mode:
Diffstat (limited to 'glib')
-rw-r--r--glib/poppler-movie.cc35
-rw-r--r--glib/poppler-movie.h31
-rw-r--r--glib/reference/poppler-sections.txt4
3 files changed, 65 insertions, 5 deletions
diff --git a/glib/poppler-movie.cc b/glib/poppler-movie.cc
index cb5a2ad0..be1d5184 100644
--- a/glib/poppler-movie.cc
+++ b/glib/poppler-movie.cc
@@ -2,6 +2,7 @@
*
* Copyright (C) 2010 Carlos Garcia Campos <carlosgc@gnome.org>
* Copyright (C) 2008 Hugo Mercier <hmercier31[@]gmail.com>
+ * Copyright (C) 2017 Francesco Poli <invernomuto@paranoici.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -36,6 +37,7 @@ struct _PopplerMovie
gchar *filename;
gboolean need_poster;
gboolean show_controls;
+ PopplerMoviePlayMode mode;
};
struct _PopplerMovieClass
@@ -91,6 +93,21 @@ _poppler_movie_new (Movie *poppler_movie)
movie->show_controls = poppler_movie->getActivationParameters()->showControls;
+ switch (poppler_movie->getActivationParameters()->repeatMode) {
+ case MovieActivationParameters::repeatModeOnce:
+ movie->mode = POPPLER_MOVIE_PLAY_MODE_ONCE;
+ break;
+ case MovieActivationParameters::repeatModeOpen:
+ movie->mode = POPPLER_MOVIE_PLAY_MODE_OPEN;
+ break;
+ case MovieActivationParameters::repeatModeRepeat:
+ movie->mode = POPPLER_MOVIE_PLAY_MODE_REPEAT;
+ break;
+ case MovieActivationParameters::repeatModePalindrome:
+ movie->mode = POPPLER_MOVIE_PLAY_MODE_PALINDROME;
+ break;
+ }
+
return movie;
}
@@ -150,3 +167,21 @@ poppler_movie_show_controls (PopplerMovie *poppler_movie)
return poppler_movie->show_controls;
}
+
+/**
+ * poppler_movie_get_play_mode:
+ * @poppler_movie: a #PopplerMovie
+ *
+ * Returns the play mode of @poppler_movie.
+ *
+ * Return value: a #PopplerMovieRepeatMode.
+ *
+ * Since: 0.54
+ */
+PopplerMoviePlayMode
+poppler_movie_get_play_mode (PopplerMovie *poppler_movie)
+{
+ g_return_val_if_fail (POPPLER_IS_MOVIE (poppler_movie), POPPLER_MOVIE_PLAY_MODE_ONCE);
+
+ return poppler_movie->mode;
+}
diff --git a/glib/poppler-movie.h b/glib/poppler-movie.h
index 9e1bc32b..d76522a3 100644
--- a/glib/poppler-movie.h
+++ b/glib/poppler-movie.h
@@ -2,6 +2,7 @@
*
* Copyright (C) 2010 Carlos Garcia Campos <carlosgc@gnome.org>
* Copyright (C) 2008 Hugo Mercier <hmercier31[@]gmail.com>
+ * Copyright (C) 2017 Francesco Poli <invernomuto@paranoici.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -30,11 +31,31 @@ G_BEGIN_DECLS
#define POPPLER_MOVIE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), POPPLER_TYPE_MOVIE, PopplerMovie))
#define POPPLER_IS_MOVIE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), POPPLER_TYPE_MOVIE))
-
-GType poppler_movie_get_type (void) G_GNUC_CONST;
-const gchar *poppler_movie_get_filename (PopplerMovie *poppler_movie);
-gboolean poppler_movie_need_poster (PopplerMovie *poppler_movie);
-gboolean poppler_movie_show_controls (PopplerMovie *poppler_movie);
+/**
+ * PopplerMoviePlayMode:
+ * @POPPLER_MOVIE_PLAY_MODE_ONCE: the movie should be played once and controls should be closed at the end.
+ * @POPPLER_MOVIE_PLAY_MODE_OPEN: the movie should be played once, but controls should be left open.
+ * @POPPLER_MOVIE_PLAY_MODE_REPEAT: the movie should be played in loop, until manually stopped.
+ * @POPPLER_MOVIE_PLAY_MODE_PALINDROME: the movie should be played forward and backward, forward and backward,
+ * and so forth, until manually stopped.
+ *
+ * Play mode enum values.
+ *
+ * Since: 0.54
+ */
+typedef enum
+{
+ POPPLER_MOVIE_PLAY_MODE_ONCE,
+ POPPLER_MOVIE_PLAY_MODE_OPEN,
+ POPPLER_MOVIE_PLAY_MODE_REPEAT,
+ POPPLER_MOVIE_PLAY_MODE_PALINDROME
+} PopplerMoviePlayMode;
+
+GType poppler_movie_get_type (void) G_GNUC_CONST;
+const gchar *poppler_movie_get_filename (PopplerMovie *poppler_movie);
+gboolean poppler_movie_need_poster (PopplerMovie *poppler_movie);
+gboolean poppler_movie_show_controls (PopplerMovie *poppler_movie);
+PopplerMoviePlayMode poppler_movie_get_play_mode (PopplerMovie *poppler_movie);
G_END_DECLS
diff --git a/glib/reference/poppler-sections.txt b/glib/reference/poppler-sections.txt
index d597c2d4..af1bbba9 100644
--- a/glib/reference/poppler-sections.txt
+++ b/glib/reference/poppler-sections.txt
@@ -555,16 +555,20 @@ poppler_media_get_type
<FILE>poppler-movie</FILE>
<TITLE>PopplerMovie</TITLE>
PopplerMovie
+PopplerMoviePlayMode
poppler_movie_get_filename
poppler_movie_need_poster
poppler_movie_show_controls
+poppler_movie_get_play_mode
<SUBSECTION Standard>
POPPLER_MOVIE
POPPLER_IS_MOVIE
POPPLER_TYPE_MOVIE
+POPPLER_TYPE_MOVIE_PLAY_MODE
<SUBSECTION Private>
poppler_movie_get_type
+poppler_movie_play_mode_get_type
</SECTION>