void HandleExposeEvent(object o, ExposeEventArgs args)
{
var area = new Gdk.Rectangle ();
area.X = Allocation.Width - 20;
area.Y = Allocation.Height - 20;
area.Width = 20;
area.Height = 20;
if (m_lastResizeArea != Gdk.Rectangle.Zero)
{
GdkWindow.BeginPaintRect (m_lastResizeArea);
GdkWindow.ClearArea (m_lastResizeArea, false);
GdkWindow.EndPaint ();
}
GdkWindow.BeginPaintRect (area);
Gtk.Style.PaintResizeGrip (this.Style, GdkWindow, StateType.Normal,
area, this, null,
Gdk.WindowEdge.SouthEast,
area.X, area.Y, area.Width, area.Height);
GdkWindow.EndPaint ();
this.PropagateExpose (this.Child, args.Event);
m_lastResizeArea = area;
}