diff options
| -rw-r--r-- | examples/shapedwindow.cxx | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/examples/shapedwindow.cxx b/examples/shapedwindow.cxx index f614f98da..a7ffe8f13 100644 --- a/examples/shapedwindow.cxx +++ b/examples/shapedwindow.cxx @@ -86,7 +86,13 @@ Fl_RGB_Image* prepare_shape(int w) Fl_RGB_Image* img = surf->image(); delete surf; current->set_current(); - return img; // return depth-3 white image on black background + if (img->d() == 4) { // if RGBA image, set its A component equal to its R component + for (int i = 0; i < img->h(); i ++) { + uchar *q = (uchar*)img->array + i * img->ld(); + for (int j = 0; j < img->w(); j++, q += 4) *(q+3) = *q; + } + } + return img; // return white image on black background } int main(int argc, char **argv) { |
