X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;ds=sidebyside;f=libdocument%2Fev-document-transition.c;h=495b1b9625451ccc955c0ab658038df5ffbd58f7;hb=0526caefb3e35fe432e40fb9503d370907c9ef28;hp=274da7c0fce54c52044c9e8958677a6eb21d4cf1;hpb=13a06349251874bd35d2f03c3fc93217cee749a2;p=evince.git diff --git a/libdocument/ev-document-transition.c b/libdocument/ev-document-transition.c index 274da7c0..495b1b96 100644 --- a/libdocument/ev-document-transition.c +++ b/libdocument/ev-document-transition.c @@ -18,26 +18,14 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. */ +#include #include "ev-document-transition.h" -GType -ev_document_transition_get_type (void) -{ - static GType type = 0; - - if (G_UNLIKELY (type == 0)) { - const GTypeInfo our_info = { - sizeof (EvDocumentTransitionIface), - NULL, - NULL, - }; - - type = g_type_register_static (G_TYPE_INTERFACE, - "EvDocumentTransition", - &our_info, (GTypeFlags)0); - } +EV_DEFINE_INTERFACE (EvDocumentTransition, ev_document_transition, 0) - return type; +static void +ev_document_transition_class_init (EvDocumentTransitionIface *klass) +{ } gdouble @@ -52,4 +40,18 @@ ev_document_transition_get_page_duration (EvDocumentTransition *document_trans, return -1; } +EvTransitionEffect * +ev_document_transition_get_effect (EvDocumentTransition *document_trans, + gint page) +{ + EvDocumentTransitionIface *iface = EV_DOCUMENT_TRANSITION_GET_IFACE (document_trans); + EvTransitionEffect *effect = NULL; + + if (iface->get_effect) + effect = iface->get_effect (document_trans, page); + if (!effect) + return ev_transition_effect_new (EV_TRANSITION_EFFECT_REPLACE, NULL); + + return effect; +}