コード例 #1
0
ファイル: main.cs プロジェクト: Svengali/vk.net
 void vkvgDraw()
 {
     using (vkvg.Context ctx = new vkvg.Context(vkvgSurf)) {
         ctx.SetSource(1.0, 1.0, 1.0);
         ctx.Paint();
         ctx.Translate(100, 100);
         ctx.Scale(3, 3);
         ctx.SetSource(0.1, 0.1, 0.1);
         ctx.Arc(100, 100, 10.0, 0, Math.PI * 2.0);
         ctx.LineWidth = 1.0;
         ctx.Stroke();
     }
 }
コード例 #2
0
ファイル: save_restore.cs プロジェクト: jpbruyere/vkvg.net
        void recurseDraw(vkvg.Context ctx, int step)
        {
            step++;

            ctx.SetSource(1.0, 0.0, 0.0);
            ctx.FontFace = "droid";
            ctx.FontSize = 10;

            ctx.Save();

            ctx.Translate(20, 20);
            ctx.Rectangle(step, step, 600, 600);
            ctx.ClipPreserve();
            ctx.SetSource(1f / step, 1f / step, 1f / step);
            ctx.FillPreserve();
            ctx.SetSource(0, 0, 0);
            ctx.Stroke();

            if (step < 5)
            {
                recurseDraw(ctx, step);
            }

            ctx.Restore();

            ctx.Rectangle(step + 50, step + 1, 100, 12);
            ctx.Operator = vkvg.Operator.Clear;
            ctx.Fill();
            ctx.Operator = vkvg.Operator.Over;
            ctx.SetSource(1.0, 0.0, 0.0);
            ctx.MoveTo(step + 30, step + 12);
            ctx.ShowText($"fps: {fps}");


            ctx.Operator = vkvg.Operator.Clear;
            ctx.Rectangle(step, step, 20, 20);
            ctx.Fill();
            ctx.Operator = vkvg.Operator.Over;

            ctx.SetSource(1f / step, 0f, 0f);
            ctx.Rectangle(step + 2, step + 2, 16, 16);
            ctx.Fill();
        }