Code

d0b04250f20b3532fa131f96b0a836c7e99d9b62
[inkscape.git] / src / sp-fespotlight.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     /** y coordinate of the light source */
37     gfloat y; 
38     /** z coordinate of the light source */
39     gfloat z; 
40     /** x coordinate of the point the source is pointing at */
41     gfloat pointsAtX;
42     /** y coordinate of the point the source is pointing at */
43     gfloat pointsAtY;
44     /** z coordinate of the point the source is pointing at */
45     gfloat pointsAtZ;
46     /** specular exponent (focus of the light) */
47     gfloat specularExponent;
48     /** limiting cone angle */
49     gfloat limitingConeAngle;
50     //other fields
51 };
53 struct SPFeSpotLightClass {
54     SPObjectClass parent_class;
55 };
57 GType
58 sp_fespotlight_get_type();
59 #endif /* !SP_FESPOTLIGHT_H_SEEN */
61 /*
62   Local Variables:
63   mode:c++
64   c-file-style:"stroustrup"
65   c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
66   indent-tabs-mode:nil
67   fill-column:99
68   End:
69 */
70 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :