summaryrefslogtreecommitdiff
path: root/html/en/drv/gdk.html
blob: e54d6e03fee934b2b7306a241ce15aa7f73df742 (plain)
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>

<head>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>GDK</title>
<link rel="stylesheet" type="text/css" href="../../style.css">
</head>

<body>

<h2>GDK Base Driver</h2>

  <p>This driver represents a basic driver for all system-dependent drivers 
  implemented in the X-Windows system. The implementation uses the
  <a href="http://library.gnome.org/devel/gdk/">GDK</a> and
  <a href="http://library.gnome.org/devel/pango/">Pango</a> API 
  functions. This driver was designed for the GTK+ version 2, and can be 
  compiled and used in all systems GDK is supported.</p>
<p>This is included in the main library in Linux and BSD. To use it in other 
Unices and in Win32 you must link with the <strong>cdgdk</strong> library 
instead of the <strong>cd</strong> main library.</p>

<h3>Behavior of Functions</h3>
<h4>Control&nbsp; </h4>
<ul>
  <li><a href="../func/other.html#cdPlay">
  <font face="Courier"><strong>Play</strong></font></a>: does nothing, returns
  <font face="Courier">CD_ERROR</font>. </li>
</ul>
<h4>Coordinate System and Clipping </h4>
<ul>
  <li>
  <a href="../func/coordinates.html#cdUpdateYAxis">
  <font face="Courier"><strong>UpdateYAxis</strong></font></a>: the 
  orientation of axis Y is the opposite to its orientation in the CD library.</li>
</ul>
<h4>Primitives</h4>
<ul>
  <li><a href="../func/lines.html#cdBegin">
  <font face="Courier"><strong>Begin</strong></font></a>: <strong><tt>
  CD_BEZIER</tt></strong> and <strong><tt>CD_PATH</tt></strong> 
	are simulated with lines.</li>
</ul>
<h4>Attributes </h4>
<ul>
  <li>
  <a href="../func/lines.html#cdLineWidth">
  <font face="Courier"><strong>LineWidth</strong></font></a>: if
  <font face="Courier">width</font> is 1, the driver will use 0 for a better 
  performance.</li>
  <li>
  <a href="../func/lines.html#cdLineStyle">
  <font face="Courier"><strong>LineStyle</strong></font></a>: thick lines have 
  style only in the line's direction. For example, you will see small rectangles 
  in a thick dotted line.</li>
  <li>
  <a href="../func/text.html#cdNativeFont">
  <font face="Courier"><strong>NativeFont</strong></font></a>: also accepts the 
  X-Windows font string format.</li>
    <li><a href="../func/text.html#cdFont">
  <font face="Courier"><strong>Font</strong></font></a>: &quot;Courier&quot; is mapped to 
	&quot;Monospace&quot;, &quot;Helvetica&quot; is mapped to &quot;Sans&quot;, and &quot;Times&quot; is mapped to 
	&quot;Serif&quot;. Underline and Strikeout are supported.</li>
</ul>
<h4>Colors </h4>
<ul>
  <li>
  <a href="../func/color.html#cdPalette">
  <font face="Courier"><strong>Palette</strong></font></a>: When the number of 
  bits per pixel is smaller than or equal to 8, the driver will use the system 
  palette to solve colors passed as parameters to the canvas. The driver 
  allocates colors as they are requested - if a color cannot be allocated, the 
  closest color is used in the palette. For such, the driver sees all available 
  colors, in the current application and others. If one of the applications is 
  terminated, a color in the palette may become invalid and will only be updated 
  by the driver when it is requested again. For this reason, a call to <strong>
  cdForeground </strong>or <strong>cdBackground</strong> or <strong>cdPalette</strong> 
  is recommended before drawing.<br>
  When CD_FORCE is used, the driver forces color allocation. 
  This may imply changing colors in other applications when a cursor moves in 
  and out of the canvas. However, if the number of requested colors is smaller 
  than the maximum number of possible colors in the palette, then the first 
  colors in the default system palette will be preserved, minimizing this 
  problem.<br>
  When CD_POLITE is used, all colors allocated by the driver are liberated, and 
  the requested colors are allocated. This is useful for the application to 
  prioritize the colors that will be allocated, causing other colors to be 
  mapped to their closest colors.<br>
  Note that canvases in the same application interfere with one another, but 
  when a canvas is terminated it liberates all allocated colors.</li>
</ul>
<h4>Exclusive Attributes</h4>
<ul>
  <li>&quot;<b><font face="Courier">GC</font></b>&quot;:&nbsp; returns the GDK graphics 
  context (get only). In Lua is returned as an user data.</li>
</ul>

<ul>
  <li>&quot;<b><font face="Courier">IMGDITHER</font></b>&quot;:&nbsp; changes 
	how dithering is used in images when bpp&lt;=8. Can be &quot;NORMAL&quot; or &quot;NONE&quot;. 
	Default: &quot;NONE&quot;.</li>
</ul>

<ul>
  <li>&quot;<b><font face="Courier">IMGINTERP</font></b>&quot;:&nbsp; changes 
	how interpolation is used in image scale. Can be &quot;BILINEAR&quot; or &quot;NEAREST&quot;. 
	Default: &quot;NEAREST&quot;.</li>
</ul>

<ul>
  <li>&quot;<b><font face="Courier">ROTATE</font></b>&quot;:&nbsp; allows the usage of 1 
  angle and 1 coordinate (x, y), that define a global rotation transformation 
  centered in the specified coordinate. Use 1 real and 2 integer values inside a 
  string (&quot;%g %d %d&quot; = angle x y). In this driver will change the 
  current transformation matrix, if removed will reset the current 
  transformation matrix.</li>
</ul>

<ul>
    <li><b><font face="Courier">&quot;PANGOVERSION&quot;: </font></b>returns a string with 
  the Pango version number. It is empty if the Pango is not available.</li>
</ul>

</body>

</html>