nr-arena-shape.h revision e750fb8e7d6b8896903a14f2f45c54177f02bd2e
#ifndef __NR_ARENA_SHAPE_H__
#define __NR_ARENA_SHAPE_H__
/*
* RGBA display list system for inkscape
*
* Author:
* Lauris Kaplinski <lauris@kaplinski.com>
*
* Copyright (C) 2001-2002 Lauris Kaplinski
* Copyright (C) 2001 Ximian, Inc.
*
* Released under GNU GPL, read the file 'COPYING' for more information
*/
#define NR_TYPE_ARENA_SHAPE (nr_arena_shape_get_type ())
#include "display/canvas-bpath.h"
#include "forward.h"
#include "sp-paint-server.h"
#include "nr-arena-item.h"
#include "../color.h"
NRType nr_arena_shape_get_type (void);
enum Type {
NONE,
};
set(p);
return *this;
}
clear();
_assign(p);
}
clear();
}
clear();
if (server) {
}
}
void clear() {
}
}
if (_server) {
}
}
};
enum FillRule {
};
enum CapType {
};
enum JoinType {
};
/* Shape data */
/* State data */
// the 2 cached polygons, for rasterizations uses
// 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
bool delayed_shp;
// approximate bounding box, for the case when the polygons have been delayed
// cache for transformations: cached_fill and cached_stroke are
// polygons computed for the cached_fctm and cache_sctm respectively
// when the transformation changes interactively (tracked by the
// SP_OBJECT_USER_MODIFIED_FLAG_B), we check if it's an isometry wrt
// the cached ctm. if it's an isometry, just apply it to the cached
// polygon to get the *_shp polygon. Otherwise, recompute so this
// works fine for translation and rotation, but not scaling and
// skewing
bool cached_fpartialy;
bool cached_spartialy;
/* Markers */
return obj;
}
void setFillOpacity(double opacity);
void setStrokeOpacity(double opacity);
void setStrokeWidth(double width);
void setMitreLimit(double limit);
void _invalidateCachedFill() {
if (cached_fill) {
cached_fill = NULL;
}
}
void _invalidateCachedStroke() {
if (cached_stroke) {
}
}
struct Style {
double opacity;
};
} _fill;
{}
double width;
double mitre_limit;
} _stroke;
};
struct NRArenaShapeClass {
};
#endif