sp-item-group.cpp revision a8ccce3fe7248cc5294a4f1716593c2c9c358c3c
7328N/A#ifdef HAVE_CONFIG_H
7328N/A#include "display/drawing-group.h"
7328N/A#include "document.h"
7328N/A#include "document-undo.h"
7328N/A#include "attributes.h"
7328N/A#include "sp-item-transform.h"
7328N/A#include "sp-offset.h"
7328N/A#include "sp-clippath.h"
7328N/A#include "inkscape.h"
7328N/A#include "desktop-handles.h"
7328N/A#include "selection.h"
7328N/A#include "live_effects/effect.h"
7328N/A#include "live_effects/lpeobject.h"
7328N/A#include "live_effects/lpeobject-reference.h"
7328N/A#include "sp-title.h"
7328N/A#include "sp-switch.h"
#include "sp-defs.h"
#include "verbs.h"
#include "layer-model.h"
#include "sp-textpath.h"
#include "sp-flowtext.h"
#include "sp-factory.h"
return new SPGroup();
SPItemView *v;
if (ac) {
SPItemView *v;
if (ac) {
void SPGroup::order_changed (Inkscape::XML::Node *child, Inkscape::XML::Node *old_ref, Inkscape::XML::Node *new_ref)
SPItemView *v;
Inkscape::XML::Node* SPGroup::write(Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, guint flags) {
GSList *l;
if (!repr) {
l = NULL;
if (crepr) {
const char *value;
return repr;
l = g_slist_remove (l, o);
return bbox;
if (SP_IS_ITEM(o)) {
l = g_slist_remove (l, o);
return g_strdup_printf(
switch (key) {
Inkscape::DrawingItem *SPGroup::show (Inkscape::Drawing &drawing, unsigned int key, unsigned int flags) {
return ai;
if (SP_IS_ITEM (o)) {
l = g_slist_remove (l, o);
void SPGroup::snappoints(std::vector<Inkscape::SnapCandidatePoint> &p, Inkscape::SnapPreferences const *snapprefs) const {
if (SP_IS_ITEM(o)) {
ctrans = citem->transform * g; // then we should apply the transformation of the group to the offset
// the group is leaving forever, no heir, clones should take note; its children however are going to reemerge
if (objects) {
while (objects) {
while (items) {
if (do_done) {
if ( SP_IS_ITEM(o) ) {
s = g_slist_prepend(s, o);
return g_slist_reverse (s);
return child;
return GROUP;
if ( hasChildren() ) {
if ( SP_IS_ITEM(o) ) {
if ( hasChildren() ) {
if ( SP_IS_ITEM(o) ) {
if (bbox) {
if (SP_IS_ITEM(o)) {
len++;
return len;
void SPGroup::_showChildren (Inkscape::Drawing &drawing, Inkscape::DrawingItem *ai, unsigned int key, unsigned int flags) {
if (SP_IS_ITEM (o)) {
if (ac) {
l = g_slist_remove (l, o);
#ifdef GROUP_VERBOSE
for (PathEffectList::iterator it = this->path_effect_list->begin(); it != this->path_effect_list->end(); it++)
if (write) {
#ifdef GROUP_VERBOSE
c->unref();