zoom-region.c File Reference

#include "config.h"
#include "gmag-graphical-server.h"
#include <stdlib.h>
#include <string.h>
#include <popt.h>
#include <gdk/gdkwindow.h>
#include <gtk/gtk.h>
#include <gdk/gdk.h>
#include <gdk/gdkx.h>
#include <gdk/gdkrgb.h>
#include <libbonobo.h>
#include <math.h>
#include "zoom-region.h"
#include "zoom-region-private.h"
#include "magnifier.h"
#include "magnifier-private.h"

Go to the source code of this file.

Defines

#define DEBUG_CLIENT_CALLS
#define DBG(a)   if (client_debug) { (a); }
#define CLAMP_B_C(v)   (t = (v), CLAMP (t, -1, 1));
#define DEBUG_RECT(a, b)
 DEBUG STUFF.
#define _is_horizontal_rect(r)   ((r)->width > (r)->height)
 EVENT COALESCING.
#define _is_vertical_rect(r)   ((r)->height > (r)->width)
#define CLAMP_UCHAR(v)   (t = (v), CLAMP (t, 0, 255))
#define CLAMP_LOW_MID(v)   (t = (v), CLAMP (t, 0, 127))
#define CLAMP_MID_HIGH(v)   (t = (v), CLAMP (t, 127, 255))

Enumerations

enum  {
  ZOOM_REGION_MANAGED_PROP,
  ZOOM_REGION_POLL_MOUSE_PROP,
  ZOOM_REGION_DRAW_CURSOR_PROP,
  ZOOM_REGION_SMOOTHSCROLL_PROP,
  ZOOM_REGION_COLORBLIND_PROP,
  ZOOM_REGION_INVERT_PROP,
  ZOOM_REGION_SMOOTHING_PROP,
  ZOOM_REGION_CONTRASTR_PROP,
  ZOOM_REGION_CONTRASTG_PROP,
  ZOOM_REGION_CONTRASTB_PROP,
  ZOOM_REGION_BRIGHTR_PROP,
  ZOOM_REGION_BRIGHTG_PROP,
  ZOOM_REGION_BRIGHTB_PROP,
  ZOOM_REGION_XSCALE_PROP,
  ZOOM_REGION_YSCALE_PROP,
  ZOOM_REGION_BORDERSIZE_PROP,
  ZOOM_REGION_BORDERCOLOR_PROP,
  ZOOM_REGION_XALIGN_PROP,
  ZOOM_REGION_YALIGN_PROP,
  ZOOM_REGION_VIEWPORT_PROP,
  ZOOM_REGION_TESTPATTERN_PROP,
  ZOOM_REGION_TIMING_TEST_PROP,
  ZOOM_REGION_TIMING_OUTPUT_PROP,
  ZOOM_REGION_TIMING_PAN_RATE_PROP,
  ZOOM_REGION_EXIT_MAGNIFIER
}
enum  ZoomRegionPixmapCreationError {
  ZOOM_REGION_ERROR_NONE,
  ZOOM_REGION_ERROR_NO_TARGET_DRAWABLE,
  ZOOM_REGION_ERROR_TOO_BIG
}

Functions

static void zoom_region_sync (ZoomRegion *region)
static void zoom_region_finalize (GObject *object)
static void zoom_region_update (ZoomRegion *zoom_region, const GdkRectangle update_rect)
 zoom_region_update:
static void zoom_region_queue_update (ZoomRegion *zoom_region, const GdkRectangle rect)
static int zoom_region_process_updates (gpointer data)
static void zoom_region_paint (ZoomRegion *zoom_region, GdkRectangle *area)
 Note: clips to region's current GdkWindow.
static void zoom_region_paint_pixmap (ZoomRegion *zoom_region, GdkRectangle *rect)
static int zoom_region_update_pointer_timeout (gpointer data)
static GdkRectangle zoom_region_rect_from_bounds (ZoomRegion *zoom_region, const GNOME_Magnifier_RectBounds *bounds)
static ZoomRegionPixmapCreationError zoom_region_create_pixmap (ZoomRegion *zoom_region)
static GdkRectangle zoom_region_update_pixmap (ZoomRegion *zoom_region, const GdkRectangle update_rect, GdkRectangle *paint_rect)
static void zoom_region_get_move_x_y (ZoomRegion *zoom_region, long *x, long *y)
static void zoom_region_recompute_exposed_bounds (ZoomRegion *zoom_region)
static void zoom_region_update_current (ZoomRegion *zoom_region)
void reset_timing_stats ()
static void _debug_announce_rect (char *msg, GdkRectangle rect)
static gboolean _diff_pixbufs (const GdkPixbuf *a, const GdkPixbuf *b)
static GList * _coalesce_update_rects (GList *q, int min_coalesce_length)
 _coalesce_update_rects : coalesces multiple "vertical" rects and "horizontal" rects into one of each.
static GdkRectangle _rectangle_clip_to_rectangle (GdkRectangle area, GdkRectangle clip_rect)
 clip an area in source coords to the exposed target area
static GdkRectangle _rectangle_clip_to_bounds (GdkRectangle area, GNOME_Magnifier_RectBounds *clip_bounds)
static GdkRectangle zoom_region_clip_to_source (ZoomRegion *zoom_region, GdkRectangle area)
static GdkRectangle zoom_region_clip_to_exposed_target (ZoomRegion *zoom_region, GdkRectangle area)
static GdkRectangle zoom_region_clip_to_scaled_pixmap (ZoomRegion *zoom_region, GdkRectangle area)
static GdkRectangle zoom_region_clip_to_window (ZoomRegion *zoom_region, GdkRectangle area)
static GdkRectangle zoom_region_source_rect_from_view_bounds (ZoomRegion *zoom_region, const GNOME_Magnifier_RectBounds *view_bounds)
static GdkRectangle zoom_region_view_rect_from_source_rect (ZoomRegion *zoom_region, const GdkRectangle source_rect)
static GdkRectangle zoom_region_source_rect_from_view_rect (ZoomRegion *zoom_region, const GdkRectangle view_rect)
static CORBA_boolean zoom_region_update_scale (ZoomRegion *zoom_region, gdouble x, gdouble y)
 **************
static GdkRectangle zoom_region_cursor_rect (ZoomRegion *zoom_region)
static void zoom_region_unpaint_crosswire_cursor (ZoomRegion *zoom_region, GdkRectangle *clip_rect)
static void zoom_region_paint_crosswire_cursor (ZoomRegion *zoom_region, GdkRectangle *clip_rect)
static void zoom_region_unpaint_cursor (ZoomRegion *zoom_region, GdkRectangle *clip_rect)
static void zoom_region_paint_cursor (ZoomRegion *zoom_region, GdkRectangle *clip_rect)
static void zoom_region_coalesce_updates (ZoomRegion *zoom_region)
 zoom_region_coalesce_updates:
