internal override void FillReversibleRectangle (Rectangle rectangle, Color backColor)
{
if (backColor.GetBrightness() < 0.5)
backColor = Color.FromArgb(255 - backColor.R, 255 - backColor.G, 255 - backColor.B);
IntPtr gc = GetReversibleScreenGC (backColor);
if (rectangle.Width < 0) {
rectangle.X += rectangle.Width;
rectangle.Width = -rectangle.Width;
}
if (rectangle.Height < 0) {
rectangle.Y += rectangle.Height;
rectangle.Height = -rectangle.Height;
}
XFillRectangle(DisplayHandle, RootWindow, gc, rectangle.Left, rectangle.Top, rectangle.Width, rectangle.Height);
XFreeGC(DisplayHandle, gc);
}