#endif
#include <algorithm>
+using std::max;
#include "lyx_main.h"
#include "buffer.h"
#include "lyxrc.h"
#include "LyXView.h"
#include "support/lstrings.h"
-#include "error.h"
+#include "debug.h"
#include "formula.h"
};
extern char** mathed_get_pixmap_from_icon(int d);
-static void math_cb(FL_OBJECT*, long);
+extern "C" void math_cb(FL_OBJECT*, long);
static char** pixmapFromBitmapData(char const *, int, int);
void math_insert_symbol(char const* s);
Bool math_insert_greek(char const c);
}
FL_OBJECT*
-BitmapMenu::AddBitmap(int id, int nx, int ny, int bw, int bh, char* data, Bool vert)
+BitmapMenu::AddBitmap(int id, int nx, int ny, int bw, int bh, unsigned char* data, Bool vert)
{
if (i>=nb)
return 0;
void BitmapMenu::Create()
{
if (i<nb) {
- fprintf(stderr, "Error: Bitmaps not created!");
+ lyxerr << "Error: Bitmaps not created!" << endl;
return;
}
form = fl_bgn_form(FL_UP_BOX, w, h);
bitmap[i]->u_vdata = this;
}
fl_end_form();
- fl_register_raw_callback(form, KeyPressMask, peek_event);
+ fl_register_raw_callback(form, KeyPressMask, C_peek_event);
}
int BitmapMenu::GetIndex(FL_OBJECT* ob)
return 0;
}
-static void math_cb(FL_OBJECT* ob, long data)
+// This is just a wrapper.
+extern "C" int C_peek_event(FL_FORM *form, void *ptr) {
+ return peek_event(form,ptr);
+}
+
+
+extern "C" void math_cb(FL_OBJECT* ob, long data)
{
BitmapMenu* menu = (BitmapMenu*)ob->u_vdata;
int i = menu->GetIndex(ob);
char const *s = 0;
-// fprintf(stderr, "data[%d]", data);
+// lyxerr << "data[" << data << "]";
if (i<0) return;
switch (data) {
case MM_GREEK:
s = latex_misc[i];
break;
case MM_DOTS:
-// fprintf(stderr, "dots[%s %d]", latex_dots[i], i);
+// lyxerr << "dots[" << latex_dots[i] << " " << i << "]";
s = latex_dots[i-29];
break;
}
if (current_view->currentBuffer()->the_locking_inset->LyxCode()==Inset::MATH_CODE)
((InsetFormula*)current_view->currentBuffer()->the_locking_inset)->InsertSymbol(s);
else
- fprintf(stderr, "Math error: attempt to write on a wrong class of inset.\n");
+ lyxerr << "Math error: attempt to write on a wrong "
+ "class of inset." << endl;
}
}
if (id>=0) break;
}
if (i<6 && id>=0) {
- char *bdata = 0;
+ unsigned char *bdata = 0;
int w = 0, h = 0, dw = 0, dh = 0;
- lyxerr.debug(string("Imando ") + tostr(i) + ", " + tostr(id),
- Error::MATHED);
+ lyxerr[Debug::MATHED] << "Imando " << i << ", " << id << endl;
switch (i) {
case 0:
if (id<=10) {
int ww = w/dw, hh = h/dh, x, y;
XImage *xima = XCreateImage(fl_display, 0, 1, XYBitmap, 0,
- bdata, w, h, 8, 0);
+ reinterpret_cast<char*>(bdata), w, h, 8, 0);
xima->byte_order = LSBFirst;
xima->bitmap_bit_order = LSBFirst;
x = (id % dw)*ww;