sp-clippath.cpp revision 4d5fcd13b3b8222d36788c32450bac85bcb1ce77
/*
* SVG <clipPath> implementation
*
* Authors:
* Lauris Kaplinski <lauris@kaplinski.com>
* Jon A. Cruz <jon@joncruz.org>
* Abhishek Sharma
*
* Copyright (C) 2001-2002 authors
* Copyright (C) 2001 Ximian, Inc.
*
* Released under GNU GPL, read the file 'COPYING' for more information
*/
#include <cstring>
#include <string>
#include "display/nr-arena.h"
#include "display/nr-arena-group.h"
#include "enums.h"
#include "attributes.h"
#include "document.h"
#include "document-private.h"
#include "sp-item.h"
#include "sp-clippath.h"
struct SPClipPathView {
unsigned int key;
};
SPClipPathView *sp_clippath_view_new_prepend(SPClipPathView *list, unsigned int key, NRArenaItem *arenaitem);
SPClipPath::sp_clippath_get_type(void)
{
if (!type) {
sizeof(SPClipPathClass),
sizeof(SPClipPath),
16,
NULL, /* value_table */
};
}
return type;
}
{
}
{
}
{
/* Register ourselves */
}
{
// Unregister ourselves
}
/* We simply unref and let item manage this in handler */
}
}
}
{
switch (key) {
case SP_ATTR_CLIPPATHUNITS:
if (value) {
}
}
break;
default:
if (SP_ATTRIBUTE_IS_CSS(key)) {
} else {
}
}
break;
}
}
{
/* Invoke SPObjectGroup implementation */
/* Show new object */
if (SP_IS_ITEM(ochild)) {
v->key,
if (ac) {
}
}
}
}
{
if (flags & SP_OBJECT_MODIFIED_FLAG) {
}
l = g_slist_prepend(l, child);
}
l = g_slist_reverse(l);
while (l) {
l = g_slist_remove(l, child);
}
}
} else {
}
}
}
{
if (flags & SP_OBJECT_MODIFIED_FLAG) {
}
l = g_slist_prepend(l, child);
}
l = g_slist_reverse(l);
while (l) {
l = g_slist_remove(l, child);
}
}
}
Inkscape::XML::Node *SPClipPath::write(SPObject *object, Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, guint flags)
{
}
}
return repr;
}
{
if (SP_IS_ITEM(child)) {
if (ac) {
/* The order is not important in clippath */
}
}
}
Geom::Affine t(Geom::Scale(display->bbox.x1 - display->bbox.x0, display->bbox.y1 - display->bbox.y0));
}
return ai;
}
{
if (SP_IS_ITEM(child)) {
}
}
/* We simply unref and let item to manage this in handler */
return;
}
}
}
{
}
break;
}
}
}
{
SPObject *i = 0;
}
if (!i) {
return;
}
SP_ITEM(i)->invoke_bbox_full( bbox, Geom::Affine(SP_ITEM(i)->transform) * transform, SPItem::GEOMETRIC_BBOX, FALSE);
while (i != NULL) {
if (i != i_start) {
SP_ITEM(i)->invoke_bbox_full( &i_box, Geom::Affine(SP_ITEM(i)->transform) * transform, SPItem::GEOMETRIC_BBOX, FALSE);
}
i = i->getNext();
for (; i && !SP_IS_ITEM(i); i = i->getNext()){};
}
}
/* ClipPath views */
{
return new_path_view;
}
{
} else {
}
return list;
}
// Create a mask element (using passed elements), add it to <defs>
const gchar *SPClipPath::create (GSList *reprs, SPDocument *document, Geom::Affine const* applyTransform)
{
if (NULL != applyTransform) {
transform *= (*applyTransform);
}
}
return id;
}
/*
Local Variables:
mode:c++
c-file-style:"stroustrup"
c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
indent-tabs-mode:nil
fill-column:99
End:
*/
// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :