public static void Ellipse(Cairo.Context context, PointF p, double r, Color color, bool filled, double width = 1.0)
        {
            context.Save();
            context.Translate(p.X, p.Y);

            if (!filled)
            {
                context.LineWidth = width;
                context.LineCap   = Cairo.LineCap.Butt;
                context.LineJoin  = Cairo.LineJoin.Bevel;
            }
            var c = color.ToCairo();

            context.SetSourceRGBA(c.R, c.G, c.B, c.A);

            context.Arc(0, 0, r, 0, Math.PI * 2);

            if (filled)
            {
                context.Fill();
            }
            else
            {
                context.Stroke();
            }

            context.Restore();
        }
        public static void Arc(Cairo.Context context, PointF p, double r, double a1, double a2, bool clockwise, Color color, bool filled, double width = 1.0)
        {
            context.Save();
            context.Translate(p.X, p.Y);

            if (!filled)
            {
                context.LineWidth = width;
                context.LineCap   = Cairo.LineCap.Butt;
                context.LineJoin  = Cairo.LineJoin.Bevel;
            }
            var c = color.ToCairo();

            context.SetSourceRGBA(c.R, c.G, c.B, c.A);

            if (clockwise)
            {
                context.Arc(0, 0, r, a1, a2);
            }
            else
            {
                context.ArcNegative(0, 0, r, a1, a2);
            }

            if (filled)
            {
                context.Fill();
            }
            else
            {
                context.Stroke();
            }

            context.Restore();
        }
		public object Create (Color startColor, Color endColor, PointF startPoint, PointF endPoint)
		{
			var gradient = new EtoGradient (startPoint.X, startPoint.Y, endPoint.X, endPoint.Y);
			gradient.Extend = Cairo.Extend.Pad;
			gradient.AddColorStop (0, startColor.ToCairo ());
			gradient.AddColorStop (1, endColor.ToCairo ());
			return gradient;
		}
Beispiel #4
0
        public object Create(Color startColor, Color endColor, PointF startPoint, PointF endPoint)
        {
            var gradient = new EtoGradient(startPoint.X, startPoint.Y, endPoint.X, endPoint.Y);

            gradient.Extend = Cairo.Extend.Pad;
            gradient.AddColorStop(0, startColor.ToCairo());
            gradient.AddColorStop(1, endColor.ToCairo());
            return(gradient);
        }
Beispiel #5
0
 public object Create(Color color, float thickness)
 {
     return(new PenObject {
         Color = color.ToCairo(),
         Thickness = thickness,
         MiterLimit = 10f,
         LineCap = PenLineCap.Square.ToCairo()
     });
 }
		public object Create (Color startColor, Color endColor, PointF startPoint, PointF endPoint)
		{
			var gradient = new EtoGradient (startPoint.X, startPoint.Y, endPoint.X, endPoint.Y);
			cairo_pattern_set_extend (gradient.Pointer, Cairo.Extend.Repeat);
			// not in windows?? gradient.Extend = Cairo.Extend.Repeat;
			gradient.AddColorStop (0, startColor.ToCairo ());
			gradient.AddColorStop (1, endColor.ToCairo ());
			return gradient;
		}
		public object Create(Color startColor, Color endColor, PointF center, PointF gradientOrigin, SizeF radius)
		{
			var gradient = new EtoGradient(gradientOrigin, center, radius);
			gradient.Radius = radius;
			gradient.Extend = Cairo.Extend.Pad;
			gradient.AddColorStop(0, startColor.ToCairo());
			gradient.AddColorStop(1, endColor.ToCairo());
			return gradient;
		}
Beispiel #8
0
        public object Create(Color startColor, Color endColor, PointF center, PointF gradientOrigin, SizeF radius)
        {
            var gradient = new EtoGradient(gradientOrigin, center, radius);

            gradient.Radius = radius;
            gradient.Extend = Cairo.Extend.Pad;
            gradient.AddColorStop(0, startColor.ToCairo());
            gradient.AddColorStop(1, endColor.ToCairo());
            return(gradient);
        }
        public object Create(Color startColor, Color endColor, PointF startPoint, PointF endPoint)
        {
            var gradient = new EtoGradient(startPoint.X, startPoint.Y, endPoint.X, endPoint.Y);

            cairo_pattern_set_extend(gradient.Pointer, Cairo.Extend.Repeat);
            // not in windows?? gradient.Extend = Cairo.Extend.Repeat;
            gradient.AddColorStop(0, startColor.ToCairo());
            gradient.AddColorStop(1, endColor.ToCairo());
            return(gradient);
        }
