diff options
Diffstat (limited to 'glib')
-rw-r--r-- | glib/poppler-movie.cc | 35 | ||||
-rw-r--r-- | glib/poppler-movie.h | 31 | ||||
-rw-r--r-- | glib/reference/poppler-sections.txt | 4 |
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> |