Code

I'm an idiot who forgot that MOTION_HINT_MASK still needs MOTION_MASK
[inkscape.git] / src / display / nr-filter-specularlighting.h
1 #ifndef __NR_FILTER_SPECULARLIGHTING_H__
2 #define __NR_FILTER_SPECULARLIGHTING_H__
4 /*
5  * feSpecularLighting renderer
6  *
7  * Authors:
8  *   Niko Kiirala <niko@kiirala.com>
9  *   Jean-Rene Reinhard <jr@komite.net>
10  * 
11  * Copyright (C) 2007 authors
12  *
13  * Released under GNU GPL, read the file 'COPYING' for more information
14  */
16 #include <gdk/gdktypes.h>
17 #include "display/nr-light-types.h"
18 #include "display/nr-filter-primitive.h"
19 #include "display/nr-filter-slot.h"
20 #include "display/nr-filter-units.h"
21 #include "libnr/nr-matrix.h"
22 #include "sp-fedistantlight.h"
23 #include "sp-fepointlight.h"
24 #include "sp-fespotlight.h"
25 #include "color.h"
27 namespace NR {
28     
29 class FilterSpecularLighting : public FilterPrimitive {
30 public:
31     union {
32         SPFeDistantLight *distant;
33         SPFePointLight *point;
34         SPFeSpotLight *spot;
35     } light;
36     LightType light_type;
37     gdouble surfaceScale;
38     gdouble specularConstant;
39     gdouble specularExponent;
40     guint32 lighting_color;
41     
42     FilterSpecularLighting();
43     static FilterPrimitive *create();
44     virtual ~FilterSpecularLighting();
45     virtual int render(FilterSlot &slot, FilterUnits const &units);
46     virtual FilterTraits get_input_traits();
48 private:
49 };
51 } /* namespace NR */
53 #endif /* __NR_FILTER_SPECULARLIGHTING_H__ */
54 /*
55   Local Variables:
56   mode:c++
57   c-file-style:"stroustrup"
58   c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
59   indent-tabs-mode:nil
60   fill-column:99
61   End:
62 */
63 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :