Bug 1400378 - Add layers logging support for Point3D. r?mattwoodrow draft
authorKartikaya Gupta <kgupta@mozilla.com>
Fri, 15 Sep 2017 16:08:12 -0400
changeset 665653 a4b997ed2e547de46c0aca651c877f2de7c27f91
parent 665623 7aceaf8bcb9f582db0f93488b48ef7019e348dba
child 731843 c8a4eec747b1806f18aa0312a8bb7ef3bff95a61
push id80131
push userkgupta@mozilla.com
push dateFri, 15 Sep 2017 20:08:38 +0000
reviewersmattwoodrow
bugs1400378
milestone57.0a1
Bug 1400378 - Add layers logging support for Point3D. r?mattwoodrow MozReview-Commit-ID: 9W3gDi7wyQF
gfx/2d/BasePoint3D.h
gfx/layers/LayersLogging.h
--- a/gfx/2d/BasePoint3D.h
+++ b/gfx/2d/BasePoint3D.h
@@ -109,14 +109,18 @@ struct BasePoint3D {
   T Length() const {
       return sqrt(x*x + y*y + z*z);
   }
 
   // Invalid for points with distance from origin of 0.
   void Normalize() {
       *this /= Length();
   }
+
+  friend std::ostream& operator<<(std::ostream& stream, const BasePoint3D<T, Sub>& aPoint) {
+    return stream << '(' << aPoint.x << ',' << aPoint.y << ',' << aPoint.z << ')';
+  }
 };
 
 } // namespace gfx
 } // namespace mozilla
 
 #endif /* MOZILLA_BASEPOINT3D_H_ */
--- a/gfx/layers/LayersLogging.h
+++ b/gfx/layers/LayersLogging.h
@@ -66,16 +66,24 @@ void
 AppendToString(std::stringstream& aStream, const mozilla::gfx::PointTyped<T>& p,
                const char* pfx="", const char* sfx="")
 {
   aStream << pfx << p << sfx;
 }
 
 template<class T>
 void
+AppendToString(std::stringstream& aStream, const mozilla::gfx::Point3DTyped<T>& p,
+               const char* pfx="", const char* sfx="")
+{
+  aStream << pfx << p << sfx;
+}
+
+template<class T>
+void
 AppendToString(std::stringstream& aStream, const mozilla::gfx::IntPointTyped<T>& p,
                const char* pfx="", const char* sfx="")
 {
   aStream << pfx << p << sfx;
 }
 
 template<class T>
 void