1 /* Copyright (c) 2007, Nokia Corporation
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are
8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
13 * * Neither the name of the Nokia Corporation nor the names of its
14 * contributors may be used to endorse or promote products derived from
15 * this software without specific prior written permission.
17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
18 * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
19 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
20 * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
21 * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
22 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
23 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
24 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
25 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
26 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 #include <modest-zoomable.h>
35 * modest_zoomable_set_zoom:
36 * @zoomable: a #ModestZoomable instance
37 * @value: a #gdouble (1.0 is no zoom).
39 * sets the current zoom leven of @zoomable to @value
42 modest_zoomable_set_zoom (ModestZoomable *zoomable,
45 MODEST_ZOOMABLE_GET_IFACE (zoomable)->set_zoom_func (zoomable, value);
49 * modest_zoomable_get_zoom:
50 * @zoomable: a #ModestZoomable instance
52 * obtains the current zoom level of @zoomable.
54 * Returns: a #gdouble (1.0 is no zoom).
57 modest_zoomable_get_zoom (ModestZoomable *zoomable)
59 return MODEST_ZOOMABLE_GET_IFACE (zoomable)->get_zoom_func (zoomable);
63 * modest_zoomable_zoom_plus:
64 * @zoomable: a #ModestZoomable instance
66 * increases the zoom level, if it can. If not
69 * Returns: %TRUE if zoom was increased, %FALSE otherwise
72 modest_zoomable_zoom_plus (ModestZoomable *zoomable)
74 return MODEST_ZOOMABLE_GET_IFACE (zoomable)->zoom_plus_func (zoomable);
78 * modest_zoomable_zoom_minus:
79 * @zoomable: a #ModestZoomable instance
81 * decreases the zoom level, if it can. If not
84 * Returns: %TRUE if zoom was decreased, %FALSE otherwise
87 modest_zoomable_zoom_minus (ModestZoomable *zoomable)
89 return MODEST_ZOOMABLE_GET_IFACE (zoomable)->zoom_minus_func (zoomable);
93 modest_zoomable_base_init (gpointer g_class)
95 static gboolean initialized = FALSE;
98 /* create interface signals here. */
104 modest_zoomable_get_type (void)
106 static GType type = 0;
108 if (G_UNLIKELY(type == 0))
110 static const GTypeInfo info =
112 sizeof (ModestZoomableIface),
113 modest_zoomable_base_init, /* base_init */
114 NULL, /* base_finalize */
115 NULL, /* class_init */
116 NULL, /* class_finalize */
117 NULL, /* class_data */
120 NULL, /* instance_init */
124 type = g_type_register_static (G_TYPE_INTERFACE,
125 "ModestZoomable", &info, 0);