From b51c1d6e50d79ae9d753783abb9d224ee1eaffc5 Mon Sep 17 00:00:00 2001
From: Fons Rademakers <Fons.Rademakers@cern.ch>
Date: Thu, 31 May 2001 15:45:45 +0000
Subject: [PATCH] first support for font size specified in pixels.

git-svn-id: http://root.cern.ch/svn/root/trunk@2340 27541ba8-7e3a-0410-8455-c3a389f83636
---
 graf/src/TPaveLabel.cxx | 18 +++++++++++-------
 graf/src/TPaveText.cxx  | 12 ++++++++----
 2 files changed, 19 insertions(+), 11 deletions(-)

diff --git a/graf/src/TPaveLabel.cxx b/graf/src/TPaveLabel.cxx
index a5cb7085e6f..641ed3d196e 100644
--- a/graf/src/TPaveLabel.cxx
+++ b/graf/src/TPaveLabel.cxx
@@ -1,4 +1,4 @@
-// @(#)root/graf:$Name:  $:$Id: TPaveLabel.cxx,v 1.6 2000/12/15 18:07:08 brun Exp $
+// @(#)root/graf:$Name:  $:$Id: TPaveLabel.cxx,v 1.7 2001/02/21 11:50:43 brun Exp $
 // Author: Rene Brun   17/10/95
 
 /*************************************************************************
@@ -145,13 +145,17 @@ void TPaveLabel::PaintPaveLabel(Double_t x1, Double_t y1,Double_t x2, Double_t
 //*-*- Draw label
    Double_t wh   = (Double_t)gPad->XtoPixel(gPad->GetX2());
    Double_t hh   = (Double_t)gPad->YtoPixel(gPad->GetY1());
-   Double_t textsize  = GetTextSize();
+   Double_t labelsize, textsize = GetTextSize();
    Int_t automat = 0;
-   if (TMath::Abs(textsize -0.99) < 0.001) automat = 1;
-   if (textsize == 0)   { textsize = 0.99; automat = 1;}
-   Int_t ypixel      = TMath::Abs(gPad->YtoPixel(y1) - gPad->YtoPixel(y2));
-   Double_t labelsize = textsize*ypixel/hh;
-   if (wh < hh) labelsize *= hh/wh;
+   if (GetTextFont()%10 > 2) {  // fixed size font specified in pixels
+      labelsize = GetTextSize();
+   } else {
+      if (TMath::Abs(textsize -0.99) < 0.001) automat = 1;
+      if (textsize == 0)   { textsize = 0.99; automat = 1;}
+      Int_t ypixel      = TMath::Abs(gPad->YtoPixel(y1) - gPad->YtoPixel(y2));
+      labelsize = textsize*ypixel/hh;
+      if (wh < hh) labelsize *= hh/wh;
+   }
    TLatex latex;
    latex.SetTextAngle(GetTextAngle());
    latex.SetTextFont(GetTextFont());
diff --git a/graf/src/TPaveText.cxx b/graf/src/TPaveText.cxx
index 89658eae895..af4288bd515 100644
--- a/graf/src/TPaveText.cxx
+++ b/graf/src/TPaveText.cxx
@@ -1,4 +1,4 @@
-// @(#)root/graf:$Name:  $:$Id: TPaveText.cxx,v 1.6 2000/12/13 15:13:50 brun Exp $
+// @(#)root/graf:$Name:  $:$Id: TPaveText.cxx,v 1.7 2001/02/21 11:50:43 brun Exp $
 // Author: Rene Brun   20/10/95
 
 /*************************************************************************
@@ -424,7 +424,11 @@ void TPaveText::PaintPrimitives(Int_t mode)
       if (mode == kDiamond) textsize *= 0.66;
       SetTextSize(textsize);
    }
-   Double_t yfont = textsize*dy;
+   Double_t yfont;
+   if (GetTextFont()%10 > 2)
+      yfont = gPad->PixeltoY(-textsize)*dy;
+   else
+      yfont = textsize*dy;
    Double_t ytext = fY2 + 0.5*yspace;
    Double_t xtext = 0;
    Int_t halign, valign;
@@ -540,7 +544,7 @@ void TPaveText::PaintPrimitives(Int_t mode)
    SetTextSize(textsave);
 
    // if a label create & paint a pavetext title
-      if (fLabel.Length() > 0) {
+   if (fLabel.Length() > 0) {
       dy = gPad->GetY2() - gPad->GetY1();
       x1 = fX1 + 0.25*dx;
       x2 = fX2 - 0.25*dx;
@@ -864,7 +868,7 @@ void TPaveText::Streamer(TBuffer &R__b)
       R__b >> fLines;
       R__b.CheckByteCount(R__s, R__c, TPaveText::IsA());
       //====end of old versions
-      
+
    } else {
       TPaveText::Class()->WriteBuffer(R__b,this);
    }
-- 
GitLab