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


C# CairoContextEx.Translate方法代码示例

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


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

示例1: Draw

        public override void Draw(CairoContextEx gr, int area_width, int area_height, bool rtl)
        {
            double x = X, y = Y;

            this.rtl = rtl;

            #if DESIGN_MODE
            gr.Save ();
            gr.Color = new Cairo.Color (0, 0, 1);
            gr.Rectangle (X, Y, Width, Height);
            gr.Stroke ();
            gr.Restore ();

            ValidateDimensions ();
            #endif

            //
            // Coordinates are stored right to left
            //
            if (rtl == false) {
                for (int i = 0; i < children.Count; i++)
                {
                    gr.Save ();
                    gr.Translate (x, y);

                    children[i].Draw (gr, area_width, area_height, rtl);
                    gr.Restore ();
                    x += children[i].Width;
                }
            } else {
                x += Width;
                for (int i = 0; i < children.Count; i++)
                {
                    x -= children[i].Width;
                    gr.Save ();
                    gr.Translate (x, y);
                    children[i].Draw (gr, area_width, area_height, rtl);
                    gr.Restore ();
                }
            }
        }
开发者ID:GNOME,项目名称:gbrainy,代码行数:41,代码来源:HorizontalContainer.cs

示例2: Draw

        public override void Draw(CairoContextEx gr, int area_width, int area_height, bool rtl)
        {
            double x = X, y = Y;

            this.rtl = rtl;

            #if DESIGN_MODE
            gr.Save ();
            gr.Color = new Cairo.Color (0, 0, 1);
            gr.Rectangle (X, Y, Width, Height);
            gr.Stroke ();
            gr.Restore ();

            double width = 0;

            foreach (Widget child in children)
            {
                width += child.Width;

                if (Height < child.Height)
                    throw new InvalidOperationException (String.Format ("Container height too small {0} < {1}", Height, child.Height));
            }

            if (Width < width)
                throw new InvalidOperationException (String.Format ("Container witdh too small {0} < {1}", Width, width));
            #endif
            //
            // Coordinates are stored right to left
            //
            if (rtl == false) {
                for (int i = 0; i < children.Count; i++)
                {
                    gr.Save ();
                    gr.Translate (x, y);

                    children[i].Draw (gr, area_width, area_height, rtl);
                    gr.Restore ();
                    x += children[i].Width;
                }
            } else {
                x += Width;
                for (int i = 0; i < children.Count; i++)
                {
                    x -= children[i].Width;
                    gr.Save ();
                    gr.Translate (x, y);
                    children[i].Draw (gr, area_width, area_height, rtl);
                    gr.Restore ();
                }
            }
        }
开发者ID:syoubin,项目名称:gbrainy_android,代码行数:51,代码来源:HorizontalContainer.cs

示例3: GenerateQuestions

        static void GenerateQuestions(CairoContextEx cr, Game [] games, int columns, int rows)
        {
            int x, y, page;
            Game puzzle;
            string str;

            x = y = page = 0;
            for (int i = 0; i < games.Length; i++)
            {
                puzzle = games [i];
                puzzle.Begin ();
                page++;

                cr.Save ();
                cr.Translate (x, y);
                cr.Rectangle (0, 0, width, height + question_height);
                cr.Clip ();

                // Translators: {0} is the game number and {1} the game question or answer
                // The number is used as reference when looking for the game solution in the PDF
                str = String.Format (ServiceLocator.Instance.GetService <ITranslations> ().GetString ("Game #{0}. {1}"), i + 1, puzzle.Question);

                // Draw question
                cr.SetPangoFontSize (12);
                cr.UseMarkup = true;
                cr.DrawStringWithWrapping (margin, 10, str, width - margin);
                cr.Stroke ();
                cr.UseMarkup = false;

                // Draw from question_height up height since from 0 to question_height is the question
                // Translate adds always to previous matrix's transformation
                cr.Translate (0, question_height);
                puzzle.DrawPreview (cr, width, height, false);
                if (i == 0) {
                    cr.Save ();
                    cr.SetPangoFontSize (0.02);
                    cr.MoveTo (0.05, 0.95);
                    cr.ShowPangoText (String.Format (ServiceLocator.Instance.GetService <ITranslations> ().GetString ("Created by gbrainy {0}"), Defines.VERSION));
                    cr.Stroke ();
                    cr.Restore ();
                }

                x += width + margin;
                if (x > width + margin) {
                    x = 0;
                    y += height + margin + question_height;
                }
                cr.Restore ();
                cr.Stroke ();

                if (page >= columns * rows) {
                    cr.ShowPage ();
                    page = x = y = 0;
                }
            }

            if (y > 0)
                cr.ShowPage ();
        }
