Code

d48cf6daa73ba5f22385135e7a12f9d6cc0c7408
[inkscape.git] / src / filters / spotlight.h
1 #ifndef SP_FESPOTLIGHT_H_SEEN
2 #define SP_FESPOTLIGHT_H_SEEN
4 /** \file
5  * SVG <filter> implementation, see sp-filter.cpp.
6  */
7 /*
8  * Authors:
9  *   Hugo Rodrigues <haa.rodrigues@gmail.com>
10  *   Niko Kiirala <niko@kiirala.com>
11  *   Jean-Rene Reinhard <jr@komite.net>
12  *
13  * Copyright (C) 2006,2007 Authors
14  *
15  * Released under GNU GPL, read the file 'COPYING' for more information
16  */
18 #include "sp-object.h"
20 #define SP_TYPE_FESPOTLIGHT (sp_fespotlight_get_type())
21 #define SP_FESPOTLIGHT(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), SP_TYPE_FESPOTLIGHT, SPFeSpotLight))
22 #define SP_FESPOTLIGHT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), SP_TYPE_FESPOTLIGHT, SPFeSpotLightClass))
23 #define SP_IS_FESPOTLIGHT(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), SP_TYPE_FESPOTLIGHT))
24 #define SP_IS_FESPOTLIGHT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), SP_TYPE_FESPOTLIGHT))
26 /* Distant light class */
29 class SPFeSpotLight;
30 class SPFeSpotLightClass;
32 struct SPFeSpotLight : public SPObject {
34     /** x coordinate of the light source */
35     gfloat x; 
36     guint x_set : 1;
37     /** y coordinate of the light source */
38     gfloat y; 
39     guint y_set : 1;
40     /** z coordinate of the light source */
41     gfloat z; 
42     guint z_set : 1;
43     /** x coordinate of the point the source is pointing at */
44     gfloat pointsAtX;
45     guint pointsAtX_set : 1;
46     /** y coordinate of the point the source is pointing at */
47     gfloat pointsAtY;
48     guint pointsAtY_set : 1;
49     /** z coordinate of the point the source is pointing at */
50     gfloat pointsAtZ;
51     guint pointsAtZ_set : 1;
52     /** specular exponent (focus of the light) */
53     gfloat specularExponent;
54     guint specularExponent_set : 1;
55     /** limiting cone angle */
56     gfloat limitingConeAngle;
57     guint limitingConeAngle_set : 1;
58     //other fields
59 };
61 struct SPFeSpotLightClass {
62     SPObjectClass parent_class;
63 };
65 GType
66 sp_fespotlight_get_type();
67 #endif /* !SP_FESPOTLIGHT_H_SEEN */
69 /*
70   Local Variables:
71   mode:c++
72   c-file-style:"stroustrup"
73   c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
74   indent-tabs-mode:nil
75   fill-column:99
76   End:
77 */
78 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :