diff --git a/src/avtk/avtk_image.h b/src/avtk/avtk_image.h index c343c68..6301bfc 100644 --- a/src/avtk/avtk_image.h +++ b/src/avtk/avtk_image.h @@ -29,6 +29,8 @@ #include #include +#include + using namespace std; namespace Avtk @@ -47,53 +49,27 @@ class Image : public Fl_Widget label = _label; - imageSurf = 0; - - if ( _label ) - { - //cout << "creating image from label" << endl; - imageSurf = cairo_image_surface_create_from_png( label ); - } + bits = -1; + imageDataPtr = 0; + } + + void setPixbuf(const unsigned char* data, int b ) + { + bits = b; + imageDataPtr = data; } int x, y, w, h; const char* label; - cairo_surface_t* imageSurf; + int bits; + const unsigned char* imageDataPtr; void draw() { - if (damage() & FL_DAMAGE_ALL) + if ( damage() & FL_DAMAGE_ALL && imageDataPtr != 0 ) { - cairo_t *cr = Fl::cairo_cc(); - - //cairo_save(cr); - - if ( imageSurf == 0 ) - { - // draw X - cairo_move_to( cr, x , y ); - cairo_line_to( cr, x + w, y + h ); - cairo_move_to( cr, x , y + h ); - cairo_line_to( cr, x + w, y ); - cairo_set_source_rgb ( cr, 0.2,0.2,0.2); - cairo_stroke(cr); - - // draw text - cairo_move_to( cr, x + (w/2.f) - 65, y + (h/2.f) + 10 ); - cairo_set_source_rgb ( cr, 0.6,0.6,0.6); - cairo_set_font_size( cr, 20 ); - cairo_show_text( cr, "Image not loaded" ); - - return; - } - - // draw the image to the context - cairo_set_source_surface(cr, imageSurf, x, y); - //cairo_rectangle( cr, x, y, w, h ); - cairo_paint(cr); - - //cairo_restore(cr); + fl_draw_image((const uchar*)imageDataPtr, x, y, w, h, bits, w*bits); } } diff --git a/src/gui.cxx b/src/gui.cxx index cb4b1d3..46a450c 100644 --- a/src/gui.cxx +++ b/src/gui.cxx @@ -6,6 +6,10 @@ #include "audiobuffer.hxx" +// include the header.c file in the planning dir: +// its the GIMP .c export of the LUPPP header image +#include "../planning/header.c" + // Hack, move to gtrack.cpp int GTrack::privateID = 0; int GMasterTrack::privateID = 0; @@ -34,8 +38,8 @@ Gui::Gui() : window.label("Luppp 5"); //window.callback( close_cb, 0 ); - Avtk::Image* header = new Avtk::Image(0,0,1200,36,"header.png"); - + Avtk::Image* headerImage = new Avtk::Image(0,0,1200,36,"header.png"); + headerImage->setPixbuf( header.pixel_data, 4 ); int i = 0; for (; i < NTRACKS; i++ )