aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--gtk/PlatGTK.cxx18
1 files changed, 10 insertions, 8 deletions
diff --git a/gtk/PlatGTK.cxx b/gtk/PlatGTK.cxx
index 483ed06b0..bf4dbbe40 100644
--- a/gtk/PlatGTK.cxx
+++ b/gtk/PlatGTK.cxx
@@ -1250,8 +1250,6 @@ static guint32 u32FromRGBA(guint8 r, guint8 g, guint8 b, guint8 a) {
return converter.val;
}
-#endif
-
static unsigned int GetRValue(unsigned int co) {
return (co >> 16) & 0xff;
}
@@ -1264,22 +1262,26 @@ static unsigned int GetBValue(unsigned int co) {
return co & 0xff;
}
+#endif
+
void SurfaceImpl::AlphaRectangle(PRectangle rc, int cornerSize, ColourAllocated fill, int alphaFill,
ColourAllocated outline, int alphaOutline, int flags) {
#ifdef USE_CAIRO
if (context && rc.Width() > 0) {
+ ColourDesired cdFill(fill.AsLong());
cairo_set_source_rgba(context,
- GetRValue(fill.AsLong()) / 255.0,
- GetGValue(fill.AsLong()) / 255.0,
- GetBValue(fill.AsLong()) / 255.0,
+ cdFill.GetRed() / 255.0,
+ cdFill.GetGreen() / 255.0,
+ cdFill.GetBlue() / 255.0,
alphaFill / 255.0);
PathRoundRectangle(context, rc.left + 1.0, rc.top+1.0, rc.right - rc.left - 2.0, rc.bottom - rc.top - 2.0, cornerSize);
cairo_fill(context);
+ ColourDesired cdOutline(outline.AsLong());
cairo_set_source_rgba(context,
- GetRValue(outline.AsLong()) / 255.0,
- GetGValue(outline.AsLong()) / 255.0,
- GetBValue(outline.AsLong()) / 255.0,
+ cdOutline.GetRed() / 255.0,
+ cdOutline.GetGreen() / 255.0,
+ cdOutline.GetBlue() / 255.0,
alphaOutline / 255.0);
PathRoundRectangle(context, rc.left +0.5, rc.top+0.5, rc.right - rc.left - 1, rc.bottom - rc.top - 1, cornerSize);
cairo_stroke(context);