本文整理汇总了C#中gbrainy.Core.Main.CairoContextEx.ShowPage方法的典型用法代码示例。如果您正苦于以下问题:C# CairoContextEx.ShowPage方法的具体用法?C# CairoContextEx.ShowPage怎么用?C# CairoContextEx.ShowPage使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类gbrainy.Core.Main.CairoContextEx
的用法示例。
在下文中一共展示了CairoContextEx.ShowPage方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GenerateAnswers
static void GenerateAnswers(CairoContextEx cr, Game [] games, int columns, int rows)
{
int x, y, page;
string str;
int column, row;
const int space_lines = 80;
x = y = page = 0;
column = row = 0;
// Draw solution title
cr.SetPangoFontSize (20);
cr.DrawStringWithWrapping (x + margin, y + margin,
ServiceLocator.Instance.GetService <ITranslations> ().GetString ("Solutions"), width - margin);
y += space_lines;
cr.Stroke ();
cr.SetPangoFontSize (12);
cr.UseMarkup = true;
for (int i = 0; i < games.Length; i++)
{
str = String.Format (ServiceLocator.Instance.GetService <ITranslations> ().GetString ("Game #{0}. {1}"), i + 1, games[i].AnswerText);
// Draw Solution
cr.DrawStringWithWrapping (x + margin, y + margin, str, width - margin);
cr.Stroke ();
y += space_lines;
// Next lateral page (right)
if (y + space_lines >= page_height * (row + 1) && x + page_width < page_width * columns) {
column++;
x = column * page_width;
y = row * page_height;
page++;
} else {
// No more space (right), new row
if (y + space_lines >= page_height * (row + 1) && x + page_width >= page_width * columns) {
row++;
column = 0;
x = column * page_width;
y = row * page_height;
page++;
}
}
if (page >= rows * columns) {
cr.ShowPage ();
page = x = y = 0;
column = row = 0;
}
}
if (y > 0)
cr.ShowPage ();
}
示例2: 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 ();
}