rtk_canvas.c File Reference
#include <assert.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <gdk/gdkkeysyms.h>
#include "rtk.h"
#include "rtkprivate.h"
Defines | |
#define | _GNU_SOURCE |
#define | DEBUG |
#define | DX(x) (canvas->sizex / 2 + ((x) - canvas->ox) / canvas->sx) |
#define | DY(y) (canvas->sizey / 2 - ((y) - canvas->oy) / canvas->sy) |
#define | LX(x) (canvas->ox + (+(x) - canvas->sizex / 2) * canvas->sx) |
#define | LY(y) (canvas->oy + (-(y) + canvas->sizey / 2) * canvas->sy) |
#define | TOL_MOVE 15 |
Enumerations | |
enum | { MOUSE_NONE, MOUSE_PAN, MOUSE_ZOOM, MOUSE_TRANS, MOUSE_ROT, MOUSE_SCALE } |
enum | { EVENT_PRESS, EVENT_MOTION, EVENT_RELEASE } |
Functions | |
gboolean | stest (GtkWidget *widget, GdkEventConfigure *event, gpointer user_data) |
void | stg_rtk_canvas_bgcolor (stg_rtk_canvas_t *canvas, double r, double g, double b) |
void | stg_rtk_canvas_calc (stg_rtk_canvas_t *canvas) |
stg_rtk_canvas_t * | stg_rtk_canvas_create (stg_rtk_app_t *app) |
void | stg_rtk_canvas_destroy (stg_rtk_canvas_t *canvas) |
void | stg_rtk_canvas_export_image (stg_rtk_canvas_t *canvas, const char *filename, int format) |
void | stg_rtk_canvas_flash (stg_rtk_canvas_t *canvas, stg_rtk_fig_t *fig, int duration, int kill) |
void | stg_rtk_canvas_flash_update (stg_rtk_canvas_t *canvas) |
void | stg_rtk_canvas_get_origin (stg_rtk_canvas_t *canvas, double *ox, double *oy) |
void | stg_rtk_canvas_get_scale (stg_rtk_canvas_t *canvas, double *sx, double *sy) |
void | stg_rtk_canvas_get_size (stg_rtk_canvas_t *canvas, int *sizex, int *sizey) |
int | stg_rtk_canvas_isclosed (stg_rtk_canvas_t *canvas) |
void | stg_rtk_canvas_layer_show (stg_rtk_canvas_t *canvas, int layer, char show) |
void | stg_rtk_canvas_linewidth (stg_rtk_canvas_t *canvas, int width) |
void | stg_rtk_canvas_movemask (stg_rtk_canvas_t *canvas, int mask) |
void | stg_rtk_canvas_origin (stg_rtk_canvas_t *canvas, double ox, double oy) |
stg_rtk_fig_t * | stg_rtk_canvas_pick_fig (stg_rtk_canvas_t *canvas, int x, int y) |
void | stg_rtk_canvas_render (stg_rtk_canvas_t *canvas) |
void | stg_rtk_canvas_scale (stg_rtk_canvas_t *canvas, double sx, double sy) |
void | stg_rtk_canvas_size (stg_rtk_canvas_t *canvas, int sizex, int sizey) |
void | stg_rtk_canvas_title (stg_rtk_canvas_t *canvas, const char *title) |
Define Documentation
#define _GNU_SOURCE |
#define DEBUG |
#define DX | ( | x | ) | (canvas->sizex / 2 + ((x) - canvas->ox) / canvas->sx) |
#define DY | ( | y | ) | (canvas->sizey / 2 - ((y) - canvas->oy) / canvas->sy) |
#define LX | ( | x | ) | (canvas->ox + (+(x) - canvas->sizex / 2) * canvas->sx) |
#define LY | ( | y | ) | (canvas->oy + (-(y) + canvas->sizey / 2) * canvas->sy) |
#define TOL_MOVE 15 |
Enumeration Type Documentation
Function Documentation
gboolean stest | ( | GtkWidget * | widget, | |
GdkEventConfigure * | event, | |||
gpointer | user_data | |||
) |
References FALSE.
void stg_rtk_canvas_bgcolor | ( | stg_rtk_canvas_t * | canvas, | |
double | r, | |||
double | g, | |||
double | b | |||
) |
void stg_rtk_canvas_calc | ( | stg_rtk_canvas_t * | canvas | ) |
References _stg_rtk_canvas_t::bg_dirty, _stg_rtk_canvas_t::fg_dirty, _stg_rtk_canvas_t::fg_dirty_region, _stg_rtk_canvas_t::fig, _stg_rtk_fig_t::sibling_next, _stg_rtk_canvas_t::sizex, _stg_rtk_canvas_t::sizey, stg_rtk_fig_calc(), stg_rtk_region_set_union_rect(), and TRUE.
Referenced by stg_rtk_canvas_layer_show(), stg_rtk_canvas_origin(), stg_rtk_canvas_render(), and stg_rtk_canvas_scale().
stg_rtk_canvas_t* stg_rtk_canvas_create | ( | stg_rtk_app_t * | app | ) |
References _stg_rtk_canvas_t::app, _stg_rtk_canvas_t::bg_dirty, _stg_rtk_canvas_t::bg_pixmap, _stg_rtk_canvas_t::bgcolor, _stg_rtk_canvas_t::calc_deferred, _stg_rtk_canvas_t::canvas, _stg_rtk_app_t::canvas, _stg_rtk_canvas_t::colormap, _stg_rtk_canvas_t::destroyed, FALSE, _stg_rtk_canvas_t::fg_dirty, _stg_rtk_canvas_t::fg_dirty_region, _stg_rtk_canvas_t::fg_pixmap, _stg_rtk_canvas_t::fig, _stg_rtk_canvas_t::gc, _stg_rtk_canvas_t::layer_fig, _stg_rtk_canvas_t::layer_show, _stg_rtk_canvas_t::linewidth, _stg_rtk_canvas_t::mouse_mode, MOUSE_NONE, _stg_rtk_canvas_t::mouse_over_fig, _stg_rtk_canvas_t::mouse_selected_fig, _stg_rtk_canvas_t::mouse_selected_fig_last, _stg_rtk_canvas_t::movemask, _stg_rtk_canvas_t::ox, _stg_rtk_canvas_t::oy, _stg_rtk_canvas_t::sizex, _stg_rtk_canvas_t::sizey, stg_rtk_region_create(), STK_CANVAS_LAYERS, STK_LIST_APPEND, STK_MOVE_PAN, STK_MOVE_ZOOM, _stg_rtk_canvas_t::sx, _stg_rtk_canvas_t::sy, TRUE, and _stg_rtk_canvas_t::zoom_fig.
Referenced by gui_window_create().
void stg_rtk_canvas_destroy | ( | stg_rtk_canvas_t * | canvas | ) |
References _stg_rtk_canvas_t::app, _stg_rtk_canvas_t::canvas, _stg_rtk_app_t::canvas, _stg_rtk_canvas_t::fg_dirty_region, _stg_rtk_canvas_t::fig, PRINT_WARN1, stg_rtk_fig_destroy(), stg_rtk_region_destroy(), and STK_LIST_REMOVE.
Referenced by gui_window_destroy(), gui_world_destroy(), and stg_rtk_app_destroy().
void stg_rtk_canvas_export_image | ( | stg_rtk_canvas_t * | canvas, | |
const char * | filename, | |||
int | format | |||
) |
void stg_rtk_canvas_flash | ( | stg_rtk_canvas_t * | canvas, | |
stg_rtk_fig_t * | fig, | |||
int | duration, | |||
int | kill | |||
) |
void stg_rtk_canvas_flash_update | ( | stg_rtk_canvas_t * | canvas | ) |
void stg_rtk_canvas_get_origin | ( | stg_rtk_canvas_t * | canvas, | |
double * | ox, | |||
double * | oy | |||
) |
References _stg_rtk_canvas_t::ox, and _stg_rtk_canvas_t::oy.
void stg_rtk_canvas_get_scale | ( | stg_rtk_canvas_t * | canvas, | |
double * | sx, | |||
double * | sy | |||
) |
References _stg_rtk_canvas_t::sx, and _stg_rtk_canvas_t::sy.
void stg_rtk_canvas_get_size | ( | stg_rtk_canvas_t * | canvas, | |
int * | sizex, | |||
int * | sizey | |||
) |
References _stg_rtk_canvas_t::sizex, and _stg_rtk_canvas_t::sizey.
int stg_rtk_canvas_isclosed | ( | stg_rtk_canvas_t * | canvas | ) |
void stg_rtk_canvas_layer_show | ( | stg_rtk_canvas_t * | canvas, | |
int | layer, | |||
char | show | |||
) |
References _stg_rtk_canvas_t::layer_show, and stg_rtk_canvas_calc().
Referenced by gui_action_disable_polygons(), and gui_action_grid().
void stg_rtk_canvas_linewidth | ( | stg_rtk_canvas_t * | canvas, | |
int | width | |||
) |
References _stg_rtk_canvas_t::linewidth.
void stg_rtk_canvas_movemask | ( | stg_rtk_canvas_t * | canvas, | |
int | mask | |||
) |
References _stg_rtk_canvas_t::movemask.
void stg_rtk_canvas_origin | ( | stg_rtk_canvas_t * | canvas, | |
double | ox, | |||
double | oy | |||
) |
References _stg_rtk_canvas_t::ox, _stg_rtk_canvas_t::oy, and stg_rtk_canvas_calc().
Referenced by gui_load().
stg_rtk_fig_t* stg_rtk_canvas_pick_fig | ( | stg_rtk_canvas_t * | canvas, | |
int | x, | |||
int | y | |||
) |
void stg_rtk_canvas_render | ( | stg_rtk_canvas_t * | canvas | ) |
References _stg_rtk_canvas_t::bg_dirty, _stg_rtk_canvas_t::bg_pixmap, _stg_rtk_canvas_t::bgcolor, _stg_rtk_canvas_t::calc_deferred, _stg_rtk_canvas_t::canvas, _stg_rtk_canvas_t::colormap, _stg_rtk_canvas_t::destroyed, FALSE, _stg_rtk_canvas_t::fg_dirty, _stg_rtk_canvas_t::fg_dirty_region, _stg_rtk_canvas_t::fg_pixmap, _stg_rtk_canvas_t::gc, _stg_rtk_fig_t::layer, _stg_rtk_canvas_t::layer_fig, _stg_rtk_fig_t::layer_next, _stg_rtk_canvas_t::layer_show, _stg_rtk_fig_t::region, _stg_rtk_fig_t::show, _stg_rtk_canvas_t::sizex, _stg_rtk_canvas_t::sizey, stg_rtk_canvas_calc(), stg_rtk_fig_render(), stg_rtk_region_get_brect(), stg_rtk_region_set_empty(), stg_rtk_region_set_union_rect(), stg_rtk_region_test_intersect(), and TRUE.
Referenced by gui_world_update().
void stg_rtk_canvas_scale | ( | stg_rtk_canvas_t * | canvas, | |
double | sx, | |||
double | sy | |||
) |
References stg_rtk_canvas_calc(), _stg_rtk_canvas_t::sx, and _stg_rtk_canvas_t::sy.
Referenced by gui_load(), and gui_window_create().
void stg_rtk_canvas_size | ( | stg_rtk_canvas_t * | canvas, | |
int | sizex, | |||
int | sizey | |||
) |
void stg_rtk_canvas_title | ( | stg_rtk_canvas_t * | canvas, | |
const char * | title | |||
) |
Generated on Wed Jun 3 23:12:29 2009 for Stage by
