index f7991bf4de574f362dcdf39d21f8b6f42458b035..e6484de9f1d7748278a373f30ac7a671a317961f 100644 (file)
#define NR_ARENA_SHAPE(obj) (NR_CHECK_INSTANCE_CAST ((obj), NR_TYPE_ARENA_SHAPE, NRArenaShape))
#define NR_IS_ARENA_SHAPE(obj) (NR_CHECK_INSTANCE_TYPE ((obj), NR_TYPE_ARENA_SHAPE))
-//#include <libnr/nr-svp.h>
-
#include "display/curve.h"
#include "display/canvas-bpath.h"
#include "forward.h"
// the 2 cached polygons, for rasterizations uses
Shape *fill_shp;
Shape *stroke_shp;
+ // the stroke width of stroke_shp, to detect when it changes (on normal/outline switching) and rebuild
+ float cached_width;
// delayed_shp=true means the *_shp polygons are not computed yet
// they'll be computed on demand in *_render(), *_pick() or *_clip()
// the goal is to not uncross polygons that are outside the viewing region
// skewing
NR::Matrix cached_fctm;
NR::Matrix cached_sctm;
+ NRRectL cached_farea;
+ NRRectL cached_sarea;
+ bool cached_fpartialy;
+ bool cached_spartialy;
Shape *cached_fill;
Shape *cached_stroke;
/* Markers */
NRArenaItem *markers;
+ NRArenaItem *last_pick;
+ guint repick_after;
+
static NRArenaShape *create(NRArena *arena) {
NRArenaShape *obj=reinterpret_cast<NRArenaShape *>(nr_object_new(NR_TYPE_ARENA_SHAPE));
obj->init(arena);