New upstream version 3.23.2
This commit is contained in:
@ -3,12 +3,12 @@
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>GtkPrintContext: GTK+ 3 Reference Manual</title>
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
|
||||
<link rel="home" href="index.html" title="GTK+ 3 Reference Manual">
|
||||
<link rel="up" href="Printing.html" title="Printing">
|
||||
<link rel="prev" href="gtk3-High-level-Printing-API.html" title="GtkPrintOperation">
|
||||
<link rel="next" href="GtkPrintSettings.html" title="GtkPrintSettings">
|
||||
<meta name="generator" content="GTK-Doc V1.27 (XML mode)">
|
||||
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
|
||||
<link rel="stylesheet" href="style.css" type="text/css">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
@ -167,59 +167,117 @@ of the cairo surface.</p>
|
||||
<a class="link" href="gtk3-High-level-Printing-API.html#GtkPrintOperation-draw-page" title="The “draw-page” signal"><span class="type">“draw-page”</span></a> signals on the <a class="link" href="gtk3-High-level-Printing-API.html#GtkPrintOperation"><span class="type">GtkPrintOperation</span></a>.</p>
|
||||
<div class="refsect3">
|
||||
<a name="id-1.3.17.3.7.4"></a><h4>Using GtkPrintContext in a <a class="link" href="gtk3-High-level-Printing-API.html#GtkPrintOperation-draw-page" title="The “draw-page” signal"><span class="type">“draw-page”</span></a> callback</h4>
|
||||
<div class="informalexample"><pre class="programlisting">
|
||||
static void
|
||||
draw_page (GtkPrintOperation *operation,
|
||||
GtkPrintContext *context,
|
||||
int page_nr)
|
||||
{
|
||||
cairo_t *cr;
|
||||
PangoLayout *layout;
|
||||
PangoFontDescription *desc;
|
||||
<div class="informalexample">
|
||||
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="listing_lines" align="right"><pre>1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
10
|
||||
11
|
||||
12
|
||||
13
|
||||
14
|
||||
15
|
||||
16
|
||||
17
|
||||
18
|
||||
19
|
||||
20
|
||||
21
|
||||
22
|
||||
23
|
||||
24
|
||||
25
|
||||
26
|
||||
27
|
||||
28
|
||||
29
|
||||
30
|
||||
31
|
||||
32
|
||||
33
|
||||
34
|
||||
35
|
||||
36
|
||||
37
|
||||
38
|
||||
39
|
||||
40
|
||||
41
|
||||
42
|
||||
43
|
||||
44
|
||||
45
|
||||
46
|
||||
47
|
||||
48
|
||||
49
|
||||
50
|
||||
51</pre></td>
|
||||
<td class="listing_code"><pre class="programlisting"><span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
|
||||
<span class="function">draw_page</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GtkPrintOperation</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">operation</span><span class="symbol">,</span>
|
||||
<span class="normal"> </span><span class="usertype">GtkPrintContext</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">context</span><span class="symbol">,</span>
|
||||
<span class="normal"> </span><span class="type">int</span><span class="normal"> page_nr</span><span class="symbol">)</span>
|
||||
<span class="cbracket">{</span>
|
||||
<span class="normal"> </span><span class="usertype">cairo_t</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">cr</span><span class="symbol">;</span>
|
||||
<span class="normal"> </span><span class="usertype">PangoLayout</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">layout</span><span class="symbol">;</span>
|
||||
<span class="normal"> </span><span class="usertype">PangoFontDescription</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">desc</span><span class="symbol">;</span>
|
||||
|
||||
cr = gtk_print_context_get_cairo_context (context);
|
||||
<span class="normal"> cr </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkPrintContext.html#gtk-print-context-get-cairo-context">gtk_print_context_get_cairo_context</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">context</span><span class="symbol">);</span>
|
||||
|
||||
// Draw a red rectangle, as wide as the paper (inside the margins)
|
||||
cairo_set_source_rgb (cr, 1.0, 0, 0);
|
||||
cairo_rectangle (cr, 0, 0, gtk_print_context_get_width (context), 50);
|
||||
<span class="normal"> </span><span class="comment">// Draw a red rectangle, as wide as the paper (inside the margins)</span>
|
||||
<span class="normal"> </span><span class="function">cairo_set_source_rgb</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">cr</span><span class="symbol">,</span><span class="normal"> </span><span class="number">1.0</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="symbol">);</span>
|
||||
<span class="normal"> </span><span class="function">cairo_rectangle</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">cr</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="symbol">,</span><span class="normal"> </span><span class="function"><a href="GtkPrintContext.html#gtk-print-context-get-width">gtk_print_context_get_width</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">context</span><span class="symbol">),</span><span class="normal"> </span><span class="number">50</span><span class="symbol">);</span>
|
||||
|
||||
cairo_fill (cr);
|
||||
<span class="normal"> </span><span class="function">cairo_fill</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">cr</span><span class="symbol">);</span>
|
||||
|
||||
// Draw some lines
|
||||
cairo_move_to (cr, 20, 10);
|
||||
cairo_line_to (cr, 40, 20);
|
||||
cairo_arc (cr, 60, 60, 20, 0, M_PI);
|
||||
cairo_line_to (cr, 80, 20);
|
||||
<span class="normal"> </span><span class="comment">// Draw some lines</span>
|
||||
<span class="normal"> </span><span class="function">cairo_move_to</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">cr</span><span class="symbol">,</span><span class="normal"> </span><span class="number">20</span><span class="symbol">,</span><span class="normal"> </span><span class="number">10</span><span class="symbol">);</span>
|
||||
<span class="normal"> </span><span class="function">cairo_line_to</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">cr</span><span class="symbol">,</span><span class="normal"> </span><span class="number">40</span><span class="symbol">,</span><span class="normal"> </span><span class="number">20</span><span class="symbol">);</span>
|
||||
<span class="normal"> </span><span class="function">cairo_arc</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">cr</span><span class="symbol">,</span><span class="normal"> </span><span class="number">60</span><span class="symbol">,</span><span class="normal"> </span><span class="number">60</span><span class="symbol">,</span><span class="normal"> </span><span class="number">20</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="symbol">,</span><span class="normal"> M_PI</span><span class="symbol">);</span>
|
||||
<span class="normal"> </span><span class="function">cairo_line_to</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">cr</span><span class="symbol">,</span><span class="normal"> </span><span class="number">80</span><span class="symbol">,</span><span class="normal"> </span><span class="number">20</span><span class="symbol">);</span>
|
||||
|
||||
cairo_set_source_rgb (cr, 0, 0, 0);
|
||||
cairo_set_line_width (cr, 5);
|
||||
cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
|
||||
cairo_set_line_join (cr, CAIRO_LINE_JOIN_ROUND);
|
||||
<span class="normal"> </span><span class="function">cairo_set_source_rgb</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">cr</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="symbol">);</span>
|
||||
<span class="normal"> </span><span class="function">cairo_set_line_width</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">cr</span><span class="symbol">,</span><span class="normal"> </span><span class="number">5</span><span class="symbol">);</span>
|
||||
<span class="normal"> </span><span class="function">cairo_set_line_cap</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">cr</span><span class="symbol">,</span><span class="normal"> CAIRO_LINE_CAP_ROUND</span><span class="symbol">);</span>
|
||||
<span class="normal"> </span><span class="function">cairo_set_line_join</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">cr</span><span class="symbol">,</span><span class="normal"> CAIRO_LINE_JOIN_ROUND</span><span class="symbol">);</span>
|
||||
|
||||
cairo_stroke (cr);
|
||||
<span class="normal"> </span><span class="function">cairo_stroke</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">cr</span><span class="symbol">);</span>
|
||||
|
||||
// Draw some text
|
||||
layout = gtk_print_context_create_pango_layout (context);
|
||||
pango_layout_set_text (layout, "Hello World! Printing is easy", -1);
|
||||
desc = pango_font_description_from_string ("sans 28");
|
||||
pango_layout_set_font_description (layout, desc);
|
||||
pango_font_description_free (desc);
|
||||
<span class="normal"> </span><span class="comment">// Draw some text</span>
|
||||
<span class="normal"> layout </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkPrintContext.html#gtk-print-context-create-pango-layout">gtk_print_context_create_pango_layout</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">context</span><span class="symbol">);</span>
|
||||
<span class="normal"> </span><span class="function">pango_layout_set_text</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">layout</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Hello World! Printing is easy"</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">-</span><span class="number">1</span><span class="symbol">);</span>
|
||||
<span class="normal"> desc </span><span class="symbol">=</span><span class="normal"> </span><span class="function">pango_font_description_from_string</span><span class="normal"> </span><span class="symbol">(</span><span class="string">"sans 28"</span><span class="symbol">);</span>
|
||||
<span class="normal"> </span><span class="function">pango_layout_set_font_description</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">layout</span><span class="symbol">,</span><span class="normal"> desc</span><span class="symbol">);</span>
|
||||
<span class="normal"> </span><span class="function">pango_font_description_free</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">desc</span><span class="symbol">);</span>
|
||||
|
||||
cairo_move_to (cr, 30, 20);
|
||||
pango_cairo_layout_path (cr, layout);
|
||||
<span class="normal"> </span><span class="function">cairo_move_to</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">cr</span><span class="symbol">,</span><span class="normal"> </span><span class="number">30</span><span class="symbol">,</span><span class="normal"> </span><span class="number">20</span><span class="symbol">);</span>
|
||||
<span class="normal"> </span><span class="function">pango_cairo_layout_path</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">cr</span><span class="symbol">,</span><span class="normal"> layout</span><span class="symbol">);</span>
|
||||
|
||||
// Font Outline
|
||||
cairo_set_source_rgb (cr, 0.93, 1.0, 0.47);
|
||||
cairo_set_line_width (cr, 0.5);
|
||||
cairo_stroke_preserve (cr);
|
||||
<span class="normal"> </span><span class="comment">// Font Outline</span>
|
||||
<span class="normal"> </span><span class="function">cairo_set_source_rgb</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">cr</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0.93</span><span class="symbol">,</span><span class="normal"> </span><span class="number">1.0</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0.47</span><span class="symbol">);</span>
|
||||
<span class="normal"> </span><span class="function">cairo_set_line_width</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">cr</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0.5</span><span class="symbol">);</span>
|
||||
<span class="normal"> </span><span class="function">cairo_stroke_preserve</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">cr</span><span class="symbol">);</span>
|
||||
|
||||
// Font Fill
|
||||
cairo_set_source_rgb (cr, 0, 0.0, 1.0);
|
||||
cairo_fill (cr);
|
||||
<span class="normal"> </span><span class="comment">// Font Fill</span>
|
||||
<span class="normal"> </span><span class="function">cairo_set_source_rgb</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">cr</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0.0</span><span class="symbol">,</span><span class="normal"> </span><span class="number">1.0</span><span class="symbol">);</span>
|
||||
<span class="normal"> </span><span class="function">cairo_fill</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">cr</span><span class="symbol">);</span>
|
||||
|
||||
<span class="normal"> </span><span class="function">g_object_unref</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">layout</span><span class="symbol">);</span>
|
||||
<span class="cbracket">}</span></pre></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
g_object_unref (layout);
|
||||
}
|
||||
</pre></div>
|
||||
<p></p>
|
||||
<p>Printing support was added in GTK+ 2.10.</p>
|
||||
</div>
|
||||
@ -602,6 +660,6 @@ gtk_print_context_get_hard_margins (<em class="parameter"><code><a class="link"
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr>Generated by GTK-Doc V1.27</div>
|
||||
<hr>Generated by GTK-Doc V1.28</div>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user