Main Page | Namespace List | Data Structures | Directories | File List | Namespace Members | Data Fields | Globals

magnifier.h

Go to the documentation of this file.
00001 /*
00002  * AT-SPI - Assistive Technology Service Provider Interface
00003  * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
00004  *
00005  * Copyright 2001 Sun Microsystems Inc.
00006  *
00007  * This library is free software; you can redistribute it and/or
00008  * modify it under the terms of the GNU Library General Public
00009  * License as published by the Free Software Foundation; either
00010  * version 2 of the License, or (at your option) any later version.
00011  *
00012  * This library is distributed in the hope that it will be useful,
00013  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015  * Library General Public License for more details.
00016  *
00017  * You should have received a copy of the GNU Library General Public
00018  * License along with this library; if not, write to the
00019  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00020  * Boston, MA 02111-1307, USA.
00021  */
00022 
00023 #ifndef MAGNIFIER_H_
00024 #define MAGNIFIER_H_
00025 
00026 
00027 #ifdef __cplusplus
00028 extern "C" {
00029 #endif /* __cplusplus */
00030 
00031 #include <X11/Xlib.h>
00032 #include <gdk/gdk.h>
00033 #include <bonobo/bonobo-object.h>
00034 #include <bonobo/bonobo-property-bag.h>
00035 #include <login-helper/login-helper.h>
00036 #include "GNOME_Magnifier.h"
00037 
00038 #define MAGNIFIER_TYPE         (magnifier_get_type ())
00039 #define MAGNIFIER(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), MAGNIFIER_TYPE, Magnifier))
00040 #define MAGNIFIER_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), MAGNIFIER_TYPE, MagnifierClass))
00041 #define IS_MAGNIFIER(o)       (G_TYPE_CHECK_INSTANCE_TYPE ((o), MAGNIFIER_TYPE))
00042 #define IS_MAGNIFIER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), MAGNIFIER_TYPE))
00043 
00044 #define MAGNIFIER_OAFIID "OAFIID:GNOME_Magnifier_Magnifier:0.9"
00045 
00046 typedef struct _MagnifierPrivate MagnifierPrivate;
00047 
00048 typedef struct {
00049         BonoboObject parent;
00050         BonoboPropertyBag *property_bag;
00051         GdkDisplay *source_display;
00052         GdkDisplay *target_display;
00053         gchar *source_display_name;
00054         gchar *target_display_name;
00055         int source_screen_num;
00056         int target_screen_num;
00057         GList *zoom_regions;
00058         gboolean source_initialized;
00059         gint crosswire_size;
00060         guint32 crosswire_color;
00061         gboolean crosswire_clip;
00062         gchar *cursor_set;
00063         gint cursor_size_x;
00064         gint cursor_size_y;
00065         guint32 cursor_color;
00066         float cursor_scale_factor;
00067         GNOME_Magnifier_RectBounds source_bounds;
00068         GNOME_Magnifier_RectBounds target_bounds;
00069         GNOME_Magnifier_Point cursor_hotspot;
00070         MagnifierPrivate *priv;
00071 } Magnifier;
00072 
00073 typedef struct {
00074         BonoboObjectClass parent_class;
00075         POA_GNOME_Magnifier_Magnifier__epv epv;
00076 } MagnifierClass;
00077 
00078 GdkDrawable *magnifier_get_cursor    (Magnifier *magnifier);
00079 GType        magnifier_get_type      (void);
00080 GdkWindow   *magnifier_get_root      (Magnifier *magnifier);
00081 Magnifier   *magnifier_new           (gboolean override_redirect);
00082 gboolean     magnifier_error_check   (void);
00083 void         magnifier_notify_damage (Magnifier *magnifier, XRectangle *rect);
00084 gboolean     magnifier_source_has_damage_extension (Magnifier *magnifier);
00085 #ifdef __cplusplus
00086 }
00087 #endif /* __cplusplus */
00088 
00089 #endif /* MAGNIFIER_H_ */

Generated on Wed Oct 26 12:55:29 2005 for gnome-mag by  doxygen 1.4.3