]> git.lyx.org Git - lyx.git/blobdiff - src/PainterBase.C
J�rgen Spitzm�ller's tweak of the Paragraph dialog.
[lyx.git] / src / PainterBase.C
index efc760c4ed330118d6de342472251afdbe63f888..1c5e21473f9858e1a745a77a8c8ba5ceedb4cff3 100644 (file)
@@ -3,14 +3,12 @@
  * 
  *           LyX, The Document Processor
  *      
- *         Copyright 1998-2000 The LyX Team
+ *         Copyright 1998-2001 The LyX Team
  *
  *======================================================*/
 
 #include <config.h>
 
-#ifdef USE_PAINTER
-
 #ifdef __GNUG__
 #pragma implementation
 #endif
 #include "PainterBase.h"
 #include "lyxfont.h"
 #include "WorkArea.h"
-
+#include "font.h"
 
 int PainterBase::dummy1 = 0;
 int PainterBase::dummy2 = 0;
 int PainterBase::dummy3 = 0;
 
-int PainterBase::paperMargin()
+int PainterBase::paperMargin() const
 {
        return 20;
 }
 
 
-int PainterBase::paperWidth()
+int PainterBase::paperWidth() const
 {
        return owner.workWidth();
 }
 
 
-int PainterBase::width(string const & s, LyXFont const & f)
-{
-       return f.stringWidth(s);
-}
-
-
-int PainterBase::width(char const * s, int l, LyXFont const & f)
-{
-       return f.textWidth(s, l);
-}
-
-
-int PainterBase::width(char c, LyXFont const & f)
+int PainterBase::paperHeight() const
 {
-       return f.width(c);
+       return owner.height();
 }
 
 
@@ -108,38 +94,31 @@ PainterBase & PainterBase::rectText(int x, int baseline,
                                    string const & str, 
                                    LyXFont const & font,
                                    LColor::color back,
-                                   LColor::color frame, bool draw,
-                                   int & width, int & ascent, int & descent)
+                                   LColor::color frame)
 {
-       static int const d = 2;
-       width = this->width(str, font) + d * 2 + 2;
-       ascent = font.maxAscent() + d;
-       descent = font.maxDescent() + d;
-
-       if (!draw) return *this;
-
+       int width;
+       int ascent;
+       int descent;
+       
+       lyxfont::rectText(str, font, width, ascent, descent);
        rectangle(x, baseline - ascent, width, ascent + descent, frame);
        fillRectangle(x + 1, baseline - ascent + 1, width - 1, 
                      ascent + descent - 1, back);
-       text(x + d, baseline, str, font);
+       text(x + 3, baseline, str, font);
        return *this;
 }
 
 
 PainterBase & PainterBase::buttonText(int x, int baseline,
                                      string const & str, 
-                                     LyXFont const & font, bool draw,
-                                     int & width, int & ascent, int & descent)
+                                     LyXFont const & font)
 {
-       width = this->width(str, font) + 8;
-       ascent = font.maxAscent() + 3;
-       descent = font.maxDescent() + 3;
-
-       if (!draw) return *this;
-
+       int width;
+       int ascent;
+       int descent;
+       
+       lyxfont::buttonText(str, font, width, ascent, descent);
        button(x, baseline - ascent, width, descent + ascent);
        text(x + 4, baseline, str, font);
        return *this;
 }
-
-#endif