File: pixbuf_8hh.html

package info (click to toggle)
gfcui 2.3.1-2
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 43,420 kB
  • ctags: 18,023
  • sloc: cpp: 53,967; sh: 31,555; makefile: 1,322; perl: 108
file content (201 lines) | stat: -rw-r--r-- 10,698 bytes parent folder | download | duplicates (3)
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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="content-type">
  <title>GTK+ Foundation Classes</title>
  <link href="gfc.css" rel="stylesheet" type="text/css">
  <meta content="The GFC Development Team" name="author">
  <meta content="Core Library Reference Manual" name="description">
</head>
<body style="color: rgb(0, 0, 0); background-color: rgb(243, 244, 248);"
 alink="#000099" link="#000099" vlink="#990099">
<table style="text-align: left; width: 1227px; height: 117px;"
 border="0" cellpadding="0" cellspacing="0">
  <tbody>
    <tr>
      <td
 style="text-align: center; background-color: rgb(255, 255, 255); width: 220px; vertical-align: top;"><img
 alt="GFC Logo" src="../images/gfc.png"
 style="width: 207px; height: 92px;"></td>
      <td
 style="text-align: center; background-color: rgb(87, 107, 152); vertical-align: middle;"><img
 alt="GFC Title Logo" src="../images/gfc-title.png"
 style="width: 418px; height: 76px;"><br>
      </td>
    </tr>
    <tr>
      <td
 style="text-align: center; background-color: rgb(65, 77, 104); vertical-align: middle;"><big><span
 style="color: rgb(255, 255, 153); font-weight: bold;">Reference Manual</span></big><br>
      </td>
      <td
 style="text-align: center; background-color: rgb(148, 164, 200); vertical-align: middle;"><small
 style="font-family: helvetica,arial,sans-serif;"><a
 href="../html/index.html">Main Page</a>&nbsp; |&nbsp; <a
 href="../html/namespaces.html">Namespace List</a>&nbsp; |&nbsp; <a
 href="classes.html">Alphabetical List</a>&nbsp; |&nbsp; <a
 href="../html/annotated.html">Class List</a>&nbsp; |&nbsp; <a
 href="../html/files.html">File List</a></small><br>
      </td>
    </tr>
  </tbody>
</table>
<small> </small>
</body>
</html>
<!-- Generated by Doxygen 1.3.8 -->
<h1>pixbuf.hh File Reference</h1>A GdkPixbuf C++ wrapper interface. <a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="elRef" doxygen="gfccore.tag:" href="object_8hh.html">gfc/object.hh</a>&gt;</code><br>
<code>#include &lt;gfc/glib/object.hh&gt;</code><br>
<code>#include &lt;<a class="el" href="gdk_2types_8hh-source.html">gfc/gdk/types.hh</a>&gt;</code><br>
<code>#include &lt;gdk-pixbuf/gdk-pixbuf.h&gt;</code><br>
<code>#include &lt;gdk/gdkrgb.h&gt;</code><br>
<code>#include &lt;vector&gt;</code><br>
<code>#include &lt;gfc/gdk-pixbuf/inline/pixbuf.inl&gt;</code><br>

<p>
<a href="pixbuf_8hh-source.html">Go to the source code of this file.</a><h2>Namespaces</h2>
<ul>
<li>namespace <a class="elRef" doxygen="gfccore.tag:" href="namespaceGFC.html">GFC</a>
<li>namespace <a class="elRef" doxygen="gfccore.tag:" href="namespaceGFC::G.html">GFC::G</a>
<li>namespace <a class="el" href="namespaceGFC_1_1Gdk.html">GFC::Gdk</a>
</ul>
<h2>Classes</h2>
<ul>
<li>class <a class="el" href="classGFC_1_1Gdk_1_1PixbufFormat.html">GFC::Gdk::PixbufFormat</a>
<dl class="el"><dd class="mdescRight">A GdkPixbufFormat C++ wrapper class.  <a href="classGFC_1_1Gdk_1_1PixbufFormat.html#_details">More...</a><br></dl><li>class <a class="el" href="classGFC_1_1Gdk_1_1Pixbuf.html">GFC::Gdk::Pixbuf</a>
<dl class="el"><dd class="mdescRight">A GdkPixbuf C++ wrapper class.  <a href="classGFC_1_1Gdk_1_1Pixbuf.html#_details">More...</a><br></dl></ul>
<h2>Enumerations</h2>
<ul>
<li>enum <a class="el" href="namespaceGFC_1_1Gdk.html#a294">Colorspace</a> { <a class="el" href="namespaceGFC_1_1Gdk.html#a294a242">COLORSPACE_RGB</a> =  GDK_COLORSPACE_RGB
 }
<dl class="el"><dd class="mdescRight">Defines the color spaces that are supported by the gdk-pixbuf library.  <a href="#a294">More...</a><br></dl><li>enum <a class="el" href="namespaceGFC_1_1Gdk.html#a295">InterpType</a> { <br>
&nbsp;&nbsp;<a class="el" href="namespaceGFC_1_1Gdk.html#a295a243">INTERP_NEAREST</a> =  GDK_INTERP_NEAREST, 
<br>
&nbsp;&nbsp;<a class="el" href="namespaceGFC_1_1Gdk.html#a295a244">INTERP_TILES</a> =  GDK_INTERP_TILES, 
<br>
&nbsp;&nbsp;<a class="el" href="namespaceGFC_1_1Gdk.html#a295a245">INTERP_BILINEAR</a> =  GDK_INTERP_BILINEAR, 
<br>
&nbsp;&nbsp;<a class="el" href="namespaceGFC_1_1Gdk.html#a295a246">INTERP_HYPER</a> =  GDK_INTERP_HYPER
<br>
 }
