magnifier-main.c File Reference

#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 Documentation

#define ENV_STRING_MAX_SIZE   128

Definition at line 35 of file magnifier-main.c.


Function Documentation

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.


Variable Documentation

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

Definition at line 231 of file magnifier-main.c.

Referenced by magnifier_main_pan_image().

int last_y = 0 [static]

Definition at line 231 of file magnifier-main.c.

Referenced by magnifier_main_pan_image().


Generated on Sun Jan 7 13:09:54 2007 for gnome-mag by  doxygen 1.4.7