]> git.lyx.org Git - features.git/commitdiff
(Michael Schmitt): the proper fix for the off-by-one cropping of graphics
authorAngus Leeming <leeming@lyx.org>
Mon, 13 Jan 2003 23:38:01 +0000 (23:38 +0000)
committerAngus Leeming <leeming@lyx.org>
Mon, 13 Jan 2003 23:38:01 +0000 (23:38 +0000)
images. Tested and verified to work beautifully.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5951 a592a061-630c-0410-9148-cb99ea01b6c8

src/frontends/xforms/ChangeLog
src/frontends/xforms/xformsImage.C
src/insets/ChangeLog
src/insets/insetgraphics.C
src/mathed/ChangeLog
src/mathed/formula.C

index 11bea1a8cafd7adfb5a2ac4a39d6514ff920f05c..2f0c4487f27c743cac510c4dec764d6f946571b4 100644 (file)
@@ -1,3 +1,8 @@
+2003-01-13  Michael Schmitt <michael.schmitt@teststep.org>
+
+       * xformsImage.C (getWidth): revert "fix" that breaks behavior with
+       xforms 1.0.
+
 2003-01-13  John Levon  <levon@movementarian.org>
 
        * forms/form_spellchecker.fd: remove replicated M-R shortcut.
index 2171221ea255a671884f2b98a0c35a12a4a3cef5..23ae842235424d4192df88801bb2400a5ef23249 100644 (file)
@@ -155,9 +155,7 @@ unsigned int xformsImage::getWidth() const
        if (!image_)
                return 0;
 
-       // Why, oh why, do we need such hacks?
-       // Angus 12 July 2002
-       return image_->w + 4;
+       return image_->w;
 }
 
 
index 5ffd9c5dfe3dd1df3108b5ac96972009f2c5bfeb..f8c84220187704906d8acd4c4b698748339c7d16 100644 (file)
@@ -1,3 +1,7 @@
+2003-01-12  Michael Schmitt <michael.schmitt@teststep.org>
+
+        * insetgraphics.C (draw, width): Fix spacing around graphics inset
+
 2002-12-17  Juergen Vigna  <jug@lyx.org>
 
        * insettext.C (localDispatch): hopefully fixed cursor up down
index 5fb9e605722dabd07f919009577dcf4fbb9823c9..3e075742e8b3221454e27cae3829cc908d86f7a7 100644 (file)
@@ -287,7 +287,7 @@ int InsetGraphics::descent(BufferView *, LyXFont const &) const
 int InsetGraphics::width(BufferView *, LyXFont const & font) const
 {
        if (imageIsDrawable())
-               return cache_->loader.image()->getWidth();
+               return cache_->loader.image()->getWidth() + 2 * TEXT_TO_INSET_OFFSET;
        else {
                int font_width = 0;
 
@@ -358,15 +358,14 @@ void InsetGraphics::draw(BufferView * bv, LyXFont const & font,
        Painter & paint = bv->painter();
 
        if (imageIsDrawable()) {
-               paint.image(old_x + 2, baseline - lascent,
-                           lwidth - 4, lascent + ldescent,
+               paint.image(old_x + TEXT_TO_INSET_OFFSET, baseline - lascent,
+                           lwidth - 2 * TEXT_TO_INSET_OFFSET, lascent + ldescent,
                            *cache_->loader.image());
 
        } else {
 
-               paint.rectangle(old_x + 2, baseline - lascent,
-                               lwidth - 4,
-                               lascent + ldescent);
+               paint.rectangle(old_x + TEXT_TO_INSET_OFFSET, baseline - lascent,
+                               lwidth - 2 * TEXT_TO_INSET_OFFSET, lascent + ldescent);
 
                // Print the file name.
                LyXFont msgFont(font);
@@ -374,7 +373,7 @@ void InsetGraphics::draw(BufferView * bv, LyXFont const & font,
                string const justname = OnlyFilename (params().filename);
                if (!justname.empty()) {
                        msgFont.setSize(LyXFont::SIZE_FOOTNOTE);
-                       paint.text(old_x + 8,
+                       paint.text(old_x + TEXT_TO_INSET_OFFSET + 6,
                                   baseline - font_metrics::maxAscent(msgFont) - 4,
                                   justname, msgFont);
                }
@@ -383,7 +382,7 @@ void InsetGraphics::draw(BufferView * bv, LyXFont const & font,
                string const msg = statusMessage();
                if (!msg.empty()) {
                        msgFont.setSize(LyXFont::SIZE_TINY);
-                       paint.text(old_x + 8, baseline - 4, msg, msgFont);
+                       paint.text(old_x + TEXT_TO_INSET_OFFSET + 6, baseline - 4, msg, msgFont);
                }
        }
 
index 2c02539e09b5a44345cadbc179699fe9f0fa3435..905b6c9eeef931e7d4e4b80aed3bc3a14e4e36d6 100644 (file)
@@ -1,3 +1,7 @@
+2003-01-12  Michael Schmitt <michael.schmitt@teststep.org>
+
+       * formula.C (draw, width): Fix spacing around previewed formula.
+
 2003-01-13  Michael Schmitt <Michael.Schmitt@teststep.org>
 
        * formulabse.C (localDispatch): make CTRL-Pos1/End behave a little
index 670cb182b110b03cb0ad24d0b8ecbd59d6ba7e13..40dbc4afc0fe019d90d824d72f22774d849bb6d0 100644 (file)
@@ -213,7 +213,7 @@ void InsetFormula::draw(BufferView * bv, LyXFont const & font,
        MathPainterInfo pi(bv->painter());
 
        if (use_preview) {
-               pi.pain.image(x, y - a, w, h,
+               pi.pain.image(x + 1, y - a, w, h,   // one pixel gap in front
                              *(preview_->pimage()->image(*this, *bv)));
        } else {
                pi.base.style = LM_ST_TEXT;
@@ -291,7 +291,8 @@ int InsetFormula::width(BufferView * bv, LyXFont const & font) const
 {
        metrics(bv, font);
        return preview_->previewReady() ?
-               preview_->pimage()->width() : par_->width();
+               1 + preview_->pimage()->width() : par_->width();
+               // insert a one pixel gap in front of the formula
 }