# zoom-region.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 ZOOM_REGION_H_
    00024 #define ZOOM_REGION_H_
    00025
    00026
    00027 #ifdef __cplusplus
    00028 extern "C" {
    00029 #endif /* __cplusplus */
    00030
    00031 #include <bonobo/bonobo-object.h>
    00032 #include "GNOME_Magnifier.h"
    00033
    00034 #define ZOOM_REGION_TYPE         (zoom_region_get_type ())
    00035 #define ZOOM_REGION(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), ZOOM_REGION_TYPE, ZoomRegion))
    00036 #define ZOOM_REGION_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), ZOOM_REGION_TYPE, ZoomRegionClass))
    00037 #define IS_ZOOM_REGION(o)       (G_TYPE_CHECK__INSTANCE_TYPE ((o), ZOOM_REGION_TYPE))
    00038 #define IS_ZOOM_REGION_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), ZOOM_REGION_TYPE))
    00039
    00040 typedef GList * (*CoalesceFunc)(GList *, int);
    00041
    00042 typedef struct _ZoomRegionPrivate ZoomRegionPrivate;
    00043
    00044 typedef struct {
    00045         BonoboObject parent;
    00046         BonoboPropertyBag *properties;
    00047         gboolean invert;
    00048         gboolean is_managed;
    00049         gboolean draw_cursor;
    00050         gboolean cache_source;
    00051         gchar *smoothing;
    00052         gfloat contrast;
    00053         gfloat xscale;
    00054         gfloat yscale;
    00055         gfloat contrast_r;
    00056         gfloat contrast_g;
    00057         gfloat contrast_b;
    00058         gfloat bright_r;
    00059         gfloat bright_g;
    00060         gfloat bright_b;
    00061         gint border_size_top;
    00062         gint border_size_left;
    00063         gint border_size_right;
    00064         gint border_size_bottom;
    00065         guint32 border_color; /* A-RGB, 8 bits each, MSB==alpha */
    00066         gint x_align_policy;  /* TODO: enums here */
    00067         gint y_align_policy;
    00068         GNOME_Magnifier_ZoomRegion_ScrollingPolicy smooth_scroll_policy;
    00069         GNOME_Magnifier_ZoomRegion_ColorBlindFilter color_blind_filter;
    00070         /* bounds of viewport, in target magnifier window coords */
    00071         GNOME_Magnifier_RectBounds roi;
    00072         GNOME_Magnifier_RectBounds viewport;
    00073         ZoomRegionPrivate *priv;
    00074         CoalesceFunc coalesce_func;
    00075         gint timing_iterations;
    00076         gboolean timing_output;
    00077         gint timing_pan_rate;
    00078         gboolean exit_magnifier;
    00079         gboolean poll_mouse;
    00080 #ifdef ZOOM_REGION_DEBUG
    00081         gboolean alive;
    00082 #endif
    00083 } ZoomRegion;
    00084
    00085 typedef struct {
    00086         BonoboObjectClass parent_class;
    00087         POA_GNOME_Magnifier_ZoomRegion__epv epv;
    00088 } ZoomRegionClass;
    00089
    00090 GType     zoom_region_get_type (void);
    00091 ZoomRegion *zoom_region_new     (void);
    00092
    00093 #ifdef __cplusplus
    00094 }
    00095 #endif /* __cplusplus */
    00096
    00097 #endif /* ZOOM_REGION_H_ */