d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński/**
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński * @file
712a383b4aa88de4041f1d6247719e2c3a5800d8Jon A. Cruz * Group belonging to an SVG drawing element.
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński *//*
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński * Authors:
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński * Krzysztof Kosiński <tweenk.pl@gmail.com>
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński *
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński * Copyright (C) 2011 Authors
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński * Released under GNU GPL, read the file 'COPYING' for more information
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński */
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński#ifndef SEEN_INKSCAPE_DISPLAY_DRAWING_SHAPE_H
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński#define SEEN_INKSCAPE_DISPLAY_DRAWING_SHAPE_H
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński#include "display/drawing-item.h"
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński#include "display/nr-style.h"
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński
5c40454c286013e02d9ea7521a3bdaf72bea39d9tavmjong-freeclass SPStyle;
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosińskiclass SPCurve;
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosińskinamespace Inkscape {
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosińskiclass DrawingShape
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński : public DrawingItem
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński{
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosińskipublic:
3a3365c39fe3932d005ae1aa4324ef48606f5e18Krzysztof Kosiński DrawingShape(Drawing &drawing);
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński ~DrawingShape();
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński void setPath(SPCurve *curve);
280aacbbe34a383b9a53217d5f66efdd67a9fbeetavmjong-free virtual void setStyle(SPStyle *style, SPStyle *context_style = NULL);
280aacbbe34a383b9a53217d5f66efdd67a9fbeetavmjong-free virtual void setChildrenStyle(SPStyle *context_style);
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosińskiprotected:
d7f431dc1e23b8394f96c5c2d5cec3db17a089b3Krzysztof Kosinski virtual unsigned _updateItem(Geom::IntRect const &area, UpdateContext const &ctx,
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński unsigned flags, unsigned reset);
58ba7163a5ee19414f3357a7c84d93989cb7498cmathog virtual unsigned _renderItem(DrawingContext &dc, Geom::IntRect const &area, unsigned flags,
d7f431dc1e23b8394f96c5c2d5cec3db17a089b3Krzysztof Kosinski DrawingItem *stop_at);
58ba7163a5ee19414f3357a7c84d93989cb7498cmathog virtual void _clipItem(DrawingContext &dc, Geom::IntRect const &area);
3e0790bc7c644b06f3f02ae3bdbf682ce1b3f9ceKrzysztof Kosiński virtual DrawingItem *_pickItem(Geom::Point const &p, double delta, unsigned flags);
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński virtual bool _canClip();
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński
e344d5f4dde2983e985394d0bd4550ae4bf01c89tavmjong-free void _renderFill(DrawingContext &dc);
e344d5f4dde2983e985394d0bd4550ae4bf01c89tavmjong-free void _renderStroke(DrawingContext &dc);
e344d5f4dde2983e985394d0bd4550ae4bf01c89tavmjong-free void _renderMarkers(DrawingContext &dc, Geom::IntRect const &area, unsigned flags,
e344d5f4dde2983e985394d0bd4550ae4bf01c89tavmjong-free DrawingItem *stop_at);
e344d5f4dde2983e985394d0bd4550ae4bf01c89tavmjong-free
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński SPCurve *_curve;
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński NRStyle _nrstyle;
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński DrawingItem *_last_pick;
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński unsigned _repick_after;
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński};
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński} // end namespace Inkscape
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński#endif // !SEEN_INKSCAPE_DISPLAY_DRAWING_ITEM_H
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński/*
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński Local Variables:
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński mode:c++
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński c-file-style:"stroustrup"
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński indent-tabs-mode:nil
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński fill-column:99
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński End:
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński*/
d1bde559850436556ebee2e70e10f1cfc8aff636Krzysztof Kosiński// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :