Am Dienstag, 15. Februar 2005 11:31 schrieb Lars Gullik Bjønnes: > Ok, then at least the --x; should have a comment on it.
See attached. Committing now. André, I hope your cvs troubles are solved soon. I am not going to write comments and changelogs for you forever ;-) Georg
diff -p -r -U 3 -X excl.tmp lyx-1.4-clean/src/bufferview_funcs.C lyx-1.4-cvs/src/bufferview_funcs.C --- lyx-1.4-clean/src/bufferview_funcs.C 2005-02-08 20:28:36.000000000 +0100 +++ lyx-1.4-cvs/src/bufferview_funcs.C 2005-02-15 20:07:26.000000000 +0100 @@ -174,7 +174,10 @@ Point coordOffset(DocIterator const & di y += par.rows()[rit].height(); y += par.rows()[par.pos2row(sl.pos())].ascent(); x += dit.bottom().text()->cursorX(dit.bottom()); - return Point(x,y); + // The following correction should not be there at all. + // The cusor looks much better with the -1, though. + --x; + return Point(x, y); } diff -p -r -U 3 -X excl.tmp lyx-1.4-clean/src/ChangeLog lyx-1.4-cvs/src/ChangeLog --- lyx-1.4-clean/src/ChangeLog 2005-02-15 18:35:48.000000000 +0100 +++ lyx-1.4-cvs/src/ChangeLog 2005-02-15 20:07:44.000000000 +0100 @@ -1,3 +1,7 @@ +2005-02-13 André Pönitz <[EMAIL PROTECTED]> + + * bufferview_funcs.C (coordOffset): improve cursor drawing + 2005-02-13 André Pönitz <[EMAIL PROTECTED]> * Cursor.[Ch] (fixIfBroken): new method, try to fix a broken cursor diff -p -r -U 3 -X excl.tmp lyx-1.4-clean/src/insets/ChangeLog lyx-1.4-cvs/src/insets/ChangeLog --- lyx-1.4-clean/src/insets/ChangeLog 2005-02-15 18:35:16.000000000 +0100 +++ lyx-1.4-cvs/src/insets/ChangeLog 2005-02-15 20:11:00.000000000 +0100 @@ -1,3 +1,9 @@ +2005-02-13 André Pönitz <[EMAIL PROTECTED]> + + * insettext.[Ch] (border_): new + * insettext.C (metrics, draw, drawFrame, clearInset, getCursorPos): + use border_ + 2005-02-14 Angus Leeming <[EMAIL PROTECTED]> * insetlatexaccent.C (draw): squash a couple of MSVC warnings diff -p -r -U 3 -X excl.tmp lyx-1.4-clean/src/insets/insettext.C lyx-1.4-cvs/src/insets/insettext.C --- lyx-1.4-clean/src/insets/insettext.C 2005-02-08 20:29:10.000000000 +0100 +++ lyx-1.4-cvs/src/insets/insettext.C 2005-02-15 20:04:12.000000000 +0100 @@ -70,6 +70,9 @@ using std::ostream; using std::vector; +int InsetText::border_ = 2; + + InsetText::InsetText(BufferParams const & bp) : drawFrame_(false), frame_color_(LColor::insetframe), text_(0) { @@ -92,7 +95,8 @@ InsetText::InsetText(InsetText const & i } -InsetText::InsetText() : text_(0) +InsetText::InsetText() + : text_(0) {} @@ -168,9 +172,14 @@ void InsetText::metrics(MetricsInfo & mi { //lyxerr << "InsetText::metrics: width: " << mi.base.textwidth << endl; setViewCache(mi.base.bv); + mi.base.textwidth -= 2 * border_; font_ = mi.base.font; text_.font_ = mi.base.font; text_.metrics(mi, dim); + dim.asc += border_; + dim.des += border_; + dim.wid += 2 * border_; + mi.base.textwidth += 2 * border_; dim_ = dim; } @@ -185,10 +194,7 @@ void InsetText::draw(PainterInfo & pi, i bv->hideCursor(); x += scroll(); - //y -= text_.ascent(); - - - text_.draw(pi, x, y); + text_.draw(pi, x + border_, y); if (drawFrame_) drawFrame(pi.pain, x, y); @@ -206,18 +212,18 @@ void InsetText::drawSelection(PainterInf void InsetText::drawFrame(Painter & pain, int x, int y) const { - int const w = max(1, text_.width()); - int const h = text_.height(); - int const a = text_.ascent(); + int const w = text_.width() + border_; + int const a = text_.ascent() + border_; + int const h = a + text_.descent() + border_; pain.rectangle(x, y - a, w, h, frameColor()); } void InsetText::clearInset(Painter & pain, int x, int y) const { - int const w = text_.width(); - int const h = text_.height(); - int const a = text_.ascent(); + int const w = text_.width() + border_; + int const a = text_.ascent() + border_; + int const h = a + text_.descent() + border_; pain.fillRectangle(x, y - a, w, h, backgroundColor()); } @@ -356,7 +362,7 @@ void InsetText::validate(LaTeXFeatures & void InsetText::getCursorPos(CursorSlice const & sl, int & x, int & y) const { - x = text_.cursorX(sl); + x = text_.cursorX(sl) + border_; y = text_.cursorY(sl); } diff -p -r -U 3 -X excl.tmp lyx-1.4-clean/src/insets/insettext.h lyx-1.4-cvs/src/insets/insettext.h --- lyx-1.4-clean/src/insets/insettext.h 2004-12-19 11:37:17.000000000 +0100 +++ lyx-1.4-cvs/src/insets/insettext.h 2005-02-15 20:04:11.000000000 +0100 @@ -165,6 +165,8 @@ private: int frame_color_; /// mutable lyx::pit_type old_pit; + /// + static int border_; public: /// mutable LyXText text_;