Logo Search packages:      
Sourcecode: inkscape version File versions

sp-canvas.cpp File Reference


Detailed Description

Port of GnomeCanvas for Inkscape needs

Authors: Federico Mena <federico@nuclecu.unam.mx> Raph Levien <raph@gimp.org> Lauris Kaplinski <lauris@kaplinski.com> fred bbyak

Copyright (C) 1998 The Free Software Foundation Copyright (C) 2002-2006 authors

Released under GNU GPL, read the file 'COPYING' for more information

Definition in file sp-canvas.cpp.

#include <libnr/nr-pixblock.h>
#include <gtk/gtkmain.h>
#include <gtk/gtksignal.h>
#include <gtkmm.h>
#include <helper/sp-marshal.h>
#include <display/sp-canvas.h>
#include "display-forward.h"
#include <libnr/nr-matrix-fns.h>
#include <libnr/nr-matrix-ops.h>
#include <libnr/nr-convex-hull.h>
#include "prefs-utils.h"

Go to the source code of this file.

Classes

struct  SPCanvasClass
struct  SPCanvasGroup
struct  SPCanvasGroupClass

Defines

#define __SP_CANVAS_C__
#define SP_CANVAS_WINDOW(c)   (((GtkWidget *) (c))->window)

Enumerations

enum  { RENDERMODE_NORMAL, RENDERMODE_NOAA, RENDERMODE_OUTLINE }
enum  { SP_CANVAS_ITEM_VISIBLE = 1 << 7, SP_CANVAS_ITEM_NEED_UPDATE = 1 << 8, SP_CANVAS_ITEM_NEED_AFFINE = 1 << 9 }
enum  { ITEM_EVENT, ITEM_LAST_SIGNAL }

Functions

