sp-clippath.cpp revision a1479b4243eb52e35a397725b5741c479c5f9c03
#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 "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
{
SPClipPath *cp;
/* Register ourselves */
}
static void
{
SPClipPath *cp;
if (SP_OBJECT_DOCUMENT(object)) {
/* Unregister ourselves */
}
/* We simply unref and let item to manage this in handler */
}
}
static void
{
SPClipPath *cp;
switch (key) {
case SP_ATTR_CLIPPATHUNITS:
if (value) {
}
}
break;
default:
break;
}
}
static void
{
SPClipPath *cp;
/* Invoke SPObjectGroup implementation */
/* Show new object */
if (SP_IS_ITEM(ochild)) {
SPClipPathView *v;
ac = sp_item_invoke_show(SP_ITEM(ochild), NR_ARENA_ITEM_ARENA(v->arenaitem), v->key, SP_ITEM_REFERENCE_FLAGS);
if (ac) {
}
}
}
}
static void
{
SPClipPath *cp;
SPClipPathView *v;
GSList *l;
l = NULL;
l = g_slist_prepend(l, child);
}
l = g_slist_reverse(l);
while (l) {
l = g_slist_remove(l, child);
}
}
NRMatrix t;
} else {
}
}
}
static void
{
SPClipPath *cp;
GSList *l;
l = NULL;
l = g_slist_prepend(l, child);
}
l = g_slist_reverse(l);
while (l) {
l = g_slist_remove(l, child);
}
}
}
{
SPClipPath *cp;
}
return repr;
}
{
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
{
SPClipPathView *v;
if (SP_IS_ITEM(child)) {
}
}
/* We simply unref and let item to manage this in handler */
return;
}
}
}
void
{
SPClipPathView *v;
}
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;
}
/*
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 :