From 38ced92d7e8995bc06bb45a01d45bd6e2e32079a Mon Sep 17 00:00:00 2001
From: Axel Naumann <Axel.Naumann@cern.ch>
Date: Sat, 26 Aug 2017 12:09:12 -0700
Subject: [PATCH] Add unary -op for UDLs to work nicely.

---
 graf2d/gpad/v7/inc/ROOT/TPadCoord.hxx | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/graf2d/gpad/v7/inc/ROOT/TPadCoord.hxx b/graf2d/gpad/v7/inc/ROOT/TPadCoord.hxx
index bf7955b2028..2e0a392c03a 100644
--- a/graf2d/gpad/v7/inc/ROOT/TPadCoord.hxx
+++ b/graf2d/gpad/v7/inc/ROOT/TPadCoord.hxx
@@ -33,6 +33,8 @@ protected:
       CoordSysBase(double val): fVal(val) {}
       DERIVED &ToDerived() { return static_cast<DERIVED &>(*this); }
 
+      DERIVED operator-() { return DERIVED(-fVal); }
+
       friend DERIVED operator+(DERIVED lhs, DERIVED rhs) { return DERIVED{lhs.fVal + rhs.fVal}; }
       friend DERIVED operator-(DERIVED lhs, DERIVED rhs) { return DERIVED{lhs.fVal - rhs.fVal}; }
       friend double operator/(DERIVED lhs, DERIVED rhs) { return lhs.fVal / rhs.fVal; }
@@ -124,6 +126,11 @@ public:
       return TPadCoord{lhs.fNormal - rhs.fNormal, lhs.fPixel - rhs.fPixel, lhs.fUser - rhs.fUser};
    }
 
+   /// Unary -.
+   TPadCoord operator-() {
+      return TPadCoord(-fNormal, -fPixel, -fUser);
+   }
+
    /// Add a `TPadCoord`.
    TPadCoord &operator+=(const TPadCoord &rhs)
    {
-- 
GitLab