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_BORDERSIZETOP_PROP,
  ZOOM_REGION_BORDERSIZELEFT_PROP,
  ZOOM_REGION_BORDERSIZERIGHT_PROP,
  ZOOM_REGION_BORDERSIZEBOTTOM_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)
 COORDINATE CONVERSIONS.
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_update_borders (ZoomRegion *zoom_region)
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_update_pointer (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));

#define DEBUG_RECT ( a,
 ) 

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

EVENT COALESCING.

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

Referenced by _coalesce_update_rects().

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

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

Referenced by _coalesce_update_rects().

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

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

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


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_BORDERSIZETOP_PROP 
ZOOM_REGION_BORDERSIZELEFT_PROP 
ZOOM_REGION_BORDERSIZERIGHT_PROP 
ZOOM_REGION_BORDERSIZEBOTTOM_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.

Enumerator:
ZOOM_REGION_ERROR_NONE 
ZOOM_REGION_ERROR_NO_TARGET_DRAWABLE 
ZOOM_REGION_ERROR_TOO_BIG 

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


Function Documentation

static void zoom_region_sync ( ZoomRegion region  )  [static]

static void zoom_region_finalize ( GObject *  object  )  [static]

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

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

static int zoom_region_process_updates ( gpointer  data  )  [static]

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

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

static int zoom_region_update_pointer_timeout ( gpointer  data  )  [static]

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

static ZoomRegionPixmapCreationError zoom_region_create_pixmap ( ZoomRegion zoom_region  )  [static]

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

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

static void zoom_region_recompute_exposed_bounds ( ZoomRegion zoom_region  )  [static]

static void zoom_region_update_current ( ZoomRegion zoom_region  )  [static]

void reset_timing_stats (  ) 

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

Definition at line 205 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 212 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 456 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]

COORDINATE CONVERSIONS.

clip an area in source coords to the exposed target area

Definition at line 525 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]

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

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

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

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

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

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

Referenced by zoom_region_paint().

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

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

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

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

static GdkRectangle zoom_region_cursor_rect ( ZoomRegion zoom_region  )  [static]

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

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

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

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

static void zoom_region_coalesce_updates ( ZoomRegion zoom_region  )  [static]

static void zoom_region_paint_border ( ZoomRegion zoom_region  )  [static]

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

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

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 1281 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]

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 1364 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]

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

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

static int zoom_region_update_pointer_idle ( gpointer  data  )  [static]

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

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

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 1709 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]

static void zoom_region_init_window ( ZoomRegion zoom_region  )  [static]

void timing_report ( ZoomRegion zoom_region  ) 

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

static gboolean gdk_timing_idle ( gpointer  data  )  [static]

static void zoom_region_align ( ZoomRegion zoom_region  )  [static]

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

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

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

References ZoomRegion::border_color, ZoomRegion::border_size_bottom, ZoomRegion::border_size_left, ZoomRegion::border_size_right, ZoomRegion::border_size_top, ZoomRegion::bright_b, ZoomRegion::bright_g, ZoomRegion::bright_r, ZoomRegion::color_blind_filter, ZoomRegion::contrast_b, ZoomRegion::contrast_g, ZoomRegion::contrast_r, DBG, ZoomRegion::draw_cursor, ex_Bonobo_PropertyBag_NotFound, ZoomRegion::exit_magnifier, ZoomRegion::invert, ZoomRegion::is_managed, ZoomRegion::poll_mouse, 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_BORDERSIZEBOTTOM_PROP, ZOOM_REGION_BORDERSIZELEFT_PROP, ZOOM_REGION_BORDERSIZERIGHT_PROP, ZOOM_REGION_BORDERSIZETOP_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_update_borders ( ZoomRegion zoom_region  )  [static]

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

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

References ZoomRegion::border_color, ZoomRegion::border_size_bottom, ZoomRegion::border_size_left, ZoomRegion::border_size_right, ZoomRegion::border_size_top, ZoomRegion::bright_b, ZoomRegion::bright_g, ZoomRegion::bright_r, CLAMP_B_C, ZoomRegion::color_blind_filter, ZoomRegion::contrast_b, ZoomRegion::contrast_g, ZoomRegion::contrast_r, DBG, ZoomRegion::draw_cursor, ex_Bonobo_PropertyBag_NotFound, ZoomRegion::exit_magnifier, _ZoomRegionPrivate::gdk_interp_type, ZoomRegion::invert, ZoomRegion::is_managed, ZoomRegion::poll_mouse, 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, _ZoomRegionPrivate::update_pointer_id, 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_BORDERSIZEBOTTOM_PROP, ZOOM_REGION_BORDERSIZELEFT_PROP, ZOOM_REGION_BORDERSIZERIGHT_PROP, ZOOM_REGION_BORDERSIZETOP_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_borders(), 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 2717 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]

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]

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]

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

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]

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

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

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]

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

References ZoomRegion::properties, ZOOM_REGION, and zoom_region.

Referenced by zoom_region_class_init().

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

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

References ZOOM_REGION, zoom_region, and zoom_region_update_cursor().

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]

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

Definition at line 3140 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 3153 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]

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

Definition at line 3190 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 3201 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]

static void zoom_region_properties_init ( ZoomRegion zoom_region  )  [static]

static void zoom_region_private_init ( ZoomRegionPrivate priv  )  [static]

static void zoom_region_init ( ZoomRegion zoom_region  )  [static]

ZoomRegion* zoom_region_new ( void   ) 

Definition at line 3711 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]

Definition at line 95 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 135 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 136 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 137 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 138 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 139 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 140 of file zoom-region.c.

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

gboolean reset_timing = FALSE [static]

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

Referenced by zoom_region_pan_test(), and zoom_region_time_frame().

gboolean timing_test = FALSE [static]

guint pending_idle_handler = 0 [static]

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

Referenced by impl_zoom_region_set_roi().

gboolean processing_updates = FALSE [static]

gboolean timing_start = FALSE [static]

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

Referenced by zoom_region_align().

gboolean can_coalesce = TRUE [static]

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

Referenced by zoom_region_coalesce_updates().


Generated on Thu Apr 10 11:05:42 2008 for gnome-mag by  doxygen 1.5.5