nr-filter-diffuselighting.h revision 84d3dac7b0c792923b87e7d0df5b100ad98a4665
0N/A#ifndef SEEN_NR_FILTER_DIFFUSELIGHTING_H
0N/A#define SEEN_NR_FILTER_DIFFUSELIGHTING_H
0N/A
0N/A/*
0N/A * feDiffuseLighting renderer
0N/A *
0N/A * Authors:
0N/A * Niko Kiirala <niko@kiirala.com>
0N/A * Jean-Rene Reinhard <jr@komite.net>
0N/A *
0N/A * Copyright (C) 2007 authors
0N/A *
0N/A * Released under GNU GPL, read the file 'COPYING' for more information
0N/A */
0N/A
0N/A#include "display/nr-light-types.h"
0N/A#include "display/nr-filter-primitive.h"
0N/A#include "display/nr-filter-slot.h"
0N/A#include "display/nr-filter-units.h"
0N/A
0N/Aclass SPFeDistantLight;
0N/Aclass SPFePointLight;
0N/Aclass SPFeSpotLight;
0N/Astruct SVGICCColor;
0N/Atypedef unsigned int guint32;
0N/A
0N/Anamespace Inkscape {
0N/Anamespace Filters {
0N/A
0N/Aclass FilterDiffuseLighting : public FilterPrimitive {
0N/Apublic:
0N/A FilterDiffuseLighting();
0N/A static FilterPrimitive *create();
0N/A virtual ~FilterDiffuseLighting();
0N/A virtual void render_cairo(FilterSlot &slot);
0N/A virtual void set_icc(SVGICCColor *icc_color);
1657N/A virtual void area_enlarge(Geom::IntRect &area, Geom::Affine const &trans);
1657N/A virtual double complexity(Geom::Affine const &ctm);
1657N/A
1657N/A union {
0N/A SPFeDistantLight *distant;
1657N/A SPFePointLight *point;
0N/A SPFeSpotLight *spot;
0N/A } light;
0N/A LightType light_type;
0N/A double diffuseConstant;
0N/A double surfaceScale;
0N/A guint32 lighting_color;
0N/A
0N/Aprivate:
0N/A SVGICCColor *icc;
0N/A};
0N/A
0N/A} /* namespace Filters */
0N/A} /* namespace Inkscape */
0N/A
0N/A#endif /* __NR_FILTER_DIFFUSELIGHTING_H__ */
0N/A/*
0N/A Local Variables:
0N/A mode:c++
0N/A c-file-style:"stroustrup"
0N/A c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
0N/A indent-tabs-mode:nil
fill-column:99
End:
*/
// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :