#include <string.h>
#include <stdlib.h>
#include <sys/time.h>
#include <gdk/gdkwindow.h>
#include <gdk/gdkx.h>
#include <gtk/gtk.h>
#include <libbonobo.h>
#include "magnifier.h"
#include "magnifier-private.h"
#include "zoom-region.h"
#include "GNOME_Magnifier.h"
Go to the source code of this file.
Data Structures | |
struct | MagnifierOptions |
Defines | |
#define | ENV_STRING_MAX_SIZE 128 |
Functions | |
static void | init_rect_bounds (GNOME_Magnifier_RectBounds *bounds, long x1, long y1, long x2, long y2) |
static int | magnifier_main_test_image (gpointer data) |
static int | magnifier_main_pan_image (gpointer data) |
static int | magnifier_main_refresh_all (gpointer data) |
int | main (int argc, char **argv) |
Variables | |
GNOME_Magnifier_ZoomRegion | zoom_region |
static MagnifierOptions | global_options |
static GOptionEntry | magnifier_options [] |
static int | screen_width |
static int | screen_height |
static int | last_x = 0 |
static int | last_y = 0 |
#define ENV_STRING_MAX_SIZE 128 |
Definition at line 35 of file magnifier-main.c.
static void init_rect_bounds | ( | GNOME_Magnifier_RectBounds * | bounds, | |
long | x1, | |||
long | y1, | |||
long | x2, | |||
long | y2 | |||
) | [static] |
Definition at line 134 of file magnifier-main.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 main().
static int magnifier_main_test_image | ( | gpointer | data | ) | [static] |
Definition at line 146 of file magnifier-main.c.
References CORBA_sequence_CORBA_Object::_buffer, CORBA_sequence_CORBA_Object::_length, global_options, GNOME_Magnifier_Magnifier_getZoomRegions(), GNOME_Magnifier_ZoomRegion_getProperties(), GNOME_Magnifier_ZoomRegion_setROI(), MagnifierOptions::horizontal_split, IS_MAGNIFIER, screen_height, screen_width, MagnifierOptions::timing_delta_x, MagnifierOptions::timing_delta_y, MagnifierOptions::timing_iterations, GNOME_Magnifier_RectBounds_type::x1, GNOME_Magnifier_RectBounds_type::x2, GNOME_Magnifier_RectBounds_type::y1, GNOME_Magnifier_RectBounds_type::y2, MagnifierOptions::zoom_factor, and zoom_region.
Referenced by main().
static int magnifier_main_pan_image | ( | gpointer | data | ) | [static] |
Definition at line 234 of file magnifier-main.c.
References CORBA_sequence_CORBA_Object::_buffer, CORBA_sequence_CORBA_Object::_length, global_options, GNOME_Magnifier_Magnifier_getZoomRegions(), GNOME_Magnifier_ZoomRegion_setROI(), IS_MAGNIFIER, last_x, last_y, magnifier_get_root(), MagnifierOptions::mouse_follow, GNOME_Magnifier_RectBounds_type::x1, GNOME_Magnifier_RectBounds_type::x2, GNOME_Magnifier_RectBounds_type::y1, GNOME_Magnifier_RectBounds_type::y2, and zoom_region.
Referenced by main().
static int magnifier_main_refresh_all | ( | gpointer | data | ) | [static] |
Definition at line 295 of file magnifier-main.c.
References CORBA_sequence_CORBA_Object::_buffer, CORBA_sequence_CORBA_Object::_length, Bonobo_PropertyBag_getValue(), GNOME_Magnifier_Magnifier_getProperties(), GNOME_Magnifier_Magnifier_getZoomRegions(), GNOME_Magnifier_ZoomRegion_markDirty(), IS_MAGNIFIER, GNOME_Magnifier_RectBounds_type::x1, GNOME_Magnifier_RectBounds_type::x2, GNOME_Magnifier_RectBounds_type::y1, and GNOME_Magnifier_RectBounds_type::y2.
Referenced by main().
int main | ( | int | argc, | |
char ** | argv | |||
) |
Definition at line 342 of file magnifier-main.c.
References CORBA_sequence_CORBA_Object::_buffer, CORBA_sequence_CORBA_Object::_length, MagnifierOptions::border_color, MagnifierOptions::border_width, MagnifierOptions::cursor_color, MagnifierOptions::cursor_scale_factor, MagnifierOptions::cursor_set, MagnifierOptions::cursor_size, MagnifierOptions::fullscreen, global_options, GNOME_Magnifier_Magnifier_addZoomRegion(), GNOME_Magnifier_Magnifier_createZoomRegion(), GNOME_Magnifier_Magnifier_getProperties(), GNOME_Magnifier_Magnifier_getZoomRegions(), GNOME_Magnifier_RectBounds__alloc, GNOME_Magnifier_ZoomRegion_getProperties(), GNOME_Magnifier_ZoomRegion_SCROLL_FASTEST, GNOME_Magnifier_ZoomRegion_SCROLL_SMOOTHEST, GNOME_Magnifier_ZoomRegion_setROI(), MagnifierOptions::horizontal_split, MagnifierOptions::ignore_damage, init_rect_bounds(), MagnifierOptions::invert_image, MagnifierOptions::is_override_redirect, magnifier_main_pan_image(), magnifier_main_refresh_all(), magnifier_main_test_image(), magnifier_new(), magnifier_options, magnifier_source_has_damage_extension(), MagnifierOptions::mouse_poll_time, MagnifierOptions::refresh_time, screen_height, screen_width, MagnifierOptions::smooth_scroll, MagnifierOptions::smoothing_type, MagnifierOptions::source_display, MagnifierOptions::target_display, TC_GNOME_Magnifier_RectBounds, MagnifierOptions::test_pattern, MagnifierOptions::timing_iterations, MagnifierOptions::timing_output, MagnifierOptions::timing_pan_rate, MagnifierOptions::vertical_split, GNOME_Magnifier_RectBounds_type::x1, GNOME_Magnifier_RectBounds_type::x2, GNOME_Magnifier_RectBounds_type::y1, GNOME_Magnifier_RectBounds_type::y2, MagnifierOptions::zoom_factor, and zoom_region.
Definition at line 37 of file magnifier-main.c.
Referenced by gdk_timing_idle(), impl_magnifier_create_zoom_region(), impl_zoom_region_dispose(), impl_zoom_region_get_brightness(), impl_zoom_region_get_contrast(), impl_zoom_region_get_mag_factor(), impl_zoom_region_get_properties(), impl_zoom_region_get_roi(), impl_zoom_region_mark_dirty(), impl_zoom_region_move_resize(), impl_zoom_region_set_brightness(), impl_zoom_region_set_contrast(), impl_zoom_region_set_mag_factor(), impl_zoom_region_set_pointer_pos(), impl_zoom_region_set_roi(), magnifier_main_pan_image(), magnifier_main_test_image(), magnifier_unref_zoom_region(), magnifier_zoom_regions_mark_dirty(), magnifier_zoom_regions_save(), main(), timing_report(), zoom_region_align(), zoom_region_calculate_scroll_rects(), zoom_region_clip_to_exposed_target(), zoom_region_clip_to_scaled_pixmap(), zoom_region_clip_to_source(), zoom_region_clip_to_window(), zoom_region_coalesce_updates(), zoom_region_create_pixmap(), zoom_region_cursor_rect(), zoom_region_dispose(), zoom_region_do_dispose(), zoom_region_expose_handler(), zoom_region_finalize(), zoom_region_get_property(), zoom_region_get_source_subwindow(), zoom_region_init(), zoom_region_init_window(), zoom_region_moveto(), zoom_region_paint(), zoom_region_paint_border(), zoom_region_paint_crosswire_cursor(), zoom_region_paint_cursor(), zoom_region_paint_pixmap(), zoom_region_pan_test(), zoom_region_process_pending(), zoom_region_process_pixbuf(), zoom_region_process_updates(), zoom_region_properties_init(), zoom_region_queue_update(), zoom_region_recompute_exposed_bounds(), zoom_region_scroll(), zoom_region_scroll_fast(), zoom_region_scroll_smooth(), zoom_region_set_cursor_pos(), zoom_region_set_property(), zoom_region_set_viewport(), zoom_region_source_rect_from_view_bounds(), zoom_region_source_rect_from_view_rect(), zoom_region_sync(), zoom_region_time_frame(), zoom_region_unpaint_crosswire_cursor(), zoom_region_unpaint_cursor(), zoom_region_update(), zoom_region_update_current(), zoom_region_update_cursor(), zoom_region_update_pixmap(), zoom_region_update_pointer(), zoom_region_update_pointer_idle(), zoom_region_update_pointer_timeout(), zoom_region_update_scale(), and zoom_region_view_rect_from_source_rect().
MagnifierOptions global_options [static] |
Initial value:
{ NULL, NULL, "default", "none", 2.0, 0.0, 0.0, 500, 50, 0, 0.0F, 0xFF000000, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 0, 1, 0, 0, 0, 0, 0 }
Definition at line 71 of file magnifier-main.c.
Referenced by magnifier_main_pan_image(), magnifier_main_test_image(), and main().
GOptionEntry magnifier_options[] [static] |
Initial value:
{ {"target-display", 't', 0, G_OPTION_ARG_STRING, &global_options.target_display, "specify display on which to show magnified view", NULL}, {"source-display", 's', 0, G_OPTION_ARG_STRING, &global_options.source_display, "specify display to magnify", NULL}, {"cursor-set", 0, 0, G_OPTION_ARG_STRING, &global_options.cursor_set, "cursor set to use in target display", NULL}, {"cursor-size", 0, 0, G_OPTION_ARG_INT, &global_options.cursor_size, "cursor size to use (overrides cursor-scale-factor)", NULL}, {"cursor-scale-factor", 0, 0, G_OPTION_ARG_DOUBLE, &global_options.cursor_scale_factor, "cursor scale factor", NULL}, {"cursor-color", 0, 0, G_OPTION_ARG_INT64, &global_options.cursor_color, "cursor color (applied to \'black\' pixels)", NULL}, {"vertical", 'v', 0, G_OPTION_ARG_NONE, &global_options.vertical_split, "split screen vertically (if target display = source display)", NULL}, {"horizontal", 'h', 0, G_OPTION_ARG_NONE, &global_options.horizontal_split, "split screen horizontally (if target display = source display)", NULL}, {"mouse-follow", 'm', 0, G_OPTION_ARG_NONE, &global_options.mouse_follow, "track mouse movements", NULL}, {"refresh-time", 'r', 0, G_OPTION_ARG_INT, &global_options.refresh_time, "minimum refresh time for idle, in ms", NULL}, {"mouse-latency", 0, 0, G_OPTION_ARG_INT, &global_options.mouse_poll_time, "maximum mouse latency time, in ms", NULL}, {"zoom-factor", 'z', 0, G_OPTION_ARG_DOUBLE, &global_options.zoom_factor, "zoom (scale) factor used to magnify source display", NULL}, {"invert-image", 'i', 0, G_OPTION_ARG_NONE, &global_options.invert_image, "invert the image colormap", NULL}, {"no-initial-region", 0, 0, G_OPTION_ARG_NONE, &global_options.no_initial_region, "don't create an initial zoom region", NULL}, {"timing-iterations", 0, 0, G_OPTION_ARG_INT, &global_options.timing_iterations, "iterations to run timing benchmark test (0=continuous)", NULL}, {"timing-output", 0, 0, G_OPTION_ARG_NONE, &global_options.timing_output, "display performance ouput", NULL}, {"timing-pan-rate", 0, 0, G_OPTION_ARG_INT, &global_options.timing_pan_rate, "timing pan rate in lines per frame", NULL}, {"timing-delta-x", 0, 0, G_OPTION_ARG_INT, &global_options.timing_delta_x, "pixels to pan in x-dimension each frame in timing update test", NULL}, {"timing-delta-y", 0, 0, G_OPTION_ARG_INT, &global_options.timing_delta_y, "pixels to pan in y-dimension each frame in timing update test", NULL}, {"smoothing-type", 0, 0, G_OPTION_ARG_STRING, &global_options.smoothing_type, "image smoothing algorithm to apply (bilinear-interpolation | none)", NULL}, {"fullscreen", 'f', 0, G_OPTION_ARG_NONE, &global_options.fullscreen, "fullscreen magnification, covers entire target display [REQUIRES --source-display and --target-display]", NULL}, {"smooth-scrolling", 0, 0, G_OPTION_ARG_NONE, &global_options.smooth_scroll, "use smooth scrolling", NULL}, {"border-size", 'b', 0, G_OPTION_ARG_INT, &global_options.border_width, "width of border", NULL}, {"border-color", 'c', 0, G_OPTION_ARG_INT64, &global_options.border_color, "border color specified as (A)RGB 23-bit value, Alpha-MSB", NULL}, {"use-test-pattern", 0, 0, G_OPTION_ARG_NONE, &global_options.test_pattern, "use test pattern as source", NULL}, {"override-redirect", 0, 0, G_OPTION_ARG_NONE, &global_options.is_override_redirect, "make the magnifier window totally unmanaged by the window manager", NULL}, {"ignore-damage", 0, 0, G_OPTION_ARG_NONE, &global_options.ignore_damage, "ignore the X server DAMAGE extension, if present", NULL}, {NULL} }
Definition at line 102 of file magnifier-main.c.
Referenced by main().
int screen_width [static] |
Definition at line 143 of file magnifier-main.c.
Referenced by magnifier_main_test_image(), and main().
int screen_height [static] |
Definition at line 143 of file magnifier-main.c.
Referenced by magnifier_main_test_image(), main(), and zoom_region_pan_test().
int last_x = 0 [static] |
int last_y = 0 [static] |