~ubuntu-branches/ubuntu/raring/qtwebkit-source/raring-proposed

« back to all changes in this revision

Viewing changes to Source/WebCore/platform/graphics/filters/SpotLightSource.h

  • Committer: Package Import Robot
  • Author(s): Jonathan Riddell
  • Date: 2013-02-18 14:24:18 UTC
  • Revision ID: package-import@ubuntu.com-20130218142418-eon0jmjg3nj438uy
Tags: upstream-2.3
ImportĀ upstreamĀ versionĀ 2.3

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Copyright (C) 2008 Alex Mathews <possessedpenguinbob@gmail.com>
 
3
 * Copyright (C) 2004, 2005, 2006, 2007 Nikolas Zimmermann <zimmermann@kde.org>
 
4
 * Copyright (C) 2004, 2005 Rob Buis <buis@kde.org>
 
5
 * Copyright (C) 2005 Eric Seidel <eric@webkit.org>
 
6
 *
 
7
 * This library is free software; you can redistribute it and/or
 
8
 * modify it under the terms of the GNU Library General Public
 
9
 * License as published by the Free Software Foundation; either
 
10
 * version 2 of the License, or (at your option) any later version.
 
11
 *
 
12
 * This library is distributed in the hope that it will be useful,
 
13
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
14
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
15
 * Library General Public License for more details.
 
16
 *
 
17
 * You should have received a copy of the GNU Library General Public License
 
18
 * along with this library; see the file COPYING.LIB.  If not, write to
 
19
 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 
20
 * Boston, MA 02110-1301, USA.
 
21
 */
 
22
 
 
23
#ifndef SpotLightSource_h
 
24
#define SpotLightSource_h
 
25
 
 
26
#if ENABLE(FILTERS)
 
27
#include "LightSource.h"
 
28
 
 
29
namespace WebCore {
 
30
 
 
31
class SpotLightSource : public LightSource {
 
32
public:
 
33
    static PassRefPtr<SpotLightSource> create(const FloatPoint3D& position,
 
34
        const FloatPoint3D& direction, float specularExponent, float limitingConeAngle)
 
35
    {
 
36
        return adoptRef(new SpotLightSource(position, direction, specularExponent, limitingConeAngle));
 
37
    }
 
38
 
 
39
    const FloatPoint3D& position() const { return m_position; }
 
40
    bool setX(float);
 
41
    bool setY(float);
 
42
    bool setZ(float);
 
43
    const FloatPoint3D& direction() const { return m_direction; }
 
44
    bool setPointsAtX(float);
 
45
    bool setPointsAtY(float);
 
46
    bool setPointsAtZ(float);
 
47
 
 
48
    float specularExponent() const { return m_specularExponent; }
 
49
    bool setSpecularExponent(float);
 
50
    float limitingConeAngle() const { return m_limitingConeAngle; }
 
51
    bool setLimitingConeAngle(float);
 
52
 
 
53
    virtual void initPaintingData(PaintingData&);
 
54
    virtual void updatePaintingData(PaintingData&, int x, int y, float z);
 
55
 
 
56
    virtual TextStream& externalRepresentation(TextStream&) const;
 
57
 
 
58
private:
 
59
    SpotLightSource(const FloatPoint3D& position, const FloatPoint3D& direction,
 
60
        float specularExponent, float limitingConeAngle)
 
61
        : LightSource(LS_SPOT)
 
62
        , m_position(position)
 
63
        , m_direction(direction)
 
64
        , m_specularExponent(specularExponent)
 
65
        , m_limitingConeAngle(limitingConeAngle)
 
66
    {
 
67
    }
 
68
 
 
69
    FloatPoint3D m_position;
 
70
    FloatPoint3D m_direction;
 
71
 
 
72
    float m_specularExponent;
 
73
    float m_limitingConeAngle;
 
74
};
 
75
 
 
76
} // namespace WebCore
 
77
 
 
78
#endif // ENABLE(FILTERS)
 
79
 
 
80
#endif // SpotLightSource_h