From 358e7136f2af787e64cf7c2253d002351db580ad Mon Sep 17 00:00:00 2001 From: Bo Peng Date: Thu, 7 Jun 2007 21:36:42 +0000 Subject: [PATCH] Fix compiling errors caused by r18701 (moving drawMarkers and drawMarkers2 back to Inset) git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18708 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/insets/Inset.cpp | 31 +++++++++++++++++++++++++++++++ src/insets/Inset.h | 10 ++++++++++ src/mathed/InsetMathNest.cpp | 31 ------------------------------- src/mathed/InsetMathNest.h | 6 ++---- 4 files changed, 43 insertions(+), 35 deletions(-) diff --git a/src/insets/Inset.cpp b/src/insets/Inset.cpp index e1a8a4e975..09be84e480 100644 --- a/src/insets/Inset.cpp +++ b/src/insets/Inset.cpp @@ -280,6 +280,37 @@ void Inset::metricsMarkers2(Dimension & dim, int framesize) const } +void Inset::drawMarkers(PainterInfo & pi, int x, int y) const +{ + Color::color pen_color = mouseHovered() || editing(pi.base.bv)? + Color::mathframe : Color::mathcorners; + + int const t = x + width() - 1; + int const d = y + descent(); + pi.pain.line(x, d - 3, x, d, pen_color); + pi.pain.line(t, d - 3, t, d, pen_color); + pi.pain.line(x, d, x + 3, d, pen_color); + pi.pain.line(t - 3, d, t, d, pen_color); + setPosCache(pi, x, y); +} + + +void Inset::drawMarkers2(PainterInfo & pi, int x, int y) const +{ + Color::color pen_color = mouseHovered() || editing(pi.base.bv)? + Color::mathframe : Color::mathcorners; + + drawMarkers(pi, x, y); + int const t = x + width() - 1; + int const a = y - ascent(); + pi.pain.line(x, a + 3, x, a, pen_color); + pi.pain.line(t, a + 3, t, a, pen_color); + pi.pain.line(x, a, x + 3, a, pen_color); + pi.pain.line(t - 3, a, t, a, pen_color); + setPosCache(pi, x, y); +} + + bool Inset::editing(BufferView * bv) const { return bv->cursor().isInside(this); diff --git a/src/insets/Inset.h b/src/insets/Inset.h index b5e447c081..3496358b46 100644 --- a/src/insets/Inset.h +++ b/src/insets/Inset.h @@ -130,6 +130,10 @@ public: /// draw inset decoration if necessary. /// This can use \c drawMarkers() for example. virtual void drawDecoration(PainterInfo &, int, int) const {} + /// draw four angular markers + void drawMarkers(PainterInfo & pi, int x, int y) const; + /// draw two angular markers + void drawMarkers2(PainterInfo & pi, int x, int y) const; /// add space for markers void metricsMarkers(Dimension & dim, int framesize = 1) const; /// add space for markers @@ -195,6 +199,12 @@ public: /// is called when the mouse enter or leave this inset /// return true if this inset needs repaint virtual bool setMouseHover(bool) { return false; } + /// return true if this inset is hovered (under mouse) + /// This is by now only used by mathed to draw corners + /// (Inset::drawMarkers() and Inset::drawMarkers2()). + /// Other insets do not have to redefine this function to + /// return the correct status of mouseHovered. + virtual bool mouseHovered() const { return false; } /// request "external features" virtual void validate(LaTeXFeatures &) const {} diff --git a/src/mathed/InsetMathNest.cpp b/src/mathed/InsetMathNest.cpp index ef0c5c7296..cb34d49db1 100644 --- a/src/mathed/InsetMathNest.cpp +++ b/src/mathed/InsetMathNest.cpp @@ -360,37 +360,6 @@ int InsetMathNest::latex(Buffer const &, odocstream & os, } -void InsetMathNest::drawMarkers(PainterInfo & pi, int x, int y) const -{ - Color::color pen_color = mouse_hover_ || editing(pi.base.bv) ? - Color::mathframe : Color::mathcorners; - - int const t = x + width() - 1; - int const d = y + descent(); - pi.pain.line(x, d - 3, x, d, pen_color); - pi.pain.line(t, d - 3, t, d, pen_color); - pi.pain.line(x, d, x + 3, d, pen_color); - pi.pain.line(t - 3, d, t, d, pen_color); - setPosCache(pi, x, y); -} - - -void InsetMathNest::drawMarkers2(PainterInfo & pi, int x, int y) const -{ - Color::color pen_color = mouse_hover_ || editing(pi.base.bv)? - Color::mathframe : Color::mathcorners; - - drawMarkers(pi, x, y); - int const t = x + width() - 1; - int const a = y - ascent(); - pi.pain.line(x, a + 3, x, a, pen_color); - pi.pain.line(t, a + 3, t, a, pen_color); - pi.pain.line(x, a, x + 3, a, pen_color); - pi.pain.line(t - 3, a, t, a, pen_color); - setPosCache(pi, x, y); -} - - bool InsetMathNest::setMouseHover(bool mouse_hover) { mouse_hover_ = mouse_hover; diff --git a/src/mathed/InsetMathNest.h b/src/mathed/InsetMathNest.h index c204dbd09b..a22766bc08 100644 --- a/src/mathed/InsetMathNest.h +++ b/src/mathed/InsetMathNest.h @@ -109,12 +109,10 @@ public: /// This signal is emitted when the inset is destroyed. boost::signal * destroyedSignal() { return &destroyed; } - /// draw four angular markers - void drawMarkers(PainterInfo & pi, int x, int y) const; - /// draw two angular markers - void drawMarkers2(PainterInfo & pi, int x, int y) const; /// bool setMouseHover(bool mouse_hover); + /// + bool mouseHovered() const { return mouse_hover_; } protected: /// -- 2.39.2