开发者ID:syoubin,项目名称:gbrainy_android,代码行数:59,代码来源:PdfExporter.cs

示例4: OnDrawn

            protected override bool OnDrawn(Cairo.Context cc)
            {
                if(!IsRealized)
                    return false;

                int w, h, nw, nh;
                double x = 0, y = 0;

                CairoContextEx cr = new CairoContextEx (cc.Handle);
                cr.PangoFontDescription = PangoContext.FontDescription;
                w = Window.Width;
                h = Window.Height;

                nh = nw = Math.Min (w, h);

                if (nw < w) {
                    x = (w - nw) / 2d;
                }

                if (nh < h) {
                    y = (h - nh) / 2d;
                }

                cr.Translate (x, y);
                cr.Scale (nw, nh);

                view.Draw (cr, nw, nh, Direction == Gtk.TextDirection.Rtl);

                ((IDisposable)cr).Dispose();
                   			return true;
            }
开发者ID:GNOME,项目名称:gbrainy,代码行数:31,代码来源:PlayerHistoryDialog.cs

示例5: OnExposeEvent

            protected override bool OnExposeEvent(Gdk.EventExpose args)
            {
                if(!IsRealized)
                    return false;

                int w, h, nw, nh;
                double x = 0, y = 0;

                Cairo.Context cc = Gdk.CairoHelper.Create (args.Window);
                CairoContextEx cr = new CairoContextEx (cc.Handle, this);
                args.Window.GetSize (out w, out h);

                nh = nw = Math.Min (w, h);

                if (nw < w) {
                    x = (w - nw) / 2d;
                }

                if (nh < h) {
                    y = (h - nh) / 2d;
                }

                cr.Translate (x, y);
                cr.Scale (nw, nh);

                view.Draw (cr, nw, nh, Direction == Gtk.TextDirection.Rtl);

                ((IDisposable)cc).Dispose();
                ((IDisposable)cr).Dispose();
                   			return base.OnExposeEvent(args);
            }
开发者ID:syoubin,项目名称:gbrainy_android,代码行数:31,代码来源:PlayerHistoryDialog.cs

示例6: OnExposeEvent

        protected override bool OnExposeEvent(Gdk.EventExpose args)
        {
            if (!IsRealized)
                return false;

            int w, h, total_w, total_h;

            Cairo.Context cc = Gdk.CairoHelper.Create (args.Window);
            CairoContextEx cr = new CairoContextEx (cc.Handle, this);

            args.Window.GetSize (out total_w, out total_h);

            h = total_h - question_high;
            if (UseSolutionArea)
                h -= solution_high;

            w = total_w;

            // We want a square drawing area for the puzzles then the figures are shown as designed.
            // For example, squares are squares. This also makes sure that proportions are kept when resizing
            DrawingSquare = Math.Min (w, h);

            if (DrawingSquare < w)
                OffsetX = (w - DrawingSquare) / 2d;
            else
                OffsetX = 0;

            if (DrawingSquare < h)
                OffsetY = (h - DrawingSquare) / 2d;
            else
                OffsetY = 0;

            OffsetY += question_high;

            // Draw a background taking all the window area
            cr.Save ();
            cr.Scale (total_w, total_h);
            cr.DrawBackground ();

            if (Paused == false) {
                DrawQuestionAndAnswer (cr, total_h);
            } else {
                cr.SetPangoFontSize (0.08);
                cr.DrawTextCentered (0.5, 0.5, Catalog.GetString ("Paused"));
                cr.Stroke ();
            }
            cr.Restore ();

            if (Paused == false) {
                // Draw the game area
                cr.Translate (OffsetX, OffsetY);
                cr.SetPangoNormalFontSize ();
                cr.Color = new Color (1, 1, 1, 0.5);
                Drawable.Draw (cr, DrawingSquare, DrawingSquare, Direction == Gtk.TextDirection.Rtl);
                cr.Stroke ();
            }

            ((IDisposable)cc).Dispose();
            ((IDisposable)cr).Dispose();
            return true;
        }
开发者ID:syoubin,项目名称:gbrainy_android,代码行数:61,代码来源:GameDrawingArea.cs

示例7: Draw

 public override void Draw(CairoContextEx gr, int area_width, int area_height, bool rtl)
 {
     #if DESIGN_MODE
     gr.Save ();
     gr.Color = new Cairo.Color (0, 0, 1);
     gr.Rectangle (X, Y, Width, Height);
     gr.Stroke ();
     gr.Restore ();
     #endif
     foreach (Widget child in children)
     {
         gr.Save ();
         gr.Translate (child.X, child.Y);
         child.Draw (gr, area_width, area_height, rtl);
         gr.Restore ();
     }
 }
开发者ID:syoubin,项目名称:gbrainy_android,代码行数:17,代码来源:Container.cs


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