Example #1
0
        void DrawPixbuf(Cairo.Context ctx, Gdk.Pixbuf img, double x, double y, ImageDescription idesc)
        {
            ctx.Save ();
            ctx.Translate (x, y);
            ctx.Scale (idesc.Size.Width / (double)img.Width, idesc.Size.Height / (double)img.Height);
            Gdk.CairoHelper.SetSourcePixbuf (ctx, img, 0, 0);

            // Fixes blur issue when rendering on an image surface
            ((Cairo.SurfacePattern)ctx.GetSource ()).Filter = Cairo.Filter.Fast;

            if (idesc.Alpha >= 1)
                ctx.Paint ();
            else
                ctx.PaintWithAlpha (idesc.Alpha);
            ctx.Restore ();
        }