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

zoom-region.c File Reference

#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 <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/cursorfont.h>
#include <X11/extensions/XTest.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 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))

Enumerations

enum  {
  ZOOM_REGION_MANAGED_PROP,
  ZOOM_REGION_SMOOTHSCROLL_PROP,
  ZOOM_REGION_INVERT_PROP,
  ZOOM_REGION_SMOOTHING_PROP,
  ZOOM_REGION_CONTRASTR_PROP,
  ZOOM_REGION_CONTRASTG_PROP,
  ZOOM_REGION_CONTRASTB_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 update_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 void zoom_region_recompute_exposed_viewport (ZoomRegion *zoom_region)
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)
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 const 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 void zoom_region_update_current (ZoomRegion *zoom_region)
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, GdkRectangle *area)
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_recompute_exposed_bounds (ZoomRegion *zoom_region)
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_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_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 49 of file zoom-region.c.

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

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

#define DEBUG_RECT a,
 ) 
 

DEBUG STUFF.

Definition at line 182 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 426 of file zoom-region.c.

Referenced by _coalesce_update_rects().

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

Definition at line 427 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().


Enumeration Type Documentation

anonymous enum
 

Enumerator:
ZOOM_REGION_MANAGED_PROP 
ZOOM_REGION_SMOOTHSCROLL_PROP 
ZOOM_REGION_INVERT_PROP 
ZOOM_REGION_SMOOTHING_PROP 
ZOOM_REGION_CONTRASTR_PROP 
ZOOM_REGION_CONTRASTG_PROP 
ZOOM_REGION_CONTRASTB_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 60 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 107 of file zoom-region.c.


Function Documentation

static void zoom_region_sync ZoomRegion region  )  [static]
 

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

References ZoomRegion::priv, _ZoomRegionPrivate::q, and zoom_region_process_updates().

Referenced by impl_zoom_region_set_mag_factor().

static void zoom_region_finalize GObject *  object  )  [static]
 

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

References _ZoomRegionPrivate::border, _ZoomRegionPrivate::border_gc, _ZoomRegionPrivate::cursor_backing_pixels, DBG, _ZoomRegionPrivate::parent, _ZoomRegionPrivate::pixmap, ZoomRegion::priv, _ZoomRegionPrivate::q, _ZoomRegionPrivate::scaled_pixbuf, _ZoomRegionPrivate::source_pixbuf_cache, _ZoomRegionPrivate::w, 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 1775 of file zoom-region.c.

References mag_timing, timing::num_scale_samples, ZoomRegion::priv, timing::scale, timing::scale_total, timing::scale_val, ZoomRegion::timing_output, timing_scale_max, timing_test, update_nrr_max, timing::update_pixels_total, _ZoomRegionPrivate::w, zoom_region_paint(), and zoom_region_update_pixmap().

Referenced by zoom_region_create_pixmap(), 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 659 of file zoom-region.c.

References DEBUG_RECT, ZoomRegion::priv, _ZoomRegionPrivate::q, _ZoomRegionPrivate::update_handler_id, 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 1864 of file zoom-region.c.

References ZoomRegion::priv, _ZoomRegionPrivate::q, _ZoomRegionPrivate::update_handler_id, 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 1080 of file zoom-region.c.

References DEBUG_RECT, zoom_region_clip_to_window(), zoom_region_paint_border(), 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 1049 of file zoom-region.c.

References _ZoomRegionPrivate::default_gc, _ZoomRegionPrivate::exposed_bounds, _ZoomRegionPrivate::pixmap, ZoomRegion::priv, _ZoomRegionPrivate::source_area, _ZoomRegionPrivate::w, GNOME_Magnifier_RectBounds_type::x1, ZoomRegion::xscale, GNOME_Magnifier_RectBounds_type::y1, and ZoomRegion::yscale.

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 1464 of file zoom-region.c.

References ZoomRegion::priv, _ZoomRegionPrivate::update_pointer_id, zoom_region, zoom_region_update_pointer(), and zoom_region_update_pointer_idle().

Referenced by zoom_region_init(), and zoom_region_update_pointer_idle().

static void zoom_region_recompute_exposed_viewport ZoomRegion zoom_region  )  [static]
 

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

References ZoomRegion::border_size, _ZoomRegionPrivate::exposed_viewport, ZoomRegion::priv, ZoomRegion::viewport, 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_create_pixmap(), zoom_region_set_property(), and zoom_region_set_viewport().

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

Definition at line 645 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 1097 of file zoom-region.c.