static void zoom_region_paint_border (ZoomRegion *zoom_region)
static void zoom_region_expose_handler (GtkWindow *w, GdkEventExpose *event, gpointer data)
static void zoom_region_update_cursor (ZoomRegion *zoom_region, int dx, int dy, GdkRectangle *clip_rect)
static gboolean zoom_region_calculate_scroll_rects (ZoomRegion *zoom_region, int dx, int dy, GdkRectangle *scroll_rect, GdkRectangle *expose_rect_h, GdkRectangle *expose_rect_v)
static void zoom_region_scroll_fast (ZoomRegion *zoom_region, int dx, int dy, GdkRectangle *scroll_rect, GdkRectangle *expose_rect_h, GdkRectangle *expose_rect_v)
static void zoom_region_scroll_smooth (ZoomRegion *zoom_region, int dx, int dy, GdkRectangle *scroll_rect, GdkRectangle *expose_rect_h, GdkRectangle *expose_rect_v)
static void zoom_region_scroll (ZoomRegion *zoom_region, int dx, int dy)
static void zoom_region_set_cursor_pos (ZoomRegion *zoom_region, int x, int y)
static gboolean zoom_region_update_pointer (ZoomRegion *zoom_region, gboolean draw_cursor)
static int zoom_region_update_pointer_idle (gpointer data)
static void zoom_region_moveto (ZoomRegion *zoom_region, const long x, const long y)
static void zoom_region_process_pixbuf (ZoomRegion *zoom_region, GdkPixbuf *pixbuf)
static void zoom_region_post_process_pixbuf (ZoomRegion *zoom_region, GdkPixbuf *subimage, GdkPixbuf *scaled_image)
static GdkPixbuf * zoom_region_get_source_subwindow (ZoomRegion *zoom_region, const GdkRectangle bounds)
static void zoom_region_init_window (ZoomRegion *zoom_region)
void timing_report (ZoomRegion *zoom_region)
static void zoom_region_time_frame (ZoomRegion *zoom_region, Magnifier *magnifier)
static gboolean gdk_timing_idle (gpointer data)
static void zoom_region_align (ZoomRegion *zoom_region)
static void zoom_region_set_viewport (ZoomRegion *zoom_region, const GNOME_Magnifier_RectBounds *viewport)
static void zoom_region_get_property (BonoboPropertyBag *bag, BonoboArg *arg, guint arg_id, CORBA_Environment *ev, gpointer user_data)
static void zoom_region_set_property (BonoboPropertyBag *bag, BonoboArg *arg, guint arg_id, CORBA_Environment *ev, gpointer user_data)
static int zoom_region_process_pending (gpointer data)
static int zoom_region_pan_test (gpointer data)
static void impl_zoom_region_set_pointer_pos (PortableServer_Servant servant, const CORBA_long mouse_x, const CORBA_long mouse_y, CORBA_Environment *ev)
static void impl_zoom_region_set_contrast (PortableServer_Servant servant, const CORBA_float R, const CORBA_float G, const CORBA_float B, CORBA_Environment *ev)
static void impl_zoom_region_get_contrast (PortableServer_Servant servant, CORBA_float *R, CORBA_float *G, CORBA_float *B, CORBA_Environment *ev)
static void impl_zoom_region_set_brightness (PortableServer_Servant servant, const CORBA_float R, const CORBA_float G, const CORBA_float B, CORBA_Environment *ev)
static void impl_zoom_region_get_brightness (PortableServer_Servant servant, CORBA_float *R, CORBA_float *G, CORBA_float *B, CORBA_Environment *ev)
static void impl_zoom_region_set_roi (PortableServer_Servant servant, const GNOME_Magnifier_RectBounds *bounds, CORBA_Environment *ev)
static CORBA_boolean impl_zoom_region_set_mag_factor (PortableServer_Servant servant, const CORBA_float mag_factor_x, const CORBA_float mag_factor_y, CORBA_Environment *ev)
static void impl_zoom_region_get_mag_factor (PortableServer_Servant servant, CORBA_float *mag_factor_x, CORBA_float *mag_factor_y, CORBA_Environment *ev)
static Bonobo_PropertyBag impl_zoom_region_get_properties (PortableServer_Servant servant, CORBA_Environment *ev)
static void impl_zoom_region_mark_dirty (PortableServer_Servant servant, const GNOME_Magnifier_RectBounds *roi_dirty, CORBA_Environment *ev)
static GNOME_Magnifier_RectBounds impl_zoom_region_get_roi (PortableServer_Servant servant, CORBA_Environment *ev)
static void impl_zoom_region_move_resize (PortableServer_Servant servant, const GNOME_Magnifier_RectBounds *viewport_bounds, CORBA_Environment *ev)
static void zoom_region_do_dispose (ZoomRegion *zoom_region)
static void impl_zoom_region_dispose (PortableServer_Servant servant, CORBA_Environment *ev)
static void zoom_region_dispose (GObject *object)
static void zoom_region_class_init (ZoomRegionClass *klass)
static void zoom_region_properties_init (ZoomRegion *zoom_region)
static void zoom_region_private_init (ZoomRegionPrivate *priv)
static void zoom_region_init (ZoomRegion *zoom_region)
ZoomRegionzoom_region_new (void)
 BONOBO_TYPE_FUNC_FULL (ZoomRegion, GNOME_Magnifier_ZoomRegion, BONOBO_TYPE_OBJECT, zoom_region)

Variables

static gboolean client_debug = FALSE
static GObjectClass * parent_class = NULL
enum { ... }  PropIdx
gchar * prop_names [ZOOM_REGION_EXIT_MAGNIFIER+1]
static float timing_scale_max = 0
static float timing_idle_max = 0
static float timing_frame_max = 0
static float cps_max = 0
static float nrr_max = 0
static float update_nrr_max = 0
static gboolean reset_timing = FALSE
static gboolean timing_test = FALSE
static guint pending_idle_handler = 0
static gboolean processing_updates = FALSE
static gboolean timing_start = FALSE
static gboolean can_coalesce = TRUE


Define Documentation

#define DEBUG_CLIENT_CALLS

Definition at line 51 of file zoom-region.c.

#define DBG (  )     if (client_debug) { (a); }

Definition at line 55 of file zoom-region.c.

#define CLAMP_B_C (  )     (t = (v), CLAMP (t, -1, 1));

Definition at line 139 of file zoom-region.c.

Referenced by impl_zoom_region_set_brightness(), impl_zoom_region_set_contrast(), and zoom_region_set_property().

#define DEBUG_RECT ( a,
 ) 

DEBUG STUFF.

Definition at line 191 of file zoom-region.c.

Referenced by impl_zoom_region_mark_dirty(), zoom_region_clip_to_source(), zoom_region_create_pixmap(), zoom_region_expose_handler(), zoom_region_get_source_subwindow(), zoom_region_paint(), zoom_region_paint_cursor(), zoom_region_queue_update(), zoom_region_update_pixmap(), and zoom_region_view_rect_from_source_rect().

#define _is_horizontal_rect (  )     ((r)->width > (r)->height)

EVENT COALESCING.

Definition at line 435 of file zoom-region.c.

Referenced by _coalesce_update_rects().

#define _is_vertical_rect (  )     ((r)->height > (r)->width)

Definition at line 436 of file zoom-region.c.

Referenced by _coalesce_update_rects().

#define CLAMP_UCHAR (  )     (t = (v), CLAMP (t, 0, 255))

Referenced by zoom_region_process_pixbuf().

#define CLAMP_LOW_MID (  )     (t = (v), CLAMP (t, 0, 127))

Referenced by zoom_region_process_pixbuf().

#define CLAMP_MID_HIGH (  )     (t = (v), CLAMP (t, 127, 255))

Referenced by zoom_region_process_pixbuf().


Enumeration Type Documentation

anonymous enum

Enumerator:
ZOOM_REGION_MANAGED_PROP 
ZOOM_REGION_POLL_MOUSE_PROP 
ZOOM_REGION_DRAW_CURSOR_PROP 
ZOOM_REGION_SMOOTHSCROLL_PROP 
ZOOM_REGION_COLORBLIND_PROP 
ZOOM_REGION_INVERT_PROP 
ZOOM_REGION_SMOOTHING_PROP 
ZOOM_REGION_CONTRASTR_PROP 
ZOOM_REGION_CONTRASTG_PROP 
ZOOM_REGION_CONTRASTB_PROP 
ZOOM_REGION_BRIGHTR_PROP 
ZOOM_REGION_BRIGHTG_PROP 
ZOOM_REGION_BRIGHTB_PROP 
ZOOM_REGION_XSCALE_PROP 
ZOOM_REGION_YSCALE_PROP 
ZOOM_REGION_BORDERSIZE_PROP 
ZOOM_REGION_BORDERCOLOR_PROP 
ZOOM_REGION_XALIGN_PROP 
ZOOM_REGION_YALIGN_PROP 
ZOOM_REGION_VIEWPORT_PROP 
ZOOM_REGION_TESTPATTERN_PROP 
ZOOM_REGION_TIMING_TEST_PROP 
ZOOM_REGION_TIMING_OUTPUT_PROP 
ZOOM_REGION_TIMING_PAN_RATE_PROP 
ZOOM_REGION_EXIT_MAGNIFIER 

Definition at line 62 of file zoom-region.c.

enum ZoomRegionPixmapCreationError

Enumerator:
ZOOM_REGION_ERROR_NONE 
ZOOM_REGION_ERROR_NO_TARGET_DRAWABLE 
ZOOM_REGION_ERROR_TOO_BIG 

Definition at line 118 of file zoom-region.c.


Function Documentation

static void zoom_region_sync ( ZoomRegion region  )  [static]

Definition at line 2150 of file zoom-region.c.

References zoom_region, and zoom_region_process_updates().

Referenced by impl_zoom_region_set_mag_factor().

static void zoom_region_finalize ( GObject *  object  )  [static]

Definition at line 3567 of file zoom-region.c.

References DBG, and zoom_region.

Referenced by zoom_region_class_init().

static void zoom_region_update ( ZoomRegion zoom_region,
const GdkRectangle  update_rect 
) [static]

zoom_region_update:

: a RectBounds structure indicating the source area to update, in the source coordinate system.

Definition at line 1898 of file zoom-region.c.

References mag_timing, timing::num_scale_samples, timing::scale, timing::scale_total, timing::scale_val, timing_scale_max, timing_test, update_nrr_max, timing::update_pixels_total, zoom_region, zoom_region_paint(), and zoom_region_update_pixmap().

Referenced by zoom_region_process_updates(), and zoom_region_update_current().

static void zoom_region_queue_update ( ZoomRegion zoom_region,
const GdkRectangle  rect 
) [static]

Definition at line 713 of file zoom-region.c.

References DEBUG_RECT, zoom_region, and zoom_region_process_updates().

Referenced by impl_zoom_region_mark_dirty(), zoom_region_coalesce_updates(), zoom_region_scroll(), and zoom_region_set_viewport().

static int zoom_region_process_updates ( gpointer  data  )  [static]

Definition at line 1994 of file zoom-region.c.

References zoom_region, zoom_region_coalesce_updates(), and zoom_region_update().

Referenced by zoom_region_pan_test(), zoom_region_queue_update(), and zoom_region_sync().

static void zoom_region_paint ( ZoomRegion zoom_region,
GdkRectangle *  rect 
) [static]

Note: clips to region's current GdkWindow.

Definition at line 1131 of file zoom-region.c.

References DEBUG_RECT, zoom_region, zoom_region_clip_to_window(), zoom_region_paint_crosswire_cursor(), zoom_region_paint_cursor(), and zoom_region_paint_pixmap().

Referenced by zoom_region_expose_handler(), and zoom_region_update().

static void zoom_region_paint_pixmap ( ZoomRegion zoom_region,
GdkRectangle *  rect 
) [static]

Definition at line 1100 of file zoom-region.c.

References zoom_region.

Referenced by zoom_region_paint(), zoom_region_unpaint_crosswire_cursor(), and zoom_region_unpaint_cursor().

static int zoom_region_update_pointer_timeout ( gpointer  data  )  [static]

Definition at line 1492 of file zoom-region.c.

References zoom_region, zoom_region_update_pointer(), and zoom_region_update_pointer_idle().

Referenced by zoom_region_init(), zoom_region_set_property(), and zoom_region_update_pointer_idle().

static GdkRectangle zoom_region_rect_from_bounds ( ZoomRegion zoom_region,
const GNOME_Magnifier_RectBounds bounds 
) [static]

Definition at line 654 of file zoom-region.c.

References GNOME_Magnifier_RectBounds_type::x1, GNOME_Magnifier_RectBounds_type::x2, GNOME_Magnifier_RectBounds_type::y1, and GNOME_Magnifier_RectBounds_type::y2.

Referenced by impl_zoom_region_mark_dirty(), zoom_region_clip_to_source(), zoom_region_coalesce_updates(), zoom_region_create_pixmap(), and zoom_region_paint_cursor().

static ZoomRegionPixmapCreationError zoom_region_create_pixmap ( ZoomRegion zoom_region  )  [static]

Definition at line 1147 of file zoom-region.c.

References DEBUG_RECT, zoom_region, ZOOM_REGION_ERROR_NO_TARGET_DRAWABLE, ZOOM_REGION_ERROR_NONE, ZOOM_REGION_ERROR_TOO_BIG, zoom_region_rect_from_bounds(), and zoom_region_source_rect_from_view_bounds().

Referenced by zoom_region_expose_handler(), zoom_region_set_viewport(), zoom_region_update_current(), and zoom_region_update_scale().

static GdkRectangle zoom_region_update_pixmap ( ZoomRegion zoom_region,
const GdkRectangle  update_rect,
GdkRectangle *  paint_rect 
) [static]

XXX: We seem to be breaking with the original intention here, which was to keep a fullscreen scaled pixbuf in-sync.

Definition at line 1799 of file zoom-region.c.

References DEBUG_RECT, mag_timing, timing::scale, zoom_region, zoom_region_clip_to_exposed_target(), zoom_region_clip_to_source(), zoom_region_get_source_subwindow(), zoom_region_post_process_pixbuf(), zoom_region_process_pixbuf(), and zoom_region_view_rect_from_source_rect().

Referenced by zoom_region_expose_handler(), zoom_region_scroll(), and zoom_region_update().

static void zoom_region_get_move_x_y ( ZoomRegion zoom_region,
long *  x,
long *  y 
) [static]

Definition at line 2188 of file zoom-region.c.

References GNOME_Magnifier_ZoomRegion_ALIGN_CENTER, GNOME_Magnifier_ZoomRegion_ALIGN_MAX, GNOME_Magnifier_ZoomRegion_ALIGN_MIN, and zoom_region.

Referenced by zoom_region_align(), and zoom_region_update_scale().

static void zoom_region_recompute_exposed_bounds ( ZoomRegion zoom_region  )  [static]

Definition at line 1398 of file zoom-region.c.

References zoom_region.

Referenced by zoom_region_moveto(), and zoom_region_update_scale().

static void zoom_region_update_current ( ZoomRegion zoom_region  )  [static]

Definition at line 736 of file zoom-region.c.

References zoom_region, zoom_region_create_pixmap(), ZOOM_REGION_ERROR_NONE, zoom_region_source_rect_from_view_bounds(), and zoom_region_update().

Referenced by impl_zoom_region_set_brightness(), impl_zoom_region_set_contrast(), zoom_region_set_property(), and zoom_region_update_scale().

void reset_timing_stats (  ) 

Definition at line 161 of file zoom-region.c.

