gnome-mag
zoom-region.h
Go to the documentation of this file.
1 /*
2  * AT-SPI - Assistive Technology Service Provider Interface
3  * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
4  *
5  * Copyright 2001 Sun Microsystems Inc.
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Library General Public
9  * License as published by the Free Software Foundation; either
10  * version 2 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Library General Public License for more details.
16  *
17  * You should have received a copy of the GNU Library General Public
18  * License along with this library; if not, write to the
19  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20  * Boston, MA 02111-1307, USA.
21  */
22 
23 #ifndef ZOOM_REGION_H_
24 #define ZOOM_REGION_H_
25 
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif /* __cplusplus */
30 
31 #include <bonobo/bonobo-object.h>
32 #include "GNOME_Magnifier.h"
33 
34 #define ZOOM_REGION_TYPE (zoom_region_get_type ())
35 #define ZOOM_REGION(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), ZOOM_REGION_TYPE, ZoomRegion))
36 #define ZOOM_REGION_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), ZOOM_REGION_TYPE, ZoomRegionClass))
37 #define IS_ZOOM_REGION(o) (G_TYPE_CHECK__INSTANCE_TYPE ((o), ZOOM_REGION_TYPE))
38 #define IS_ZOOM_REGION_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), ZOOM_REGION_TYPE))
39 #define ZOOM_REGION_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), ZOOM_REGION_TYPE, ZoomRegionClass))
40 
41 typedef GList * (*CoalesceFunc)(GList *, int);
42 
44 
45 typedef struct {
46  BonoboObject parent;
47  BonoboPropertyBag *properties;
48  gboolean invert;
49  gboolean is_managed;
50  gboolean draw_cursor;
51  gboolean cache_source;
52  gchar *smoothing;
53  gchar *object_path;
54  gfloat contrast;
55  gdouble xscale;
56  gdouble yscale;
57  gdouble contrast_r;
58  gdouble contrast_g;
59  gdouble contrast_b;
60  gdouble bright_r;
61  gdouble bright_g;
62  gdouble bright_b;
67  guint32 border_color; /* A-RGB, 8 bits each, MSB==alpha */
68  gint x_align_policy; /* TODO: enums here */
72  /* bounds of viewport, in target magnifier window coords */
78  gboolean timing_output;
80  gboolean exit_magnifier;
81  gboolean poll_mouse;
82 #ifdef ZOOM_REGION_DEBUG
83  gboolean alive;
84 #endif
85 } ZoomRegion;
86 
87 typedef struct {
88  BonoboObjectClass parent_class;
90  DBusGConnection *connection;
92 
93 GType zoom_region_get_type (void);
95 
96 /* D-BUS methods */
97 gboolean impl_dbus_zoom_region_set_mag_factor (ZoomRegion *zoom_region, const gdouble mag_factor_x,
98  const gdouble mag_factor_y);
100 gboolean impl_dbus_zoom_region_set_roi (ZoomRegion *zoom_region, const gint32 **roi);
102 gboolean impl_dbus_zoom_region_mark_dirty (ZoomRegion *zoom_region, gint32 **bounds);
104 gboolean impl_dbus_zoom_region_move_resize (ZoomRegion *zoom_region, const gint32 **viewport);
106 gboolean impl_dbus_zoom_region_set_pointer_pos (ZoomRegion *zoom_region, gint32 mouse_x, gint32 mouse_y);
107 gboolean impl_dbus_zoom_region_set_contrast (ZoomRegion *zoom_region, gdouble R, gdouble G, gdouble B);
109 gboolean impl_dbus_zoom_region_set_brightness (ZoomRegion *zoom_region, gdouble R, gdouble G, gdouble B);
111 gboolean impl_dbus_zoom_region_set_managed (ZoomRegion *zoom_region, gboolean managed);
113 gboolean impl_dbus_zoom_region_set_poll_mouse (ZoomRegion *zoom_region, gboolean poll_mouse);
115 gboolean impl_dbus_zoom_region_set_draw_cursor (ZoomRegion *zoom_region, gboolean draw_cursor);
117 gboolean impl_dbus_zoom_region_set_invert (ZoomRegion *zoom_region, gboolean invert);
119 gboolean impl_dbus_zoom_region_set_smoothscroll (ZoomRegion *zoom_region, gshort smoothscroll);
121 gboolean impl_dbus_zoom_region_set_colorblind (ZoomRegion *zoom_region, gshort colorblind);
123 gboolean impl_dbus_zoom_region_set_smoothing (ZoomRegion *zoom_region, gchar *smoothing);
127 gboolean impl_dbus_zoom_region_set_bordersizes (ZoomRegion *zoom_region, gint32 **bordersizes);
129 gboolean impl_dbus_zoom_region_set_bordercolor (ZoomRegion *zoom_region, guint32 bordercolor);
135 gboolean impl_dbus_zoom_region_set_viewport (ZoomRegion *zoom_region, gint32 **viewport);
137 gboolean impl_dbus_zoom_region_set_timing_test (ZoomRegion *zoom_region, gint32 timing_iterations);
139 gboolean impl_dbus_zoom_region_set_timing_output (ZoomRegion *zoom_region, gboolean timing_output);
141 gboolean impl_dbus_zoom_region_set_timing_pan_rate (ZoomRegion *zoom_region, gint32 timing_pan_rate);
143 gboolean impl_dbus_zoom_region_set_exit_magnifier (ZoomRegion *zoom_region, gboolean exit_magnifier);
145 
146 #ifdef __cplusplus
147 }
148 #endif /* __cplusplus */
149 
150 #endif /* ZOOM_REGION_H_ */