#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) |
ZoomRegion * | zoom_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 DEBUG_CLIENT_CALLS |
Definition at line 51 of file zoom-region.c.
#define DBG | ( | a | ) | if (client_debug) { (a); } |
Definition at line 55 of file zoom-region.c.
#define CLAMP_B_C | ( | v | ) | (t = (v), CLAMP (t, -1, 1)); |
Definition at line 149 of file zoom-region.c.
#define DEBUG_RECT | ( | a, | |||
b | ) |
DEBUG STUFF.
Definition at line 201 of file zoom-region.c.
Referenced by zoom_region_paint_cursor().
#define _is_horizontal_rect | ( | r | ) | ((r)->width > (r)->height) |
#define _is_vertical_rect | ( | r | ) | ((r)->height > (r)->width) |
Definition at line 444 of file zoom-region.c.
#define CLAMP_UCHAR | ( | v | ) | (t = (v), CLAMP (t, 0, 255)) |
Referenced by zoom_region_process_pixbuf().
#define CLAMP_LOW_MID | ( | v | ) | (t = (v), CLAMP (t, 0, 127)) |
Referenced by zoom_region_process_pixbuf().
#define CLAMP_MID_HIGH | ( | v | ) | (t = (v), CLAMP (t, 127, 255)) |
Referenced by zoom_region_process_pixbuf().
anonymous enum |
Definition at line 61 of file zoom-region.c.
Definition at line 128 of file zoom-region.c.
static void zoom_region_sync | ( | ZoomRegion * | region | ) | [static] |
Definition at line 2181 of file zoom-region.c.
static void zoom_region_finalize | ( | GObject * | object | ) | [static] |
Definition at line 3714 of file zoom-region.c.
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 1925 of file zoom-region.c.
static void zoom_region_queue_update | ( | ZoomRegion * | zoom_region, | |
const GdkRectangle | rect | |||
) | [static] |
Definition at line 718 of file zoom-region.c.
static int zoom_region_process_updates | ( | gpointer | data | ) | [static] |
Definition at line 2025 of file zoom-region.c.
static void zoom_region_paint | ( | ZoomRegion * | zoom_region, | |
GdkRectangle * | rect | |||
) | [static] |
static void zoom_region_paint_pixmap | ( | ZoomRegion * | zoom_region, | |
GdkRectangle * | rect | |||
) | [static] |
Definition at line 1143 of file zoom-region.c.
static int zoom_region_update_pointer_timeout | ( | gpointer | data | ) | [static] |
Definition at line 1520 of file zoom-region.c.
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] |
Definition at line 1190 of file zoom-region.c.
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 1827 of file zoom-region.c.
static void zoom_region_get_move_x_y | ( | ZoomRegion * | zoom_region, | |
long * | x, | |||
long * | y | |||
) | [static] |
Definition at line 2219 of file zoom-region.c.
static void zoom_region_recompute_exposed_bounds | ( | ZoomRegion * | zoom_region | ) | [static] |
Definition at line 1441 of file zoom-region.c.
static void zoom_region_update_current | ( | ZoomRegion * | zoom_region | ) | [static] |
Definition at line 741 of file zoom-region.c.
void reset_timing_stats | ( | ) |
Definition at line 171 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.
static void _debug_announce_rect | ( | char * | msg, | |
GdkRectangle | rect | |||
) | [static] |
Definition at line 204 of file zoom-region.c.
static gboolean _diff_pixbufs | ( | const GdkPixbuf * | a, | |
const GdkPixbuf * | b | |||
) | [static] |
Definition at line 211 of file zoom-region.c.
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 453 of file zoom-region.c.
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 522 of file zoom-region.c.
static GdkRectangle _rectangle_clip_to_bounds | ( | GdkRectangle | area, | |
GNOME_Magnifier_RectBounds * | clip_bounds | |||
) | [static] |
Definition at line 534 of file zoom-region.c.
static GdkRectangle zoom_region_clip_to_source | ( | ZoomRegion * | zoom_region, | |
GdkRectangle | area | |||
) | [static] |
Definition at line 547 of file zoom-region.c.
static GdkRectangle zoom_region_clip_to_exposed_target | ( | ZoomRegion * | zoom_region, | |
GdkRectangle | area | |||
) | [static] |
Definition at line 561 of file zoom-region.c.
static GdkRectangle zoom_region_clip_to_scaled_pixmap | ( | ZoomRegion * | zoom_region, | |
GdkRectangle | area | |||
) | [static] |
Definition at line 584 of file zoom-region.c.
static GdkRectangle zoom_region_clip_to_window | ( | ZoomRegion * | zoom_region, | |
GdkRectangle | area | |||
) | [static] |
Definition at line 598 of file zoom-region.c.
static GdkRectangle zoom_region_source_rect_from_view_bounds | ( | ZoomRegion * | zoom_region, | |
const GNOME_Magnifier_RectBounds * | view_bounds | |||
) | [static] |
Definition at line 620 of file zoom-region.c.
static GdkRectangle zoom_region_view_rect_from_source_rect | ( | ZoomRegion * | zoom_region, | |
const GdkRectangle | source_rect | |||
) | [static] |
Definition at line 634 of file zoom-region.c.
static GdkRectangle zoom_region_source_rect_from_view_rect | ( | ZoomRegion * | zoom_region, | |
const GdkRectangle | view_rect | |||
) | [static] |
Definition at line 648 of file zoom-region.c.
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] |
Definition at line 780 of file zoom-region.c.
static void zoom_region_paint_crosswire_cursor | ( | ZoomRegion * | zoom_region, | |
GdkRectangle * | clip_rect | |||
) | [static] |
Definition at line 807 of file zoom-region.c.
static void zoom_region_unpaint_cursor | ( | ZoomRegion * | zoom_region, | |
GdkRectangle * | clip_rect | |||
) | [static] |
Definition at line 967 of file zoom-region.c.
static void zoom_region_paint_cursor | ( | ZoomRegion * | zoom_region, | |
GdkRectangle * | clip_rect | |||
) | [static] |
Definition at line 978 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, ZoomRegion::draw_cursor, _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().
static void zoom_region_coalesce_updates | ( | ZoomRegion * | zoom_region | ) | [static] |
static void zoom_region_paint_border | ( | ZoomRegion * | zoom_region | ) | [static] |
Definition at line 1113 of file zoom-region.c.
References _ZoomRegionPrivate::border, ZoomRegion::border_color, ZoomRegion::border_size_bottom, ZoomRegion::border_size_left, ZoomRegion::border_size_right, ZoomRegion::border_size_top, and ZoomRegion::priv.
static void zoom_region_expose_handler | ( | GtkWindow * | w, | |
GdkEventExpose * | event, | |||
gpointer | data | |||
) | [static] |
Definition at line 1226 of file zoom-region.c.
static void zoom_region_update_cursor | ( | ZoomRegion * | zoom_region, | |
int | dx, | |||
int | dy, | |||
GdkRectangle * | clip_rect | |||
) | [static] |
Definition at line 1257 of file zoom-region.c.
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 1278 of file zoom-region.c.
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 1332 of file zoom-region.c.
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 1361 of file zoom-region.c.
static void zoom_region_scroll | ( | ZoomRegion * | zoom_region, | |
int | dx, | |||
int | dy | |||
) | [static] |
Definition at line 1387 of file zoom-region.c.
static void zoom_region_set_cursor_pos | ( | ZoomRegion * | zoom_region, | |
int | x, | |||
int | y | |||
) | [static] |
Definition at line 1450 of file zoom-region.c.
static gboolean zoom_region_update_pointer | ( | ZoomRegion * | zoom_region, | |
gboolean | draw_cursor | |||
) | [static] |
Definition at line 1460 of file zoom-region.c.
static int zoom_region_update_pointer_idle | ( | gpointer | data | ) | [static] |
Definition at line 1501 of file zoom-region.c.
static void zoom_region_moveto | ( | ZoomRegion * | zoom_region, | |
const long | x, | |||
const long | y | |||
) | [static] |
Definition at line 1537 of file zoom-region.c.
static void zoom_region_process_pixbuf | ( | ZoomRegion * | zoom_region, | |
GdkPixbuf * | pixbuf | |||
) | [static] |
Definition at line 1564 of file zoom-region.c.
References ZoomRegion::bright_b, ZoomRegion::bright_g, ZoomRegion::bright_r, CLAMP_LOW_MID, CLAMP_MID_HIGH, CLAMP_UCHAR, ZoomRegion::color_blind_filter, ZoomRegion::contrast_b, ZoomRegion::contrast_g, ZoomRegion::contrast_r, 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 ZoomRegion::invert.
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 1706 of file zoom-region.c.
static GdkPixbuf* zoom_region_get_source_subwindow | ( | ZoomRegion * | zoom_region, | |
const GdkRectangle | bounds | |||
) | [static] |
Definition at line 1723 of file zoom-region.c.
static void zoom_region_init_window | ( | ZoomRegion * | zoom_region | ) | [static] |
Definition at line 1976 of file zoom-region.c.
void timing_report | ( | ZoomRegion * | zoom_region | ) |
Definition at line 2058 of file zoom-region.c.
static void zoom_region_time_frame | ( | ZoomRegion * | zoom_region, | |
Magnifier * | magnifier | |||
) | [static] |
Definition at line 2119 of file zoom-region.c.
static gboolean gdk_timing_idle | ( | gpointer | data | ) | [static] |
Definition at line 2188 of file zoom-region.c.
static void zoom_region_align | ( | ZoomRegion * | zoom_region | ) | [static] |
Definition at line 2256 of file zoom-region.c.
static void zoom_region_set_viewport | ( | ZoomRegion * | zoom_region, | |
const GNOME_Magnifier_RectBounds * | viewport | |||
) | [static] |
Definition at line 2320 of file zoom-region.c.
static void zoom_region_get_property | ( | BonoboPropertyBag * | bag, | |
BonoboArg * | arg, | |||
guint | arg_id, | |||
CORBA_Environment * | ev, | |||
gpointer | user_data | |||
) | [static] |
Definition at line 2400 of file zoom-region.c.
static void zoom_region_update_borders | ( | ZoomRegion * | zoom_region | ) | [static] |
Definition at line 2516 of file zoom-region.c.
static void zoom_region_set_property | ( | BonoboPropertyBag * | bag, | |
BonoboArg * | arg, | |||
guint | arg_id, | |||
CORBA_Environment * | ev, | |||
gpointer | user_data | |||
) | [static] |
Definition at line 2537 of file zoom-region.c.
static int zoom_region_process_pending | ( | gpointer | data | ) | [static] |
Definition at line 2713 of file zoom-region.c.
static int zoom_region_pan_test | ( | gpointer | data | ) | [static] |
Definition at line 2725 of file zoom-region.c.
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 2816 of file zoom-region.c.
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 2857 of file zoom-region.c.
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 2886 of file zoom-region.c.
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 2905 of file zoom-region.c.
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 2934 of file zoom-region.c.
static void impl_zoom_region_set_roi | ( | PortableServer_Servant | servant, | |
const GNOME_Magnifier_RectBounds * | bounds, | |||
CORBA_Environment * | ev | |||
) | [static] |
Definition at line 2953 of file zoom-region.c.
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 3030 of file zoom-region.c.
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 3071 of file zoom-region.c.
static Bonobo_PropertyBag impl_zoom_region_get_properties | ( | PortableServer_Servant | servant, | |
CORBA_Environment * | ev | |||
) | [static] |
Definition at line 3087 of file zoom-region.c.
static void impl_zoom_region_update_pointer | ( | PortableServer_Servant | servant, | |
CORBA_Environment * | ev | |||
) | [static] |
Definition at line 3101 of file zoom-region.c.
static void impl_zoom_region_mark_dirty | ( | PortableServer_Servant | servant, | |
const GNOME_Magnifier_RectBounds * | roi_dirty, | |||
CORBA_Environment * | ev | |||
) | [static] |
Definition at line 3115 of file zoom-region.c.
static GNOME_Magnifier_RectBounds impl_zoom_region_get_roi | ( | PortableServer_Servant | servant, | |
CORBA_Environment * | ev | |||
) | [static] |
Definition at line 3136 of file zoom-region.c.
static void impl_zoom_region_move_resize | ( | PortableServer_Servant | servant, | |
const GNOME_Magnifier_RectBounds * | viewport_bounds, | |||
CORBA_Environment * | ev | |||
) | [static] |
Definition at line 3149 of file zoom-region.c.
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 3186 of file zoom-region.c.
static void zoom_region_dispose | ( | GObject * | object | ) | [static] |
Definition at line 3197 of file zoom-region.c.
References ZOOM_REGION, and zoom_region_do_dispose().
static void zoom_region_class_init | ( | ZoomRegionClass * | klass | ) | [static] |
Definition at line 3207 of file zoom-region.c.
static void zoom_region_properties_init | ( | ZoomRegion * | zoom_region | ) | [static] |
Definition at line 3238 of file zoom-region.c.
static void zoom_region_private_init | ( | ZoomRegionPrivate * | priv | ) | [static] |
Definition at line 3629 of file zoom-region.c.
static void zoom_region_init | ( | ZoomRegion * | zoom_region | ) | [static] |
Definition at line 3659 of file zoom-region.c.
ZoomRegion* zoom_region_new | ( | void | ) |
BONOBO_TYPE_FUNC_FULL | ( | ZoomRegion | , | |
GNOME_Magnifier_ZoomRegion | , | |||
BONOBO_TYPE_OBJECT | , | |||
zoom_region | ||||
) |
gboolean client_debug = FALSE [static] |
Definition at line 54 of file zoom-region.c.
GObjectClass* parent_class = NULL [static] |
Definition at line 59 of file zoom-region.c.
enum { ... } PropIdx |
gchar* prop_names[ZOOM_REGION_EXIT_MAGNIFIER+1] |
Definition at line 94 of file zoom-region.c.
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] |
Definition at line 140 of file zoom-region.c.
gboolean timing_test = FALSE [static] |
Definition at line 141 of file zoom-region.c.
guint pending_idle_handler = 0 [static] |
Definition at line 143 of file zoom-region.c.
gboolean processing_updates = FALSE [static] |
Definition at line 144 of file zoom-region.c.
gboolean timing_start = FALSE [static] |
Definition at line 145 of file zoom-region.c.
gboolean can_coalesce = TRUE [static] |
Definition at line 147 of file zoom-region.c.