本文整理匯總了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"));
}