Exemplo n.º 1
0
        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);
                }
            }
        }
Exemplo n.º 2
0
 public static void RoundedRectangle(this global::Cairo.Context cr, double x, double y, double w, double h, double r)
 {
     cr.MoveTo(x + r, y);
     cr.Arc(x + w - r, y + r, r, Math.PI * 1.5, Math.PI * 2);
     cr.Arc(x + w - r, y + h - r, r, 0, Math.PI * 0.5);
     cr.Arc(x + r, y + h - r, r, Math.PI * 0.5, Math.PI);
     cr.Arc(x + r, y + r, r, Math.PI, Math.PI * 1.5);
 }
Exemplo n.º 3
0
 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);
         }
     }
 }
Exemplo n.º 4
0
 public CairoContext(global::Cairo.Context context)
 {
     Value = context;
 }
Exemplo n.º 5
0
 public CairoContext(global::Cairo.Surface surface)
 {
     Value = new global::Cairo.Context(surface);
 }
Exemplo n.º 6
0
 public CairoContext(global::Cairo.Surface surface)
 {
     Value = new global::Cairo.Context (surface);
 }