[Xcb] A simple question on XCBGCFunction (when value[0] = XCBGXxor)

Ian Osgood iano at quirkster.com
Thu May 18 09:01:12 PDT 2006


Oh, and the other thing you need is an XCBFlush(c) after your drawing  
commands.

Ian

On May 18, 2006, at 8:02 AM, Ian Osgood wrote:

> Hi, Osmo!
>
> I was not able to get this to work unless I used  
> XCBLineStyleDoubleDash.  Then xor did the right thing.  You can  
> also verify this behavior using the "xgc" app.
>
> Dashed lines have very complex behavior, which seems to be affected  
> by many GC params, including Function, Foreground, Background,  
> LineStyle, LineWidth, DashOffset, DashList, and Stipple.  I'm not  
> sure what the best combination is for this kind of interactive  
> bounding box.
>
> (BTW, you want to use XCBCoordModeOrigin below.)
>
> Ian
>
> On May 18, 2006, at 2:04 AM, Osmo Maatta wrote:
>
>> Hello,
>>
>> I try to create a GC (graphic context) to draw some rubber lines  
>> using the XOR pen.
>>
>> I do this:
>>
>>  XCBGCONTEXT    sel_rect;
>>  ....
>>
>>  sel_rect = XCBGCONTEXTNew (c);
>>  mask =   XCBGCFunction | XCBGCForeground | XCBGCLineStyle |  
>> XCBGCGraphicsExposures;
>>  values[0] = XCBGXxor;  values[1] = screen->black_pixel;
>>  values[2] = XCBLineStyleOnOffDash;
>>  values[3] = 0;
>>  XCBCreateGC (c, sel_rect,  win, mask, values);
>>
>>
>> and later in
>>
>> case XCBExpose:
>> {
>>     printf("Debug expose\n");
>>
>>     XCBPolyRectangle (c, win, sel_rect, 2, rectangles);
>>           XCBPolyLine (c, CoordModeOrigin, win, sel_rect, 4,  
>> polyline);
>>
>>     break;
>> }
>> ---------------------------------
>>   But it does not draw anything. Only the debug line appears on  
>> the console.
>> -------------------
>>
>> I have even tried with  XCBGXcopy  value as XCBGCFunction.
>>
>> values[0] = XCBGXcopy;
>> Xlib manual says that GXcopy is the default GCFunction. I suppose  
>> it's the same in XCB.
>> But it does not work.
>>
>> It works (draws lines in a window) if I remove XCBGCFunction from  
>> the mask and remove the value[0]= line.
>> How to use the values for XCBGCFunction mask ?
>> -------------------------------------------------------------------
>>
>> I follow this tutorial
>> http://www.iecn.u-nancy.fr/~torri/files/xcb/doc/
>>
>> Many TIA.
>>  Osmo
>>
>> _______________________________________________
>> Xcb mailing list
>> Xcb at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/xcb
>>
>
> _______________________________________________
> Xcb mailing list
> Xcb at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/xcb
>



More information about the Xcb mailing list