本文整理汇总了C#中gbrainy.Core.Main.CairoContextEx.Clip方法的典型用法代码示例。如果您正苦于以下问题:C# CairoContextEx.Clip方法的具体用法?C# CairoContextEx.Clip怎么用?C# CairoContextEx.Clip使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类gbrainy.Core.Main.CairoContextEx
的用法示例。
在下文中一共展示了CairoContextEx.Clip方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: 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 ();
}
示例2: Draw
public void Draw(CairoContextEx cr, int width, int height, bool rtl)
{
double x = 0, y = 0;
// Background
cr.Color = new Cairo.Color (1, 1, 1);
cr.Paint ();
cr.Stroke ();
cr.LineWidth = point_size;
cr.Rectangle (x, y, area_w, area_h);
cr.Clip ();
DrawLines (cr, grid_x, grid_y);
cr.ResetClip ();
DrawLegend (cr, x + grid_offsetx, y + area_h + 0.06);
DrawGrid (cr, grid_x, grid_y);
DrawAxisDescription (cr, x + area_w + 0.01, 0.78, ServiceLocator.Instance.GetService <ITranslations> ().GetString ("Time"));
DrawAxisDescription (cr, 0, 0.03, ServiceLocator.Instance.GetService <ITranslations> ().GetString ("Score"));
}