Beispiel #10
0
        public void RenderScene(Node rootNode)
        {
            using (var context = contextInitializer()) {
                context.Operator = Operator.Source;
                context.Color    = background.ToCairo();
                context.Paint();
                context.Operator = Operator.Over;

                RenderNode(rootNode, context);
            }
        }
        void DrawQuota(Cairo.Context context, double angle, Color color)
        {
            context.Save();
            context.Rotate(angle * Math.PI / 180.0);
            context.MoveTo(0, -95);
            context.LineTo(1, -110);
            context.LineTo(-1, -110);
            context.ClosePath();
            var c = color.ToCairo();

            context.SetSourceRGBA(c.R, c.G, c.B, c.A);
            context.Stroke();
            context.Restore();
        }
        public static void Polyline(Cairo.Context context, IEnumerable <PointF> points, Color color, double width = 1.0)
        {
            context.Save();

            if (points.Count() < 2)
            {
                return;
            }

            context.LineWidth = width;
            context.LineCap   = Cairo.LineCap.Round;
            context.LineJoin  = Cairo.LineJoin.Round;
            var c = color.ToCairo();

            context.SetSourceRGBA(c.R, c.G, c.B, c.A);

            context.MoveTo(points.ElementAt(0).X, points.ElementAt(0).Y);
            for (int i = 1; i < points.Count(); i++)
            {
                context.LineTo(points.ElementAt(i).X, points.ElementAt(i).Y);
            }
            context.Stroke();
            context.Restore();
        }
		public void SetColor (SolidBrush widget, Color color)
		{
			widget.ControlObject = color.ToCairo ();
		}
Beispiel #14
0
 public void SetColor(SolidBrush widget, Color color)
 {
     widget.ControlObject = color.ToCairo();
 }
Beispiel #15
0
 public object Create(Color color)
 {
     return(color.ToCairo());
 }
Beispiel #16
0
		/// <summary>
		/// Creates a gradient for the given position, size, and anchor location.
		/// </summary>
		protected Cairo.LinearGradient GenerateGradient(Coord point, Coord size, AnchorLocation location, 
		                                                Color startColor, Color stopColor)
		{
			Cairo.LinearGradient grad = null;
			var x = point.X;
			var y = point.Y;
			var r = (size.X + size.Y) / 2.0;
			switch (location)
			{
			case AnchorLocation.E:
				grad = new Cairo.LinearGradient(x + size.X, y, x, y);
				break;
			case AnchorLocation.NE:
				grad = new Cairo.LinearGradient(x + r, y, x, y + r);
				break;
			case AnchorLocation.N:
				grad = new Cairo.LinearGradient(x, y, x, y + size.Y);
				break;
			case AnchorLocation.NW:
				grad = new Cairo.LinearGradient(x, y, x + r, y + r);
				break;
			case AnchorLocation.W:
				grad = new Cairo.LinearGradient(x, y, x + size.X, y);
				break;
			case AnchorLocation.SW:
				grad = new Cairo.LinearGradient(x, y + r, x + r, y);
				break;
			case AnchorLocation.S:
				grad = new Cairo.LinearGradient(x, y + size.Y, x, y);
				break;
			case AnchorLocation.SE:
				grad = new Cairo.LinearGradient(x + r, y + r, x, y);
				break;
			}
			
			// assign the colors
			if (startColor == null)
				startColor = defaultBackgroundColor;
			grad.AddColorStop(0, startColor.ToCairo());
			if (stopColor == null)
				stopColor = defaultBackgroundColor;
			grad.AddColorStop(1, stopColor.ToCairo());
			
			return grad;
		}
Beispiel #17
0
 public void SetColor(Pen widget, Color color)
 {
     ((PenObject)widget.ControlObject).Color = color.ToCairo();
 }
Beispiel #18
0
		public void SetColor (Pen widget, Color color)
		{
			((PenObject)widget.ControlObject).Color = color.ToCairo ();
		}
Beispiel #19
0
		public object Create (Color color, float thickness)
		{
			return new PenObject {
				Color = color.ToCairo (),
				Thickness = thickness,
				MiterLimit = 10f,
				LineCap = PenLineCap.Square.ToCairo ()
			};
		}
		public object Create (Color color)
		{
			return color.ToCairo ();
		}