> Dear All,
> I want to set a picture as the background image of the browser, I have modify
> the fltk2.0/src/Browser.cxx as follows:
>
> void Browser::draw_clip(const Rectangle& r) {
> ......
>
> int bottom_y = interior.y()+HERE.position-yposition_;
>
> + /*
> if (bottom_y < r.b()) {
> setcolor(color());
> fillrect(r.x(), bottom_y, r.w(), r.b()-bottom_y);
> }
> + */
>
> .....
>
> }
>
> And my code is as follows:
>
> #include <fltk/Window.h>
> #include <fltk/Browser.h>
> #include <fltk/SharedImage.h>
> #include <fltk/run.h>
>
> using namespace fltk;
>
> Window *g_win;
> Browser *listBrowser;
>
> void Select_cb(Widget *w, void *o) {
>
> }
>
> int main(int argc, char *argv[]) {
> g_win = new Window(0, 0, 800, 600);
> g_win->begin();
>
> listBrowser = new Browser(200, 0, 400, 600);
> listBrowser->image(SharedImage::get("./background.bmp"));
>
> listBrowser->box(NO_BOX);
>
>
> g_win->end();
> g_win->show();
> run();
> return 0;
> }
>
> I test it in X86 environment. The compile toolchain is gcc. Why the
> background image can't display?
>
> Best regards,
> Leo
Have been fixed, another modification in fltk2.0/src/Browser.cxx
void Browser::draw() {
const int *last_columns = fltk::column_widths();
fltk::column_widths(column_widths_p);
uchar d = damage();
Item::set_style(this,false);
if (d & DAMAGE_ALL) { // full redraw
+ Widget::draw();
.....
}
_______________________________________________
fltk mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk