当前位置: 首页>>代码示例>>C#>>正文


C# Cairo.Transform方法代码示例

本文整理汇总了C#中Cairo.Transform方法的典型用法代码示例。如果您正苦于以下问题:C# Cairo.Transform方法的具体用法?C# Cairo.Transform怎么用?C# Cairo.Transform使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Cairo的用法示例。


在下文中一共展示了Cairo.Transform方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: OnDrawn

        protected override bool OnDrawn(Cairo.Context cr)
        {
            if (!CairoHelper.ShouldDrawWindow (cr, Window)) {
                return base.OnDrawn (cr);
            }

            if (reflect) {
                CairoExtensions.PushGroup (cr);
            }

            cr.Operator = Operator.Over;
            cr.Translate (h_padding, 0);
            cr.Rectangle (0, 0, Allocation.Width - h_padding, Math.Max (2 * bar_height,
                bar_height + bar_label_spacing + layout_height));
            cr.Clip ();

            Pattern bar = RenderBar (Allocation.Width - 2 * h_padding, bar_height);

            cr.Save ();
            cr.Source = bar;
            cr.Paint ();
            cr.Restore ();

            if (reflect) {
                cr.Save ();

                cr.Rectangle (0, bar_height, Allocation.Width - h_padding, bar_height);
                cr.Clip ();

                Matrix matrix = new Matrix ();
                matrix.InitScale (1, -1);
                matrix.Translate (0, -(2 * bar_height) + 1);
                cr.Transform (matrix);

                cr.Pattern = bar;

                LinearGradient mask = new LinearGradient (0, 0, 0, bar_height);

                mask.AddColorStop (0.25, new Color (0, 0, 0, 0));
                mask.AddColorStop (0.5, new Color (0, 0, 0, 0.125));
                mask.AddColorStop (0.75, new Color (0, 0, 0, 0.4));
                mask.AddColorStop (1.0, new Color (0, 0, 0, 0.7));

                cr.Mask (mask);
                mask.Destroy ();

                cr.Restore ();

                CairoExtensions.PopGroupToSource (cr);
                cr.Paint ();
            }

            if (show_labels) {
                cr.Translate ((reflect ? 0 : -h_padding) + (Allocation.Width - layout_width) / 2,
                     bar_height + bar_label_spacing);
                RenderLabels (cr);
            }

            bar.Destroy ();

            return true;
        }
开发者ID:knocte,项目名称:hyena,代码行数:62,代码来源:SegmentedBar.cs

示例2: RenderElement

		void RenderElement (Cairo.Context context, CanvasElement element)
		{
			element.Canvas = this;

			context.Transform (element.Transform);
			element.Render (context);
		}
开发者ID:jassmith,项目名称:Xamarin.Canvas,代码行数:7,代码来源:Canvas.cs

示例3: OnLayoutOutline

		protected override void OnLayoutOutline (Cairo.Context context)
		{
			if (IconOnly) {
				context.Transform (box.Transform);
				context.Transform (image.Transform);
				image.LayoutOutline (context);
			} else {
				base.OnLayoutOutline (context);
			}
		}
开发者ID:jassmith,项目名称:Xamarin.Canvas,代码行数:10,代码来源:SearchBoxCanvasElement.cs


注:本文中的Cairo.Transform方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。