[Gtk-sharp-list] Gdk XOR Drawing Problem
Manuel Alejandro Cerón Estrada
ceronman at gmail.com
Tue Nov 14 20:13:56 EST 2006
Hello,
I am trying to implement a rubber band for my drawing application in
Gtk#. I want to make use of the Gdk XOR drawing for this purpose. But,
for some reason, it does not work appropriately. I have this simple
code:
using System;
using Gtk;
using Gdk;
public class MyDrawingArea: Gtk.DrawingArea {
public MyDrawingArea()
{
SetSizeRequest (500, 500);
AddEvents ((int)Gdk.EventMask.AllEventsMask);
}
protected override bool OnButtonPressEvent (EventButton ev)
{
Gdk.GC gc = new Gdk.GC(ev.Window);
gc.Function = Gdk.Function.Xor;
ev.Window.DrawRectangle(gc, true, 100, 100, 200, 200);
return true;
}
}
public class MyWindow: Gtk.Window {
public MyWindow(): base("My Window")
{
MyDrawingArea area = new MyDrawingArea();
Add(area);
ShowAll();
}
public static void Main()
{
Application.Init();
new MyWindow();
Application.Run();
}
}
When I assign the XOR function to the Gdk GC, I would expect that the
first time I click on the Drawing Area, a rectangle should be drawn,
the second time, the rectangle should be erased. The problem is that,
once I set Xor as the function, the rectangle it is never draw. Other
functions like Invert works fine, but Xor does not seem to work at
all. Is there a problem with my code?
In advance, thank you. And please excuse my bad english
Manuel Alejandro Cerón Estrada
More information about the Gtk-sharp-list
mailing list