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

Unified Diff: Source/platform/graphics/filters/SpotLightSource.h

Issue 181943003: Scaling and offset fix for FELighting (software and skia paths) (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Changed fix to temporary light creation Created 6 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: Source/platform/graphics/filters/SpotLightSource.h
diff --git a/Source/platform/graphics/filters/SpotLightSource.h b/Source/platform/graphics/filters/SpotLightSource.h
index f089c85d01f8fe49cc493aa7321004aa9d41d9b2..cef667230309d429f74c3c2972736e456c77b7ce 100644
--- a/Source/platform/graphics/filters/SpotLightSource.h
+++ b/Source/platform/graphics/filters/SpotLightSource.h
@@ -35,6 +35,13 @@ public:
return adoptRef(new SpotLightSource(position, direction, specularExponent, limitingConeAngle));
}
+ virtual PassRefPtr<LightSource> create(const FloatPoint3D& scale, const FloatSize& offset) const OVERRIDE
+ {
+ FloatPoint3D position(m_position.x() * scale.x() - offset.width(), m_position.y() * scale.y() - offset.height(), m_position.z() * scale.z());
+ FloatPoint3D direction(m_direction.x() * scale.x() - offset.width(), m_direction.y() * scale.y() - offset.height(), m_direction.z() * scale.z());
+ return adoptRef(new SpotLightSource(position, direction, m_specularExponent, m_limitingConeAngle));
+ }
+
const FloatPoint3D& position() const { return m_position; }
const FloatPoint3D& direction() const { return m_direction; }
float specularExponent() const { return m_specularExponent; }
@@ -50,8 +57,8 @@ public:
virtual bool setSpecularExponent(float) OVERRIDE;
virtual bool setLimitingConeAngle(float) OVERRIDE;
- virtual void initPaintingData(PaintingData&) OVERRIDE;
- virtual void updatePaintingData(PaintingData&, int x, int y, float z) OVERRIDE;
+ virtual void initPaintingData(PaintingData&) const OVERRIDE;
+ virtual void updatePaintingData(PaintingData&, int x, int y, float z) const OVERRIDE;
virtual TextStream& externalRepresentation(TextStream&) const OVERRIDE;
« no previous file with comments | « Source/platform/graphics/filters/PointLightSource.cpp ('k') | Source/platform/graphics/filters/SpotLightSource.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698