Inheritance: IDisposable
Beispiel #1
0
 public override void DrawFrameBackground(Cairo.Context cr, Gdk.Rectangle alloc,
                                          Cairo.Color color, Cairo.Pattern pattern)
 {
     if (!IsPanelWidget)
     {
         base.DrawFrameBackground(cr, alloc, color, pattern);
     }
 }
Beispiel #2
0
        /// <summary>
        /// Exports the specified <see cref="PlotModel" /> to a png file.
        /// </summary>
        /// <param name="model">The model.</param>
        /// <param name="fileName">Name of the output file.</param>
        /// <param name="width">The width.</param>
        /// <param name="height">The height.</param>
        /// <param name="background">The background color.</param>
        public static void Export(IPlotModel model, string fileName, int width, int height, Pattern background = null)
        {
            using (var bm = new ImageSurface(Format.ARGB32, width, height))
            {
                using (var g = new Context(bm))
                {
                    if (background != null)
                    {
                        g.Save();
                        g.SetSource(background);
                        g.Rectangle(0, 0, width, height);
                        g.Fill();
                        g.Restore();
                    }

                    var rc = new GraphicsRenderContext { RendersToScreen = false };
                    rc.SetGraphicsTarget(g);
                    model.Update(true);
                    model.Render(rc, width, height);
                    bm.WriteToPng(fileName);
                }
            }
        }
Beispiel #3
0
 public void SetSource(Pattern source)
 {
     CheckDisposed ();
     NativeMethods.cairo_set_source (handle, source.Handle);
 }
Beispiel #4
0
 public void Mask(Pattern pattern)
 {
     CheckDisposed ();
     NativeMethods.cairo_mask (handle, pattern.Handle);
 }
Beispiel #5
0
 public Pattern PopGroup()
 {
     return(Pattern.Lookup(NativeMethods.cairo_pop_group(handle), true));
 }
Beispiel #6
0
 public void SetSource(Pattern source)
 {
     NativeMethods.cairo_set_source (handle, source.Handle);
 }
Beispiel #7
0
 public void DrawFrameBackground(Cairo.Context cr, Gdk.Rectangle alloc, Cairo.Pattern pattern)
 {
     DrawFrameBackground(cr, alloc, black, pattern);
 }
		public void Mask (Pattern pattern)
		{
			CairoAPI.cairo_mask (state, pattern.Pointer);
		}
		public void SetPattern (Pattern pattern)
		{
			CairoAPI.cairo_set_pattern (state, pattern.Pointer);
		}
Beispiel #10
0
		/// <summary>
		/// The Pattern property is now deprecated in favour of the SetSource (pattern) method,
		/// but that method doesn't exist in older versions of Mono.Cairo. This extension method
		/// provides an implementation of that functionality.
		/// 
		/// This can be removed once we port to GTK3.
		/// </summary>
		public static void SetSource (this Context g, Pattern source)
		{
#pragma warning disable 612
			cairo_set_source (g.Handle, source.Pointer);
#pragma warning restore 612
		}
Beispiel #11
0
        public static Rectangle FillRectangle (this Context g, Rectangle r, Pattern pattern, PointD patternOffset)
        {
            g.Save ();

            g.MoveTo (r.X, r.Y);
            g.LineTo (r.X + r.Width, r.Y);
            g.LineTo (r.X + r.Width, r.Y + r.Height);
            g.LineTo (r.X, r.Y + r.Height);
            g.LineTo (r.X, r.Y);

            pattern.Matrix.Translate (-patternOffset.X, -patternOffset.Y);
            g.SetSource (pattern);

            Rectangle dirty = g.FixedStrokeExtents ();
            g.Fill ();

            g.Restore ();

            return dirty;
        }
Beispiel #12
0
        public override void DrawFrameBackground(Cairo.Context cr, Gdk.Rectangle alloc, Cairo.Color color, Cairo.Pattern pattern)
        {
            // Hack to only render the black background for now playing
            if (pattern == null && color.R != 0 && color.G != 0 && color.B != 0)
            {
                return;
            }

            color.A = Context.FillAlpha;
            if (pattern != null)
            {
                cr.SetSource(pattern);
            }
            else
            {
                cr.SetSourceColor(color);
            }
            cr.Rectangle(alloc.X, alloc.Y, alloc.Width, alloc.Height);
            cr.Fill();
        }
