From 12ef19d90a4a13a398d2d083499edf286c7ebd03 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Fri, 7 Mar 2014 12:28:52 -0500 Subject: [PATCH] if a Fill object is given a zero-alpha (transparent) color, note that --- libs/canvas/canvas/fill.h | 1 + libs/canvas/fill.cc | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/libs/canvas/canvas/fill.h b/libs/canvas/canvas/fill.h index 23708e42e5..56044de4bd 100644 --- a/libs/canvas/canvas/fill.h +++ b/libs/canvas/canvas/fill.h @@ -54,6 +54,7 @@ protected: Color _fill_color; bool _fill; + bool _transparent; StopList _stops; bool _vertical_gradient; }; diff --git a/libs/canvas/fill.cc b/libs/canvas/fill.cc index 8a16f4f794..41c616a0f9 100644 --- a/libs/canvas/fill.cc +++ b/libs/canvas/fill.cc @@ -32,6 +32,7 @@ Fill::Fill (Group* parent) : Item (parent) , _fill_color (0x000000ff) , _fill (true) + , _transparent (false) { } @@ -42,6 +43,15 @@ Fill::set_fill_color (Color color) if (_fill_color != color) { begin_visual_change (); _fill_color = color; + + double r, g, b, a; + color_to_rgba (color, r, g, b, a); + if (a == 0.0) { + _transparent = true; + } else { + _transparent = false; + } + end_visual_change (); } }