OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2008 Alex Mathews <possessedpenguinbob@gmail.com> | 2 * Copyright (C) 2008 Alex Mathews <possessedpenguinbob@gmail.com> |
3 * Copyright (C) 2004, 2005, 2006, 2007 Nikolas Zimmermann <zimmermann@kde.org> | 3 * Copyright (C) 2004, 2005, 2006, 2007 Nikolas Zimmermann <zimmermann@kde.org> |
4 * Copyright (C) 2004, 2005 Rob Buis <buis@kde.org> | 4 * Copyright (C) 2004, 2005 Rob Buis <buis@kde.org> |
5 * Copyright (C) 2005 Eric Seidel <eric@webkit.org> | 5 * Copyright (C) 2005 Eric Seidel <eric@webkit.org> |
6 * | 6 * |
7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
(...skipping 16 matching lines...) Expand all Loading... |
27 | 27 |
28 namespace WebCore { | 28 namespace WebCore { |
29 | 29 |
30 class PLATFORM_EXPORT PointLightSource : public LightSource { | 30 class PLATFORM_EXPORT PointLightSource : public LightSource { |
31 public: | 31 public: |
32 static PassRefPtr<PointLightSource> create(const FloatPoint3D& position) | 32 static PassRefPtr<PointLightSource> create(const FloatPoint3D& position) |
33 { | 33 { |
34 return adoptRef(new PointLightSource(position)); | 34 return adoptRef(new PointLightSource(position)); |
35 } | 35 } |
36 | 36 |
| 37 virtual PassRefPtr<LightSource> create(const FloatPoint3D& scale, const Floa
tSize& offset) const OVERRIDE |
| 38 { |
| 39 FloatPoint3D position(m_position.x() * scale.x() - offset.width(), m_pos
ition.y() * scale.y() - offset.height(), m_position.z() * scale.z()); |
| 40 return adoptRef(new PointLightSource(position)); |
| 41 } |
| 42 |
37 const FloatPoint3D& position() const { return m_position; } | 43 const FloatPoint3D& position() const { return m_position; } |
38 virtual bool setX(float) OVERRIDE; | 44 virtual bool setX(float) OVERRIDE; |
39 virtual bool setY(float) OVERRIDE; | 45 virtual bool setY(float) OVERRIDE; |
40 virtual bool setZ(float) OVERRIDE; | 46 virtual bool setZ(float) OVERRIDE; |
41 | 47 |
42 virtual void initPaintingData(PaintingData&) OVERRIDE; | 48 virtual void initPaintingData(PaintingData&) const OVERRIDE; |
43 virtual void updatePaintingData(PaintingData&, int x, int y, float z) OVERRI
DE; | 49 virtual void updatePaintingData(PaintingData&, int x, int y, float z) const
OVERRIDE; |
44 | 50 |
45 virtual TextStream& externalRepresentation(TextStream&) const OVERRIDE; | 51 virtual TextStream& externalRepresentation(TextStream&) const OVERRIDE; |
46 | 52 |
47 private: | 53 private: |
48 PointLightSource(const FloatPoint3D& position) | 54 PointLightSource(const FloatPoint3D& position) |
49 : LightSource(LS_POINT) | 55 : LightSource(LS_POINT) |
50 , m_position(position) | 56 , m_position(position) |
51 { | 57 { |
52 } | 58 } |
53 | 59 |
54 FloatPoint3D m_position; | 60 FloatPoint3D m_position; |
55 }; | 61 }; |
56 | 62 |
57 } // namespace WebCore | 63 } // namespace WebCore |
58 | 64 |
59 #endif // PointLightSource_h | 65 #endif // PointLightSource_h |
OLD | NEW |