]> git.lyx.org Git - lyx.git/blobdiff - src/Painter.h
Small fixes
[lyx.git] / src / Painter.h
index bb2048395c865274608900e1e21fef1aa2d1b007..6470a8b445165cb726ef65a9ba7a42682970b1ba 100644 (file)
 // This is only included to provide stuff for the non-public sections
 #include <X11/Xlib.h>
 
-#include <map>
 #include "PainterBase.h"
-#include "LColor.h"
-
-//using std::less;
 
 class LyXFont;
 class WorkArea;
@@ -37,12 +33,8 @@ class WorkArea;
 class Painter : public PainterBase {
 public:
        /// Constructor 
-       Painter(WorkArea &);
-       
-       /// Destructor
-       ~Painter();
+       explicit Painter(WorkArea &);
        
-       /**@Basic drawing routines */
        /// Draw a line from point to point
        PainterBase & line(int x1, int y1, int x2, int y2, 
                           LColor::color = LColor::foreground,
@@ -84,55 +76,33 @@ public:
        PainterBase & fillRectangle(int x, int y, int w, int h,
                                    LColor::color = LColor::background);
        
-       /**@Image stuff */
+       /// For the graphics inset.
+       PainterBase & image(int x, int y, int w, int h, LyXImage const * image);
        
-       /// For the figure inset
+       /// For the figinset
        PainterBase & pixmap(int x, int y, int w, int h, Pixmap bitmap);
        
-       /**@String functions */
-       
        /// Draw a string at position x, y (y is the baseline)
        PainterBase & text(int x, int y,
                           string const & str, LyXFont const & f);
        
        /** Draw a string at position x, y (y is the baseline)
            This is just for fast drawing */
-       PainterBase & text(int x, int y, char const * str, int l,
+       PainterBase & text(int x, int y, char const * str, size_t l,
                           LyXFont const & f);
        
        /// Draw a char at position x, y (y is the baseline)
        PainterBase & text(int x, int y, char c, LyXFont const & f);
-       
-protected:
-       /**@Support for X only, by now */
-       friend class WorkArea;
-       ///
-       PainterBase & setDisplay(Display * d) { display = d; return *this; }
-       
-       /// Get foreground color in ordinary GC
-       GC getGCForeground(LColor::color c);
-       
-       /// Set up GC according to line style
-       GC getGCLinepars(enum line_style, enum line_width, LColor::color c);
-       
+
+       /// Draw a wide string at position x, y
+       PainterBase & text(int x, int y, XChar2b const * str, int l,
+                  LyXFont const & f);  
+private:
        /// Check the font, and if set, draw an underline
        void underline(LyXFont const & f, int x, int y, int width);
        
-       /**@Low level X parameters */
        ///
        Display * display;
-
-       ///
-       Drawable drawable() const;
-               
-       ///
-       Colormap colormap;
-       
-       /// Caching of ordinary color GCs
-       GC colorGCcache[LColor::ignore + 1];
-       /// Caching of GCs used for lines
-       typedef map<int, GC, less<int> > LineGCCache;
-       ///
-       LineGCCache lineGCcache;
 };
+
 #endif