X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2FGuiPainter.h;h=c28857e68f77214e09732da4aafd21796366b278;hb=ba76bf5eb85db5a10839fccee3430d906d3f7b70;hp=aa4bfcacf98918c6f7c9915e82538ae4c8dfd353;hpb=6408f99b311fa930aa8d596b6b45d4cea985ab8a;p=lyx.git diff --git a/src/frontends/qt4/GuiPainter.h b/src/frontends/qt4/GuiPainter.h index aa4bfcacf9..c28857e68f 100644 --- a/src/frontends/qt4/GuiPainter.h +++ b/src/frontends/qt4/GuiPainter.h @@ -78,13 +78,10 @@ public: ColorCode); /// draw a pixel - virtual void point( - int x, int y, - ColorCode); + virtual void point(int x, int y, ColorCode); /// draw an image from the image cache - virtual void image(int x, int y, - int w, int h, + virtual void image(int x, int y, int w, int h, lyx::graphics::Image const & image); /// draw a string at position x, y (y is the baseline) @@ -94,13 +91,44 @@ public: /// draw a char at position x, y (y is the baseline) virtual int text(int x, int y, char_type c, FontInfo const & f); + /// draw a string and enclose it inside a button frame + virtual void buttonText(int x, int baseline, docstring const & s, + FontInfo const & font, bool mouseHover); + /// start monochrome painting mode, i.e. map every color into [min,max] virtual void enterMonochromeMode(ColorCode const & min, ColorCode const & max); /// leave monochrome painting mode virtual void leaveMonochromeMode(); + /** + * Draw a string and enclose it inside a rectangle. If + * back color is specified, the background is cleared with + * the given color. If frame is specified, a thin frame is drawn + * around the text with the given color. + */ + virtual void rectText(int x, int baseline, docstring const & str, + FontInfo const & font, ColorCode back, ColorCode frame); + + /// draw a filled rectangle with the shape of a 3D button + virtual void button(int x, int y, int w, int h, bool mouseHover); + + /// draw a character of a preedit string for cjk support. + virtual int preeditText(int x, int y, + char_type c, FontInfo const & f, preedit_style style); + private: + /// check the font, and if set, draw an underline + void underline(FontInfo const & f, + int x, int y, int width); + + /// check the font, and if set, draw an dashed underline + void dashedUnderline(FontInfo const & f, + int x, int y, int width); + + /// draw a bevelled button border + void buttonFrame(int x, int y, int w, int h); + /// draw small caps text /** \return width of the drawn text. @@ -110,13 +138,14 @@ private: /// set pen parameters void setQPainterPen(QColor const & col, - line_style ls = line_solid, - line_width lw = line_thin); + line_style ls = line_solid, line_width lw = line_thin); QColor current_color_; Painter::line_style current_ls_; Painter::line_width current_lw_; /// + bool const use_pixmap_cache_; + /// std::stack monochrome_min_; /// std::stack monochrome_max_;