EvLinkDest * ev_link_dest_new_xyz (gint page, gdouble left, gdouble top, gdouble zoom, gboolean change_left, gboolean change_top, gboolean change_zoom) { EvDestChange change = 0; if (change_left) change |= EV_DEST_CHANGE_LEFT; if (change_top) change |= EV_DEST_CHANGE_TOP; if (change_zoom) change |= EV_DEST_CHANGE_ZOOM; return EV_LINK_DEST (g_object_new (EV_TYPE_LINK_DEST, "page", page, "type", EV_LINK_DEST_TYPE_XYZ, "left", left, "top", top, "zoom", zoom, "change", change, NULL)); }
EvLinkDest * ev_link_dest_new_page_label (const gchar *page_label) { return EV_LINK_DEST (g_object_new (EV_TYPE_LINK_DEST, "page_label", page_label, "type", EV_LINK_DEST_TYPE_PAGE_LABEL, NULL)); }
EvLinkDest * ev_link_dest_new_named (const gchar *named_dest) { return EV_LINK_DEST (g_object_new (EV_TYPE_LINK_DEST, "named", named_dest, "type", EV_LINK_DEST_TYPE_NAMED, NULL)); }
EvLinkDest * ev_link_dest_new_fit (gint page) { return EV_LINK_DEST (g_object_new (EV_TYPE_LINK_DEST, "page", page, "type", EV_LINK_DEST_TYPE_FIT, NULL)); }
EvLinkDest * ev_link_dest_new_hlink(const gchar* hlink,gint page) { return EV_LINK_DEST(g_object_new(EV_TYPE_LINK_DEST, "named",hlink, "page",page, "type", EV_LINK_DEST_TYPE_HLINK, NULL)); }
static void ev_link_dest_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *param_spec) { EvLinkDest *self; self = EV_LINK_DEST (object); switch (prop_id) { case PROP_TYPE: g_value_set_enum (value, self->priv->type); break; case PROP_PAGE: g_value_set_int (value, self->priv->page); break; case PROP_TOP: g_value_set_double (value, self->priv->top); break; case PROP_LEFT: g_value_set_double (value, self->priv->left); break; case PROP_BOTTOM: g_value_set_double (value, self->priv->bottom); break; case PROP_RIGHT: g_value_set_double (value, self->priv->left); break; case PROP_ZOOM: g_value_set_double (value, self->priv->zoom); break; case PROP_CHANGE: g_value_set_uint (value, self->priv->change); break; case PROP_NAMED: g_value_set_string (value, self->priv->named); break; case PROP_PAGE_LABEL: g_value_set_string (value, self->priv->page_label); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, param_spec); break; } }
EvLinkDest * ev_link_dest_new_fitv (gint page, gdouble left, gboolean change_left) { EvDestChange change = 0; if (change_left) change |= EV_DEST_CHANGE_LEFT; return EV_LINK_DEST (g_object_new (EV_TYPE_LINK_DEST, "page", page, "type", EV_LINK_DEST_TYPE_FITV, "left", left, "change", change, NULL)); }
EvLinkDest * ev_link_dest_new_fith (gint page, gdouble top, gboolean change_top) { EvDestChange change = 0; if (change_top) change |= EV_DEST_CHANGE_TOP; return EV_LINK_DEST (g_object_new (EV_TYPE_LINK_DEST, "page", page, "type", EV_LINK_DEST_TYPE_FITH, "top", top, "change", change, NULL)); }
static void ev_link_dest_finalize (GObject *object) { EvLinkDestPrivate *priv; priv = EV_LINK_DEST (object)->priv; if (priv->named) { g_free (priv->named); priv->named = NULL; } if (priv->page_label) { g_free (priv->page_label); priv->page_label = NULL; } G_OBJECT_CLASS (ev_link_dest_parent_class)->finalize (object); }
EvLinkDest * ev_link_dest_new_fitr (gint page, gdouble left, gdouble bottom, gdouble right, gdouble top) { EvDestChange change = EV_DEST_CHANGE_TOP | EV_DEST_CHANGE_LEFT; return EV_LINK_DEST (g_object_new (EV_TYPE_LINK_DEST, "page", page, "type", EV_LINK_DEST_TYPE_FITR, "left", left, "bottom", bottom, "right", right, "top", top, "change", change, NULL)); }