gosu 0.7.17 → 0.7.18

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. data/Gosu/Version.hpp +2 -2
  2. data/GosuImpl/{AudioSDL.cpp → Audio/AudioSDL.cpp} +0 -0
  3. data/GosuImpl/RubyGosu_wrap.cxx +2 -2
  4. data/Rakefile +4 -4
  5. data/lib/gosu.rb +16 -0
  6. data/linux/Makefile.in +5 -5
  7. data/linux/configure +5 -4
  8. data/linux/configure.ac +3 -3
  9. data/linux/extconf.rb +7 -0
  10. metadata +4 -29
  11. data/reference/rdoc/classes/Gosu.html +0 -1554
  12. data/reference/rdoc/classes/Gosu/Color.html +0 -660
  13. data/reference/rdoc/classes/Gosu/Font.html +0 -545
  14. data/reference/rdoc/classes/Gosu/GLTexInfo.html +0 -412
  15. data/reference/rdoc/classes/Gosu/Image.html +0 -706
  16. data/reference/rdoc/classes/Gosu/Sample.html +0 -476
  17. data/reference/rdoc/classes/Gosu/SampleInstance.html +0 -523
  18. data/reference/rdoc/classes/Gosu/Song.html +0 -568
  19. data/reference/rdoc/classes/Gosu/TextInput.html +0 -444
  20. data/reference/rdoc/classes/Gosu/Window.html +0 -911
  21. data/reference/rdoc/classes/Numeric.html +0 -423
  22. data/reference/rdoc/created.rid +0 -1
  23. data/reference/rdoc/files/COPYING_txt.html +0 -391
  24. data/reference/rdoc/files/README_txt.html +0 -387
  25. data/reference/rdoc/files/reference/Deployment on OS X_rdoc.html +0 -381
  26. data/reference/rdoc/files/reference/Deployment on Windows_rdoc.html +0 -385
  27. data/reference/rdoc/files/reference/Drawing with Colors_rdoc.html +0 -363
  28. data/reference/rdoc/files/reference/Order of Corners_rdoc.html +0 -358
  29. data/reference/rdoc/files/reference/Tileability_rdoc.html +0 -374
  30. data/reference/rdoc/files/reference/Z Ordering_rdoc.html +0 -361
  31. data/reference/rdoc/files/reference/gosu_rb.html +0 -348
  32. data/reference/rdoc/fr_class_index.html +0 -12
  33. data/reference/rdoc/fr_file_index.html +0 -10
  34. data/reference/rdoc/fr_method_index.html +0 -64
  35. data/reference/rdoc/index.html +0 -1
  36. data/reference/rdoc/rdoc-style.css +0 -322
