Re: prima behavior - blacking out areas...

From: Dmitry Karasik <dmitry_at_karasik.eu.org>
Date: Thu, 07 Feb 2008 17:17:29 +0100
To: prima_at_prima.eu.org

 Andy> (549)[12:08pm] > perl -le ' use Prima qw(Application); printf
 Andy> "RGB=%06x\n", $::application-> map_color(cl::Back|wc::Label); '
 Andy> RGB=cccccc

Oh no, then Xdefaults is not involved - cccccc is light gray,
not black. I don't remember if you compiled Prima from scratch,
but I'd suggest to recompile, and add debug information in
apc_gp_clear() and apc_gp_bar(), that are apparently the culprits,
defined in unix/apc_graphics.c , something like

--- apc_graphics.c 26 Oct 2007 12:20:22 -0000 1.122
+++ apc_graphics.c 7 Feb 2008 16:15:46 -0000
@@ -603,6 +603,7 @@
    RANGE4( x1, y1, x2, y2);
    while ( prima_make_brush( XX, mix++))
       XFillRectangle( DISP, XX-> gdrawable, XX-> gc, x1, REVERT( y2), x2 -
    x1 + 1, y2 - y1 + 1);
+ printf("%s.bar: color=%x rop=%d\n", PDrawable(self)->name,
    XX->fore->primary, XX->paint_rop);
    XCHECKPOINT;
    return true;
 }
@@ -644,6 +645,8 @@
       XSetFillStyle( DISP, XX-> gc, FillSolid);
    XX-> flags. brush_fore = 0;
    XFillRectangle( DISP, XX-> gdrawable, XX-> gc, x1, REVERT( y2), x2 -
       x1 + 1, y2 - y1 + 1);
+
+ printf("%s.clear: color=%x rop=%d\n", PDrawable(self)->name,
+ XX->fore->secondary, XX->paint_rop);
    
    return true;
 }

If these will tell that they asked to paint with black indeed, then
there's some color bug in Prima, otherwise it is something else.

-- 
Sincerely,
	Dmitry Karasik
Received on Thu 07 Feb 2008 - 17:50:21 CET

This archive was generated by hypermail 2.2.0 : Sat 19 Mar 2011 - 18:35:06 CET