Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(10)

Side by Side Diff: Source/platform/graphics/filters/PointLightSource.cpp

Issue 395813002: Resolve light-source position/direction when updated (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2004, 2005, 2006, 2007 Nikolas Zimmermann <zimmermann@kde.org> 2 * Copyright (C) 2004, 2005, 2006, 2007 Nikolas Zimmermann <zimmermann@kde.org>
3 * Copyright (C) 2004, 2005 Rob Buis <buis@kde.org> 3 * Copyright (C) 2004, 2005 Rob Buis <buis@kde.org>
4 * Copyright (C) 2005 Eric Seidel <eric@webkit.org> 4 * Copyright (C) 2005 Eric Seidel <eric@webkit.org>
5 * Copyright (C) 2010 Zoltan Herczeg <zherczeg@webkit.org> 5 * Copyright (C) 2010 Zoltan Herczeg <zherczeg@webkit.org>
6 * Copyright (C) 2011 University of Szeged 6 * Copyright (C) 2011 University of Szeged
7 * Copyright (C) 2011 Renata Hodovan <reni@webkit.org> 7 * Copyright (C) 2011 Renata Hodovan <reni@webkit.org>
8 * 8 *
9 * Redistribution and use in source and binary forms, with or without 9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions 10 * modification, are permitted provided that the following conditions
(...skipping 29 matching lines...) Expand all
40 } 40 }
41 41
42 void PointLightSource::updatePaintingData(PaintingData& paintingData, int x, int y, float z) const 42 void PointLightSource::updatePaintingData(PaintingData& paintingData, int x, int y, float z) const
43 { 43 {
44 paintingData.lightVector.setX(m_position.x() - x); 44 paintingData.lightVector.setX(m_position.x() - x);
45 paintingData.lightVector.setY(m_position.y() - y); 45 paintingData.lightVector.setY(m_position.y() - y);
46 paintingData.lightVector.setZ(m_position.z() - z); 46 paintingData.lightVector.setZ(m_position.z() - z);
47 paintingData.lightVectorLength = paintingData.lightVector.length(); 47 paintingData.lightVectorLength = paintingData.lightVector.length();
48 } 48 }
49 49
50 bool PointLightSource::setX(float x) 50 bool PointLightSource::setPosition(const FloatPoint3D& position)
51 { 51 {
52 if (m_position.x() == x) 52 if (m_position == position)
53 return false; 53 return false;
54 m_position.setX(x); 54 m_position = position;
55 return true; 55 return true;
56 } 56 }
57 57
58 bool PointLightSource::setY(float y)
59 {
60 if (m_position.y() == y)
61 return false;
62 m_position.setY(y);
63 return true;
64 }
65
66 bool PointLightSource::setZ(float z)
67 {
68 if (m_position.z() == z)
69 return false;
70 m_position.setZ(z);
71 return true;
72 }
73
74 static TextStream& operator<<(TextStream& ts, const FloatPoint3D& p) 58 static TextStream& operator<<(TextStream& ts, const FloatPoint3D& p)
75 { 59 {
76 ts << "x=" << p.x() << " y=" << p.y() << " z=" << p.z(); 60 ts << "x=" << p.x() << " y=" << p.y() << " z=" << p.z();
77 return ts; 61 return ts;
78 } 62 }
79 63
80 TextStream& PointLightSource::externalRepresentation(TextStream& ts) const 64 TextStream& PointLightSource::externalRepresentation(TextStream& ts) const
81 { 65 {
82 ts << "[type=POINT-LIGHT] "; 66 ts << "[type=POINT-LIGHT] ";
83 ts << "[position=\"" << position() << "\"]"; 67 ts << "[position=\"" << position() << "\"]";
84 return ts; 68 return ts;
85 } 69 }
86 70
87 }; // namespace WebCore 71 }; // namespace WebCore
OLDNEW
« no previous file with comments | « Source/platform/graphics/filters/PointLightSource.h ('k') | Source/platform/graphics/filters/SpotLightSource.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698