References DEBUG_RECT, _ZoomRegionPrivate::exposed_viewport, magnifier_error_check(), _ZoomRegionPrivate::pixmap, ZoomRegion::priv, _ZoomRegionPrivate::source_area, _ZoomRegionPrivate::w, GNOME_Magnifier_RectBounds_type::x1, GNOME_Magnifier_RectBounds_type::x2, ZoomRegion::xscale, GNOME_Magnifier_RectBounds_type::y1, GNOME_Magnifier_RectBounds_type::y2, ZoomRegion::yscale, ZOOM_REGION_ERROR_NO_TARGET_DRAWABLE, ZOOM_REGION_ERROR_NONE, ZOOM_REGION_ERROR_TOO_BIG, zoom_region_recompute_exposed_viewport(), zoom_region_rect_from_bounds(), zoom_region_source_rect_from_view_bounds(), and zoom_region_update().

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

static GdkRectangle zoom_region_update_pixmap ZoomRegion zoom_region,
const GdkRectangle  update_rect,
GdkRectangle *  p_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 1676 of file zoom-region.c.

References DEBUG_RECT, _ZoomRegionPrivate::default_gc, _ZoomRegionPrivate::exposed_bounds, _ZoomRegionPrivate::gdk_interp_type, mag_timing, magnifier_error_check(), _ZoomRegionPrivate::pixmap, ZoomRegion::priv, timing::scale, _ZoomRegionPrivate::scaled_pixbuf, _ZoomRegionPrivate::source_area, _ZoomRegionPrivate::w, GNOME_Magnifier_RectBounds_type::x1, ZoomRegion::xscale, GNOME_Magnifier_RectBounds_type::y1, ZoomRegion::yscale, 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_scroll(), and zoom_region_update().

void reset_timing_stats  ) 
 

Definition at line 152 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 185 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 192 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 436 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 505 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 517 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 530 of file zoom-region.c.

References _rectangle_clip_to_bounds(), DEBUG_RECT, _ZoomRegionPrivate::parent, ZoomRegion::priv, and zoom_region_rect_from_bounds().

Referenced by impl_zoom_region_mark_dirty(), 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 544 of file zoom-region.c.

References _rectangle_clip_to_bounds(), _ZoomRegionPrivate::exposed_bounds, ZoomRegion::priv, _ZoomRegionPrivate::source_area, GNOME_Magnifier_RectBounds_type::x1, GNOME_Magnifier_RectBounds_type::x2, ZoomRegion::xscale, GNOME_Magnifier_RectBounds_type::y1, GNOME_Magnifier_RectBounds_type::y2, and ZoomRegion::yscale.

Referenced by zoom_region_update_pixmap().

static GdkRectangle zoom_region_clip_to_scaled_pixmap ZoomRegion zoom_region,
GdkRectangle  area
[static]
 

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

References _rectangle_clip_to_rectangle(), _ZoomRegionPrivate::pixmap, and ZoomRegion::priv.

static GdkRectangle zoom_region_clip_to_window ZoomRegion zoom_region,
GdkRectangle  area
[static]
 

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

References _rectangle_clip_to_rectangle(), ZoomRegion::priv, and _ZoomRegionPrivate::w.

Referenced by zoom_region_paint().

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

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

References _ZoomRegionPrivate::exposed_bounds, ZoomRegion::priv, GNOME_Magnifier_RectBounds_type::x1, GNOME_Magnifier_RectBounds_type::x2, ZoomRegion::xscale, GNOME_Magnifier_RectBounds_type::y1, GNOME_Magnifier_RectBounds_type::y2, and ZoomRegion::yscale.

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 617 of file zoom-region.c.

References DEBUG_RECT, _ZoomRegionPrivate::exposed_bounds, ZoomRegion::priv, GNOME_Magnifier_RectBounds_type::x1, ZoomRegion::xscale, GNOME_Magnifier_RectBounds_type::y1, and ZoomRegion::yscale.

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 631 of file zoom-region.c.

References _ZoomRegionPrivate::exposed_bounds, ZoomRegion::priv, GNOME_Magnifier_RectBounds_type::x1, ZoomRegion::xscale, GNOME_Magnifier_RectBounds_type::y1, and ZoomRegion::yscale.

Referenced by zoom_region_scroll().

static void zoom_region_update_current ZoomRegion zoom_region  )  [static]
 

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

References _ZoomRegionPrivate::pixmap, ZoomRegion::priv, 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_contrast(), impl_zoom_region_set_mag_factor(), and zoom_region_set_property().

