]> git.lyx.org Git - lyx.git/blobdiff - src/PainterBase.h
Indentation change + small #ifndef NEW_INSETS fix.
[lyx.git] / src / PainterBase.h
index 24e174857775204b8c08ae07bc43b94f74082a41..bd9832925616f2f68b9eb265d67d02f7f5907d25 100644 (file)
@@ -20,7 +20,7 @@
 
 class WorkArea;
 class LyXFont;
-//class LyXScreen;
+class LyXImage;
 
 /** A painter class to encapsulate all graphics parameters and operations
    
@@ -36,7 +36,11 @@ class LyXFont;
 class PainterBase {
 protected:
         ///
-       static int dummy1, dummy2, dummy3;
+       static int dummy1;
+       ///
+       static int dummy2;
+       ///
+       static int dummy3;
 public:
        ///
        enum line_width {
@@ -57,18 +61,19 @@ public:
        };
 
        ///
-       PainterBase(WorkArea & wa) : owner(wa) {}
+       explicit PainterBase(WorkArea & wa) : owner(wa) {}
        
        ///
        virtual ~PainterBase() {}
 
-       /** Screen geometry */
+       /* Screen geometry */
        ///
        int paperMargin() const;
        ///
        int paperWidth() const;
+       ///
+       int paperHeight() const;
        
-       /**@Basic drawing routines */
        /// Draw a line from point to point
        virtual PainterBase & line(
                int x1, int y1, int x2, int y2, 
@@ -89,7 +94,7 @@ public:
        virtual PainterBase & fillPolygon(
                int const * xp, int const * yp,
                int np,
-               LColor::color =LColor::foreground) = 0;
+               LColor::color = LColor::foreground) = 0;
 
        /// Draw lines from x1,y1 to x2,y2. They are arrays
         virtual PainterBase & segments(
@@ -140,38 +145,23 @@ public:
        /// 
         virtual PainterBase & buttonFrame(int x, int y, int w, int h);
        
-       /**@Image stuff */
        
-       /// For the figure inset
-       // This can't be part of the base since we don't know what window
-       // system we will be useing, or if are going to use pixmaps at all.
-       //virtual PainterBase & pixmap(int x, int y, Pixmap bitmap)=0;
+       // For the figure inset
+       virtual PainterBase & image(int x, int y, int w, int h, LyXImage const * image) = 0;
 
        
-       /**@String functions */
-       
        /// Draw a string at position x, y (y is the baseline)
        virtual PainterBase & text(int x, int y,
-                                  string const &str, LyXFont const & f) = 0;
+                                  string const & str, LyXFont const & f) = 0;
 
        /** Draw a string at position x, y (y is the baseline)
            This is just for fast drawing */
-       virtual PainterBase & text(int x, int y, char const * str, int l,
+       virtual PainterBase & text(int x, int y, char const * str, size_t l,
                       LyXFont const & f) = 0;
 
        /// Draw a char at position x, y (y is the baseline)
        virtual PainterBase & text(int x, int y, char c, LyXFont const & f)=0;
        
-       /// Get the width of text
-       int width(string const & s, LyXFont const & f) const;
-
-       /** Get the width of text
-           This is just for fast width */
-       int width(char const * s, int l, LyXFont const & f) const;
-
-       /// Get the width of text
-       int width(char c, LyXFont const & f) const;
-
        /** Draws a string and encloses it inside a rectangle. Returns
            the size of the rectangle. If draw is false, we only calculate
            the size. */
@@ -192,7 +182,8 @@ public:
                             int & width = PainterBase::dummy1,
                             int & ascent = PainterBase::dummy2, 
                             int & descent = PainterBase::dummy3);
-private:
+protected:
+       ///
        WorkArea & owner;
 };