References cps_max, timing::dx_total, timing::dy_total, timing::frame_total, timing::idle_total, timing::last_dy, timing::last_frame_val, mag_timing, nrr_max, timing::num_frame_samples, timing::num_idle_samples, timing::num_line_samples, timing::num_scale_samples, timing::process, timing::scale_total, timing_frame_max, timing_idle_max, timing_scale_max, update_nrr_max, and timing::update_pixels_total.

Referenced by zoom_region_class_init(), and zoom_region_time_frame().

static void _debug_announce_rect ( char *  msg,
GdkRectangle  rect 
) [static]

Definition at line 194 of file zoom-region.c.

Referenced by zoom_region_get_source_subwindow().

static gboolean _diff_pixbufs ( const GdkPixbuf *  a,
const GdkPixbuf *  b 
) [static]

Definition at line 201 of file zoom-region.c.

Referenced by zoom_region_get_source_subwindow().

static GList* _coalesce_update_rects ( GList *  q,
int  min_coalesce_length 
) [static]

_coalesce_update_rects : coalesces multiple "vertical" rects and "horizontal" rects into one of each.

Can result in overlapping/larger update area for tiled rects, but reduces queue size dramatically.

Definition at line 445 of file zoom-region.c.

References _is_horizontal_rect, and _is_vertical_rect.

Referenced by zoom_region_init().

static GdkRectangle _rectangle_clip_to_rectangle ( GdkRectangle  area,
GdkRectangle  clip_rect 
) [static]

clip an area in source coords to the exposed target area

Definition at line 514 of file zoom-region.c.

Referenced by zoom_region_clip_to_scaled_pixmap(), and zoom_region_clip_to_window().

static GdkRectangle _rectangle_clip_to_bounds ( GdkRectangle  area,
GNOME_Magnifier_RectBounds clip_bounds 
) [static]

Definition at line 526 of file zoom-region.c.

References GNOME_Magnifier_RectBounds_type::x1, GNOME_Magnifier_RectBounds_type::x2, GNOME_Magnifier_RectBounds_type::y1, and GNOME_Magnifier_RectBounds_type::y2.

Referenced by zoom_region_clip_to_exposed_target(), and zoom_region_clip_to_source().

static GdkRectangle zoom_region_clip_to_source ( ZoomRegion zoom_region,
GdkRectangle  area 
) [static]

Definition at line 539 of file zoom-region.c.

References _rectangle_clip_to_bounds(), DEBUG_RECT, zoom_region, and zoom_region_rect_from_bounds().

Referenced by impl_zoom_region_mark_dirty(), impl_zoom_region_set_pointer_pos(), zoom_region_update_pixmap(), and zoom_region_update_pointer().

static GdkRectangle zoom_region_clip_to_exposed_target ( ZoomRegion zoom_region,
GdkRectangle  area 
) [static]

Definition at line 553 of file zoom-region.c.

References _rectangle_clip_to_bounds(), GNOME_Magnifier_RectBounds_type::x1, GNOME_Magnifier_RectBounds_type::x2, GNOME_Magnifier_RectBounds_type::y1, GNOME_Magnifier_RectBounds_type::y2, and zoom_region.

Referenced by zoom_region_update_pixmap().

static GdkRectangle zoom_region_clip_to_scaled_pixmap ( ZoomRegion zoom_region,
GdkRectangle  area 
) [static]

Definition at line 576 of file zoom-region.c.

References _rectangle_clip_to_rectangle(), and zoom_region.

static GdkRectangle zoom_region_clip_to_window ( ZoomRegion zoom_region,
GdkRectangle  area 
) [static]

Definition at line 590 of file zoom-region.c.

References _rectangle_clip_to_rectangle(), and zoom_region.

Referenced by zoom_region_paint().

static GdkRectangle zoom_region_source_rect_from_view_bounds ( ZoomRegion zoom_region,
const GNOME_Magnifier_RectBounds view_bounds 
) [static]

Definition at line 612 of file zoom-region.c.

References GNOME_Magnifier_RectBounds_type::x1, GNOME_Magnifier_RectBounds_type::x2, GNOME_Magnifier_RectBounds_type::y1, GNOME_Magnifier_RectBounds_type::y2, and zoom_region.

Referenced by zoom_region_create_pixmap(), zoom_region_set_viewport(), and zoom_region_update_current().

static GdkRectangle zoom_region_view_rect_from_source_rect ( ZoomRegion zoom_region,
const GdkRectangle  source_rect 
) [static]

Definition at line 626 of file zoom-region.c.

References DEBUG_RECT, and zoom_region.

Referenced by zoom_region_cursor_rect(), zoom_region_paint_crosswire_cursor(), and zoom_region_update_pixmap().

static GdkRectangle zoom_region_source_rect_from_view_rect ( ZoomRegion zoom_region,
const GdkRectangle  view_rect 
) [static]

Definition at line 640 of file zoom-region.c.

References zoom_region.

Referenced by zoom_region_scroll().

static CORBA_boolean zoom_region_update_scale ( ZoomRegion zoom_region,
gdouble  x,
gdouble  y 
) [static]

**************

Definition at line 668 of file zoom-region.c.

References zoom_region, zoom_region_create_pixmap(), ZOOM_REGION_ERROR_TOO_BIG, zoom_region_get_move_x_y(), zoom_region_recompute_exposed_bounds(), and zoom_region_update_current().

Referenced by impl_zoom_region_set_mag_factor(), and zoom_region_set_property().

static GdkRectangle zoom_region_cursor_rect ( ZoomRegion zoom_region  )  [static]

Definition at line 755 of file zoom-region.c.

References Magnifier::cursor_hotspot, magnifier_get_cursor(), GNOME_Magnifier_Point_type::x, GNOME_Magnifier_Point_type::y, zoom_region, and zoom_region_view_rect_from_source_rect().

Referenced by zoom_region_paint_cursor().

static void zoom_region_unpaint_crosswire_cursor ( ZoomRegion zoom_region,
GdkRectangle *  clip_rect 
) [static]

Definition at line 775 of file zoom-region.c.

References Magnifier::crosswire_size, zoom_region, and zoom_region_paint_pixmap().

Referenced by zoom_region_scroll_fast(), and zoom_region_update_cursor().

static void zoom_region_paint_crosswire_cursor ( ZoomRegion zoom_region,
GdkRectangle *  clip_rect 
) [static]

Definition at line 802 of file zoom-region.c.

References Magnifier::crosswire_color, Magnifier::crosswire_size, magnifier_get_cursor(), zoom_region, and zoom_region_view_rect_from_source_rect().

Referenced by zoom_region_paint(), zoom_region_scroll_fast(), and zoom_region_update_cursor().

static void zoom_region_unpaint_cursor ( ZoomRegion zoom_region,
GdkRectangle *  clip_rect 
) [static]

Definition at line 927 of file zoom-region.c.

References zoom_region, and zoom_region_paint_pixmap().

Referenced by zoom_region_scroll_fast(), zoom_region_set_property(), and zoom_region_update_cursor().

static void zoom_region_paint_cursor ( ZoomRegion zoom_region,
GdkRectangle *  clip_rect 
) [static]

Definition at line 938 of file zoom-region.c.

References Magnifier::cursor_hotspot, _MagnifierPrivate::cursor_mask, DEBUG_RECT, magnifier_get_cursor(), Magnifier::priv, GNOME_Magnifier_Point_type::x, GNOME_Magnifier_Point_type::y, zoom_region, zoom_region_cursor_rect(), and zoom_region_rect_from_bounds().

Referenced by zoom_region_paint(), zoom_region_scroll_fast(), and zoom_region_update_cursor().

static void zoom_region_coalesce_updates ( ZoomRegion zoom_region  )  [static]

zoom_region_coalesce_updates:

Definition at line 1034 of file zoom-region.c.

References can_coalesce, zoom_region, zoom_region_queue_update(), and zoom_region_rect_from_bounds().

Referenced by zoom_region_process_updates().

static void zoom_region_paint_border ( ZoomRegion zoom_region  )  [static]

Definition at line 1073 of file zoom-region.c.

References zoom_region.

Referenced by zoom_region_set_property().

static void zoom_region_expose_handler ( GtkWindow *  w,
GdkEventExpose *  event,
gpointer  data 
) [static]

Definition at line 1183 of file zoom-region.c.

References DEBUG_RECT, zoom_region, zoom_region_create_pixmap(), ZOOM_REGION_ERROR_NO_TARGET_DRAWABLE, ZOOM_REGION_ERROR_TOO_BIG, zoom_region_paint(), and zoom_region_update_pixmap().

Referenced by zoom_region_init_window().

static void zoom_region_update_cursor ( ZoomRegion zoom_region,
int  dx,
int  dy,
GdkRectangle *  clip_rect 
) [static]

Definition at line 1214 of file zoom-region.c.

References zoom_region, zoom_region_paint_crosswire_cursor(), zoom_region_paint_cursor(), zoom_region_unpaint_crosswire_cursor(), and zoom_region_unpaint_cursor().

Referenced by zoom_region_update_pointer().

static gboolean zoom_region_calculate_scroll_rects ( ZoomRegion zoom_region,
int  dx,
int  dy,
GdkRectangle *  scroll_rect,
GdkRectangle *  expose_rect_h,
GdkRectangle *  expose_rect_v 
) [static]

Definition at line 1235 of file zoom-region.c.

References DBG, and zoom_region.

Referenced by zoom_region_scroll().

static void zoom_region_scroll_fast ( ZoomRegion zoom_region,
int  dx,
int  dy,
GdkRectangle *  scroll_rect,
GdkRectangle *  expose_rect_h,
GdkRectangle *  expose_rect_v 
) [static]

Definition at line 1289 of file zoom-region.c.

References GNOME_Magnifier_ZoomRegion_SCROLL_FASTEST, processing_updates, zoom_region, zoom_region_paint_crosswire_cursor(), zoom_region_paint_cursor(), zoom_region_unpaint_crosswire_cursor(), and zoom_region_unpaint_cursor().

Referenced by zoom_region_scroll().

static void zoom_region_scroll_smooth ( ZoomRegion zoom_region,
int  dx,
int  dy,
GdkRectangle *  scroll_rect,
GdkRectangle *  expose_rect_h,
GdkRectangle *  expose_rect_v 
) [static]

Definition at line 1318 of file zoom-region.c.

References zoom_region.

Referenced by zoom_region_scroll().

static void zoom_region_scroll ( ZoomRegion zoom_region,
int  dx,
int  dy 
) [static]

Definition at line 1344 of file zoom-region.c.

References timing::dx, timing::dx_total, timing::dy, timing::dy_total, GNOME_Magnifier_ZoomRegion_SCROLL_FAST, mag_timing, timing::num_line_samples, processing_updates, timing_test, zoom_region, zoom_region_calculate_scroll_rects(), zoom_region_queue_update(), zoom_region_scroll_fast(), zoom_region_scroll_smooth(), zoom_region_source_rect_from_view_rect(), and zoom_region_update_pixmap().

Referenced by zoom_region_moveto().

static void zoom_region_set_cursor_pos ( ZoomRegion zoom_region,
int  x,
int  y 
) [static]

Definition at line 1407 of file zoom-region.c.

References zoom_region.

Referenced by impl_zoom_region_set_pointer_pos(), and zoom_region_update_pointer().

static gboolean zoom_region_update_pointer ( ZoomRegion zoom_region,
gboolean  draw_cursor 
) [static]

Definition at line 1417 of file zoom-region.c.

References magnifier_get_root(), Magnifier::priv, zoom_region, zoom_region_clip_to_source(), zoom_region_set_cursor_pos(), and zoom_region_update_cursor().

Referenced by impl_zoom_region_mark_dirty(), zoom_region_moveto(), zoom_region_update_pointer_idle(), and zoom_region_update_pointer_timeout().

static int zoom_region_update_pointer_idle ( gpointer  data  )  [static]

Definition at line 1473 of file zoom-region.c.

References zoom_region, zoom_region_update_pointer(), and zoom_region_update_pointer_timeout().

Referenced by zoom_region_update_pointer_timeout().

static void zoom_region_moveto ( ZoomRegion zoom_region,
const long  x,
const long  y 
) [static]

Definition at line 1509 of file zoom-region.c.

References timing::dx, timing::dy, mag_timing, zoom_region, zoom_region_recompute_exposed_bounds(), zoom_region_scroll(), and zoom_region_update_pointer().

Referenced by zoom_region_align().

static void zoom_region_process_pixbuf ( ZoomRegion zoom_region,
GdkPixbuf *  pixbuf 
) [static]

Definition at line 1536 of file zoom-region.c.

References CLAMP_LOW_MID, CLAMP_MID_HIGH, CLAMP_UCHAR, GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_HUE_SHIFT_NEGATIVE, GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_HUE_SHIFT_POSITIVE, GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_MONOCHRONE_OTHERS, GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_NO_FILTER, GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_SELECTIVE_DESSATURATE, GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_SELECTIVE_DESSATURATE_BLUE, GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_SELECTIVE_DESSATURATE_GREEN, GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_SELECTIVE_DESSATURATE_RED, GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_SELECTIVE_SATURATE, GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_SELECTIVE_SATURATE_BLUE, GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_SELECTIVE_SATURATE_GREEN, GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_SELECTIVE_SATURATE_RED, and zoom_region.

Referenced by zoom_region_update_pixmap().

static void zoom_region_post_process_pixbuf ( ZoomRegion zoom_region,
GdkPixbuf *  subimage,
GdkPixbuf *  scaled_image 
) [static]

ADI: This is where your image smoothing code hooks into the magnifier. This routine can call others which post-process the GdkPixbuf before rendering to the screen.

We can make this a two-stage process also, whereby the post-process code is only called in a lower-priority idle handler, and queues repaints when it is done.

Definition at line 1678 of file zoom-region.c.

Referenced by zoom_region_update_pixmap().

static GdkPixbuf* zoom_region_get_source_subwindow ( ZoomRegion zoom_region,
const GdkRectangle  bounds 
) [static]

Definition at line 1695 of file zoom-region.c.

References _debug_announce_rect(), _diff_pixbufs(), DEBUG_RECT, Magnifier::priv, Magnifier::source_display, _MagnifierPrivate::source_drawable, Magnifier::source_screen_num, and zoom_region.

Referenced by zoom_region_update_pixmap().

static void zoom_region_init_window ( ZoomRegion zoom_region  )  [static]

Definition at line 1949 of file zoom-region.c.

References DBG, zoom_region, and zoom_region_expose_handler().

Referenced by zoom_region_set_viewport().

void timing_report ( ZoomRegion zoom_region  ) 

Definition at line 2027 of file zoom-region.c.

References cps_max, timing::dx_total, timing::dy_total, timing::frame_total, timing::idle_total, mag_timing, nrr_max, timing::num_frame_samples, timing::num_idle_samples, timing::num_line_samples, timing::num_scale_samples, timing::scale_total, timing_frame_max, timing_idle_max, timing_scale_max, timing_test, update_nrr_max, timing::update_pixels_total, and zoom_region.

Referenced by impl_zoom_region_set_roi(), and zoom_region_time_frame().

static void zoom_region_time_frame ( ZoomRegion zoom_region,
Magnifier magnifier 
) [static]

Definition at line 2088 of file zoom-region.c.

References cps_max, timing::dx_total, timing::dy, timing::dy_total, timing::frame, timing::frame_total, timing::frame_val, timing::last_dy, timing::last_frame_val, mag_timing, nrr_max, timing::num_frame_samples, timing::num_line_samples, reset_timing, reset_timing_stats(), Magnifier::target_bounds, timing_frame_max, timing_report(), GNOME_Magnifier_RectBounds_type::x1, GNOME_Magnifier_RectBounds_type::x2, GNOME_Magnifier_RectBounds_type::y1, GNOME_Magnifier_RectBounds_type::y2, and zoom_region.

Referenced by zoom_region_align().

static gboolean gdk_timing_idle ( gpointer  data  )  [static]

Definition at line 2157 of file zoom-region.c.

References timing::idle, timing::idle_total, timing::idle_val, mag_timing, timing::num_idle_samples, processing_updates, timing_idle_max, timing_test, and zoom_region.

Referenced by zoom_region_align().

static void zoom_region_align ( ZoomRegion zoom_region  )  [static]

Definition at line 2225 of file zoom-region.c.

References timing::frame, gdk_timing_idle(), timing::idle, mag_timing, timing::num_frame_samples, timing::process, timing_start, timing_test, zoom_region, zoom_region_get_move_x_y(), zoom_region_moveto(), and zoom_region_time_frame().

Referenced by impl_zoom_region_set_roi(), zoom_region_process_pending(), zoom_region_set_property(), and zoom_region_set_viewport().

static void zoom_region_set_viewport ( ZoomRegion zoom_region,
const GNOME_Magnifier_RectBounds viewport 
) [static]

Definition at line 2289 of file zoom-region.c.

References Bonobo_PropertyBag_getValue(), _MagnifierPrivate::canvas, GNOME_Magnifier_Magnifier_getProperties(), Magnifier::priv, GNOME_Magnifier_RectBounds_type::x1, GNOME_Magnifier_RectBounds_type::x2, GNOME_Magnifier_RectBounds_type::y1, GNOME_Magnifier_RectBounds_type::y2, zoom_region, zoom_region_align(), zoom_region_create_pixmap(), zoom_region_init_window(), zoom_region_queue_update(), and zoom_region_source_rect_from_view_bounds().

Referenced by impl_zoom_region_move_resize(), and zoom_region_set_property().

static void zoom_region_get_property ( BonoboPropertyBag *  bag,
BonoboArg *  arg,
guint  arg_id,
CORBA_Environment *  ev,
gpointer  user_data 
) [static]

Definition at line 2367 of file zoom-region.c.

References DBG, ex_Bonobo_PropertyBag_NotFound, prop_names, TC_GNOME_Magnifier_RectBounds, zoom_region, ZOOM_REGION_BORDERCOLOR_PROP, ZOOM_REGION_BORDERSIZE_PROP, ZOOM_REGION_BRIGHTB_PROP, ZOOM_REGION_BRIGHTG_PROP, ZOOM_REGION_BRIGHTR_PROP, ZOOM_REGION_COLORBLIND_PROP, ZOOM_REGION_CONTRASTB_PROP, ZOOM_REGION_CONTRASTG_PROP, ZOOM_REGION_CONTRASTR_PROP, ZOOM_REGION_DRAW_CURSOR_PROP, ZOOM_REGION_EXIT_MAGNIFIER, ZOOM_REGION_INVERT_PROP, ZOOM_REGION_MANAGED_PROP, ZOOM_REGION_POLL_MOUSE_PROP, ZOOM_REGION_SMOOTHING_PROP, ZOOM_REGION_SMOOTHSCROLL_PROP, ZOOM_REGION_TESTPATTERN_PROP, ZOOM_REGION_TIMING_OUTPUT_PROP, ZOOM_REGION_TIMING_PAN_RATE_PROP, ZOOM_REGION_TIMING_TEST_PROP, ZOOM_REGION_VIEWPORT_PROP, ZOOM_REGION_XALIGN_PROP, ZOOM_REGION_XSCALE_PROP, ZOOM_REGION_YALIGN_PROP, and ZOOM_REGION_YSCALE_PROP.

Referenced by zoom_region_properties_init().

static void zoom_region_set_property ( BonoboPropertyBag *  bag,
BonoboArg *  arg,
guint  arg_id,
CORBA_Environment *  ev,
gpointer  user_data 
) [static]

Definition at line 2467 of file zoom-region.c.

References CLAMP_B_C, DBG, ex_Bonobo_PropertyBag_NotFound, prop_names, TC_GNOME_Magnifier_RectBounds, timing_test, zoom_region, zoom_region_align(), ZOOM_REGION_BORDERCOLOR_PROP, ZOOM_REGION_BORDERSIZE_PROP, ZOOM_REGION_BRIGHTB_PROP, ZOOM_REGION_BRIGHTG_PROP, ZOOM_REGION_BRIGHTR_PROP, ZOOM_REGION_COLORBLIND_PROP, ZOOM_REGION_CONTRASTB_PROP, ZOOM_REGION_CONTRASTG_PROP, ZOOM_REGION_CONTRASTR_PROP, ZOOM_REGION_DRAW_CURSOR_PROP, ZOOM_REGION_EXIT_MAGNIFIER, ZOOM_REGION_INVERT_PROP, ZOOM_REGION_MANAGED_PROP, zoom_region_paint_border(), ZOOM_REGION_POLL_MOUSE_PROP, zoom_region_set_viewport(), ZOOM_REGION_SMOOTHING_PROP, ZOOM_REGION_SMOOTHSCROLL_PROP, ZOOM_REGION_TESTPATTERN_PROP, ZOOM_REGION_TIMING_OUTPUT_PROP, ZOOM_REGION_TIMING_PAN_RATE_PROP, ZOOM_REGION_TIMING_TEST_PROP, zoom_region_unpaint_cursor(), zoom_region_update_current(), zoom_region_update_pointer_timeout(), zoom_region_update_scale(), ZOOM_REGION_VIEWPORT_PROP, ZOOM_REGION_XALIGN_PROP, ZOOM_REGION_XSCALE_PROP, ZOOM_REGION_YALIGN_PROP, and ZOOM_REGION_YSCALE_PROP.

Referenced by zoom_region_properties_init().

static int zoom_region_process_pending ( gpointer  data  )  [static]

Definition at line 2637 of file zoom-region.c.

References zoom_region, and zoom_region_align().

Referenced by impl_zoom_region_set_roi().

static int zoom_region_pan_test ( gpointer  data  )  [static]

Definition at line 2649 of file zoom-region.c.

References CORBA_sequence_CORBA_Object::_buffer, CORBA_sequence_CORBA_Object::_length, _MagnifierPrivate::cursor_x, _MagnifierPrivate::cursor_y, timing::frame_total, GNOME_Magnifier_Magnifier_getZoomRegions(), GNOME_Magnifier_ZoomRegion_setROI(), mag_timing, Magnifier::priv, timing::process, reset_timing, Magnifier::source_display, Magnifier::source_screen_num, GNOME_Magnifier_RectBounds_type::x1, GNOME_Magnifier_RectBounds_type::x2, GNOME_Magnifier_RectBounds_type::y1, GNOME_Magnifier_RectBounds_type::y2, zoom_region, and zoom_region_process_updates().

Referenced by impl_zoom_region_set_roi().

static void impl_zoom_region_set_pointer_pos ( PortableServer_Servant  servant,
const CORBA_long  mouse_x,
const CORBA_long  mouse_y,
CORBA_Environment *  ev 
) [static]

Definition at line 2740 of file zoom-region.c.

References DBG, ZOOM_REGION, zoom_region, zoom_region_clip_to_source(), and zoom_region_set_cursor_pos().

Referenced by zoom_region_class_init().

static void impl_zoom_region_set_contrast ( PortableServer_Servant  servant,
const CORBA_float  R,
const CORBA_float  G,
const CORBA_float  B,
CORBA_Environment *  ev 
) [static]

Definition at line 2781 of file zoom-region.c.

References CLAMP_B_C, DBG, ZOOM_REGION, zoom_region, and zoom_region_update_current().

Referenced by zoom_region_class_init().

static void impl_zoom_region_get_contrast ( PortableServer_Servant  servant,
CORBA_float *  R,
CORBA_float *  G,
CORBA_float *  B,
CORBA_Environment *  ev 
) [static]

Definition at line 2810 of file zoom-region.c.

References ZOOM_REGION, and zoom_region.

Referenced by zoom_region_class_init().

static void impl_zoom_region_set_brightness ( PortableServer_Servant  servant,
const CORBA_float  R,
const CORBA_float  G,
const CORBA_float  B,
CORBA_Environment *  ev 
) [static]

Definition at line 2829 of file zoom-region.c.

References CLAMP_B_C, DBG, ZOOM_REGION, zoom_region, and zoom_region_update_current().

Referenced by zoom_region_class_init().

static void impl_zoom_region_get_brightness ( PortableServer_Servant  servant,
CORBA_float *  R,
CORBA_float *  G,
CORBA_float *  B,
CORBA_Environment *  ev 
) [static]

Definition at line 2858 of file zoom-region.c.

References ZOOM_REGION, and zoom_region.

Referenced by zoom_region_class_init().

static void impl_zoom_region_set_roi ( PortableServer_Servant  servant,
const GNOME_Magnifier_RectBounds bounds,
CORBA_Environment *  ev 
) [static]

Definition at line 2877 of file zoom-region.c.

References DBG, pending_idle_handler, processing_updates, timing_report(), timing_test, GNOME_Magnifier_RectBounds_type::x1, GNOME_Magnifier_RectBounds_type::x2, GNOME_Magnifier_RectBounds_type::y1, GNOME_Magnifier_RectBounds_type::y2, ZOOM_REGION, zoom_region, zoom_region_align(), zoom_region_pan_test(), and zoom_region_process_pending().

Referenced by zoom_region_class_init().

static CORBA_boolean impl_zoom_region_set_mag_factor ( PortableServer_Servant  servant,
const CORBA_float  mag_factor_x,
const CORBA_float  mag_factor_y,
CORBA_Environment *  ev 
) [static]

Definition at line 2954 of file zoom-region.c.

References Bonobo_PropertyBag_getValue(), GNOME_Magnifier_Magnifier_getProperties(), ZOOM_REGION, zoom_region, zoom_region_sync(), and zoom_region_update_scale().

Referenced by zoom_region_class_init().

static void impl_zoom_region_get_mag_factor ( PortableServer_Servant  servant,
CORBA_float *  mag_factor_x,
CORBA_float *  mag_factor_y,
CORBA_Environment *  ev 
) [static]

Definition at line 2995 of file zoom-region.c.

References ZOOM_REGION, and zoom_region.

Referenced by zoom_region_class_init().

static Bonobo_PropertyBag impl_zoom_region_get_properties ( PortableServer_Servant  servant,
CORBA_Environment *  ev 
) [static]

Definition at line 3011 of file zoom-region.c.

References ZOOM_REGION, and zoom_region.

Referenced by zoom_region_class_init().

static void impl_zoom_region_mark_dirty ( PortableServer_Servant  servant,
const GNOME_Magnifier_RectBounds roi_dirty,
CORBA_Environment *  ev 
) [static]

Definition at line 3025 of file zoom-region.c.

References DEBUG_RECT, ZOOM_REGION, zoom_region, zoom_region_clip_to_source(), zoom_region_queue_update(), zoom_region_rect_from_bounds(), and zoom_region_update_pointer().

Referenced by zoom_region_class_init().

static GNOME_Magnifier_RectBounds impl_zoom_region_get_roi ( PortableServer_Servant  servant,
CORBA_Environment *  ev 
) [static]

Definition at line 3046 of file zoom-region.c.

References ZOOM_REGION, and zoom_region.

Referenced by zoom_region_class_init().

static void impl_zoom_region_move_resize ( PortableServer_Servant  servant,
const GNOME_Magnifier_RectBounds viewport_bounds,
CORBA_Environment *  ev 
) [static]

Definition at line 3059 of file zoom-region.c.

References ZOOM_REGION, zoom_region, and zoom_region_set_viewport().

Referenced by zoom_region_class_init().

static void zoom_region_do_dispose ( ZoomRegion zoom_region  )  [static]

Definition at line 3074 of file zoom-region.c.

References DBG, and zoom_region.

Referenced by impl_zoom_region_dispose(), and zoom_region_dispose().

static void impl_zoom_region_dispose ( PortableServer_Servant  servant,
CORBA_Environment *  ev 
) [static]

Definition at line 3096 of file zoom-region.c.

References ZOOM_REGION, zoom_region, and zoom_region_do_dispose().

Referenced by zoom_region_class_init().

static void zoom_region_dispose ( GObject *  object  )  [static]

Definition at line 3107 of file zoom-region.c.

References ZOOM_REGION, zoom_region, and zoom_region_do_dispose().

Referenced by zoom_region_class_init().

static void zoom_region_class_init ( ZoomRegionClass klass  )  [static]

Definition at line 3117 of file zoom-region.c.

References client_debug, POA_GNOME_Magnifier_ZoomRegion__epv::dispose, ZoomRegionClass::epv, POA_GNOME_Magnifier_ZoomRegion__epv::getBrightness, POA_GNOME_Magnifier_ZoomRegion__epv::getContrast, POA_GNOME_Magnifier_ZoomRegion__epv::getMagFactor, POA_GNOME_Magnifier_ZoomRegion__epv::getProperties, POA_GNOME_Magnifier_ZoomRegion__epv::getROI, impl_zoom_region_dispose(), impl_zoom_region_get_brightness(), impl_zoom_region_get_contrast(), impl_zoom_region_get_mag_factor(), impl_zoom_region_get_properties(), impl_zoom_region_get_roi(), impl_zoom_region_mark_dirty(), impl_zoom_region_move_resize(), impl_zoom_region_set_brightness(), impl_zoom_region_set_contrast(), impl_zoom_region_set_mag_factor(), impl_zoom_region_set_pointer_pos(), impl_zoom_region_set_roi(), POA_GNOME_Magnifier_ZoomRegion__epv::markDirty, POA_GNOME_Magnifier_ZoomRegion__epv::moveResize, parent_class, reset_timing_stats(), POA_GNOME_Magnifier_ZoomRegion__epv::setBrightness, POA_GNOME_Magnifier_ZoomRegion__epv::setContrast, POA_GNOME_Magnifier_ZoomRegion__epv::setMagFactor, POA_GNOME_Magnifier_ZoomRegion__epv::setPointerPos, POA_GNOME_Magnifier_ZoomRegion__epv::setROI, zoom_region_dispose(), and zoom_region_finalize().

static void zoom_region_properties_init ( ZoomRegion zoom_region  )  [static]

Definition at line 3147 of file zoom-region.c.

References Bonobo_PROPERTY_READABLE, Bonobo_PROPERTY_WRITEABLE, GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_NO_FILTER, GNOME_Magnifier_ZoomRegion_SCROLL_FASTEST, TC_GNOME_Magnifier_RectBounds, zoom_region, ZOOM_REGION_BORDERCOLOR_PROP, ZOOM_REGION_BORDERSIZE_PROP, ZOOM_REGION_BRIGHTB_PROP, ZOOM_REGION_BRIGHTG_PROP, ZOOM_REGION_BRIGHTR_PROP, ZOOM_REGION_COLORBLIND_PROP, ZOOM_REGION_CONTRASTB_PROP, ZOOM_REGION_CONTRASTG_PROP, ZOOM_REGION_CONTRASTR_PROP, ZOOM_REGION_DRAW_CURSOR_PROP, ZOOM_REGION_EXIT_MAGNIFIER, zoom_region_get_property(), ZOOM_REGION_INVERT_PROP, ZOOM_REGION_MANAGED_PROP, ZOOM_REGION_POLL_MOUSE_PROP, zoom_region_set_property(), ZOOM_REGION_SMOOTHING_PROP, ZOOM_REGION_SMOOTHSCROLL_PROP, ZOOM_REGION_TESTPATTERN_PROP, ZOOM_REGION_TIMING_OUTPUT_PROP, ZOOM_REGION_TIMING_PAN_RATE_PROP, ZOOM_REGION_TIMING_TEST_PROP, ZOOM_REGION_VIEWPORT_PROP, ZOOM_REGION_XALIGN_PROP, ZOOM_REGION_XSCALE_PROP, ZOOM_REGION_YALIGN_PROP, and ZOOM_REGION_YSCALE_PROP.

Referenced by zoom_region_init().

static void zoom_region_private_init ( ZoomRegionPrivate priv  )  [static]

Definition at line 3485 of file zoom-region.c.

References _ZoomRegionPrivate::crosswire_gc, _ZoomRegionPrivate::cursor_backing_pixels, _ZoomRegionPrivate::cursor_backing_rect, _ZoomRegionPrivate::default_gc, _ZoomRegionPrivate::expose_handler_id, _ZoomRegionPrivate::exposed_bounds, _ZoomRegionPrivate::gdk_interp_type, _ZoomRegionPrivate::last_cursor_pos, _ZoomRegionPrivate::last_drawn_crosswire_pos, _ZoomRegionPrivate::paint_cursor_gc, _ZoomRegionPrivate::parent, _ZoomRegionPrivate::pixmap, _ZoomRegionPrivate::q, _ZoomRegionPrivate::scaled_pixbuf, _ZoomRegionPrivate::source_area, _ZoomRegionPrivate::source_drawable, _ZoomRegionPrivate::source_pixbuf_cache, _ZoomRegionPrivate::test, _ZoomRegionPrivate::update_handler_id, _ZoomRegionPrivate::update_pointer_id, and _ZoomRegionPrivate::w.

Referenced by zoom_region_init().

static void zoom_region_init ( ZoomRegion zoom_region  )  [static]

Definition at line 3515 of file zoom-region.c.

References _coalesce_update_rects(), DBG, GNOME_Magnifier_ZoomRegion_ALIGN_CENTER, GNOME_Magnifier_ZoomRegion_COLORBLIND_FILTER_T_NO_FILTER, GNOME_Magnifier_ZoomRegion_SCROLL_SMOOTH, zoom_region, zoom_region_private_init(), zoom_region_properties_init(), and zoom_region_update_pointer_timeout().

ZoomRegion* zoom_region_new ( void   ) 

Definition at line 3560 of file zoom-region.c.

References zoom_region_get_type().

Referenced by impl_magnifier_create_zoom_region().

BONOBO_TYPE_FUNC_FULL ( ZoomRegion  ,
GNOME_Magnifier_ZoomRegion  ,
BONOBO_TYPE_OBJECT  ,
zoom_region   
)


Variable Documentation

gboolean client_debug = FALSE [static]

Definition at line 54 of file zoom-region.c.

GObjectClass* parent_class = NULL [static]

Definition at line 60 of file zoom-region.c.

enum { ... } PropIdx

gchar* prop_names[ZOOM_REGION_EXIT_MAGNIFIER+1]

Initial value:

 
{
    "MANAGED",
    "POLLMOUSE"
    "DRAWCURSOR",
    "SMOOTHSCROLL",
    "COLORBLIND",
    "INVERT",
    "SMOOTHING",
    "CONTRASTR",
    "CONTRASTG",
    "CONTRASTB",
    "XSCALE",
    "YSCALE",
    "BORDERSIZE",
    "BORDERCOLOR",
    "XALIGN",
    "YALIGN",
    "VIEWPORT",
    "TESTPATTERN",
    "TIMING_TEST",
    "TIMING_OUTPUT",
    "TIMING_PAN_RATE",
    "EXIT_MAGNIFIER"
}

Definition at line 91 of file zoom-region.c.

Referenced by zoom_region_get_property(), and zoom_region_set_property().

float timing_scale_max = 0 [static]

Definition at line 124 of file zoom-region.c.

Referenced by reset_timing_stats(), timing_report(), and zoom_region_update().

float timing_idle_max = 0 [static]

Definition at line 125 of file zoom-region.c.

Referenced by gdk_timing_idle(), reset_timing_stats(), and timing_report().

float timing_frame_max = 0 [static]

Definition at line 126 of file zoom-region.c.

Referenced by reset_timing_stats(), timing_report(), and zoom_region_time_frame().

float cps_max = 0 [static]

Definition at line 127 of file zoom-region.c.

Referenced by reset_timing_stats(), timing_report(), and zoom_region_time_frame().

float nrr_max = 0 [static]

Definition at line 128 of file zoom-region.c.

Referenced by reset_timing_stats(), timing_report(), and zoom_region_time_frame().

float update_nrr_max = 0 [static]

Definition at line 129 of file zoom-region.c.

Referenced by reset_timing_stats(), timing_report(), and zoom_region_update().

gboolean reset_timing = FALSE [static]

Definition at line 130 of file zoom-region.c.

Referenced by zoom_region_pan_test(), and zoom_region_time_frame().

gboolean timing_test = FALSE [static]

Definition at line 131 of file zoom-region.c.

Referenced by gdk_timing_idle(), impl_zoom_region_set_roi(), timing_report(), zoom_region_align(), zoom_region_scroll(), zoom_region_set_property(), and zoom_region_update().

guint pending_idle_handler = 0 [static]

Definition at line 133 of file zoom-region.c.

Referenced by impl_zoom_region_set_roi().

gboolean processing_updates = FALSE [static]

Definition at line 134 of file zoom-region.c.

Referenced by gdk_timing_idle(), impl_zoom_region_set_roi(), zoom_region_scroll(), and zoom_region_scroll_fast().

gboolean timing_start = FALSE [static]

Definition at line 135 of file zoom-region.c.

Referenced by zoom_region_align().

gboolean can_coalesce = TRUE [static]

Definition at line 137 of file zoom-region.c.

Referenced by zoom_region_coalesce_updates().


Generated on Sat Jan 12 14:30:52 2008 for gnome-mag by  doxygen 1.5.2