static void add_idle (SPCanvas *canvas)
static int do_update (SPCanvas *canvas)
static int emit_event (SPCanvas *canvas, GdkEvent *event)
static void group_add (SPCanvasGroup *group, SPCanvasItem *item)
static void group_remove (SPCanvasGroup *group, SPCanvasItem *item)
static gint idle_handler (gpointer data)
static bool is_descendant (SPCanvasItem const *item, SPCanvasItem const *parent)
static int paint (SPCanvas *canvas)
static int pick_current_item (SPCanvas *canvas, GdkEvent *event)
static void put_item_after (GList *link, GList *before)
static void redraw_if_visible (SPCanvasItem *item)
static void remove_idle (SPCanvas *canvas)
static void shutdown_transients (SPCanvas *canvas)
static gint sp_canvas_button (GtkWidget *widget, GdkEventButton *event)
static void sp_canvas_class_init (SPCanvasClass *klass)
static gint sp_canvas_crossing (GtkWidget *widget, GdkEventCrossing *event)
static void sp_canvas_destroy (GtkObject *object)
void sp_canvas_dirty_rect (SPCanvas *canvas, int nl, int nt, int nr, int nb)
void sp_canvas_end_forced_full_redraws (SPCanvas *canvas)
static gint sp_canvas_expose (GtkWidget *widget, GdkEventExpose *event)
static gint sp_canvas_focus_in (GtkWidget *widget, GdkEventFocus *event)
static gint sp_canvas_focus_out (GtkWidget *widget, GdkEventFocus *event)
void sp_canvas_force_full_redraw_after_interruptions (SPCanvas *canvas, unsigned int count)
GtkType sp_canvas_get_type (void)
static void sp_canvas_group_class_init (SPCanvasGroupClass *klass)
static void sp_canvas_group_destroy (GtkObject *object)
GtkType sp_canvas_group_get_type (void)
static void sp_canvas_group_init (SPCanvasGroup *group)
static double sp_canvas_group_point (SPCanvasItem *item, NR::Point p, SPCanvasItem **actual_item)
static void sp_canvas_group_render (SPCanvasItem *item, SPCanvasBuf *buf)
static void sp_canvas_group_update (SPCanvasItem *item, NR::Matrix const &affine, unsigned int flags)
static void sp_canvas_init (SPCanvas *canvas)
void sp_canvas_item_affine_absolute (SPCanvasItem *item, NR::Matrix const &affine)
static void sp_canvas_item_class_init (SPCanvasItemClass *klass)
static void sp_canvas_item_construct (SPCanvasItem *item, SPCanvasGroup *parent, const gchar *first_arg_name, va_list args)
static void sp_canvas_item_dispose (GObject *object)
GType sp_canvas_item_get_type (void)
int sp_canvas_item_grab (SPCanvasItem *item, guint event_mask, GdkCursor *cursor, guint32 etime)
void sp_canvas_item_grab_focus (SPCanvasItem *item)
void sp_canvas_item_hide (SPCanvasItem *item)
NR::Matrix sp_canvas_item_i2w_affine (SPCanvasItem const *item)
static void sp_canvas_item_init (SPCanvasItem *item)
static double sp_canvas_item_invoke_point (SPCanvasItem *item, NR::Point p, SPCanvasItem **actual_item)
static void sp_canvas_item_invoke_update (SPCanvasItem *item, NR::Matrix const &affine, unsigned int flags)
void sp_canvas_item_lower (SPCanvasItem *item, int positions)
SPCanvasItemsp_canvas_item_new (SPCanvasGroup *parent, GtkType type, const gchar *first_arg_name,...)
gint sp_canvas_item_order (SPCanvasItem *item)
void sp_canvas_item_raise (SPCanvasItem *item, int positions)
void sp_canvas_item_request_update (SPCanvasItem *item)
void sp_canvas_item_show (SPCanvasItem *item)
void sp_canvas_item_ungrab (SPCanvasItem *item, guint32 etime)
static gint sp_canvas_key (GtkWidget *widget, GdkEventKey *event)
static gint sp_canvas_motion (GtkWidget *widget, GdkEventMotion *event)
GtkWidget * sp_canvas_new_aa (void)
static void sp_canvas_paint_rect (SPCanvas *canvas, int xx0, int yy0, int xx1, int yy1)
static int sp_canvas_paint_rect_internal (SPCanvas *canvas, NRRectL *rect, NR::ICoord *x_aborted_limit, NR::ICoord *y_aborted_limit)
static void sp_canvas_paint_single_buffer (SPCanvas *canvas, int x0, int y0, int x1, int y1, int draw_x1, int draw_y1, int draw_x2, int draw_y2, int sw)
static void sp_canvas_realize (GtkWidget *widget)
void sp_canvas_request_redraw (SPCanvas *canvas, int x0, int y0, int x1, int y1)
static void sp_canvas_request_update (SPCanvas *canvas)
void sp_canvas_resize_tiles (SPCanvas *canvas, int nl, int nt, int nr, int nb)
SPCanvasGroupsp_canvas_root (SPCanvas *canvas)
static gint sp_canvas_scroll (GtkWidget *widget, GdkEventScroll *event)
void sp_canvas_scroll_to (SPCanvas *canvas, double cx, double cy, unsigned int clear)
static void sp_canvas_size_allocate (GtkWidget *widget, GtkAllocation *allocation)
static void sp_canvas_size_request (GtkWidget *widget, GtkRequisition *req)
int sp_canvas_tile_ceil (int x)
int sp_canvas_tile_floor (int x)
static void sp_canvas_unrealize (GtkWidget *widget)
void sp_canvas_update_now (SPCanvas *canvas)
NR::Point sp_canvas_window_to_world (SPCanvas const *canvas, NR::Point const win)
void sp_canvas_window_to_world (SPCanvas const *canvas, double winx, double winy, double *worldx, double *worldy)
bool sp_canvas_world_pt_inside_window (SPCanvas const *canvas, NR::Point const &world)
NR::Point sp_canvas_world_to_window (SPCanvas const *canvas, NR::Point const world)
void sp_canvas_world_to_window (SPCanvas const *canvas, double worldx, double worldy, double *winx, double *winy)

Variables

static GtkWidgetClass * canvas_parent_class
static SPCanvasItemClassgroup_parent_class
static GtkObjectClass * item_parent_class
static guint item_signals [ITEM_LAST_SIGNAL] = { 0 }
const gint sp_canvas_update_priority = G_PRIORITY_HIGH_IDLE


Generated by  Doxygen 1.6.0   Back to index