<dl class="el"><dd class="mdescRight">Describes the different interpolation modes that can be used with the scaling functions.  <a href="#a295">More...</a><br></dl><li>enum <a class="el" href="namespaceGFC_1_1Gdk.html#a296">PixbufAlphaMode</a> { <br>
&nbsp;&nbsp;<a class="el" href="namespaceGFC_1_1Gdk.html#a296a247">PIXBUF_ALPHA_BILEVEL</a> =  GDK_PIXBUF_ALPHA_BILEVEL, 
<br>
&nbsp;&nbsp;<a class="el" href="namespaceGFC_1_1Gdk.html#a296a248">PIXBUF_ALPHA_FULL</a> =  GDK_PIXBUF_ALPHA_FULL
<br>
 }
<dl class="el"><dd class="mdescRight">These values can be passed to render_to_drawable_alpha() to control how the alpha chanel of an image should be handled.  <a href="#a296">More...</a><br></dl></ul>
<hr><a name="_details"></a><h2>Detailed Description</h2>
A GdkPixbuf C++ wrapper interface. 
<p>
Pixbuf is an object that contains information that describes an image in memory.<hr><h2>Enumeration Type Documentation</h2>
<a class="anchor" name="a294" doxytag="pixbuf.hh::Colorspace" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> enum <a class="el" href="namespaceGFC_1_1Gdk.html#a294">Colorspace</a>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Defines the color spaces that are supported by the gdk-pixbuf library. 
<p>
Currently only RGB is supported. <dl compact><dt><b>Enumeration values: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em><a class="anchor" name="a294a242" doxytag="COLORSPACE_RGB" ></a>COLORSPACE_RGB</em>&nbsp;</td><td>
Indicates a red/green/blue additive color space. </td></tr>
</table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a295" doxytag="pixbuf.hh::InterpType" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> enum <a class="el" href="namespaceGFC_1_1Gdk.html#a295">InterpType</a>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Describes the different interpolation modes that can be used with the scaling functions. 
<p>
INTERP_NEAREST is the fastest scaling method, but has horrible quality when scaling down. INTERP_BILINEAR is the best choice if you aren't sure what to choose, it has a good speed/quality balance.<p>
<b>Note:</b> Cubic filtering is missing from the list; hyperbolic interpolation is just as fast and results in higher quality. <dl compact><dt><b>Enumeration values: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em><a class="anchor" name="a295a243" doxytag="INTERP_NEAREST" ></a>INTERP_NEAREST</em>&nbsp;</td><td>
Nearest neighbor sampling; this is the fastest and lowest quality mode; Quality is normally unacceptable when scaling down, but may be OK when scaling up. </td></tr>
<tr><td valign=top><em><a class="anchor" name="a295a244" doxytag="INTERP_TILES" ></a>INTERP_TILES</em>&nbsp;</td><td>
This is an accurate simulation of the PostScript image operator without any interpolation enabled; Each pixel is rendered as a tiny parallelogram of solid color, the edges of which are implemented with antialiasing; It resembles nearest neighbor for enlargement, and bilinear for reduction. </td></tr>
<tr><td valign=top><em><a class="anchor" name="a295a245" doxytag="INTERP_BILINEAR" ></a>INTERP_BILINEAR</em>&nbsp;</td><td>
Best quality/speed balance; use this mode by default (bilinear interpolation); For enlargement, it is equivalent to point-sampling the ideal bilinear-interpolated image; For reduction, it is equivalent to laying down small tiles and integrating over the coverage area. </td></tr>
<tr><td valign=top><em><a class="anchor" name="a295a246" doxytag="INTERP_HYPER" ></a>INTERP_HYPER</em>&nbsp;</td><td>
This is the slowest and highest quality reconstruction function; It is derived from the hyperbolic filters in Wolberg's "Digital Image Warping", and is formally defined as the hyperbolic-filter sampling the ideal hyperbolic-filter interpolated image (the filter is designed to be idempotent for 1:1 pixel mapping). </td></tr>
</table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a296" doxytag="pixbuf.hh::PixbufAlphaMode" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> enum <a class="el" href="namespaceGFC_1_1Gdk.html#a296">PixbufAlphaMode</a>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
These values can be passed to render_to_drawable_alpha() to control how the alpha chanel of an image should be handled. 
<p>
This method can create a bilevel clipping mask (black and white) and use it while pagfcng the image. In the future, when the X <a class="el" href="classGFC_1_1Gdk_1_1Window.html">Window</a> System gets an alpha channel extension, it will be possible to do full alpha compositing onto arbitrary drawables. For now both cases fall back to a bilevel clipping mask. <dl compact><dt><b>Enumeration values: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em><a class="anchor" name="a296a247" doxytag="PIXBUF_ALPHA_BILEVEL" ></a>PIXBUF_ALPHA_BILEVEL</em>&nbsp;</td><td>
A bilevel clipping mask (black and white) will be created and used to draw the image; Pixels below 0.5 opacity will be considered fully transparent, and all others will be considered fully opaque. </td></tr>
<tr><td valign=top><em><a class="anchor" name="a296a248" doxytag="PIXBUF_ALPHA_FULL" ></a>PIXBUF_ALPHA_FULL</em>&nbsp;</td><td>
For now falls back to PIXBUF_ALPHA_BILEVEL; In the future it will do full alpha compositing. </td></tr>
</table>
</dl>
    </td>
  </tr>
</table>
<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 24 00:34:33 2004 for GFC-UI by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 ></a> 1.3.8 </small></address>
</body>
</html>