static GdkRectangle zoom_region_cursor_rect ZoomRegion zoom_region  )  [static]
 

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

References Magnifier::cursor_hotspot, _ZoomRegionPrivate::last_cursor_pos, magnifier_get_cursor(), _ZoomRegionPrivate::parent, ZoomRegion::priv, GNOME_Magnifier_Point_type::x, GNOME_Magnifier_Point_type::y, 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 721 of file zoom-region.c.

References Magnifier::crosswire_size, _ZoomRegionPrivate::last_drawn_crosswire_pos, _ZoomRegionPrivate::parent, ZoomRegion::priv, 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 748 of file zoom-region.c.

References Magnifier::crosswire_color, _ZoomRegionPrivate::crosswire_gc, Magnifier::crosswire_size, _ZoomRegionPrivate::last_cursor_pos, magnifier_get_cursor(), _ZoomRegionPrivate::parent, ZoomRegion::priv, _ZoomRegionPrivate::w, 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 873 of file zoom-region.c.

References _ZoomRegionPrivate::cursor_backing_rect, ZoomRegion::priv, and zoom_region_paint_pixmap().

Referenced by zoom_region_scroll_fast(), and zoom_region_update_cursor().

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

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

References _ZoomRegionPrivate::cursor_backing_pixels, _ZoomRegionPrivate::cursor_backing_rect, Magnifier::cursor_hotspot, _MagnifierPrivate::cursor_mask, DEBUG_RECT, _ZoomRegionPrivate::default_gc, _ZoomRegionPrivate::last_drawn_crosswire_pos, magnifier_get_cursor(), _ZoomRegionPrivate::paint_cursor_gc, _ZoomRegionPrivate::parent, Magnifier::priv, ZoomRegion::priv, ZoomRegion::viewport, _ZoomRegionPrivate::w, GNOME_Magnifier_Point_type::x, GNOME_Magnifier_Point_type::y, 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 975 of file zoom-region.c.

References can_coalesce, ZoomRegion::coalesce_func, ZoomRegion::priv, _ZoomRegionPrivate::q, _ZoomRegionPrivate::source_area, 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,
GdkRectangle *  area
[static]
 

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

References ZoomRegion::border_color, _ZoomRegionPrivate::border_gc, ZoomRegion::border_size, ZoomRegion::priv, and _ZoomRegionPrivate::w.

Referenced by zoom_region_paint().

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

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

References DEBUG_RECT, _ZoomRegionPrivate::pixmap, ZoomRegion::priv, zoom_region, zoom_region_create_pixmap(), ZOOM_REGION_ERROR_NO_TARGET_DRAWABLE, ZOOM_REGION_ERROR_TOO_BIG, and zoom_region_paint().

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 1178 of file zoom-region.c.

References _ZoomRegionPrivate::cursor_backing_rect, _ZoomRegionPrivate::last_drawn_crosswire_pos, ZoomRegion::priv, _ZoomRegionPrivate::w, 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 1197 of file zoom-region.c.

References DBG, ZoomRegion::priv, and _ZoomRegionPrivate::w.

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 1251 of file zoom-region.c.

References GNOME_Magnifier_ZoomRegion_SCROLL_FASTEST, ZoomRegion::priv, processing_updates, ZoomRegion::smooth_scroll_policy, _ZoomRegionPrivate::w, 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 1279 of file zoom-region.c.

References ZoomRegion::priv, and _ZoomRegionPrivate::w.

Referenced by zoom_region_scroll().

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

Definition at line 1305 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, ZoomRegion::timing_output, timing_test, 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_recompute_exposed_bounds ZoomRegion zoom_region  )  [static]
 

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

References _ZoomRegionPrivate::exposed_bounds, ZoomRegion::priv, ZoomRegion::viewport, 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_moveto().

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

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

References _ZoomRegionPrivate::last_cursor_pos, and ZoomRegion::priv.

Referenced by zoom_region_update_pointer().

static gboolean zoom_region_update_pointer ZoomRegion zoom_region,
gboolean  draw_cursor
[static]
 

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

References _ZoomRegionPrivate::last_cursor_pos, magnifier_get_root(), _ZoomRegionPrivate::parent, Magnifier::priv, ZoomRegion::priv, 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 1445 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 1480 of file zoom-region.c.

References timing::dx, timing::dy, _ZoomRegionPrivate::exposed_bounds, mag_timing, ZoomRegion::priv, GNOME_Magnifier_RectBounds_type::x1, ZoomRegion::xscale, GNOME_Magnifier_RectBounds_type::y1, ZoomRegion::yscale, 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 1507 of file zoom-region.c.