@@ -1,412 +0,0 @@
1
- <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"/><title>Class: Gosu::GLTexInfo</title><link type="text/css" media="screen" href="../.././rdoc-style.css" rel="stylesheet"/><script type="text/javascript">
2
- // Allison template
3
- // Copyright 2007, 2008 Cloudburst, LLC. Licensed under the AFL 3. See the included LICENSE file.
4
-
5
- var href_base = '../.././rdoc-style.css'.replace(/(.*\/).*/, '$1'); // inline js is good for something
6
-
7
- function $(id) {
8
- if (document.getElementById)
9
- elem = document.getElementById(id);
10
- else if ( document.all )
11
- elem = eval("document.all." + id);
12
- else
13
- return false;
14
- return elem;
15
- }
16
-
17
- function toggle(id) {
18
- elem = $(id);
19
- elemStyle = elem.style;
20
- if (elemStyle.display == "block") {
21
- elemStyle.display = "none"
22
- } else {
23
- elemStyle.display = "block"
24
- }
25
- return true;
26
- }
27
-
28
- function toggleText(id) {
29
- elem = $(id)
30
- if (m = elem.innerHTML.match(/(Hide)(.*)/)) {
31
- elem.innerHTML = "Show" + m[2];
32
- } else if (m = elem.innerHTML.match(/(Show)(.*)/)) {
33
- elem.innerHTML = "Hide" + m[2];
34
- }
35
- return true;
36
- }
37
-
38
- function span(s, klass) {
39
- return '<span class="' + klass + '">' + s + '</span>';
40
- }
41
-
42
- function highlightSymbols() {
43
- pres = document.getElementsByTagName('pre');
44
- for(var i = 0; i < pres.length; i++) {
45
- pre = pres[i];
46
- spans = pre.getElementsByTagName('span');
47
- for(var k = 0; k < spans.length; k++) {
48
- span = spans[k];
49
- if (span.className.match(/ruby-identifier/)) {
50
- if (span.innerHTML.match(/^:/)) {
51
- span.className += " ruby-symbol";
52
- }
53
- }
54
- }
55
- }
56
- }
57
-
58
- function hasClass(obj) {
59
- var result = false;
60
- if (obj.getAttributeNode("class") != null) {
61
- result = obj.getAttributeNode("class").value;
62
- }
63
- return result;
64
- }
65
-
66
- function stripe() {
67
- var even = true;
68
- var color = "#e4ebed";
69
- var tables = document.getElementsByTagName('table');
70
- if (tables.length == 0) { return; }
71
- for (var h = 0; h < tables.length; h++) {
72
- var trs = tables[h].getElementsByTagName("tr");
73
- for (var i = 0; i < trs.length; i++) {
74
- var tds = trs[i].getElementsByTagName("td");
75
- for (var j = 0; j < tds.length; j++) {
76
- if (hasClass(tds[j]) != "first") {
77
- var mytd = tds[j];
78
- if (even) {
79
- mytd.style.backgroundColor = color;
80
- }
81
- }
82
- }
83
- even = ! even;
84
- }
85
- }
86
- }
87
-
88
- function ajaxGet(url) {
89
- url = (href_base + url).replace('/./', '/')
90
- var req = false;
91
-
92
- if (window.ActiveXObject) {
93
- try {
94
- // stupid hack because IE7 disables local Ajax with the native xmlhttprequest object
95
- // for security purposes. Yet ActiveX still works. Thanks, Microsoft. I hate you. Die.
96
- req = new ActiveXObject("MSXML2.XMLHTTP.3.0");
97
- } catch (e) {
98
- try {
99
- /* IE 6 and maybe 5, don't know, don't care */
100
- req = new ActiveXObject("Msxml2.XMLHTTP");
101
- } catch (e) {
102
- try {
103
- req = new ActiveXObject("Microsoft.XMLHTTP");
104
- } catch (e) {
105
- req = false;
106
- }
107
- }
108
- }
109
- }
110
-
111
- /* real browsers */
112
- if (!req && window.XMLHttpRequest) {
113
- try {
114
- req = new XMLHttpRequest();
115
- } catch (e) {
116
- req = false;
117
- }
118
- }
119
-
120
- if (req) {
121
- req.open('GET', url, false);
122
- req.send(null);
123
- return req.responseText;
124
- } else {
125
- return "Ajax error";
126
- }
127
- }
128
-
129
-
130
- function addEvent(elm, evType, fn, useCapture) {
131
- if (elm.addEventListener) {
132
- elm.addEventListener(evType, fn, useCapture);
133
- return true;
134
- } else if (elm.attachEvent) {
135
- var r = elm.attachEvent('on' + evType, fn);
136
- return r;
137
- } else {
138
- elm['on' + evType] = fn;
139
- }
140
- }
141
-
142
- function insertIndices() {
143
- pages = ["class", "file", "method"]
144
- for (x in pages) {
145
- $(pages[x]).innerHTML += ajaxGet('fr_' + pages[x] + '_index.html').replace(/(href=")/g, '$1' + href_base);
146
- }
147
- /* mouseoverify method links */
148
- links = $('method').getElementsByTagName('a');
149
- for (var x = 0; x < links.length; x++) {
150
- if (m = links[x].innerHTML.match(/(.*)\s\((.*)\)/)) {
151
- links[x].innerHTML = m[1] + '<br>';
152
- links[x].title = m[2];
153
- }
154
- }
155
- /* this is stupid */
156
- $('class').style.display = "block";
157
- $('file').style.display = "block";
158
-
159
- /* has to be here because IE7 does not guarantee the onLoad callback order */
160
- abbreviateIndicesInner(["class", "file"], 25, "a");
161
- /* same, linkTitle() depends on the class link list */
162
- linkTitle();
163
- }
164
-
165
- function abbreviateIndices() {
166
- var ids = ["defined_in", "child_of", "includes", "requires", "method", "methods"];
167
- abbreviateIndicesInner(ids, 25, 'a');
168
- abbreviateIndicesInner(ids, 25, 'span');
169
- }
170
-
171
- function abbreviateIndicesInner(indices, amount, tag) {
172
- for (var x = 0; x < indices.length; x++) {
173
- var the_index = $(indices[x]);
174
- if (the_index) {
175
- links = the_index.getElementsByTagName(tag);
176
- for (var y = 0; y < links.length; y++) {
177
- var link = links[y];
178
- if (link.getElementsByTagName('span').length == 0 && link.getElementsByTagName('a').length == 0) {
179
- // avoid nesting
180
- link.innerHTML = link.innerHTML.replace(/<br>|\n/gi, '');
181
- link.title = link.innerHTML;
182
- link.innerHTML = abbreviate(link.innerHTML, amount) + '<br>';
183
- }
184
- }
185
- }
186
- }
187
- }
188
-
189
- function linkTitle() {
190
-
191
- /* grab the correct title element from the index */
192
- var index_page = ajaxGet('index.html');
193
- title_text = index_page.match(/<title>(.*)<\/title>/m)[1];
194
- document.title = title_text + " - " + document.title;
195
- var p = $('header').getElementsByTagName('p')[0]
196
- if (p.innerHTML.match(/^\s*$/)) {
197
- p.innerHTML = title_text;
198
- } else {
199
- p.innerHTML = title_text + ": " + p.innerHTML;
200
- }
201
-
202
- /* set the link properly */
203
- title_link = index_page.match(/<a\s+href="(.*?)"/)[1];
204
- var element = $('title');
205
- var item_type = "";
206
- var item_name = "";
207
- if (m = element.innerHTML.match(/(Class:|Module:|File:)\s*(.*)/)) {
208
- item_type = m[1];
209
- item_name = m[2];
210
- } else {
211
- item_name = element.innerHTML;
212
- }
213
- element.innerHTML = '<a href="' + href_base + title_link + '">' + item_type + " " + abbreviate(item_name, 45) + '</a>';
214
- element.getElementsByTagName('a')[0].title = item_name
215
-
216
- /* breadcrumb navigation */
217
- items = item_name.split("::");
218
- items_new = item_name.split("::");
219
- file_links = $('class').getElementsByTagName('a');
220
- for (var x = 0; x < items.length - 1; x++ ){
221
- var item = items[x];
222
- link = ("/classes/" + items.slice(0,x).join("/") + "/" + item + ".html").replace('//', '/');
223
- regex = new RegExp(RegExp.escape(link) + '$');
224
- for (var y = 0; y < file_links.length; y++) {
225
- if (file_links[y].href.match(regex)) {
226
- items_new[x] = '<a href="' + href_base + link + '">' + item + '</a>';
227
- break;
228
- }
229
- }
230
- }
231
- $('item_name').innerHTML = item_type + ' ' + items_new.join(" :: ");
232
- }
233
-
234
- function abbreviate(s, size) {
235
- // Try to get rid of path and extension in any case. These are not
236
- // even interesting if there is enough space.
237
-
238
- s = s.replace(/\..*$/, '');
239
- s = s.replace(/.*\//g, '');
240
-
241
- // Now this is a blatant hack.
242
-
243
- if (s == 'gosu')
244
- return ''; // Noone will ever see the link, harhar!
245
-
246
- while (s.length > size) {
247
- var old_s = s;
248
- s = s.replace(/\s|\n/mg, '');
249
- s = s.replace(/([A-Z])[a-z]+/m, '$1');
250
- if (!s || old_s == s) {
251
- return "..." + s.substring(s.length - size, s.length);
252
- }
253
- }
254
- return s;
255
- }
256
-
257
- function disableSubmit(event) {
258
- var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
259
- if (keyCode == 13) {
260
- return false;
261
- } else {
262
- return true;
263
- }
264
- }
265
-
266
- function filterList(id, s, event) {
267
-
268
- /* some weak escaping */
269
- s = s.replace(/[^\w\d\.\_\-\/\:\=\[\]\?\!]/g, '');
270
- s = RegExp.escape(s);
271
-
272
- var show_all = false;
273
- if (s.match(/^\s*$/)) {
274
- show_all = true;
275
- }
276
-
277
- links = $(id).getElementsByTagName('a')
278
- regex = new RegExp(s, 'i');
279
-
280
- for (var x = 0; x < links.length; x++) {
281
- var link = links[x];
282
- if (show_all) {
283
- link.style.display = 'inline';
284
- } else {
285
- if (link.innerHTML.match(regex)) {
286
- link.style.display = 'inline';
287
- } else {
288
- link.style.display = 'none';
289
- }
290
- }
291
- }
292
- return true;
293
- }
294
-
295
- RegExp.escape = function(text) {
296
- if (!arguments.callee.sRE) {
297
- var specials = ['/', '.', '*', '+', '?', '|', '(', ')', '[', ']', '{', '}', '\\'];
298
- arguments.callee.sRE = new RegExp(
299
- '(\\' + specials.join('|\\') + ')', 'g'
300
- );
301
- }
302
- return text.replace(arguments.callee.sRE, '\\$1');
303
- }
304
-
305
- function hacks() {
306
- // show the spacer if necessary,
307
- divs = document.getElementsByTagName('div');
308
- for(var x = 0; x < divs.length; x++) {
309
- if (divs[x].className && divs[x].className.match(/top/)) {
310
- document.getElementById('spacer').style.display = 'block';
311
- }
312
- }
313
- // remove extra colons from tables
314
- tds = document.getElementsByTagName('td');
315
- for(var x = 0; x < tds.length; x++) {
316
- str = tds[x].innerHTML
317
- if (str.charAt(str.length - 1) == ":") {
318
- tds[x].innerHTML = str.slice(0, str.length - 1)
319
- }
320
- }
321
- }
322
-
323
- addEvent(window, 'load', insertIndices, false);
324
- addEvent(window, 'load', abbreviateIndices, false);
325
- addEvent(window, 'load', stripe, false);
326
- addEvent(window, 'load', highlightSymbols, false);
327
- addEvent(window, 'load', hacks, false);
328
- </script></head><body><div id="container"><div class="curve" id="preheader_curve_0"></div><div class="curve" id="preheader_curve_1"></div><div class="curve" id="preheader_curve_2"></div><div class="curve" id="preheader_curve_3"></div><div class="curve" id="preheader_curve_4"></div><div class="curve" id="preheader_curve_5"></div><div id="header"><span><h1 id="title">
329
- Class: Gosu::GLTexInfo
330
- </h1></span></div><div class="clear"></div><div id="left">
331
- <div class="navigation darker top" id="child_of"><h3>Child of</h3><span>
332
-
333
- Object
334
- </span></div>
335
-
336
- <div class="navigation darker top" id="defined_in"><h3>Defined in</h3>
337
-
338
- <a href="../../files/reference/gosu_rb.html">reference/gosu.rb</a>
339
-
340
- </div>
341
-
342
-
343
-
344
- <div id="spacer"></div><div class="navigation darker index" id="class_wrapper"><div class="list_header"><h3>All classes</h3></div><div class="list_header_link"><a href="#" onclick="toggle('class'); toggleText('class_link'); return false;" id="class_link">Hide...</a></div><div class="clear"></div><div id="class"><form><label for="filter_class">Filter:&nbsp;&nbsp;</label><input type="text" onKeyPress="return disableSubmit(event);" id="filter_class" onKeyUp="return filterList('class', this.value, event);"></input></form></div></div><div class="navigation darker index" id="file_wrapper"><div class="list_header"><h3>All files</h3></div><div class="list_header_link"><a href="#" onclick="toggle('file'); toggleText('file_link'); return false;" id="file_link">Hide...</a></div><div class="clear"></div><div id="file"><form><label for="filter_file">Filter:&nbsp;&nbsp;</label><input type="text" onKeyPress="return disableSubmit(event);" id="filter_file" onKeyUp="return filterList('file', this.value, event);"></input></form></div></div><div class="navigation darker index" id="method_wrapper"><div class="list_header"><h3>All methods</h3></div><div class="list_header_link"><a href="#" onclick="toggle('method'); toggleText('method_link'); return false;" id="method_link">Show...</a></div><div class="clear"></div><div id="method"><form><label for="filter_method">Filter:&nbsp;&nbsp;</label><input type="text" onKeyPress="return disableSubmit(event);" id="filter_method" onKeyUp="return filterList('method', this.value, event);"></input></form></div></div></div><div id="content">
345
- <div id="description"><p>
346
- Contains information about the underlying OpenGL texture and the u/v space
347
- used for image data.
348
- </p>
349
- <p>
350
- Can be retrieved from some images to use them in OpenGL operations. nil
351
- will be returned instead by images that are too large for a single
352
- texture.)
353
- </p>
354
- <p>
355
- See examples/OpenGLIntegration.rb.
356
- </p>
357
- </div>
358
-
359
-
360
-
361
-
362
- <p></p>
363
-
364
-
365
-
366
-
367
- <h1>Attributes</h1><p><table><tr><th>Name</th><th>Read/write?</th></tr>
368
- <tr>
369
- <td class="highlight">bottom</td>
370
-
371
-
372
-
373
-
374
- <td class="normal">R</td>
375
- </tr>
376
- <tr>
377
- <td class="highlight">left</td>
378
-
379
-
380
-
381
-
382
- <td class="normal">R</td>
383
- </tr>
384
- <tr>
385
- <td class="highlight">right</td>
386
-
387
-
388
-
389
-
390
- <td class="normal">R</td>
391
- </tr>
392
- <tr>
393
- <td class="highlight">tex_name</td>
394
-
395
-
396
-
397
-
398
- <td class="normal">R</td>
399
- </tr>
400
- <tr>
401
- <td class="highlight">top</td>
402
-
403
-
404
-
405
-
406
- <td class="normal">R</td>
407
- </tr>
408
- </table></p>
409
-
410
-
411
-
412
- </div><div class="clear" id="footer">Allison 2 &copy; 2007 <a href="http://cloudbur.st">Cloudburst, LLC</a><br/>slightly adapted for the Gosu project by Julian Raschke</div></div></body></html>
@@ -1,706 +0,0 @@
1
- <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"/><title>Class: Gosu::Image</title><link type="text/css" media="screen" href="../.././rdoc-style.css" rel="stylesheet"/><script type="text/javascript">
2
- // Allison template
3
- // Copyright 2007, 2008 Cloudburst, LLC. Licensed under the AFL 3. See the included LICENSE file.
4
-
5
- var href_base = '../.././rdoc-style.css'.replace(/(.*\/).*/, '$1'); // inline js is good for something
6
-
7
- function $(id) {
8
- if (document.getElementById)
9
- elem = document.getElementById(id);
10
- else if ( document.all )
11
- elem = eval("document.all." + id);
12
- else
13
- return false;
14
- return elem;
15
- }
16
-
17
- function toggle(id) {
18
- elem = $(id);
19
- elemStyle = elem.style;
20
- if (elemStyle.display == "block") {
21
- elemStyle.display = "none"
22
- } else {
23
- elemStyle.display = "block"
24
- }
25
- return true;
26
- }
27
-
28
- function toggleText(id) {
29
- elem = $(id)
30
- if (m = elem.innerHTML.match(/(Hide)(.*)/)) {
31
- elem.innerHTML = "Show" + m[2];
32
- } else if (m = elem.innerHTML.match(/(Show)(.*)/)) {
33
- elem.innerHTML = "Hide" + m[2];
34
- }
35
- return true;
36
- }
37
-
38
- function span(s, klass) {
39
- return '<span class="' + klass + '">' + s + '</span>';
40
- }
41
-
42
- function highlightSymbols() {
43
- pres = document.getElementsByTagName('pre');
44
- for(var i = 0; i < pres.length; i++) {
45
- pre = pres[i];
46
- spans = pre.getElementsByTagName('span');
47
- for(var k = 0; k < spans.length; k++) {
48
- span = spans[k];
49
- if (span.className.match(/ruby-identifier/)) {
50
- if (span.innerHTML.match(/^:/)) {
51
- span.className += " ruby-symbol";
52
- }
53
- }
54
- }
55
- }
56
- }
57
-
58
- function hasClass(obj) {
59
- var result = false;
60
- if (obj.getAttributeNode("class") != null) {
61
- result = obj.getAttributeNode("class").value;
62
- }
63
- return result;
64
- }
65
-
66
- function stripe() {
67
- var even = true;
68
- var color = "#e4ebed";
69
- var tables = document.getElementsByTagName('table');
70
- if (tables.length == 0) { return; }
71
- for (var h = 0; h < tables.length; h++) {
72
- var trs = tables[h].getElementsByTagName("tr");
73
- for (var i = 0; i < trs.length; i++) {
74
- var tds = trs[i].getElementsByTagName("td");
75
- for (var j = 0; j < tds.length; j++) {
76
- if (hasClass(tds[j]) != "first") {
77
- var mytd = tds[j];
78
- if (even) {
79
- mytd.style.backgroundColor = color;
80
- }
81
- }
82
- }
83
- even = ! even;
84
- }
85
- }
86
- }
87
-
88
- function ajaxGet(url) {
89
- url = (href_base + url).replace('/./', '/')
90
- var req = false;
91
-
92
- if (window.ActiveXObject) {
93
- try {
94
- // stupid hack because IE7 disables local Ajax with the native xmlhttprequest object
95
- // for security purposes. Yet ActiveX still works. Thanks, Microsoft. I hate you. Die.
96
- req = new ActiveXObject("MSXML2.XMLHTTP.3.0");
97
- } catch (e) {
98
- try {
99
- /* IE 6 and maybe 5, don't know, don't care */
100
- req = new ActiveXObject("Msxml2.XMLHTTP");
101
- } catch (e) {
102
- try {
103
- req = new ActiveXObject("Microsoft.XMLHTTP");
104
- } catch (e) {
105
- req = false;
106
- }
107
- }
108
- }
109
- }
110
-
111
- /* real browsers */
112
- if (!req && window.XMLHttpRequest) {
113
- try {
114
- req = new XMLHttpRequest();
115
- } catch (e) {
116
- req = false;
117
- }
118
- }
119
-
120
- if (req) {
121
- req.open('GET', url, false);
122
- req.send(null);
123
- return req.responseText;
124
- } else {
125
- return "Ajax error";
126
- }
127
- }
128
-
129
-
130
- function addEvent(elm, evType, fn, useCapture) {
131
- if (elm.addEventListener) {
132
- elm.addEventListener(evType, fn, useCapture);
133
- return true;
134
- } else if (elm.attachEvent) {
135
- var r = elm.attachEvent('on' + evType, fn);
136
- return r;
137
- } else {
138
- elm['on' + evType] = fn;
139
- }
140
- }
141
-
142
- function insertIndices() {
143
- pages = ["class", "file", "method"]
144
- for (x in pages) {
145
- $(pages[x]).innerHTML += ajaxGet('fr_' + pages[x] + '_index.html').replace(/(href=")/g, '$1' + href_base);
146
- }
147
- /* mouseoverify method links */
148
- links = $('method').getElementsByTagName('a');
149
- for (var x = 0; x < links.length; x++) {
150
- if (m = links[x].innerHTML.match(/(.*)\s\((.*)\)/)) {
151
- links[x].innerHTML = m[1] + '<br>';
152
- links[x].title = m[2];
153
- }
154
- }
155
- /* this is stupid */
156
- $('class').style.display = "block";
157
- $('file').style.display = "block";
158
-
159
- /* has to be here because IE7 does not guarantee the onLoad callback order */
160
- abbreviateIndicesInner(["class", "file"], 25, "a");
161
- /* same, linkTitle() depends on the class link list */
162
- linkTitle();
163
- }
164
-
165
- function abbreviateIndices() {
166
- var ids = ["defined_in", "child_of", "includes", "requires", "method", "methods"];
167
- abbreviateIndicesInner(ids, 25, 'a');
168
- abbreviateIndicesInner(ids, 25, 'span');
169
- }
170
-
171
- function abbreviateIndicesInner(indices, amount, tag) {
172
- for (var x = 0; x < indices.length; x++) {
173
- var the_index = $(indices[x]);
174
- if (the_index) {
175
- links = the_index.getElementsByTagName(tag);
176
- for (var y = 0; y < links.length; y++) {
177
- var link = links[y];
178
- if (link.getElementsByTagName('span').length == 0 && link.getElementsByTagName('a').length == 0) {
179
- // avoid nesting
180
- link.innerHTML = link.innerHTML.replace(/<br>|\n/gi, '');
181
- link.title = link.innerHTML;
182
- link.innerHTML = abbreviate(link.innerHTML, amount) + '<br>';
183
- }
184
- }
185
- }
186
- }
187
- }
188
-
189
- function linkTitle() {
190
-
191
- /* grab the correct title element from the index */
192
- var index_page = ajaxGet('index.html');
193
- title_text = index_page.match(/<title>(.*)<\/title>/m)[1];
194
- document.title = title_text + " - " + document.title;
195
- var p = $('header').getElementsByTagName('p')[0]
196
- if (p.innerHTML.match(/^\s*$/)) {
197
- p.innerHTML = title_text;
198
- } else {
199
- p.innerHTML = title_text + ": " + p.innerHTML;
200
- }
201
-
202
- /* set the link properly */
203
- title_link = index_page.match(/<a\s+href="(.*?)"/)[1];
204
- var element = $('title');
205
- var item_type = "";
206
- var item_name = "";
207
- if (m = element.innerHTML.match(/(Class:|Module:|File:)\s*(.*)/)) {
208
- item_type = m[1];
209
- item_name = m[2];
210
- } else {
211
- item_name = element.innerHTML;
212
- }
213
- element.innerHTML = '<a href="' + href_base + title_link + '">' + item_type + " " + abbreviate(item_name, 45) + '</a>';
214
- element.getElementsByTagName('a')[0].title = item_name
215
-
216
- /* breadcrumb navigation */
217
- items = item_name.split("::");
218
- items_new = item_name.split("::");
219
- file_links = $('class').getElementsByTagName('a');
220
- for (var x = 0; x < items.length - 1; x++ ){
221
- var item = items[x];
222
- link = ("/classes/" + items.slice(0,x).join("/") + "/" + item + ".html").replace('//', '/');
223
- regex = new RegExp(RegExp.escape(link) + '$');
224
- for (var y = 0; y < file_links.length; y++) {
225
- if (file_links[y].href.match(regex)) {
226
- items_new[x] = '<a href="' + href_base + link + '">' + item + '</a>';
227
- break;
228
- }
229
- }
230
- }
231
- $('item_name').innerHTML = item_type + ' ' + items_new.join(" :: ");
232
- }
233
-
234
- function abbreviate(s, size) {
235
- // Try to get rid of path and extension in any case. These are not
236
- // even interesting if there is enough space.
237
-
238
- s = s.replace(/\..*$/, '');
239
- s = s.replace(/.*\//g, '');
240
-
241
- // Now this is a blatant hack.
242
-
243
- if (s == 'gosu')
244
- return ''; // Noone will ever see the link, harhar!
245
-
246
- while (s.length > size) {
247
- var old_s = s;
248
- s = s.replace(/\s|\n/mg, '');
249
- s = s.replace(/([A-Z])[a-z]+/m, '$1');
250
- if (!s || old_s == s) {
251
- return "..." + s.substring(s.length - size, s.length);
252
- }
253
- }
254
- return s;
255
- }
256
-
257
- function disableSubmit(event) {
258
- var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
259
- if (keyCode == 13) {
260
- return false;
261
- } else {
262
- return true;
263
- }
264
- }
265
-
266
- function filterList(id, s, event) {
267
-
268
- /* some weak escaping */
269
- s = s.replace(/[^\w\d\.\_\-\/\:\=\[\]\?\!]/g, '');
270
- s = RegExp.escape(s);
271
-
272
- var show_all = false;
273
- if (s.match(/^\s*$/)) {
274
- show_all = true;
275
- }
276
-
277
- links = $(id).getElementsByTagName('a')
278
- regex = new RegExp(s, 'i');
279
-
280
- for (var x = 0; x < links.length; x++) {
281
- var link = links[x];
282
- if (show_all) {
283
- link.style.display = 'inline';
284
- } else {
285
- if (link.innerHTML.match(regex)) {
286
- link.style.display = 'inline';
287
- } else {
288
- link.style.display = 'none';
289
- }
290
- }
291
- }
292
- return true;
293
- }
294
-
295
- RegExp.escape = function(text) {
296
- if (!arguments.callee.sRE) {
297
- var specials = ['/', '.', '*', '+', '?', '|', '(', ')', '[', ']', '{', '}', '\\'];
298
- arguments.callee.sRE = new RegExp(
299
- '(\\' + specials.join('|\\') + ')', 'g'
300
- );
301
- }
302
- return text.replace(arguments.callee.sRE, '\\$1');
303
- }
304
-
305
- function hacks() {
306
- // show the spacer if necessary,
307
- divs = document.getElementsByTagName('div');
308
- for(var x = 0; x < divs.length; x++) {
309
- if (divs[x].className && divs[x].className.match(/top/)) {
310
- document.getElementById('spacer').style.display = 'block';
311
- }
312
- }
313
- // remove extra colons from tables
314
- tds = document.getElementsByTagName('td');
315
- for(var x = 0; x < tds.length; x++) {
316
- str = tds[x].innerHTML
317
- if (str.charAt(str.length - 1) == ":") {
318
- tds[x].innerHTML = str.slice(0, str.length - 1)
319
- }
320
- }
321
- }
322
-
323
- addEvent(window, 'load', insertIndices, false);
324
- addEvent(window, 'load', abbreviateIndices, false);
325
- addEvent(window, 'load', stripe, false);
326
- addEvent(window, 'load', highlightSymbols, false);
327
- addEvent(window, 'load', hacks, false);
328
- </script></head><body><div id="container"><div class="curve" id="preheader_curve_0"></div><div class="curve" id="preheader_curve_1"></div><div class="curve" id="preheader_curve_2"></div><div class="curve" id="preheader_curve_3"></div><div class="curve" id="preheader_curve_4"></div><div class="curve" id="preheader_curve_5"></div><div id="header"><span><h1 id="title">
329
- Class: Gosu::Image
330
- </h1></span></div><div class="clear"></div><div id="left">
331
- <div class="navigation darker top" id="child_of"><h3>Child of</h3><span>
332
-
333
- Object
334
- </span></div>
335
-
336
- <div class="navigation darker top" id="defined_in"><h3>Defined in</h3>
337
-
338
- <a href="../../files/reference/gosu_rb.html">reference/gosu.rb</a>
339
-
340
- </div>
341
-
342
-
343
-
344
- <div class="navigation top" id="methods"><h3>Methods</h3>
345
-
346
-
347
- <a href='#M000023'>
348
- draw<br/>
349
- </a>
350
-
351
-
352
-
353
-
354
- <a href='#M000025'>
355
- draw_as_quad<br/>
356
- </a>
357
-
358
-
359
-
360
-
361
- <a href='#M000024'>
362
- draw_rot<br/>
363
- </a>
364
-
365
-
366
-
367
-
368
- <a href='#M000027'>
369
- from_text<br/>
370
- </a>
371
-
372
-
373
-
374
-
375
- <a href='#M000026'>
376
- from_text<br/>
377
- </a>
378
-
379
-
380
-
381
-
382
- <a href='#M000029'>
383
- gl_tex_info<br/>
384
- </a>
385
-
386
-
387
-
388
-
389
- <a href='#M000028'>
390
- load_tiles<br/>
391
- </a>
392
-
393
-
394
-
395
-
396
- <a href='#M000022'>
397
- new<br/>
398
- </a>
399
-
400
-
401
-
402
-
403
- <a href='#M000021'>
404
- new<br/>
405
- </a>
406
-
407
-
408
- </div>
409
- <div id="spacer"></div><div class="navigation darker index" id="class_wrapper"><div class="list_header"><h3>All classes</h3></div><div class="list_header_link"><a href="#" onclick="toggle('class'); toggleText('class_link'); return false;" id="class_link">Hide...</a></div><div class="clear"></div><div id="class"><form><label for="filter_class">Filter:&nbsp;&nbsp;</label><input type="text" onKeyPress="return disableSubmit(event);" id="filter_class" onKeyUp="return filterList('class', this.value, event);"></input></form></div></div><div class="navigation darker index" id="file_wrapper"><div class="list_header"><h3>All files</h3></div><div class="list_header_link"><a href="#" onclick="toggle('file'); toggleText('file_link'); return false;" id="file_link">Hide...</a></div><div class="clear"></div><div id="file"><form><label for="filter_file">Filter:&nbsp;&nbsp;</label><input type="text" onKeyPress="return disableSubmit(event);" id="filter_file" onKeyUp="return filterList('file', this.value, event);"></input></form></div></div><div class="navigation darker index" id="method_wrapper"><div class="list_header"><h3>All methods</h3></div><div class="list_header_link"><a href="#" onclick="toggle('method'); toggleText('method_link'); return false;" id="method_link">Show...</a></div><div class="clear"></div><div id="method"><form><label for="filter_method">Filter:&nbsp;&nbsp;</label><input type="text" onKeyPress="return disableSubmit(event);" id="filter_method" onKeyUp="return filterList('method', this.value, event);"></input></form></div></div></div><div id="content">
410
- <div id="description"><p>
411
- Provides functionality for drawing rectangular images.
412
- </p>
413
- </div>
414
-
415
-
416
-
417
-
418
- <p></p>
419
-
420
-
421
-
422
-
423
- <h1>Attributes</h1><p><table><tr><th>Name</th><th>Read/write?</th></tr>
424
- <tr>
425
- <td class="highlight">height</td>
426
-
427
-
428
-
429
-
430
- <td class="normal">R</td>
431
- </tr>
432
- <tr>
433
- <td class="highlight">width</td>
434
-
435
-
436
-
437
-
438
- <td class="normal">R</td>
439
- </tr>
440
- </table></p>
441
-
442
-
443
- <h1>Public Class Methods</h1>
444
-
445
-
446
- <a class="small" name="M000027"><br/></a>
447
- <div class="method_block"><h3>
448
- <a href='#M000027'>
449
-
450
-
451
- from_text
452
-
453
- (window, text, font_name, font_height, line_spacing, max_width, align)
454
-
455
- </a>
456
- </h3>
457
- <p>
458
- Creates an <a href="Image.html">Image</a> that is filled with the text
459
- given to the function.
460
- </p>
461
- <p>
462
- The text may contain line breaks.
463
- </p>
464
- <p>
465
- The text is always rendered in white. If you want to <a
466
- href="Image.html#M000023">draw</a> it in a different color, just modulate
467
- it by the target color.
468
- </p>
469
- <table>
470
- <tr><td valign="top">font_name:</td><td>Name of a system font, or a filename to a TTF file (must contain
471
- &#8217;/&#8217;, does not work on Linux).
472
-
473
- </td></tr>
474
- <tr><td valign="top">font_height:</td><td>Height of the font in pixels.
475
-
476
- </td></tr>
477
- <tr><td valign="top">line_spacing:</td><td>Spacing between two lines of text in pixels.
478
-
479
- </td></tr>
480
- <tr><td valign="top">max_width:</td><td>Width of the bitmap that will be returned. Text will be split into multiple
481
- lines to avoid drawing over the right border. When a single word is too
482
- long, it will be truncated.
483
-
484
- </td></tr>
485
- <tr><td valign="top">align:</td><td>One of :left, :right, :center or :justify.
486
-
487
- </td></tr>
488
- </table>
489
-
490
- <p class="source_link" id="M000027-show-link"><a href="#" onclick="toggle('M000027-source'); toggleText('M000027-link'); return false;" id="M000027-link">Show source...</a></p><div class="source" id="M000027-source"><pre><span class="ruby-comment cmt"># File reference/gosu.rb, line 244</span>
491
- <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">from_text</span>(<span class="ruby-identifier">window</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">font_name</span>, <span class="ruby-identifier">font_height</span>, <span class="ruby-identifier">line_spacing</span>, <span class="ruby-identifier">max_width</span>, <span class="ruby-identifier">align</span>); <span class="ruby-keyword kw">end</span></pre></div>
492
- </div>
493
-
494
- <a class="small" name="M000026"><br/></a>
495
- <div class="method_block"><h3>
496
- <a href='#M000026'>
497
-
498
-
499
- from_text
500
-
501
- (window, text, font_name, font_height)
502
-
503
- </a>
504
- </h3>
505
- <p>
506
- Creates an <a href="Image.html">Image</a> containing a line of text.
507
- </p>
508
- <p>
509
- The text is always rendered in white. If you want to <a
510
- href="Image.html#M000023">draw</a> it in a different color, just modulate
511
- it by the target color.
512
- </p>
513
- <table>
514
- <tr><td valign="top">font_name:</td><td>Name of a system font, or a filename to a TTF file (must contain
515
- &#8217;/&#8217;, does not work on Linux).
516
-
517
- </td></tr>
518
- <tr><td valign="top">font_height:</td><td>Height of the font in pixels.
519
-
520
- </td></tr>
521
- </table>
522
-
523
- <p class="source_link" id="M000026-show-link"><a href="#" onclick="toggle('M000026-source'); toggleText('M000026-link'); return false;" id="M000026-link">Show source...</a></p><div class="source" id="M000026-source"><pre><span class="ruby-comment cmt"># File reference/gosu.rb, line 231</span>
524
- <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">from_text</span>(<span class="ruby-identifier">window</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">font_name</span>, <span class="ruby-identifier">font_height</span>); <span class="ruby-keyword kw">end</span></pre></div>
525
- </div>
526
-
527
- <a class="small" name="M000028"><br/></a>
528
- <div class="method_block"><h3>
529
- <a href='#M000028'>
530
-
531
-
532
- load_tiles
533
-
534
- (window, filename_or_rmagick_image, tile_width, tile_height, tileable)
535
-
536
- </a>
537
- </h3>
538
- <p>
539
- Convenience function that splits a BMP or PNG file into an array of small
540
- rectangles and creates images from them. Returns the Array containing <a
541
- href="Image.html">Image</a> instances.
542
- </p>
543
- <table>
544
- <tr><td valign="top">tile_width:</td><td>If positive, specifies the width of one tile in pixels. If negative, the
545
- bitmap is divided into -tile_width rows.
546
-
547
- </td></tr>
548
- <tr><td valign="top">tile_height:</td><td>See tile_width.
549
-
550
- </td></tr>
551
- </table>
552
-
553
- <p class="source_link" id="M000028-show-link"><a href="#" onclick="toggle('M000028-source'); toggleText('M000028-link'); return false;" id="M000028-link">Show source...</a></p><div class="source" id="M000028-source"><pre><span class="ruby-comment cmt"># File reference/gosu.rb, line 251</span>
554
- <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">load_tiles</span>(<span class="ruby-identifier">window</span>, <span class="ruby-identifier">filename_or_rmagick_image</span>, <span class="ruby-identifier">tile_width</span>, <span class="ruby-identifier">tile_height</span>, <span class="ruby-identifier">tileable</span>); <span class="ruby-keyword kw">end</span></pre></div>
555
- </div>
556
-
557
- <a class="small" name="M000022"><br/></a>
558
- <div class="method_block"><h3>
559
- <a href='#M000022'>
560
-
561
-
562
- new
563
-
564
- (window, filename_or_rmagick_image, tileable, src_x, src_y, src_width, src_height)
565
-
566
- </a>
567
- </h3>
568
- <p>
569
- Loads an image from a given filename that can be drawn onto the given
570
- window.
571
- </p>
572
- <p>
573
- This constructor can handle PNG and BMP images. A color key of ff00ff is
574
- automatically applied to BMP type images. For more flexibility, use PNG
575
- files.
576
- </p>
577
- <p>
578
- This constructor only loads a sub-rectangle of the given file. Because
579
- every call of this constructor will open the image again, it is preferable
580
- to use <a href="Image.html#M000028">Image#load_tiles</a>.
581
- </p>
582
-
583
- <p class="source_link" id="M000022-show-link"><a href="#" onclick="toggle('M000022-source'); toggleText('M000022-link'); return false;" id="M000022-link">Show source...</a></p><div class="source" id="M000022-source"><pre><span class="ruby-comment cmt"># File reference/gosu.rb, line 212</span>
584
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">window</span>, <span class="ruby-identifier">filename_or_rmagick_image</span>, <span class="ruby-identifier">tileable</span>, <span class="ruby-identifier">src_x</span>, <span class="ruby-identifier">src_y</span>, <span class="ruby-identifier">src_width</span>, <span class="ruby-identifier">src_height</span>); <span class="ruby-keyword kw">end</span></pre></div>
585
- </div>
586
-
587
- <a class="small" name="M000021"><br/></a>
588
- <div class="method_block"><h3>
589
- <a href='#M000021'>
590
-
591
-
592
- new
593
-
594
- (window, filename_or_rmagick_image, tileable)
595
-
596
- </a>
597
- </h3>
598
- <p>
599
- Loads an image from a given filename that can be drawn onto the given
600
- window.
601
- </p>
602
- <p>
603
- This constructor can handle PNG and BMP images. A color key of ff00ff is
604
- automatically applied to BMP type images. For more flexibility, use PNG
605
- files.
606
- </p>
607
-
608
- <p class="source_link" id="M000021-show-link"><a href="#" onclick="toggle('M000021-source'); toggleText('M000021-link'); return false;" id="M000021-link">Show source...</a></p><div class="source" id="M000021-source"><pre><span class="ruby-comment cmt"># File reference/gosu.rb, line 200</span>
609
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">window</span>, <span class="ruby-identifier">filename_or_rmagick_image</span>, <span class="ruby-identifier">tileable</span>); <span class="ruby-keyword kw">end</span></pre></div>
610
- </div>
611
-
612
-
613
- <h1>Public Instance Methods</h1>
614
-
615
-
616
- <a class="small" name="M000023"><br/></a>
617
- <div class="method_block"><h3>
618
- <a href='#M000023'>
619
-
620
-
621
- draw
622
-
623
- (x, y, z, factor_x=1, factor_y=1, color=0xffffffff, mode=:default)
624
-
625
- </a>
626
- </h3>
627
- <p>
628
- Draws the image so its upper left corner is at (x; y).
629
- </p>
630
-
631
- <p class="source_link" id="M000023-show-link"><a href="#" onclick="toggle('M000023-source'); toggleText('M000023-link'); return false;" id="M000023-link">Show source...</a></p><div class="source" id="M000023-source"><pre><span class="ruby-comment cmt"># File reference/gosu.rb, line 215</span>
632
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">draw</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">y</span>, <span class="ruby-identifier">z</span>, <span class="ruby-identifier">factor_x</span>=<span class="ruby-value">1</span>, <span class="ruby-identifier">factor_y</span>=<span class="ruby-value">1</span>, <span class="ruby-identifier">color</span>=<span class="ruby-value">0xffffffff</span>, <span class="ruby-identifier">mode</span>=<span class="ruby-identifier">:default</span>); <span class="ruby-keyword kw">end</span></pre></div>
633
- </div>
634
-
635
- <a class="small" name="M000025"><br/></a>
636
- <div class="method_block"><h3>
637
- <a href='#M000025'>
638
-
639
-
640
- draw_as_quad
641
-
642
- (x1, y1, c1, x2, y2, c2, x3, y3, c3, x4, y4, c4, z, mode=:default)
643
-
644
- </a>
645
- </h3>
646
- <p>
647
- Like <a href="Window.html#M000046">Window#draw_quad</a>, but with this
648
- texture instead of colors. Can be used to implement advanced,
649
- non-rectangular drawing techniques and takes four points and the modulation
650
- color at each of them. The points can be in clockwise order, or in a Z
651
- shape, starting at the top left.
652
- </p>
653
-
654
- <p class="source_link" id="M000025-show-link"><a href="#" onclick="toggle('M000025-source'); toggleText('M000025-link'); return false;" id="M000025-link">Show source...</a></p><div class="source" id="M000025-source"><pre><span class="ruby-comment cmt"># File reference/gosu.rb, line 223</span>
655
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">draw_as_quad</span>(<span class="ruby-identifier">x1</span>, <span class="ruby-identifier">y1</span>, <span class="ruby-identifier">c1</span>, <span class="ruby-identifier">x2</span>, <span class="ruby-identifier">y2</span>, <span class="ruby-identifier">c2</span>, <span class="ruby-identifier">x3</span>, <span class="ruby-identifier">y3</span>, <span class="ruby-identifier">c3</span>, <span class="ruby-identifier">x4</span>, <span class="ruby-identifier">y4</span>, <span class="ruby-identifier">c4</span>, <span class="ruby-identifier">z</span>, <span class="ruby-identifier">mode</span>=<span class="ruby-identifier">:default</span>); <span class="ruby-keyword kw">end</span></pre></div>
656
- </div>
657
-
658
- <a class="small" name="M000024"><br/></a>
659
- <div class="method_block"><h3>
660
- <a href='#M000024'>
661
-
662
-
663
- draw_rot
664
-
665
- (x, y, z, angle, center_x=0.5, center_y=0.5, factor_x=1, factor_y=1, color=0xffffffff, mode=:default)
666
-
667
- </a>
668
- </h3>
669
- <table>
670
- <tr><td valign="top">center_x:</td><td>Relative horizontal position of the rotation center on the image. 0 is the
671
- left border, 1 is the right border, 0.5 is the center (and default)
672
-
673
- </td></tr>
674
- <tr><td valign="top">center_y:</td><td>See center_x.
675
-
676
- </td></tr>
677
- </table>
678
-
679
- <p class="source_link" id="M000024-show-link"><a href="#" onclick="toggle('M000024-source'); toggleText('M000024-link'); return false;" id="M000024-link">Show source...</a></p><div class="source" id="M000024-source"><pre><span class="ruby-comment cmt"># File reference/gosu.rb, line 219</span>
680
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">draw_rot</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">y</span>, <span class="ruby-identifier">z</span>, <span class="ruby-identifier">angle</span>, <span class="ruby-identifier">center_x</span>=<span class="ruby-value">0</span><span class="ruby-value">.5</span>, <span class="ruby-identifier">center_y</span>=<span class="ruby-value">0</span><span class="ruby-value">.5</span>, <span class="ruby-identifier">factor_x</span>=<span class="ruby-value">1</span>, <span class="ruby-identifier">factor_y</span>=<span class="ruby-value">1</span>, <span class="ruby-identifier">color</span>=<span class="ruby-value">0xffffffff</span>, <span class="ruby-identifier">mode</span>=<span class="ruby-identifier">:default</span>); <span class="ruby-keyword kw">end</span></pre></div>
681
- </div>
682
-
683
- <a class="small" name="M000029"><br/></a>
684
- <div class="method_block"><h3>
685
- <a href='#M000029'>
686
-
687
-
688
- gl_tex_info
689
-
690
- ()
691
-
692
- </a>
693
- </h3>
694
- <p>
695
- See examples/OpenGLIntegration.rb.
696
- </p>
697
-
698
- <p class="source_link" id="M000029-show-link"><a href="#" onclick="toggle('M000029-source'); toggleText('M000029-link'); return false;" id="M000029-link">Show source...</a></p><div class="source" id="M000029-source"><pre><span class="ruby-comment cmt"># File reference/gosu.rb, line 254</span>
699
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">gl_tex_info</span>; <span class="ruby-keyword kw">end</span></pre></div>
700
- </div>
701
-
702
-
703
-
704
-
705
-
706
- </div><div class="clear" id="footer">Allison 2 &copy; 2007 <a href="http://cloudbur.st">Cloudburst, LLC</a><br/>slightly adapted for the Gosu project by Julian Raschke</div></div></body></html>