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=cc3f21efc8104182171c9300facc16d9a79177ef;hp=a5a5b244493e0542c1d6e3f7543889e12f8f74de;hpb=1af6600934d1f723e5b492b8322e52a1144fb0af;p=evince.git diff --git a/libdocument/ev-document-transition.c b/libdocument/ev-document-transition.c index a5a5b244..495b1b96 100644 --- a/libdocument/ev-document-transition.c +++ b/libdocument/ev-document-transition.c @@ -21,24 +21,11 @@ #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 @@ -53,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; +}