From 35de4638f7d9241cfc1a1535a6c9514a8b67191c Mon Sep 17 00:00:00 2001 From: Jean-Marc Lasgouttes Date: Wed, 12 Jun 2002 14:21:58 +0000 Subject: [PATCH] fix flimage.h handling; xpm format patch from herbert; math delim drawing patch from martin git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4382 a592a061-630c-0410-9148-cb99ea01b6c8 --- config/ChangeLog | 5 ++++ config/xforms.m4 | 14 +-------- images/ChangeLog | 4 +++ images/delim1.xpm | 42 +++++++++++++++++++++++++++ po/POTFILES.in | 1 + src/frontends/xforms/ChangeLog | 9 ++++++ src/frontends/xforms/FormMathsDelim.C | 28 +++++++++++++----- src/frontends/xforms/xformsGImage.h | 7 ++++- src/graphics/ChangeLog | 5 ++++ src/graphics/GraphicsImageXPM.C | 5 +++- 10 files changed, 98 insertions(+), 22 deletions(-) create mode 100644 images/delim1.xpm diff --git a/config/ChangeLog b/config/ChangeLog index 834b862393..4796de5e58 100644 --- a/config/ChangeLog +++ b/config/ChangeLog @@ -1,3 +1,8 @@ +2002-06-12 Jean-Marc Lasgouttes + + * xforms.m4 (LYX_USE_XFORMS_IMAGE_LOADER): fix and simplify the + check for flimage.h header. + 2002-06-12 John Levon * qt2.m4: Qt frontend is for Qt 2 OR Qt 3 diff --git a/config/xforms.m4 b/config/xforms.m4 index 382c2b743a..74153bcdfb 100644 --- a/config/xforms.m4 +++ b/config/xforms.m4 @@ -88,19 +88,7 @@ if test $lyx_use_xforms_image_loader = yes ; then AC_DEFINE(USE_XFORMS_IMAGE_LOADER, 1, [Define if you want to use xforms built-in image loader]) AC_CHECK_FUNCS(flimage_enable_ps flimage_enable_jpeg) - AC_CHECK_HEADER(flimage.h,[ - ac_cv_header_flimage_h=yes - lyx_cv_flimage_h_location=""], - [AC_CHECK_HEADER(X11/flimage.h,[ - ac_cv_header_flimage_h=yes - lyx_cv_flimage_h_location=""], - ac_cv_header_flimage_h=no)]) - if test $ac_cv_header_flimage_h = yes ; then - AC_DEFINE(HAVE_FLIMAGE_H, 1, [Define if you have the header file.]) - AC_DEFINE_UNQUOTED(FLIMAGE_H_LOCATION, $lyx_cv_flimage_h_location, - [define this to the location of flimage.h to be used with #include, e.g. - ]) - fi + AC_CHECK_HEADERS(flimage.h X11/flimage.h, break) fi ### If the gui cannot load images itself, then we default to the diff --git a/images/ChangeLog b/images/ChangeLog index 82fa205f67..14b509b06d 100644 --- a/images/ChangeLog +++ b/images/ChangeLog @@ -1,3 +1,7 @@ +2002-06-12 Jean-Marc Lasgouttes + + * delim1.xpm: new file + 2002-04-17 Angus Leeming * deco.xpm diff --git a/images/delim1.xpm b/images/delim1.xpm new file mode 100644 index 0000000000..19242c64f2 --- /dev/null +++ b/images/delim1.xpm @@ -0,0 +1,42 @@ +/* XPM */ +static char const * delim1[] = { +/* width height num_colors chars_per_pixel */ +" 31 31 2 1", +/* colors */ +" c None", +"X c Blue", +/* pixels */ +"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +" " +}; + + diff --git a/po/POTFILES.in b/po/POTFILES.in index a4558ccae1..d8fc62fced 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -19,6 +19,7 @@ src/frontends/controllers/ControlCharacter.C src/frontends/controllers/ControlExternal.C src/frontends/controllers/ControlGraphics.C src/frontends/controllers/ControlInclude.C +src/frontends/controllers/ControlParagraph.C src/frontends/controllers/ControlPreamble.C src/frontends/controllers/ControlPrint.C src/frontends/controllers/ControlSearch.C diff --git a/src/frontends/xforms/ChangeLog b/src/frontends/xforms/ChangeLog index 9d20badd5a..be75cfbfcd 100644 --- a/src/frontends/xforms/ChangeLog +++ b/src/frontends/xforms/ChangeLog @@ -1,3 +1,12 @@ +2002-05-24 Martin Vermeer + + * FormMathsDelim.C: fix delimiter pre-display rendering + mess-up bug (354) + +2002-06-12 Jean-Marc Lasgouttes + + * xformsGImage.h: do not rely on FLIMAGE_H_LOCATION anymore + 2002-06-12 John Levon * XFormsView.h: diff --git a/src/frontends/xforms/FormMathsDelim.C b/src/frontends/xforms/FormMathsDelim.C index 257dcd0735..4d87e976f3 100644 --- a/src/frontends/xforms/FormMathsDelim.C +++ b/src/frontends/xforms/FormMathsDelim.C @@ -26,6 +26,7 @@ #include "delim.xbm" #include "delim0.xpm" +#include "delim1.xpm" static int const delim_rversion[] = { 1,1,3,3,4,5,7,7,9,9,10,11, @@ -59,10 +60,11 @@ void FormMathsDelim::build() dialog_.reset(build_maths_delim()); fl_set_button(dialog_->radio_left, 1); + // Initialize button_pix to "()" as found in images/delim0.xpm: fl_set_pixmap_data(dialog_->button_pix, const_cast(delim0)); dialog_->radio_left->u_ldata = 0; dialog_->radio_right->u_ldata = 1; - dialog_->radio_both->u_ldata = 2; + //dialog_->radio_both->u_ldata = 2; fl_set_bmtable_data(dialog_->bmtable, 6, 4, delim_width, delim_height, delim_bits); @@ -107,16 +109,28 @@ bool FormMathsDelim::input(FL_OBJECT *, long) right = i; else { left = i; - if (both) + if (both) { right = delim_rversion[i]; + // Add left delimiter in "both" case if right one was pressed: + for (int j = 0; j <= 23; ++j) { + if (delim_rversion[j] == left) { + right = left; + left = j; + } + } + } } } - Pixmap p1, p2; - - p1 = fl_get_pixmap_pixmap(dialog_->button_pix, &p1, &p2); - fl_draw_bmtable_item(dialog_->bmtable, left, p1, 0, 0); - fl_draw_bmtable_item(dialog_->bmtable, right, p1, 16, 0); + // Re-initialize button_pix to solid blue + // (not elegant but works, MV 24.5.2002) + fl_free_pixmap_pixmap(dialog_->button_pix); + fl_set_pixmap_data(dialog_->button_pix, const_cast(delim1)); + Pixmap p1; + fl_get_pixmap_pixmap(dialog_->button_pix, &p1, 0); + + fl_draw_bmtable_item(dialog_->bmtable, left, p1, -2, 0); + fl_draw_bmtable_item(dialog_->bmtable, right, p1, 14, 0); fl_redraw_object(dialog_->button_pix); dialog_->radio_left->u_ldata = left; diff --git a/src/frontends/xforms/xformsGImage.h b/src/frontends/xforms/xformsGImage.h index 0fbcce8738..13f6a0a43f 100644 --- a/src/frontends/xforms/xformsGImage.h +++ b/src/frontends/xforms/xformsGImage.h @@ -20,8 +20,13 @@ #include "graphics/GraphicsImage.h" #include FORMS_H_LOCATION + #ifdef HAVE_FLIMAGE_H -#include FLIMAGE_H_LOCATION +# include +#else +# ifdef HAVE_X11_FLIMAGE_H +# include +# endif #endif namespace grfx { diff --git a/src/graphics/ChangeLog b/src/graphics/ChangeLog index 29ea143be6..bfb6893f16 100644 --- a/src/graphics/ChangeLog +++ b/src/graphics/ChangeLog @@ -1,3 +1,8 @@ +2002-06-10 Herbert Voss + + * GraphicsImageXPM.C (convertTo7chars): get another special color + format from convert work in the right way + 2002-06-12 John Levon * GraphicsCache.C: use right colormap incantation diff --git a/src/graphics/GraphicsImageXPM.C b/src/graphics/GraphicsImageXPM.C index e3a16dfbf5..ce816d99c0 100644 --- a/src/graphics/GraphicsImageXPM.C +++ b/src/graphics/GraphicsImageXPM.C @@ -566,7 +566,7 @@ namespace { string const convertTo7chars(string const & input) { string::size_type size = input.size(); - if (size != 13 && size != 10 && size != 4) + if (size != 13 && size != 10 && size != 9 && size != 4) // Can't deal with it. return input; @@ -587,6 +587,9 @@ string const convertTo7chars(string const & input) format.erase(5, 1); format.erase(7, 1); break; + case 9: // + format.erase(7); + break; case 4: // #rgb format.insert(2, 1, '0'); format.insert(4, 1, '0'); -- 2.39.2