protected void Draw(Area area) { if (DrawEvent != null) { using (CairoContext c = new CairoContext(widget.GdkWindow)) { global::Cairo.Context cc = c.Value as global::Cairo.Context; if (area == null) { Rectangle r = widget.GdkWindow.ClipRegion.Clipbox; area = new Area(new Point(r.X, r.Y), r.Width, r.Height); } cc.Rectangle(area.Start.X, area.Start.Y, area.Width, area.Height); cc.Clip(); if (widget.WidgetFlags.HasFlag(WidgetFlags.NoWindow)) { Rectangle widgetArea = WidgetArea; cc.Translate(widgetArea.X, widgetArea.Y); area.Start.X -= widgetArea.X; area.Start.Y -= widgetArea.Y; } DrawEvent(c, area); } } }
void Draw(Area area) { if (DrawEvent != null) { using (CairoContext c = new CairoContext(widget.GdkWindow)) { global::Cairo.Context cc = c.Value as global::Cairo.Context; if (area == null) { Rectangle r = widget.GdkWindow.ClipRegion.Clipbox; area = new Area(new Point(r.X, r.Y), r.Width, r.Height); } cc.Rectangle(area.Start.X, area.Start.Y, area.Width, area.Height); cc.Clip(); DrawEvent(c, area); } } }