Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef MAGNIFIER_H_
00024 #define MAGNIFIER_H_
00025
00026 #ifdef __cplusplus
00027 extern "C" {
00028 #endif
00029
00030 #include "GNOME_Magnifier.h"
00031
00032 #include <glib.h>
00033
00034 #include <gdk/gdk.h>
00035
00036 #include <bonobo/bonobo-object.h>
00037 #include <bonobo/bonobo-property-bag.h>
00038
00039 #include <login-helper/login-helper.h>
00040
00041 #include <dbus/dbus-glib.h>
00042
00043 #define MAGNIFIER_TYPE (magnifier_get_type ())
00044 #define MAGNIFIER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), MAGNIFIER_TYPE, Magnifier))
00045 #define MAGNIFIER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), MAGNIFIER_TYPE, MagnifierClass))
00046 #define IS_MAGNIFIER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), MAGNIFIER_TYPE))
00047 #define IS_MAGNIFIER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), MAGNIFIER_TYPE))
00048 #define MAGNIFIER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), MAGNIFIER_TYPE, MagnifierClass))
00049
00050 #define MAGNIFIER_OAFIID "OAFIID:GNOME_Magnifier_Magnifier:0.9"
00051
00052 typedef struct _MagnifierPrivate MagnifierPrivate;
00053
00054 typedef struct {
00055 gint32 x1;
00056 gint32 y1;
00057 gint32 x2;
00058 gint32 y2;
00059 } RectBounds;
00060
00061 typedef struct {
00062 gint32 x;
00063 gint32 y;
00064 } Point;
00065
00066 typedef struct {
00067 BonoboObject parent;
00068 BonoboPropertyBag *property_bag;
00069 GdkDisplay *source_display;
00070 GdkDisplay *target_display;
00071 gchar *source_display_name;
00072 gchar *target_display_name;
00073 int source_screen_num;
00074 int target_screen_num;
00075 GList *zoom_regions;
00076 GList *zoom_regions_dbus;
00077 gboolean source_initialized;
00078 gint crosswire_size;
00079 gint crosswire_length;
00080 guint32 crosswire_color;
00081 gboolean crosswire_clip;
00082 gchar *cursor_set;
00083 gint cursor_size_x;
00084 gint cursor_size_y;
00085 guint32 cursor_color;
00086 float cursor_scale_factor;
00087 GNOME_Magnifier_RectBounds source_bounds;
00088 GNOME_Magnifier_RectBounds target_bounds;
00089 GNOME_Magnifier_Point cursor_hotspot;
00090 MagnifierPrivate *priv;
00091 } Magnifier;
00092
00093 typedef struct {
00094 BonoboObjectClass parent_class;
00095 POA_GNOME_Magnifier_Magnifier__epv epv;
00096 DBusGConnection *connection;
00097 } MagnifierClass;
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148 typedef struct timing {
00149 GTimer *process;
00150 GTimer *frame;
00151 GTimer *scale;
00152 GTimer *idle;
00153 gdouble scale_val;
00154 gdouble idle_val;
00155 gdouble frame_val;
00156 int dx;
00157 int dy;
00158 gdouble scale_total;
00159 gdouble idle_total;
00160 gdouble frame_total;
00161 int dx_total;
00162 int dy_total;
00163 long update_pixels_total;
00164 long num_scale_samples;
00165 long num_idle_samples;
00166 long num_frame_samples;
00167 long num_line_samples;
00168 gdouble last_frame_val;
00169 int last_dy;
00170 } TimingStruct;
00171
00172 TimingStruct mag_timing;
00173
00174 GdkDrawable *magnifier_get_cursor (Magnifier *magnifier);
00175 GType magnifier_get_type (void);
00176 GdkWindow *magnifier_get_root (Magnifier *magnifier);
00177 Magnifier *magnifier_new (gboolean override_redirect);
00178 void magnifier_notify_damage (Magnifier *magnifier,
00179 GdkRectangle *rect);
00180 void magnifier_set_cursor_from_pixbuf (Magnifier *magnifier,
00181 GdkPixbuf *pointer_pixbuf);
00182 void magnifier_set_cursor_pixmap_by_name (Magnifier *magnifier,
00183 const gchar *cursor_name,
00184 gboolean source_fallback);
00185 void magnifier_transform_cursor (Magnifier *magnifier);
00186 void magnifier_zoom_regions_update_pointer (Magnifier *magnifier);
00187 gboolean magnifier_full_screen_capable (Magnifier *magnifier);
00188
00189
00190 gboolean impl_dbus_magnifier_full_screen_capable (Magnifier *magnifier);
00191 gboolean impl_dbus_magnifier_hide_cursor (Magnifier *magnifier);
00192 gboolean impl_dbus_magnifier_show_cursor (Magnifier *magnifier);
00193 gboolean impl_dbus_magnifier_support_colorblind_filters (Magnifier *magnifier);
00194 gchar* impl_dbus_magnifier_create_zoom_region (Magnifier *magnifier, const double zx, const double zy,
00195 const gint32 **roi, const gint32 **viewport);
00196 gchar** impl_dbus_magnifier_get_zoom_regions (Magnifier *magnifier);
00197 gboolean impl_dbus_magnifier_add_zoom_region (Magnifier *magnifier, gchar *zoom_region_path);
00198 gboolean impl_dbus_magnifier_clear_all_zoom_regions (Magnifier *magnifier);
00199 gboolean impl_dbus_magnifier_dispose (Magnifier *magnifier);
00200 gboolean impl_dbus_magnifier_set_source_display (Magnifier *magnifier, gchar *source_display);
00201 gchar* impl_dbus_magnifier_get_source_display (Magnifier *magnifier);
00202 gboolean impl_dbus_magnifier_set_target_display (Magnifier *magnifier, gchar *target_display);
00203 gchar* impl_dbus_magnifier_get_target_display (Magnifier *magnifier);
00204 gboolean impl_dbus_magnifier_set_source_size (Magnifier *magnifier, gint32 **bounds);
00205 GArray* impl_dbus_magnifier_get_source_size (Magnifier *magnifier);
00206 gboolean impl_dbus_magnifier_set_target_size (Magnifier *magnifier, gint32 **bounds);
00207 GArray* impl_dbus_magnifier_get_target_size (Magnifier *magnifier);
00208 gboolean impl_dbus_magnifier_set_cursor_set (Magnifier *magnifier, gchar *cursor_set);
00209 gchar* impl_dbus_magnifier_get_cursor_set (Magnifier *magnifier);
00210 gboolean impl_dbus_magnifier_set_cursor_size (Magnifier *magnifier, gint x, gint y);
00211 GArray* impl_dbus_magnifier_get_cursor_size (Magnifier *magnifier);
00212 gboolean impl_dbus_magnifier_set_cursor_zoom (Magnifier *magnifier, double factor);
00213 double impl_dbus_magnifier_get_cursor_zoom (Magnifier *magnifier);
00214 gboolean impl_dbus_magnifier_set_cursor_color (Magnifier *magnifier, guint32 color);
00215 guint32 impl_dbus_magnifier_get_cursor_color (Magnifier *magnifier);
00216 gboolean impl_dbus_magnifier_set_cursor_hotspot (Magnifier *magnifier, gint32 x, gint32 y);
00217 GArray* impl_dbus_magnifier_get_cursor_hotspot (Magnifier *magnifier);
00218 gint32 impl_dbus_magnifier_get_cursor_default_size (Magnifier *magnifier);
00219 gboolean impl_dbus_magnifier_set_crosswire_size (Magnifier *magnifier, gint size);
00220 gint impl_dbus_magnifier_get_crosswire_size (Magnifier *magnifier);
00221 gboolean impl_dbus_magnifier_set_crosswire_length (Magnifier *magnifier, gint length);
00222 gint impl_dbus_magnifier_get_crosswire_length (Magnifier *magnifier);
00223 gboolean impl_dbus_magnifier_set_crosswire_clip (Magnifier *magnifier, gboolean clip);
00224 gboolean impl_dbus_magnifier_get_crosswire_clip (Magnifier *magnifier);
00225 gboolean impl_dbus_magnifier_set_crosswire_color (Magnifier *magnifier, guint32 color);
00226 guint32 impl_dbus_magnifier_get_crosswire_color (Magnifier *magnifier);
00227
00228 #ifdef __cplusplus
00229 }
00230 #endif
00231
00232 #endif