]> git.lyx.org Git - lyx.git/blobdiff - src/PainterBase.h
Indentation change + small #ifndef NEW_INSETS fix.
[lyx.git] / src / PainterBase.h
index ab05dda52249385ae08e6a8a62313652a0ca74c9..bd9832925616f2f68b9eb265d67d02f7f5907d25 100644 (file)
@@ -8,8 +8,6 @@
  *
  *======================================================*/
 
-#ifdef USE_PAINTER
-
 #ifndef PAINTERBASE_H
 #define PAINTERBASE_H
 
@@ -22,7 +20,7 @@
 
 class WorkArea;
 class LyXFont;
-class LyXScreen;
+class LyXImage;
 
 /** A painter class to encapsulate all graphics parameters and operations
    
@@ -38,7 +36,11 @@ class LyXScreen;
 class PainterBase {
 protected:
         ///
-       static int dummy1, dummy2, dummy3;
+       static int dummy1;
+       ///
+       static int dummy2;
+       ///
+       static int dummy3;
 public:
        ///
        enum line_width {
@@ -59,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 paperMargin();
+       int paperWidth() const;
        ///
-       int paperWidth();
+       int paperHeight() const;
        
-       /**@Basic drawing routines */
        /// Draw a line from point to point
        virtual PainterBase & line(
                int x1, int y1, int x2, int y2, 
@@ -91,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(
@@ -142,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);
-
-       /** Get the width of text
-           This is just for fast width */
-       int width(char const * s, int l, LyXFont const & f);
-
-       /// Get the width of text
-       int width(char c, LyXFont const & f);
-
        /** Draws a string and encloses it inside a rectangle. Returns
            the size of the rectangle. If draw is false, we only calculate
            the size. */
@@ -194,13 +182,9 @@ public:
                             int & width = PainterBase::dummy1,
                             int & ascent = PainterBase::dummy2, 
                             int & descent = PainterBase::dummy3);
-       /// This is preliminary
-       //BufferView const * getOwner() const {  return &owner; }
-
-private:
+protected:
+       ///
        WorkArea & owner;
 };
 
 #endif
-
-#endif