Dear All,
I have a question about draw png image in widget.

I have a widget, I want to put a 50% transparent png file as it's background 
picture, and the background picture can be changed to another 50% transparent 
png file, the problem is when I change to another png file, still can see the 
first png file in the below. If I only want to one png file any time, how to do?

My program is as below:

#include <stdio.h>
#include <string.h>
#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Shared_Image.H>
#include <FL/Fl_PNG_Image.H>
#include <FL/fl_draw.H>

class MyWindow : public Fl_Window {
    Fl_PNG_Image *left;
    Fl_PNG_Image *right;
    void GetFLTKVersion(char *s) {
        sprintf(s, "FLTK %d.%d.%d", FL_MAJOR_VERSION, FL_MINOR_VERSION, 
FL_PATCH_VERSION);
    }
public:
    void draw() {
        Fl_Window::draw();                    // Draw window widget first
        fl_font(FL_HELVETICA, 40);            // set font
        fl_color(FL_BLACK);                   // set color
        fl_draw("This is a test", 10, 150);   // draw a text string
        left->draw(0,0);                      // draw left alpha image over the 
above
        right->draw(0,0);                     // draw right alpha image over 
the above
    }
    MyWindow(int W, int H) : Fl_Window(W,H) {
        char s[80]; GetFLTKVersion(s); copy_label(s);
        left  = new Fl_PNG_Image("./1.png");        // assumes images in cwd
        right = new Fl_PNG_Image("./2.png");       // assumes images in cwd
        show();
    }
};
int main() {
    fl_register_images();
    Fl::scheme("plastic");
    MyWindow win(300,300);
    win.show();
    return(Fl::run());
}

in the above test, the 1.png and 2.png has same size, and both are 50% 
transparent, but I can see 1.png and 2.png at the same time, I only want the 
2.png overwrite the 1.png, how to do?

Best regards,
Leo
_______________________________________________
fltk mailing list
fltk@easysw.com
http://lists.easysw.com/mailman/listinfo/fltk

Reply via email to