Beispiel #13
0
 public Pattern PopGroup()
 {
     CheckDisposed();
     return(Pattern.Lookup(NativeMethods.cairo_pop_group(handle), true));
 }
Beispiel #14
0
 public void Mask(Pattern pattern)
 {
     CheckDisposed();
     NativeMethods.cairo_mask(handle, pattern.Handle);
 }
Beispiel #15
0
 public void SetSource(Pattern source)
 {
     CheckDisposed();
     NativeMethods.cairo_set_source(handle, source.Handle);
 }
Beispiel #16
0
        protected virtual void Dispose(bool disposing)
        {
            if (disposed)
                return;
            disposed = true;

            if (disposing) {
                // free managed resources
                if (mask != null) {
                    mask.Dispose ();
                    mask = null;
                }

                if (blur != null) {
                    blur.Dispose ();
                    blur = null;
                }
            }
            // free unmanaged resources
        }
Beispiel #17
0
 public static void SetFill(this Context ctx, Pattern pattern)
 {
     ctx.Pattern = pattern;
 }
Beispiel #18
0
 void ShowImage(DataImageSurface imageToShow)
 {
     using(Cairo.Context context = Gdk.CairoHelper.Create(this.GdkWindow)) {
         Pattern pattern = new Pattern (imageToShow);
         context.Source = pattern;
         context.Paint ();
         ((IDisposable)pattern).Dispose ();
     }
 }
Beispiel #19
0
 public override void DrawFrameBackground(Cairo.Context cr, Gdk.Rectangle alloc, Cairo.Color color, Cairo.Pattern pattern)
 {
     color.A = Context.FillAlpha;
     if (pattern != null)
     {
         cr.SetSource(pattern);
     }
     else
     {
         cr.SetSourceColor(color);
     }
     CairoExtensions.RoundedRectangle(cr, alloc.X, alloc.Y, alloc.Width, alloc.Height, Context.Radius, CairoCorners.All);
     cr.Fill();
 }
Beispiel #20
0
        private Pattern RenderBar (int w, int h)
        {
            ImageSurface s = new ImageSurface (Format.Argb32, w, h);
            Context cr = new Context (s);
            RenderBar (cr, w, h, h / 2);
// TODO Implement the new ctor - see http://bugzilla.gnome.org/show_bug.cgi?id=561394
#pragma warning disable 0618
            Pattern pattern = new Pattern (s);
#pragma warning restore 0618
	    s.Dispose ();
            ((IDisposable)cr).Dispose ();
            return pattern;
        }
Beispiel #21
0
 public abstract void DrawFrameBackground(Cairo.Context cr, Gdk.Rectangle alloc, Cairo.Color color, Cairo.Pattern pattern);
 public static Rectangle FillRectangleInUnit(this Context g, Rectangle inputRect, Pattern pattern)
 {
     return FillRectangle(g,new Rectangle(inputRect.X * UnitMultiplier, inputRect.Y* UnitMultiplier, inputRect.Width* UnitMultiplier, inputRect.Height* UnitMultiplier),pattern);
 }
Beispiel #23
0
 public void Mask(Pattern pattern)
 {
     NativeMethods.cairo_mask (handle, pattern.Handle);
 }
Beispiel #24
0
		public void Mask (Pattern pattern)
		{
			NativeMethods.cairo_mask (state, pattern.Pointer);
		}
Beispiel #25
0
        public static Rectangle FillRectangle(this Context g, Rectangle r, Pattern pattern)
        {
            g.Save ();
            g.MoveTo (r.X, r.Y);
            g.LineTo (r.X + r.Width, r.Y);
            g.LineTo (r.X + r.Width, r.Y + r.Height);
            g.LineTo (r.X, r.Y + r.Height);
            g.LineTo (r.X, r.Y);

            g.Pattern = pattern;

            Rectangle dirty = g.StrokeExtents ();
            g.Fill ();

            g.Restore ();

            return dirty;
        }
Beispiel #26
0
 public void SetSource(Pattern source)
 {
     NativeMethods.cairo_set_source(handle, source.Handle);
 }