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 :