References CLAMP_UCHAR, ZoomRegion::contrast_b, ZoomRegion::contrast_g, ZoomRegion::contrast_r, and ZoomRegion::invert.

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 1556 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 1573 of file zoom-region.c.

References _debug_announce_rect(), _diff_pixbufs(), ZoomRegion::cache_source, DEBUG_RECT, _ZoomRegionPrivate::default_gc, _ZoomRegionPrivate::parent, ZoomRegion::priv, Magnifier::source_display, _ZoomRegionPrivate::source_drawable, _ZoomRegionPrivate::source_pixbuf_cache, Magnifier::source_screen_num, _ZoomRegionPrivate::test, and _ZoomRegionPrivate::w.

Referenced by zoom_region_update_pixmap().

static void zoom_region_init_window ZoomRegion zoom_region  )  [static]
 

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

References _ZoomRegionPrivate::border, ZoomRegion::border_size, DBG, _ZoomRegionPrivate::expose_handler_id, _ZoomRegionPrivate::parent, ZoomRegion::priv, ZoomRegion::viewport, _ZoomRegionPrivate::w, GNOME_Magnifier_RectBounds_type::x1, GNOME_Magnifier_RectBounds_type::x2, GNOME_Magnifier_RectBounds_type::y1, GNOME_Magnifier_RectBounds_type::y2, and zoom_region_expose_handler().

Referenced by zoom_region_set_viewport().

void timing_report ZoomRegion zoom_region  ) 
 

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

References cps_max, timing::dx_total, timing::dy_total, _ZoomRegionPrivate::exposed_viewport, 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, ZoomRegion::priv, timing::scale_total, timing_frame_max, timing_idle_max, timing_scale_max, timing_test, update_nrr_max, timing::update_pixels_total, _ZoomRegionPrivate::w, GNOME_Magnifier_RectBounds_type::x1, GNOME_Magnifier_RectBounds_type::x2, ZoomRegion::xscale, GNOME_Magnifier_RectBounds_type::y1, GNOME_Magnifier_RectBounds_type::y2, and ZoomRegion::yscale.

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 1958 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, ZoomRegion::timing_output, timing_report(), 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_align().

static gboolean gdk_timing_idle gpointer  data  )  [static]
 

Definition at line 2027 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, ZoomRegion::timing_output, timing_test, and zoom_region.

Referenced by zoom_region_align().

static void zoom_region_align ZoomRegion zoom_region  )  [static]
 

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

References timing::frame, gdk_timing_idle(), GNOME_Magnifier_ZoomRegion_ALIGN_CENTER, GNOME_Magnifier_ZoomRegion_ALIGN_MAX, GNOME_Magnifier_ZoomRegion_ALIGN_MIN, timing::idle, mag_timing, timing::num_frame_samples, _ZoomRegionPrivate::parent, ZoomRegion::priv, timing::process, timing_start, timing_test, 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 2150 of file zoom-region.c.

References Bonobo_PropertyBag_getValue(), _ZoomRegionPrivate::border, _MagnifierPrivate::canvas, GNOME_Magnifier_Magnifier_getProperties(), _ZoomRegionPrivate::parent, _ZoomRegionPrivate::pixmap, Magnifier::priv, ZoomRegion::priv, _ZoomRegionPrivate::scaled_pixbuf, _ZoomRegionPrivate::source_area, ZoomRegion::viewport, _ZoomRegionPrivate::w, GNOME_Magnifier_RectBounds_type::x1, GNOME_Magnifier_RectBounds_type::x2, ZoomRegion::xscale, GNOME_Magnifier_RectBounds_type::y1, GNOME_Magnifier_RectBounds_type::y2, ZoomRegion::yscale, zoom_region_align(), zoom_region_create_pixmap(), zoom_region_init_window(), zoom_region_queue_update(), zoom_region_recompute_exposed_viewport(), 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 2211 of file zoom-region.c.

References ZoomRegion::border_color, ZoomRegion::border_size, ZoomRegion::contrast_b, ZoomRegion::contrast_g, ZoomRegion::contrast_r, DBG, ex_Bonobo_PropertyBag_NotFound, ZoomRegion::exit_magnifier, ZoomRegion::invert, ZoomRegion::is_managed, ZoomRegion::priv, prop_names, ZoomRegion::smooth_scroll_policy, ZoomRegion::smoothing, TC_GNOME_Magnifier_RectBounds, _ZoomRegionPrivate::test, ZoomRegion::timing_iterations, ZoomRegion::timing_output, ZoomRegion::timing_pan_rate, ZoomRegion::viewport, ZoomRegion::x_align_policy, ZoomRegion::xscale, ZoomRegion::y_align_policy, ZoomRegion::yscale, zoom_region, ZOOM_REGION_BORDERCOLOR_PROP, ZOOM_REGION_BORDERSIZE_PROP, ZOOM_REGION_CONTRASTB_PROP, ZOOM_REGION_CONTRASTG_PROP, ZOOM_REGION_CONTRASTR_PROP, ZOOM_REGION_EXIT_MAGNIFIER, ZOOM_REGION_INVERT_PROP, ZOOM_REGION_MANAGED_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 2293 of file zoom-region.c.

References ZoomRegion::border_color, _ZoomRegionPrivate::border_gc, ZoomRegion::border_size, ZoomRegion::contrast_b, ZoomRegion::contrast_g, ZoomRegion::contrast_r, DBG, ex_Bonobo_PropertyBag_NotFound, ZoomRegion::exit_magnifier, _ZoomRegionPrivate::gdk_interp_type, ZoomRegion::invert, ZoomRegion::is_managed, ZoomRegion::priv, prop_names, ZoomRegion::smooth_scroll_policy, ZoomRegion::smoothing, _ZoomRegionPrivate::source_drawable, TC_GNOME_Magnifier_RectBounds, _ZoomRegionPrivate::test, ZoomRegion::timing_iterations, ZoomRegion::timing_output, ZoomRegion::timing_pan_rate, timing_test, ZoomRegion::x_align_policy, ZoomRegion::xscale, ZoomRegion::y_align_policy, ZoomRegion::yscale, zoom_region, zoom_region_align(), ZOOM_REGION_BORDERCOLOR_PROP, ZOOM_REGION_BORDERSIZE_PROP, ZOOM_REGION_CONTRASTB_PROP, ZOOM_REGION_CONTRASTG_PROP, ZOOM_REGION_CONTRASTR_PROP, ZOOM_REGION_EXIT_MAGNIFIER, ZOOM_REGION_INVERT_PROP, ZOOM_REGION_MANAGED_PROP, zoom_region_recompute_exposed_viewport(), 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_update_current(), 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 2401 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 2413 of file zoom-region.c.

References CORBA_sequence_CORBA_Object::_buffer, CORBA_sequence_CORBA_Object::_length, _MagnifierPrivate::cursor_x, _MagnifierPrivate::cursor_y, ZoomRegion::exit_magnifier, _ZoomRegionPrivate::exposed_viewport, timing::frame_total, GNOME_Magnifier_Magnifier_getZoomRegions(), GNOME_Magnifier_ZoomRegion_setROI(), mag_timing, _ZoomRegionPrivate::parent, Magnifier::priv, ZoomRegion::priv, timing::process, reset_timing, ZoomRegion::roi, screen_height, Magnifier::source_display, Magnifier::source_screen_num, ZoomRegion::timing_iterations, ZoomRegion::timing_pan_rate, GNOME_Magnifier_RectBounds_type::x1, GNOME_Magnifier_RectBounds_type::x2, GNOME_Magnifier_RectBounds_type::y1, GNOME_Magnifier_RectBounds_type::y2, ZoomRegion::yscale, zoom_region, and zoom_region_process_updates().

Referenced by impl_zoom_region_set_roi().

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 2504 of file zoom-region.c.

References ZoomRegion::contrast_b, ZoomRegion::contrast_g, ZoomRegion::contrast_r, 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 2532 of file zoom-region.c.

References ZoomRegion::contrast_b, ZoomRegion::contrast_g, ZoomRegion::contrast_r, DBG, 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 2552 of file zoom-region.c.

References DBG, ZoomRegion::exit_magnifier, pending_idle_handler, processing_updates, ZoomRegion::roi, ZoomRegion::timing_output, ZoomRegion::timing_pan_rate, 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 2622 of file zoom-region.c.

References Bonobo_PropertyBag_getValue(), GNOME_Magnifier_Magnifier_getProperties(), _ZoomRegionPrivate::parent, _ZoomRegionPrivate::pixmap, ZoomRegion::priv, _ZoomRegionPrivate::scaled_pixbuf, _ZoomRegionPrivate::source_area, GNOME_Magnifier_RectBounds_type::x1, GNOME_Magnifier_RectBounds_type::x2, ZoomRegion::xscale, GNOME_Magnifier_RectBounds_type::y1, GNOME_Magnifier_RectBounds_type::y2, ZoomRegion::yscale, ZOOM_REGION, zoom_region, zoom_region_create_pixmap(), ZOOM_REGION_ERROR_TOO_BIG, zoom_region_sync(), and zoom_region_update_current().

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 2691 of file zoom-region.c.

References ZoomRegion::xscale, ZoomRegion::yscale, 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 2707 of file zoom-region.c.

References ZoomRegion::properties, 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 2721 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 2742 of file zoom-region.c.

References ZoomRegion::roi, 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 2755 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 2770 of file zoom-region.c.

References DBG, _ZoomRegionPrivate::expose_handler_id, ZoomRegion::priv, _ZoomRegionPrivate::update_handler_id, _ZoomRegionPrivate::update_pointer_id, and _ZoomRegionPrivate::w.

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 2792 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 2803 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 2813 of file zoom-region.c.

References client_debug, POA_GNOME_Magnifier_ZoomRegion__epv::dispose, ZoomRegionClass::epv, 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_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_contrast(), impl_zoom_region_set_mag_factor(), 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::setContrast, POA_GNOME_Magnifier_ZoomRegion__epv::setMagFactor, 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 2840 of file zoom-region.c.

References Bonobo_PROPERTY_READABLE, Bonobo_PROPERTY_WRITEABLE, GNOME_Magnifier_ZoomRegion_SCROLL_FASTEST, ZoomRegion::properties, TC_GNOME_Magnifier_RectBounds, ZOOM_REGION_BORDERCOLOR_PROP, ZOOM_REGION_BORDERSIZE_PROP, ZOOM_REGION_CONTRASTB_PROP, ZOOM_REGION_CONTRASTG_PROP, ZOOM_REGION_CONTRASTR_PROP, ZOOM_REGION_EXIT_MAGNIFIER, zoom_region_get_property(), ZOOM_REGION_INVERT_PROP, ZOOM_REGION_MANAGED_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 3098 of file zoom-region.c.

References _ZoomRegionPrivate::border_gc, _ZoomRegionPrivate::crosswire_gc, _ZoomRegionPrivate::cursor_backing_pixels, _ZoomRegionPrivate::cursor_backing_rect, _ZoomRegionPrivate::default_gc, _ZoomRegionPrivate::expose_handler_id, _ZoomRegionPrivate::exposed_bounds, _ZoomRegionPrivate::exposed_viewport, _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 3130 of file zoom-region.c.

References _coalesce_update_rects(), ZoomRegion::border_color, ZoomRegion::border_size, ZoomRegion::cache_source, ZoomRegion::coalesce_func, ZoomRegion::contrast_b, ZoomRegion::contrast_g, ZoomRegion::contrast_r, DBG, GNOME_Magnifier_ZoomRegion_ALIGN_CENTER, GNOME_Magnifier_ZoomRegion_SCROLL_SMOOTH, ZoomRegion::invert, ZoomRegion::priv, ZoomRegion::roi, ZoomRegion::smooth_scroll_policy, GNOME_Magnifier_RectBounds_type::x1, GNOME_Magnifier_RectBounds_type::x2, ZoomRegion::x_align_policy, ZoomRegion::y_align_policy, zoom_region_private_init(), zoom_region_properties_init(), and zoom_region_update_pointer_timeout().

ZoomRegion* zoom_region_new void   ) 
 

Definition at line 3168 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 52 of file zoom-region.c.

GObjectClass* parent_class = NULL [static]
 

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

enum { ... } PropIdx
 

gchar* prop_names[ZOOM_REGION_EXIT_MAGNIFIER+1]
 

Initial value:

 
{
    "MANAGED",
    "SMOOTHSCROLL",
    "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 83 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 113 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 114 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 115 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 116 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 117 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 118 of file zoom-region.c.

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

gboolean reset_timing = FALSE [static]
 

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

Referenced by zoom_region_pan_test(), and zoom_region_time_frame().

gboolean timing_test = FALSE [static]
 

Definition at line 120 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 122 of file zoom-region.c.

Referenced by impl_zoom_region_set_roi().

gboolean processing_updates = FALSE [static]
 

Definition at line 123 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 124 of file zoom-region.c.

Referenced by zoom_region_align().

gboolean can_coalesce = TRUE [static]
 

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

Referenced by zoom_region_coalesce_updates().


Generated on Mon Jul 10 19:11:41 2006 for gnome-mag by  doxygen 1.4.4