sp-clippath.cpp revision 5271cd656d5e935ca2f55b6b61a4f3aedee22fd5
#define __SP_CLIPPATH_C__
/*
* SVG <clipPath> implementation
*
* Authors:
* Lauris Kaplinski <lauris@kaplinski.com>
*
* Copyright (C) 2001-2002 authors
* Copyright (C) 2001 Ximian, Inc.
*
* Released under GNU GPL, read the file 'COPYING' for more information
*/
#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;
};
static void sp_clippath_child_added(SPObject *object, Inkscape::XML::Node *child, Inkscape::XML::Node *ref);
static Inkscape::XML::Node *sp_clippath_write(SPObject *object, Inkscape::XML::Node *repr, guint flags);
SPClipPathView *sp_clippath_view_new_prepend(SPClipPathView *list, unsigned int key, NRArenaItem *arenaitem);
static SPObjectGroupClass *parent_class;
sp_clippath_get_type(void)
{
if (!type) {
sizeof(SPClipPathClass),
sizeof(SPClipPath),
16,
NULL, /* value_table */
};
}
return type;
}
static void
{
}
static void
{
}
static void
{
/* Register ourselves */
}
static void
{
if (SP_OBJECT_DOCUMENT(object)) {
/* Unregister ourselves */
}
/* We simply unref and let item manage this in handler */
}
}
}
static void
{
switch (key) {
case SP_ATTR_CLIPPATHUNITS:
if (value) {
}
}
break;
default:
break;
}
}
static void
{
/* Invoke SPObjectGroup implementation */
/* Show new object */
if (SP_IS_ITEM(ochild)) {
v->key,
if (ac) {
}
}
}
}
static void
{
if (flags & SP_OBJECT_MODIFIED_FLAG) {
}
for (SPObject *child = sp_object_first_child(SP_OBJECT(og)); child != NULL; child = SP_OBJECT_NEXT(child)) {
l = g_slist_prepend(l, child);
}
l = g_slist_reverse(l);
while (l) {
l = g_slist_remove(l, child);
}
}
NRMatrix t;
} else {
}
}
}
static void
{
if (flags & SP_OBJECT_MODIFIED_FLAG) {
}
for (SPObject *child = sp_object_first_child(SP_OBJECT(og)); child != NULL; child = SP_OBJECT_NEXT(child)) {
l = g_slist_prepend(l, child);
}
l = g_slist_reverse(l);
while (l) {
l = g_slist_remove(l, child);
}
}
}
{
}
return repr;
}
{
for (SPObject *child = sp_object_first_child(SP_OBJECT(cp)) ; child != NULL; child = SP_OBJECT_NEXT(child)) {
if (SP_IS_ITEM(child)) {
if (ac) {
/* The order is not important in clippath */
}
}
}
NRMatrix t;
nr_matrix_set_scale(&t, cp->display->bbox.x1 - cp->display->bbox.x0, cp->display->bbox.y1 - cp->display->bbox.y0);
}
return ai;
}
void
{
for (SPObject *child = sp_object_first_child(SP_OBJECT(cp)) ; child != NULL; child = SP_OBJECT_NEXT(child)) {
if (SP_IS_ITEM(child)) {
}
}
/* We simply unref and let item to manage this in handler */
return;
}
}
}
void
{
}
break;
}
}
}
void
sp_clippath_get_bbox(SPClipPath *cp, NRRect *bbox, NR::Matrix const &transform, unsigned const flags)
{
if (SP_IS_ITEM(o)) {
}
}
}
/* ClipPath views */
{
return new_path_view;
}
{
} else {
}
return list;
}
// Create a mask element (using passed elements), add it to <defs>
const gchar *
{
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:encoding=utf-8:textwidth=99 :