Inkscape
Vector Graphics Editor
Loading...
Searching...
No Matches
spotlight.h
Go to the documentation of this file.
1// SPDX-License-Identifier: GPL-2.0-or-later
2#ifndef SP_FESPOTLIGHT_H_SEEN
3#define SP_FESPOTLIGHT_H_SEEN
4
8/*
9 * Authors:
10 * Hugo Rodrigues <haa.rodrigues@gmail.com>
11 * Niko Kiirala <niko@kiirala.com>
12 * Jean-Rene Reinhard <jr@komite.net>
13 *
14 * Copyright (C) 2006,2007 Authors
15 *
16 * Released under GNU GPL v2+, read the file 'COPYING' for more information.
17 */
18
19#include "object/sp-object.h"
20
21class SPFeSpotLight final
22 : public SPObject
23{
24public:
26 ~SPFeSpotLight() override;
27 int tag() const override { return tag_of<decltype(*this)>; }
28
30 float x;
31 bool x_set : 1;
33 float y;
34 bool y_set : 1;
36 float z;
37 bool z_set : 1;
39 float pointsAtX;
40 bool pointsAtX_set : 1;
42 float pointsAtY;
43 bool pointsAtY_set : 1;
45 float pointsAtZ;
46 bool pointsAtZ_set : 1;
53
54protected:
55 void build(SPDocument *doc, Inkscape::XML::Node *repr) override;
56 void release() override;
57 void set(SPAttr key, char const *value) override;
59};
60
61#endif // SP_FESPOTLIGHT_H_SEEN
62
63/*
64 Local Variables:
65 mode:c++
66 c-file-style:"stroustrup"
67 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
68 indent-tabs-mode:nil
69 fill-column:99
70 End:
71*/
72// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :
SPAttr
Definition attributes.h:27
constexpr int tag_of
Convenience function to retrieve the tag (class id) of a given type.
Definition cast.h:26
Interface for refcounted XML nodes.
Definition node.h:80
Typed SVG document implementation.
Definition document.h:101
float limitingConeAngle
limiting cone angle
Definition spotlight.h:51
bool pointsAtZ_set
Definition spotlight.h:46
bool specularExponent_set
Definition spotlight.h:49
~SPFeSpotLight() override
float y
y coordinate of the light source
Definition spotlight.h:33
float pointsAtZ
z coordinate of the point the source is pointing at
Definition spotlight.h:45
float x
x coordinate of the light source
Definition spotlight.h:30
bool pointsAtY_set
Definition spotlight.h:43
void release() override
Definition spotlight.cpp:65
float pointsAtY
y coordinate of the point the source is pointing at
Definition spotlight.h:42
bool pointsAtX_set
Definition spotlight.h:40
int tag() const override
Definition spotlight.h:27
float z
z coordinate of the light source
Definition spotlight.h:36
float specularExponent
specular exponent (focus of the light)
Definition spotlight.h:48
float pointsAtX
x coordinate of the point the source is pointing at
Definition spotlight.h:39
bool limitingConeAngle_set
Definition spotlight.h:52
Inkscape::XML::Node * write(Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, unsigned flags) override
void build(SPDocument *doc, Inkscape::XML::Node *repr) override
Definition spotlight.cpp:49
SPObject is an abstract base class of all of the document nodes at the SVG document level.
Definition sp-object.h:160
Inkscape::XML::Node * repr
Definition sp-object.h:193
static cairo_user_data_key_t key
Interface for XML documents.
Definition document.h:43