aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/others/irrlicht-1.8.1/doc/html/_s_color_8h_source.html
blob: a14db32593acbb417ceefce0bcc067d90c3a81d4 (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
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
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Irrlicht 3D Engine: SColor.h Source File</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  <td id="projectlogo"><img alt="Logo" src="irrlichtlogo.png"/></td>
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">Irrlicht 3D Engine
   
   </div>
   
  </td>
  
  
  
   
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
</td>
   
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="dynsections.js"></script>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('_s_color_8h.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">SColor.h</div>  </div>
</div>
<div class="contents">
<a href="_s_color_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Copyright (C) 2002-2012 Nikolaus Gebhardt</span>
<a name="l00002"></a>00002 <span class="comment">// This file is part of the &quot;Irrlicht Engine&quot;.</span>
<a name="l00003"></a>00003 <span class="comment">// For conditions of distribution and use, see copyright notice in irrlicht.h</span>
<a name="l00004"></a>00004 
<a name="l00005"></a>00005 <span class="preprocessor">#ifndef __COLOR_H_INCLUDED__</span>
<a name="l00006"></a>00006 <span class="preprocessor"></span><span class="preprocessor">#define __COLOR_H_INCLUDED__</span>
<a name="l00007"></a>00007 <span class="preprocessor"></span>
<a name="l00008"></a>00008 <span class="preprocessor">#include &quot;<a class="code" href="irr_types_8h.html">irrTypes.h</a>&quot;</span>
<a name="l00009"></a>00009 <span class="preprocessor">#include &quot;<a class="code" href="irr_math_8h.html">irrMath.h</a>&quot;</span>
<a name="l00010"></a>00010 
<a name="l00011"></a>00011 <span class="keyword">namespace </span>irr
<a name="l00012"></a>00012 {
<a name="l00013"></a>00013 <span class="keyword">namespace </span>video
<a name="l00014"></a>00014 {
<a name="l00016"></a>00016 
<a name="l00017"></a><a class="code" href="namespaceirr_1_1video.html#a1d5e487888c32b1674a8f75116d829ed">00017</a>     <span class="keyword">enum</span> <a class="code" href="namespaceirr_1_1video.html#a1d5e487888c32b1674a8f75116d829ed" title="An enum for the color format of textures used by the Irrlicht Engine.">ECOLOR_FORMAT</a>
<a name="l00018"></a>00018     {
<a name="l00020"></a>00020 
<a name="l00023"></a><a class="code" href="namespaceirr_1_1video.html#a1d5e487888c32b1674a8f75116d829eda1207765b5eab1701111b5dc37b68b4bf">00023</a>         <a class="code" href="namespaceirr_1_1video.html#a1d5e487888c32b1674a8f75116d829eda1207765b5eab1701111b5dc37b68b4bf" title="16 bit color format used by the software driver.">ECF_A1R5G5B5</a> = 0,
<a name="l00024"></a>00024 
<a name="l00026"></a><a class="code" href="namespaceirr_1_1video.html#a1d5e487888c32b1674a8f75116d829eda49b4fe9d0ba395456dcd7c76a1ae9775">00026</a>         <a class="code" href="namespaceirr_1_1video.html#a1d5e487888c32b1674a8f75116d829eda49b4fe9d0ba395456dcd7c76a1ae9775" title="Standard 16 bit color format.">ECF_R5G6B5</a>,
<a name="l00027"></a>00027 
<a name="l00029"></a><a class="code" href="namespaceirr_1_1video.html#a1d5e487888c32b1674a8f75116d829eda3f0380aafb1e1fd59f5419a95d630a6d">00029</a>         <a class="code" href="namespaceirr_1_1video.html#a1d5e487888c32b1674a8f75116d829eda3f0380aafb1e1fd59f5419a95d630a6d" title="24 bit color, no alpha channel, but 8 bit for red, green and blue.">ECF_R8G8B8</a>,
<a name="l00030"></a>00030 
<a name="l00032"></a><a class="code" href="namespaceirr_1_1video.html#a1d5e487888c32b1674a8f75116d829eda55c57d63efff39efe33ee733fe962df0">00032</a>         <a class="code" href="namespaceirr_1_1video.html#a1d5e487888c32b1674a8f75116d829eda55c57d63efff39efe33ee733fe962df0" title="Default 32 bit color format. 8 bits are used for every component: red, green, blue and alpha...">ECF_A8R8G8B8</a>,
<a name="l00033"></a>00033 
<a name="l00036"></a>00036 
<a name="l00037"></a><a class="code" href="namespaceirr_1_1video.html#a1d5e487888c32b1674a8f75116d829edaaa87f3817817a302753b8dbb26fc72ec">00037</a>         <a class="code" href="namespaceirr_1_1video.html#a1d5e487888c32b1674a8f75116d829edaaa87f3817817a302753b8dbb26fc72ec" title="16 bit floating point format using 16 bits for the red channel.">ECF_R16F</a>,
<a name="l00038"></a>00038 
<a name="l00040"></a><a class="code" href="namespaceirr_1_1video.html#a1d5e487888c32b1674a8f75116d829edafc5bcc8f47e78d073130300229c22113">00040</a>         <a class="code" href="namespaceirr_1_1video.html#a1d5e487888c32b1674a8f75116d829edafc5bcc8f47e78d073130300229c22113" title="32 bit floating point format using 16 bits for the red channel and 16 bits for the green channel...">ECF_G16R16F</a>,
<a name="l00041"></a>00041 
<a name="l00043"></a><a class="code" href="namespaceirr_1_1video.html#a1d5e487888c32b1674a8f75116d829eda91a9f2eeac94b28d4e1421625b53ab5e">00043</a>         <a class="code" href="namespaceirr_1_1video.html#a1d5e487888c32b1674a8f75116d829eda91a9f2eeac94b28d4e1421625b53ab5e" title="64 bit floating point format 16 bits are used for the red, green, blue and alpha channels.">ECF_A16B16G16R16F</a>,
<a name="l00044"></a>00044 
<a name="l00046"></a><a class="code" href="namespaceirr_1_1video.html#a1d5e487888c32b1674a8f75116d829edad271018ac22c4ff6c76c8ebb870a6c96">00046</a>         <a class="code" href="namespaceirr_1_1video.html#a1d5e487888c32b1674a8f75116d829edad271018ac22c4ff6c76c8ebb870a6c96" title="32 bit floating point format using 32 bits for the red channel.">ECF_R32F</a>,
<a name="l00047"></a>00047 
<a name="l00049"></a><a class="code" href="namespaceirr_1_1video.html#a1d5e487888c32b1674a8f75116d829eda92ab57e6c0b93f96b08db4dc5656aea2">00049</a>         <a class="code" href="namespaceirr_1_1video.html#a1d5e487888c32b1674a8f75116d829eda92ab57e6c0b93f96b08db4dc5656aea2" title="64 bit floating point format using 32 bits for the red channel and 32 bits for the green channel...">ECF_G32R32F</a>,
<a name="l00050"></a>00050 
<a name="l00052"></a><a class="code" href="namespaceirr_1_1video.html#a1d5e487888c32b1674a8f75116d829eda22958f549a8322e81b5210edaa172157">00052</a>         <a class="code" href="namespaceirr_1_1video.html#a1d5e487888c32b1674a8f75116d829eda22958f549a8322e81b5210edaa172157" title="128 bit floating point format. 32 bits are used for the red, green, blue and alpha channels...">ECF_A32B32G32R32F</a>,
<a name="l00053"></a>00053 
<a name="l00055"></a><a class="code" href="namespaceirr_1_1video.html#a1d5e487888c32b1674a8f75116d829eda209608685f06c86c6ae489896a246e77">00055</a>         <a class="code" href="namespaceirr_1_1video.html#a1d5e487888c32b1674a8f75116d829eda209608685f06c86c6ae489896a246e77" title="Unknown color format:">ECF_UNKNOWN</a>
<a name="l00056"></a>00056     };
<a name="l00057"></a>00057 
<a name="l00058"></a>00058 
<a name="l00060"></a><a class="code" href="namespaceirr_1_1video.html#a65997ac1b7b7544acc0f4757be7860d1">00060</a>     <span class="keyword">inline</span> <a class="code" href="namespaceirr.html#ae9f8ec82692ad3b83c21f555bfa70bcc" title="16 bit unsigned variable.">u16</a> <a class="code" href="namespaceirr_1_1video.html#a65997ac1b7b7544acc0f4757be7860d1" title="Creates a 16 bit A1R5G5B5 color.">RGBA16</a>(<a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> r, <a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> g, <a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> b, <a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> a=0xFF)
<a name="l00061"></a>00061     {
<a name="l00062"></a>00062         <span class="keywordflow">return</span> (<a class="code" href="namespaceirr.html#ae9f8ec82692ad3b83c21f555bfa70bcc" title="16 bit unsigned variable.">u16</a>)((a &amp; 0x80) &lt;&lt; 8 |
<a name="l00063"></a>00063             (r &amp; 0xF8) &lt;&lt; 7 |
<a name="l00064"></a>00064             (g &amp; 0xF8) &lt;&lt; 2 |
<a name="l00065"></a>00065             (b &amp; 0xF8) &gt;&gt; 3);
<a name="l00066"></a>00066     }
<a name="l00067"></a>00067 
<a name="l00068"></a>00068 
<a name="l00070"></a><a class="code" href="namespaceirr_1_1video.html#a55f59b4905cab236a03cb420fd55830d">00070</a>     <span class="keyword">inline</span> <a class="code" href="namespaceirr.html#ae9f8ec82692ad3b83c21f555bfa70bcc" title="16 bit unsigned variable.">u16</a> <a class="code" href="namespaceirr_1_1video.html#a55f59b4905cab236a03cb420fd55830d" title="Creates a 16 bit A1R5G5B5 color.">RGB16</a>(<a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> r, <a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> g, <a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> b)
<a name="l00071"></a>00071     {
<a name="l00072"></a>00072         <span class="keywordflow">return</span> <a class="code" href="namespaceirr_1_1video.html#a65997ac1b7b7544acc0f4757be7860d1" title="Creates a 16 bit A1R5G5B5 color.">RGBA16</a>(r,g,b);
<a name="l00073"></a>00073     }
<a name="l00074"></a>00074 
<a name="l00075"></a>00075 
<a name="l00077"></a><a class="code" href="namespaceirr_1_1video.html#a1f8b2e9ef461d76c0723536f776c2e36">00077</a>     <span class="keyword">inline</span> <a class="code" href="namespaceirr.html#ae9f8ec82692ad3b83c21f555bfa70bcc" title="16 bit unsigned variable.">u16</a> <a class="code" href="namespaceirr_1_1video.html#a1f8b2e9ef461d76c0723536f776c2e36" title="Creates a 16bit A1R5G5B5 color, based on 16bit input values.">RGB16from16</a>(<a class="code" href="namespaceirr.html#ae9f8ec82692ad3b83c21f555bfa70bcc" title="16 bit unsigned variable.">u16</a> r, <a class="code" href="namespaceirr.html#ae9f8ec82692ad3b83c21f555bfa70bcc" title="16 bit unsigned variable.">u16</a> g, <a class="code" href="namespaceirr.html#ae9f8ec82692ad3b83c21f555bfa70bcc" title="16 bit unsigned variable.">u16</a> b)
<a name="l00078"></a>00078     {
<a name="l00079"></a>00079         <span class="keywordflow">return</span> (0x8000 |
<a name="l00080"></a>00080                 (r &amp; 0x1F) &lt;&lt; 10 |
<a name="l00081"></a>00081                 (g &amp; 0x1F) &lt;&lt; 5  |
<a name="l00082"></a>00082                 (b &amp; 0x1F));
<a name="l00083"></a>00083     }
<a name="l00084"></a>00084 
<a name="l00085"></a>00085 
<a name="l00087"></a><a class="code" href="namespaceirr_1_1video.html#a6824dfc9c71a7fd9d7a3e704b1267ddc">00087</a>     <span class="keyword">inline</span> <a class="code" href="namespaceirr.html#ae9f8ec82692ad3b83c21f555bfa70bcc" title="16 bit unsigned variable.">u16</a> <a class="code" href="namespaceirr_1_1video.html#a6824dfc9c71a7fd9d7a3e704b1267ddc" title="Converts a 32bit (X8R8G8B8) color to a 16bit A1R5G5B5 color.">X8R8G8B8toA1R5G5B5</a>(<a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> color)
<a name="l00088"></a>00088     {
<a name="l00089"></a>00089         <span class="keywordflow">return</span> (<a class="code" href="namespaceirr.html#ae9f8ec82692ad3b83c21f555bfa70bcc" title="16 bit unsigned variable.">u16</a>)(0x8000 |
<a name="l00090"></a>00090             ( color &amp; 0x00F80000) &gt;&gt; 9 |
<a name="l00091"></a>00091             ( color &amp; 0x0000F800) &gt;&gt; 6 |
<a name="l00092"></a>00092             ( color &amp; 0x000000F8) &gt;&gt; 3);
<a name="l00093"></a>00093     }
<a name="l00094"></a>00094 
<a name="l00095"></a>00095 
<a name="l00097"></a><a class="code" href="namespaceirr_1_1video.html#a929c6758a0edc772cf69b2c674e4f5cd">00097</a>     <span class="keyword">inline</span> <a class="code" href="namespaceirr.html#ae9f8ec82692ad3b83c21f555bfa70bcc" title="16 bit unsigned variable.">u16</a> <a class="code" href="namespaceirr_1_1video.html#a929c6758a0edc772cf69b2c674e4f5cd" title="Converts a 32bit (A8R8G8B8) color to a 16bit A1R5G5B5 color.">A8R8G8B8toA1R5G5B5</a>(<a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> color)
<a name="l00098"></a>00098     {
<a name="l00099"></a>00099         <span class="keywordflow">return</span> (<a class="code" href="namespaceirr.html#ae9f8ec82692ad3b83c21f555bfa70bcc" title="16 bit unsigned variable.">u16</a>)(( color &amp; 0x80000000) &gt;&gt; 16|
<a name="l00100"></a>00100             ( color &amp; 0x00F80000) &gt;&gt; 9 |
<a name="l00101"></a>00101             ( color &amp; 0x0000F800) &gt;&gt; 6 |
<a name="l00102"></a>00102             ( color &amp; 0x000000F8) &gt;&gt; 3);
<a name="l00103"></a>00103     }
<a name="l00104"></a>00104 
<a name="l00105"></a>00105 
<a name="l00107"></a><a class="code" href="namespaceirr_1_1video.html#a10636302b225d7f525fa46bbd3f747a4">00107</a>     <span class="keyword">inline</span> <a class="code" href="namespaceirr.html#ae9f8ec82692ad3b83c21f555bfa70bcc" title="16 bit unsigned variable.">u16</a> <a class="code" href="namespaceirr_1_1video.html#a10636302b225d7f525fa46bbd3f747a4" title="Converts a 32bit (A8R8G8B8) color to a 16bit R5G6B5 color.">A8R8G8B8toR5G6B5</a>(<a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> color)
<a name="l00108"></a>00108     {
<a name="l00109"></a>00109         <span class="keywordflow">return</span> (<a class="code" href="namespaceirr.html#ae9f8ec82692ad3b83c21f555bfa70bcc" title="16 bit unsigned variable.">u16</a>)(( color &amp; 0x00F80000) &gt;&gt; 8 |
<a name="l00110"></a>00110             ( color &amp; 0x0000FC00) &gt;&gt; 5 |
<a name="l00111"></a>00111             ( color &amp; 0x000000F8) &gt;&gt; 3);
<a name="l00112"></a>00112     }
<a name="l00113"></a>00113 
<a name="l00114"></a>00114 
<a name="l00116"></a>00116 
<a name="l00117"></a><a class="code" href="namespaceirr_1_1video.html#a8aa9e69faa25064379df5a91273b9fbe">00117</a>     <span class="keyword">inline</span> <a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> <a class="code" href="namespaceirr_1_1video.html#a8aa9e69faa25064379df5a91273b9fbe" title="Convert A8R8G8B8 Color from A1R5G5B5 color.">A1R5G5B5toA8R8G8B8</a>(<a class="code" href="namespaceirr.html#ae9f8ec82692ad3b83c21f555bfa70bcc" title="16 bit unsigned variable.">u16</a> color)
<a name="l00118"></a>00118     {
<a name="l00119"></a>00119         <span class="keywordflow">return</span> ( (( -( (<a class="code" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6" title="32 bit signed variable.">s32</a>) color &amp; 0x00008000 ) &gt;&gt; (<a class="code" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6" title="32 bit signed variable.">s32</a>) 31 ) &amp; 0xFF000000 ) |
<a name="l00120"></a>00120                 (( color &amp; 0x00007C00 ) &lt;&lt; 9) | (( color &amp; 0x00007000 ) &lt;&lt; 4) |
<a name="l00121"></a>00121                 (( color &amp; 0x000003E0 ) &lt;&lt; 6) | (( color &amp; 0x00000380 ) &lt;&lt; 1) |
<a name="l00122"></a>00122                 (( color &amp; 0x0000001F ) &lt;&lt; 3) | (( color &amp; 0x0000001C ) &gt;&gt; 2)
<a name="l00123"></a>00123                 );
<a name="l00124"></a>00124     }
<a name="l00125"></a>00125 
<a name="l00126"></a>00126 
<a name="l00128"></a><a class="code" href="namespaceirr_1_1video.html#a421971627afe81533a3c2b51907b72bd">00128</a>     <span class="keyword">inline</span> <a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> <a class="code" href="namespaceirr_1_1video.html#a421971627afe81533a3c2b51907b72bd" title="Returns A8R8G8B8 Color from R5G6B5 color.">R5G6B5toA8R8G8B8</a>(<a class="code" href="namespaceirr.html#ae9f8ec82692ad3b83c21f555bfa70bcc" title="16 bit unsigned variable.">u16</a> color)
<a name="l00129"></a>00129     {
<a name="l00130"></a>00130         <span class="keywordflow">return</span> 0xFF000000 |
<a name="l00131"></a>00131             ((color &amp; 0xF800) &lt;&lt; 8)|
<a name="l00132"></a>00132             ((color &amp; 0x07E0) &lt;&lt; 5)|
<a name="l00133"></a>00133             ((color &amp; 0x001F) &lt;&lt; 3);
<a name="l00134"></a>00134     }
<a name="l00135"></a>00135 
<a name="l00136"></a>00136 
<a name="l00138"></a><a class="code" href="namespaceirr_1_1video.html#aaeb39c8fc1b9c4e78b68e2da210f70ff">00138</a>     <span class="keyword">inline</span> <a class="code" href="namespaceirr.html#ae9f8ec82692ad3b83c21f555bfa70bcc" title="16 bit unsigned variable.">u16</a> <a class="code" href="namespaceirr_1_1video.html#aaeb39c8fc1b9c4e78b68e2da210f70ff" title="Returns A1R5G5B5 Color from R5G6B5 color.">R5G6B5toA1R5G5B5</a>(<a class="code" href="namespaceirr.html#ae9f8ec82692ad3b83c21f555bfa70bcc" title="16 bit unsigned variable.">u16</a> color)
<a name="l00139"></a>00139     {
<a name="l00140"></a>00140         <span class="keywordflow">return</span> 0x8000 | (((color &amp; 0xFFC0) &gt;&gt; 1) | (color &amp; 0x1F));
<a name="l00141"></a>00141     }
<a name="l00142"></a>00142 
<a name="l00143"></a>00143 
<a name="l00145"></a><a class="code" href="namespaceirr_1_1video.html#a4906b4425165ee533dab17506fe98ce8">00145</a>     <span class="keyword">inline</span> <a class="code" href="namespaceirr.html#ae9f8ec82692ad3b83c21f555bfa70bcc" title="16 bit unsigned variable.">u16</a> <a class="code" href="namespaceirr_1_1video.html#a4906b4425165ee533dab17506fe98ce8" title="Returns R5G6B5 Color from A1R5G5B5 color.">A1R5G5B5toR5G6B5</a>(<a class="code" href="namespaceirr.html#ae9f8ec82692ad3b83c21f555bfa70bcc" title="16 bit unsigned variable.">u16</a> color)
<a name="l00146"></a>00146     {
<a name="l00147"></a>00147         <span class="keywordflow">return</span> (((color &amp; 0x7FE0) &lt;&lt; 1) | (color &amp; 0x1F));
<a name="l00148"></a>00148     }
<a name="l00149"></a>00149 
<a name="l00150"></a>00150 
<a name="l00151"></a>00151 
<a name="l00153"></a>00153 
<a name="l00155"></a><a class="code" href="namespaceirr_1_1video.html#a23358b142a005c4a4c747d227a4d77ab">00155</a>     <span class="keyword">inline</span> <a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> <a class="code" href="namespaceirr_1_1video.html#a23358b142a005c4a4c747d227a4d77ab" title="Returns the alpha component from A1R5G5B5 color.">getAlpha</a>(<a class="code" href="namespaceirr.html#ae9f8ec82692ad3b83c21f555bfa70bcc" title="16 bit unsigned variable.">u16</a> color)
<a name="l00156"></a>00156     {
<a name="l00157"></a>00157         <span class="keywordflow">return</span> ((color &gt;&gt; 15)&amp;0x1);
<a name="l00158"></a>00158     }
<a name="l00159"></a>00159 
<a name="l00160"></a>00160 
<a name="l00162"></a>00162 
<a name="l00163"></a><a class="code" href="namespaceirr_1_1video.html#aa98234702c65c82ce29115b12e89dafe">00163</a>     <span class="keyword">inline</span> <a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> <a class="code" href="namespaceirr_1_1video.html#aa98234702c65c82ce29115b12e89dafe" title="Returns the red component from A1R5G5B5 color.">getRed</a>(<a class="code" href="namespaceirr.html#ae9f8ec82692ad3b83c21f555bfa70bcc" title="16 bit unsigned variable.">u16</a> color)
<a name="l00164"></a>00164     {
<a name="l00165"></a>00165         <span class="keywordflow">return</span> ((color &gt;&gt; 10)&amp;0x1F);
<a name="l00166"></a>00166     }
<a name="l00167"></a>00167 
<a name="l00168"></a>00168 
<a name="l00170"></a>00170 
<a name="l00171"></a><a class="code" href="namespaceirr_1_1video.html#a3e64185c36326ed33a494ba14cac00a5">00171</a>     <span class="keyword">inline</span> <a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> <a class="code" href="namespaceirr_1_1video.html#a3e64185c36326ed33a494ba14cac00a5" title="Returns the green component from A1R5G5B5 color.">getGreen</a>(<a class="code" href="namespaceirr.html#ae9f8ec82692ad3b83c21f555bfa70bcc" title="16 bit unsigned variable.">u16</a> color)
<a name="l00172"></a>00172     {
<a name="l00173"></a>00173         <span class="keywordflow">return</span> ((color &gt;&gt; 5)&amp;0x1F);
<a name="l00174"></a>00174     }
<a name="l00175"></a>00175 
<a name="l00176"></a>00176 
<a name="l00178"></a>00178 
<a name="l00179"></a><a class="code" href="namespaceirr_1_1video.html#ae8dc9edd5a3eb01de47933ac2d7f679e">00179</a>     <span class="keyword">inline</span> <a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> <a class="code" href="namespaceirr_1_1video.html#ae8dc9edd5a3eb01de47933ac2d7f679e" title="Returns the blue component from A1R5G5B5 color.">getBlue</a>(<a class="code" href="namespaceirr.html#ae9f8ec82692ad3b83c21f555bfa70bcc" title="16 bit unsigned variable.">u16</a> color)
<a name="l00180"></a>00180     {
<a name="l00181"></a>00181         <span class="keywordflow">return</span> (color &amp; 0x1F);
<a name="l00182"></a>00182     }
<a name="l00183"></a>00183 
<a name="l00184"></a>00184 
<a name="l00186"></a><a class="code" href="namespaceirr_1_1video.html#ab242fde6c6e19ae4100fe39b0dadd9d0">00186</a>     <span class="keyword">inline</span> <a class="code" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6" title="32 bit signed variable.">s32</a> <a class="code" href="namespaceirr_1_1video.html#ab242fde6c6e19ae4100fe39b0dadd9d0" title="Returns the average from a 16 bit A1R5G5B5 color.">getAverage</a>(<a class="code" href="namespaceirr.html#a43ace0af066371ac0862bac3f7314220" title="16 bit signed variable.">s16</a> color)
<a name="l00187"></a>00187     {
<a name="l00188"></a>00188         <span class="keywordflow">return</span> ((<a class="code" href="namespaceirr_1_1video.html#aa98234702c65c82ce29115b12e89dafe" title="Returns the red component from A1R5G5B5 color.">getRed</a>(color)&lt;&lt;3) + (<a class="code" href="namespaceirr_1_1video.html#a3e64185c36326ed33a494ba14cac00a5" title="Returns the green component from A1R5G5B5 color.">getGreen</a>(color)&lt;&lt;3) + (<a class="code" href="namespaceirr_1_1video.html#ae8dc9edd5a3eb01de47933ac2d7f679e" title="Returns the blue component from A1R5G5B5 color.">getBlue</a>(color)&lt;&lt;3)) / 3;
<a name="l00189"></a>00189     }
<a name="l00190"></a>00190 
<a name="l00191"></a>00191 
<a name="l00193"></a>00193 
<a name="l00201"></a><a class="code" href="classirr_1_1video_1_1_s_color.html">00201</a>     <span class="keyword">class </span><a class="code" href="classirr_1_1video_1_1_s_color.html" title="Class representing a 32 bit ARGB color.">SColor</a>
<a name="l00202"></a>00202     {
<a name="l00203"></a>00203     <span class="keyword">public</span>:
<a name="l00204"></a>00204 
<a name="l00206"></a>00206 
<a name="l00207"></a><a class="code" href="classirr_1_1video_1_1_s_color.html#ab001c0c2515ff5f8a0b324d1345485f4">00207</a>         <a class="code" href="classirr_1_1video_1_1_s_color.html#ab001c0c2515ff5f8a0b324d1345485f4" title="Constructor of the Color. Does nothing.">SColor</a>() {}
<a name="l00208"></a>00208 
<a name="l00210"></a>00210 
<a name="l00211"></a><a class="code" href="classirr_1_1video_1_1_s_color.html#aa2ca1fcb9b11375282bb407b635b3dd6">00211</a>         <a class="code" href="classirr_1_1video_1_1_s_color.html#ab001c0c2515ff5f8a0b324d1345485f4" title="Constructor of the Color. Does nothing.">SColor</a> (<a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> a, <a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> r, <a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> g, <a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> b)
<a name="l00212"></a>00212             : <a class="code" href="classirr_1_1video_1_1_s_color.html#a11f2b41eeff9e7f688d322735ca2cfcf" title="color in A8R8G8B8 Format">color</a>(((a &amp; 0xff)&lt;&lt;24) | ((r &amp; 0xff)&lt;&lt;16) | ((g &amp; 0xff)&lt;&lt;8) | (b &amp; 0xff)) {}
<a name="l00213"></a>00213 
<a name="l00215"></a><a class="code" href="classirr_1_1video_1_1_s_color.html#a56dd5677c3e36d3b33d5d796be2597da">00215</a>         <a class="code" href="classirr_1_1video_1_1_s_color.html#ab001c0c2515ff5f8a0b324d1345485f4" title="Constructor of the Color. Does nothing.">SColor</a>(<a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> clr)
<a name="l00216"></a>00216             : <a class="code" href="classirr_1_1video_1_1_s_color.html#a11f2b41eeff9e7f688d322735ca2cfcf" title="color in A8R8G8B8 Format">color</a>(clr) {}
<a name="l00217"></a>00217 
<a name="l00219"></a>00219 
<a name="l00221"></a><a class="code" href="classirr_1_1video_1_1_s_color.html#a9647d09a9d4b9c6fb48a8fa1f2da425c">00221</a>         <a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> <a class="code" href="classirr_1_1video_1_1_s_color.html#a9647d09a9d4b9c6fb48a8fa1f2da425c" title="Returns the alpha component of the color.">getAlpha</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classirr_1_1video_1_1_s_color.html#a11f2b41eeff9e7f688d322735ca2cfcf" title="color in A8R8G8B8 Format">color</a>&gt;&gt;24; }
<a name="l00222"></a>00222 
<a name="l00224"></a>00224 
<a name="l00226"></a><a class="code" href="classirr_1_1video_1_1_s_color.html#af10d2deaccbde5c958032ed9ec81b59f">00226</a>         <a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> <a class="code" href="classirr_1_1video_1_1_s_color.html#af10d2deaccbde5c958032ed9ec81b59f" title="Returns the red component of the color.">getRed</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (<a class="code" href="classirr_1_1video_1_1_s_color.html#a11f2b41eeff9e7f688d322735ca2cfcf" title="color in A8R8G8B8 Format">color</a>&gt;&gt;16) &amp; 0xff; }
<a name="l00227"></a>00227 
<a name="l00229"></a>00229 
<a name="l00231"></a><a class="code" href="classirr_1_1video_1_1_s_color.html#ad604ba81e061b0bfe2ccb5f16e29124d">00231</a>         <a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> <a class="code" href="classirr_1_1video_1_1_s_color.html#ad604ba81e061b0bfe2ccb5f16e29124d" title="Returns the green component of the color.">getGreen</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (<a class="code" href="classirr_1_1video_1_1_s_color.html#a11f2b41eeff9e7f688d322735ca2cfcf" title="color in A8R8G8B8 Format">color</a>&gt;&gt;8) &amp; 0xff; }
<a name="l00232"></a>00232 
<a name="l00234"></a>00234 
<a name="l00236"></a><a class="code" href="classirr_1_1video_1_1_s_color.html#a26fdbde73081b35a1686f8d21a549544">00236</a>         <a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> <a class="code" href="classirr_1_1video_1_1_s_color.html#a26fdbde73081b35a1686f8d21a549544" title="Returns the blue component of the color.">getBlue</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classirr_1_1video_1_1_s_color.html#a11f2b41eeff9e7f688d322735ca2cfcf" title="color in A8R8G8B8 Format">color</a> &amp; 0xff; }
<a name="l00237"></a>00237 
<a name="l00239"></a><a class="code" href="classirr_1_1video_1_1_s_color.html#aa96bfc155c181104c61df9d58ad8be0f">00239</a>         <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> <a class="code" href="classirr_1_1video_1_1_s_color.html#aa96bfc155c181104c61df9d58ad8be0f" title="Get lightness of the color in the range [0,255].">getLightness</a>()<span class="keyword"> const</span>
<a name="l00240"></a>00240 <span class="keyword">        </span>{
<a name="l00241"></a>00241             <span class="keywordflow">return</span> 0.5f*(<a class="code" href="namespaceirr_1_1core.html#afca1ce7ac54e0c31a9047947f4c7319b" title="returns maximum of two values. Own implementation to get rid of the STL (VS6 problems)">core::max_</a>(<a class="code" href="namespaceirr_1_1core.html#afca1ce7ac54e0c31a9047947f4c7319b" title="returns maximum of two values. Own implementation to get rid of the STL (VS6 problems)">core::max_</a>(<a class="code" href="classirr_1_1video_1_1_s_color.html#af10d2deaccbde5c958032ed9ec81b59f" title="Returns the red component of the color.">getRed</a>(),<a class="code" href="classirr_1_1video_1_1_s_color.html#ad604ba81e061b0bfe2ccb5f16e29124d" title="Returns the green component of the color.">getGreen</a>()),<a class="code" href="classirr_1_1video_1_1_s_color.html#a26fdbde73081b35a1686f8d21a549544" title="Returns the blue component of the color.">getBlue</a>())+<a class="code" href="namespaceirr_1_1core.html#a9d34bfdbbe9c136b01ae04974572bc11" title="returns minimum of two values. Own implementation to get rid of the STL (VS6 problems)">core::min_</a>(<a class="code" href="namespaceirr_1_1core.html#a9d34bfdbbe9c136b01ae04974572bc11" title="returns minimum of two values. Own implementation to get rid of the STL (VS6 problems)">core::min_</a>(<a class="code" href="classirr_1_1video_1_1_s_color.html#af10d2deaccbde5c958032ed9ec81b59f" title="Returns the red component of the color.">getRed</a>(),<a class="code" href="classirr_1_1video_1_1_s_color.html#ad604ba81e061b0bfe2ccb5f16e29124d" title="Returns the green component of the color.">getGreen</a>()),<a class="code" href="classirr_1_1video_1_1_s_color.html#a26fdbde73081b35a1686f8d21a549544" title="Returns the blue component of the color.">getBlue</a>()));
<a name="l00242"></a>00242         }
<a name="l00243"></a>00243 
<a name="l00245"></a><a class="code" href="classirr_1_1video_1_1_s_color.html#ad0a78b90a97e8444a1d12e93e7e929ba">00245</a>         <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> <a class="code" href="classirr_1_1video_1_1_s_color.html#ad0a78b90a97e8444a1d12e93e7e929ba" title="Get luminance of the color in the range [0,255].">getLuminance</a>()<span class="keyword"> const</span>
<a name="l00246"></a>00246 <span class="keyword">        </span>{
<a name="l00247"></a>00247             <span class="keywordflow">return</span> 0.3f*<a class="code" href="classirr_1_1video_1_1_s_color.html#af10d2deaccbde5c958032ed9ec81b59f" title="Returns the red component of the color.">getRed</a>() + 0.59f*<a class="code" href="classirr_1_1video_1_1_s_color.html#ad604ba81e061b0bfe2ccb5f16e29124d" title="Returns the green component of the color.">getGreen</a>() + 0.11f*<a class="code" href="classirr_1_1video_1_1_s_color.html#a26fdbde73081b35a1686f8d21a549544" title="Returns the blue component of the color.">getBlue</a>();
<a name="l00248"></a>00248         }
<a name="l00249"></a>00249 
<a name="l00251"></a><a class="code" href="classirr_1_1video_1_1_s_color.html#a29a672f4bae9805970b84c4aef81b9ab">00251</a>         <a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> <a class="code" href="classirr_1_1video_1_1_s_color.html#a29a672f4bae9805970b84c4aef81b9ab" title="Get average intensity of the color in the range [0,255].">getAverage</a>()<span class="keyword"> const</span>
<a name="l00252"></a>00252 <span class="keyword">        </span>{
<a name="l00253"></a>00253             <span class="keywordflow">return</span> ( <a class="code" href="classirr_1_1video_1_1_s_color.html#af10d2deaccbde5c958032ed9ec81b59f" title="Returns the red component of the color.">getRed</a>() + <a class="code" href="classirr_1_1video_1_1_s_color.html#ad604ba81e061b0bfe2ccb5f16e29124d" title="Returns the green component of the color.">getGreen</a>() + <a class="code" href="classirr_1_1video_1_1_s_color.html#a26fdbde73081b35a1686f8d21a549544" title="Returns the blue component of the color.">getBlue</a>() ) / 3;
<a name="l00254"></a>00254         }
<a name="l00255"></a>00255 
<a name="l00257"></a>00257 
<a name="l00259"></a><a class="code" href="classirr_1_1video_1_1_s_color.html#a7bfe4abc30d563668b947c8bdb055bab">00259</a>         <span class="keywordtype">void</span> <a class="code" href="classirr_1_1video_1_1_s_color.html#a7bfe4abc30d563668b947c8bdb055bab" title="Sets the alpha component of the Color.">setAlpha</a>(<a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> a) { <a class="code" href="classirr_1_1video_1_1_s_color.html#a11f2b41eeff9e7f688d322735ca2cfcf" title="color in A8R8G8B8 Format">color</a> = ((a &amp; 0xff)&lt;&lt;24) | (<a class="code" href="classirr_1_1video_1_1_s_color.html#a11f2b41eeff9e7f688d322735ca2cfcf" title="color in A8R8G8B8 Format">color</a> &amp; 0x00ffffff); }
<a name="l00260"></a>00260 
<a name="l00262"></a>00262 
<a name="l00264"></a><a class="code" href="classirr_1_1video_1_1_s_color.html#a950c98714711ae9dd8c5219f83c07693">00264</a>         <span class="keywordtype">void</span> <a class="code" href="classirr_1_1video_1_1_s_color.html#a950c98714711ae9dd8c5219f83c07693" title="Sets the red component of the Color.">setRed</a>(<a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> r) { <a class="code" href="classirr_1_1video_1_1_s_color.html#a11f2b41eeff9e7f688d322735ca2cfcf" title="color in A8R8G8B8 Format">color</a> = ((r &amp; 0xff)&lt;&lt;16) | (<a class="code" href="classirr_1_1video_1_1_s_color.html#a11f2b41eeff9e7f688d322735ca2cfcf" title="color in A8R8G8B8 Format">color</a> &amp; 0xff00ffff); }
<a name="l00265"></a>00265 
<a name="l00267"></a>00267 
<a name="l00269"></a><a class="code" href="classirr_1_1video_1_1_s_color.html#af80cfedd5e761216b8bed259963ac948">00269</a>         <span class="keywordtype">void</span> <a class="code" href="classirr_1_1video_1_1_s_color.html#af80cfedd5e761216b8bed259963ac948" title="Sets the green component of the Color.">setGreen</a>(<a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> g) { <a class="code" href="classirr_1_1video_1_1_s_color.html#a11f2b41eeff9e7f688d322735ca2cfcf" title="color in A8R8G8B8 Format">color</a> = ((g &amp; 0xff)&lt;&lt;8) | (<a class="code" href="classirr_1_1video_1_1_s_color.html#a11f2b41eeff9e7f688d322735ca2cfcf" title="color in A8R8G8B8 Format">color</a> &amp; 0xffff00ff); }
<a name="l00270"></a>00270 
<a name="l00272"></a>00272 
<a name="l00274"></a><a class="code" href="classirr_1_1video_1_1_s_color.html#a13d82e6b52d32f7394f3cce041dc2965">00274</a>         <span class="keywordtype">void</span> <a class="code" href="classirr_1_1video_1_1_s_color.html#a13d82e6b52d32f7394f3cce041dc2965" title="Sets the blue component of the Color.">setBlue</a>(<a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> b) { <a class="code" href="classirr_1_1video_1_1_s_color.html#a11f2b41eeff9e7f688d322735ca2cfcf" title="color in A8R8G8B8 Format">color</a> = (b &amp; 0xff) | (<a class="code" href="classirr_1_1video_1_1_s_color.html#a11f2b41eeff9e7f688d322735ca2cfcf" title="color in A8R8G8B8 Format">color</a> &amp; 0xffffff00); }
<a name="l00275"></a>00275 
<a name="l00277"></a>00277 
<a name="l00278"></a><a class="code" href="classirr_1_1video_1_1_s_color.html#a9a6ad04081a1b15c07746cf84a971565">00278</a>         <a class="code" href="namespaceirr.html#ae9f8ec82692ad3b83c21f555bfa70bcc" title="16 bit unsigned variable.">u16</a> <a class="code" href="classirr_1_1video_1_1_s_color.html#a9a6ad04081a1b15c07746cf84a971565" title="Calculates a 16 bit A1R5G5B5 value of this color.">toA1R5G5B5</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="namespaceirr_1_1video.html#a929c6758a0edc772cf69b2c674e4f5cd" title="Converts a 32bit (A8R8G8B8) color to a 16bit A1R5G5B5 color.">A8R8G8B8toA1R5G5B5</a>(<a class="code" href="classirr_1_1video_1_1_s_color.html#a11f2b41eeff9e7f688d322735ca2cfcf" title="color in A8R8G8B8 Format">color</a>); }
<a name="l00279"></a>00279 
<a name="l00281"></a>00281 
<a name="l00284"></a><a class="code" href="classirr_1_1video_1_1_s_color.html#a0196acc3dfded9f6161c41f0065267c1">00284</a>         <span class="keywordtype">void</span> <a class="code" href="classirr_1_1video_1_1_s_color.html#a0196acc3dfded9f6161c41f0065267c1" title="Converts color to OpenGL color format.">toOpenGLColor</a>(<a class="code" href="namespaceirr.html#a646874f69af8ff87fc10201b0254a761" title="8 bit unsigned variable.">u8</a>* dest)<span class="keyword"> const</span>
<a name="l00285"></a>00285 <span class="keyword">        </span>{
<a name="l00286"></a>00286             *dest =   (<a class="code" href="namespaceirr.html#a646874f69af8ff87fc10201b0254a761" title="8 bit unsigned variable.">u8</a>)<a class="code" href="classirr_1_1video_1_1_s_color.html#af10d2deaccbde5c958032ed9ec81b59f" title="Returns the red component of the color.">getRed</a>();
<a name="l00287"></a>00287             *++dest = (<a class="code" href="namespaceirr.html#a646874f69af8ff87fc10201b0254a761" title="8 bit unsigned variable.">u8</a>)<a class="code" href="classirr_1_1video_1_1_s_color.html#ad604ba81e061b0bfe2ccb5f16e29124d" title="Returns the green component of the color.">getGreen</a>();
<a name="l00288"></a>00288             *++dest = (<a class="code" href="namespaceirr.html#a646874f69af8ff87fc10201b0254a761" title="8 bit unsigned variable.">u8</a>)<a class="code" href="classirr_1_1video_1_1_s_color.html#a26fdbde73081b35a1686f8d21a549544" title="Returns the blue component of the color.">getBlue</a>();
<a name="l00289"></a>00289             *++dest = (<a class="code" href="namespaceirr.html#a646874f69af8ff87fc10201b0254a761" title="8 bit unsigned variable.">u8</a>)<a class="code" href="classirr_1_1video_1_1_s_color.html#a9647d09a9d4b9c6fb48a8fa1f2da425c" title="Returns the alpha component of the color.">getAlpha</a>();
<a name="l00290"></a>00290         }
<a name="l00291"></a>00291 
<a name="l00293"></a>00293 
<a name="l00307"></a><a class="code" href="classirr_1_1video_1_1_s_color.html#a8cf295c05c7406cc249843acbb31ec5f">00307</a>         <span class="keywordtype">void</span> <span class="keyword">set</span>(<a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> a, <a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> r, <a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> g, <a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> b)
<a name="l00308"></a>00308         {
<a name="l00309"></a>00309             <a class="code" href="classirr_1_1video_1_1_s_color.html#a11f2b41eeff9e7f688d322735ca2cfcf" title="color in A8R8G8B8 Format">color</a> = (((a &amp; 0xff)&lt;&lt;24) | ((r &amp; 0xff)&lt;&lt;16) | ((g &amp; 0xff)&lt;&lt;8) | (b &amp; 0xff));
<a name="l00310"></a>00310         }
<a name="l00311"></a><a class="code" href="classirr_1_1video_1_1_s_color.html#a4966581260a89f10386bf9d06239c341">00311</a>         <span class="keywordtype">void</span> <span class="keyword">set</span>(<a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> col) { <a class="code" href="classirr_1_1video_1_1_s_color.html#a11f2b41eeff9e7f688d322735ca2cfcf" title="color in A8R8G8B8 Format">color</a> = col; }
<a name="l00312"></a>00312 
<a name="l00314"></a>00314 
<a name="l00315"></a><a class="code" href="classirr_1_1video_1_1_s_color.html#a68025038ef1c75c8b7ca64270216f79f">00315</a>         <span class="keywordtype">bool</span> <a class="code" href="classirr_1_1video_1_1_s_color.html#a68025038ef1c75c8b7ca64270216f79f" title="Compares the color to another color.">operator==</a>(<span class="keyword">const</span> <a class="code" href="classirr_1_1video_1_1_s_color.html" title="Class representing a 32 bit ARGB color.">SColor</a>&amp; other)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> other.<a class="code" href="classirr_1_1video_1_1_s_color.html#a11f2b41eeff9e7f688d322735ca2cfcf" title="color in A8R8G8B8 Format">color</a> == <a class="code" href="classirr_1_1video_1_1_s_color.html#a11f2b41eeff9e7f688d322735ca2cfcf" title="color in A8R8G8B8 Format">color</a>; }
<a name="l00316"></a>00316 
<a name="l00318"></a>00318 
<a name="l00319"></a><a class="code" href="classirr_1_1video_1_1_s_color.html#abcacfc84b1a87f148570efb176999104">00319</a>         <span class="keywordtype">bool</span> <a class="code" href="classirr_1_1video_1_1_s_color.html#abcacfc84b1a87f148570efb176999104" title="Compares the color to another color.">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classirr_1_1video_1_1_s_color.html" title="Class representing a 32 bit ARGB color.">SColor</a>&amp; other)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> other.<a class="code" href="classirr_1_1video_1_1_s_color.html#a11f2b41eeff9e7f688d322735ca2cfcf" title="color in A8R8G8B8 Format">color</a> != <a class="code" href="classirr_1_1video_1_1_s_color.html#a11f2b41eeff9e7f688d322735ca2cfcf" title="color in A8R8G8B8 Format">color</a>; }
<a name="l00320"></a>00320 
<a name="l00322"></a>00322 
<a name="l00323"></a><a class="code" href="classirr_1_1video_1_1_s_color.html#a8e7944ddc658076a2933861a1b99f1e7">00323</a>         <span class="keywordtype">bool</span> <a class="code" href="classirr_1_1video_1_1_s_color.html#a8e7944ddc658076a2933861a1b99f1e7" title="comparison operator">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="classirr_1_1video_1_1_s_color.html" title="Class representing a 32 bit ARGB color.">SColor</a>&amp; other)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (<a class="code" href="classirr_1_1video_1_1_s_color.html#a11f2b41eeff9e7f688d322735ca2cfcf" title="color in A8R8G8B8 Format">color</a> &lt; other.<a class="code" href="classirr_1_1video_1_1_s_color.html#a11f2b41eeff9e7f688d322735ca2cfcf" title="color in A8R8G8B8 Format">color</a>); }
<a name="l00324"></a>00324 
<a name="l00326"></a>00326 
<a name="l00328"></a><a class="code" href="classirr_1_1video_1_1_s_color.html#a1cd25e0e67050af13a15515b7d2c8782">00328</a>         <a class="code" href="classirr_1_1video_1_1_s_color.html" title="Class representing a 32 bit ARGB color.">SColor</a> <a class="code" href="classirr_1_1video_1_1_s_color.html#a1cd25e0e67050af13a15515b7d2c8782" title="Adds two colors, result is clamped to 0..255 values.">operator+</a>(<span class="keyword">const</span> <a class="code" href="classirr_1_1video_1_1_s_color.html" title="Class representing a 32 bit ARGB color.">SColor</a>&amp; other)<span class="keyword"> const</span>
<a name="l00329"></a>00329 <span class="keyword">        </span>{
<a name="l00330"></a>00330             <span class="keywordflow">return</span> <a class="code" href="classirr_1_1video_1_1_s_color.html#ab001c0c2515ff5f8a0b324d1345485f4" title="Constructor of the Color. Does nothing.">SColor</a>(<a class="code" href="namespaceirr_1_1core.html#a9d34bfdbbe9c136b01ae04974572bc11" title="returns minimum of two values. Own implementation to get rid of the STL (VS6 problems)">core::min_</a>(<a class="code" href="classirr_1_1video_1_1_s_color.html#a9647d09a9d4b9c6fb48a8fa1f2da425c" title="Returns the alpha component of the color.">getAlpha</a>() + other.<a class="code" href="classirr_1_1video_1_1_s_color.html#a9647d09a9d4b9c6fb48a8fa1f2da425c" title="Returns the alpha component of the color.">getAlpha</a>(), 255u),
<a name="l00331"></a>00331                     <a class="code" href="namespaceirr_1_1core.html#a9d34bfdbbe9c136b01ae04974572bc11" title="returns minimum of two values. Own implementation to get rid of the STL (VS6 problems)">core::min_</a>(<a class="code" href="classirr_1_1video_1_1_s_color.html#af10d2deaccbde5c958032ed9ec81b59f" title="Returns the red component of the color.">getRed</a>() + other.<a class="code" href="classirr_1_1video_1_1_s_color.html#af10d2deaccbde5c958032ed9ec81b59f" title="Returns the red component of the color.">getRed</a>(), 255u),
<a name="l00332"></a>00332                     <a class="code" href="namespaceirr_1_1core.html#a9d34bfdbbe9c136b01ae04974572bc11" title="returns minimum of two values. Own implementation to get rid of the STL (VS6 problems)">core::min_</a>(<a class="code" href="classirr_1_1video_1_1_s_color.html#ad604ba81e061b0bfe2ccb5f16e29124d" title="Returns the green component of the color.">getGreen</a>() + other.<a class="code" href="classirr_1_1video_1_1_s_color.html#ad604ba81e061b0bfe2ccb5f16e29124d" title="Returns the green component of the color.">getGreen</a>(), 255u),
<a name="l00333"></a>00333                     <a class="code" href="namespaceirr_1_1core.html#a9d34bfdbbe9c136b01ae04974572bc11" title="returns minimum of two values. Own implementation to get rid of the STL (VS6 problems)">core::min_</a>(<a class="code" href="classirr_1_1video_1_1_s_color.html#a26fdbde73081b35a1686f8d21a549544" title="Returns the blue component of the color.">getBlue</a>() + other.<a class="code" href="classirr_1_1video_1_1_s_color.html#a26fdbde73081b35a1686f8d21a549544" title="Returns the blue component of the color.">getBlue</a>(), 255u));
<a name="l00334"></a>00334         }
<a name="l00335"></a>00335 
<a name="l00337"></a>00337 
<a name="l00340"></a><a class="code" href="classirr_1_1video_1_1_s_color.html#a880760bf37e7c2143cc0b1a0e90a85b1">00340</a>         <a class="code" href="classirr_1_1video_1_1_s_color.html" title="Class representing a 32 bit ARGB color.">SColor</a> <a class="code" href="classirr_1_1video_1_1_s_color.html#a880760bf37e7c2143cc0b1a0e90a85b1" title="Interpolates the color with a f32 value to another color.">getInterpolated</a>(<span class="keyword">const</span> <a class="code" href="classirr_1_1video_1_1_s_color.html" title="Class representing a 32 bit ARGB color.">SColor</a> &amp;other, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> d)<span class="keyword"> const</span>
<a name="l00341"></a>00341 <span class="keyword">        </span>{
<a name="l00342"></a>00342             d = <a class="code" href="namespaceirr_1_1core.html#a6162f685b68f629e77336081d3316969" title="clamps a value between low and high">core::clamp</a>(d, 0.f, 1.f);
<a name="l00343"></a>00343             <span class="keyword">const</span> <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> inv = 1.0f - d;
<a name="l00344"></a>00344             <span class="keywordflow">return</span> <a class="code" href="classirr_1_1video_1_1_s_color.html#ab001c0c2515ff5f8a0b324d1345485f4" title="Constructor of the Color. Does nothing.">SColor</a>((<a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a>)<a class="code" href="namespaceirr_1_1core.html#ae46f57f03e9033c57c180fbe83b04cf2">core::round32</a>(other.<a class="code" href="classirr_1_1video_1_1_s_color.html#a9647d09a9d4b9c6fb48a8fa1f2da425c" title="Returns the alpha component of the color.">getAlpha</a>()*inv + <a class="code" href="classirr_1_1video_1_1_s_color.html#a9647d09a9d4b9c6fb48a8fa1f2da425c" title="Returns the alpha component of the color.">getAlpha</a>()*d),
<a name="l00345"></a>00345                 (<a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a>)<a class="code" href="namespaceirr_1_1core.html#ae46f57f03e9033c57c180fbe83b04cf2">core::round32</a>(other.<a class="code" href="classirr_1_1video_1_1_s_color.html#af10d2deaccbde5c958032ed9ec81b59f" title="Returns the red component of the color.">getRed</a>()*inv + <a class="code" href="classirr_1_1video_1_1_s_color.html#af10d2deaccbde5c958032ed9ec81b59f" title="Returns the red component of the color.">getRed</a>()*d),
<a name="l00346"></a>00346                 (<a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a>)<a class="code" href="namespaceirr_1_1core.html#ae46f57f03e9033c57c180fbe83b04cf2">core::round32</a>(other.<a class="code" href="classirr_1_1video_1_1_s_color.html#ad604ba81e061b0bfe2ccb5f16e29124d" title="Returns the green component of the color.">getGreen</a>()*inv + <a class="code" href="classirr_1_1video_1_1_s_color.html#ad604ba81e061b0bfe2ccb5f16e29124d" title="Returns the green component of the color.">getGreen</a>()*d),
<a name="l00347"></a>00347                 (<a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a>)<a class="code" href="namespaceirr_1_1core.html#ae46f57f03e9033c57c180fbe83b04cf2">core::round32</a>(other.<a class="code" href="classirr_1_1video_1_1_s_color.html#a26fdbde73081b35a1686f8d21a549544" title="Returns the blue component of the color.">getBlue</a>()*inv + <a class="code" href="classirr_1_1video_1_1_s_color.html#a26fdbde73081b35a1686f8d21a549544" title="Returns the blue component of the color.">getBlue</a>()*d));
<a name="l00348"></a>00348         }
<a name="l00349"></a>00349 
<a name="l00351"></a>00351 
<a name="l00354"></a><a class="code" href="classirr_1_1video_1_1_s_color.html#a9e3832dd71062d1d200f11b91cd3a104">00354</a>         <a class="code" href="classirr_1_1video_1_1_s_color.html" title="Class representing a 32 bit ARGB color.">SColor</a> <a class="code" href="classirr_1_1video_1_1_s_color.html#a9e3832dd71062d1d200f11b91cd3a104" title="Returns interpolated color. ( quadratic )">getInterpolated_quadratic</a>(<span class="keyword">const</span> <a class="code" href="classirr_1_1video_1_1_s_color.html" title="Class representing a 32 bit ARGB color.">SColor</a>&amp; c1, <span class="keyword">const</span> <a class="code" href="classirr_1_1video_1_1_s_color.html" title="Class representing a 32 bit ARGB color.">SColor</a>&amp; c2, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> d)<span class="keyword"> const</span>
<a name="l00355"></a>00355 <span class="keyword">        </span>{
<a name="l00356"></a>00356             <span class="comment">// this*(1-d)*(1-d) + 2 * c1 * (1-d) + c2 * d * d;</span>
<a name="l00357"></a>00357             d = <a class="code" href="namespaceirr_1_1core.html#a6162f685b68f629e77336081d3316969" title="clamps a value between low and high">core::clamp</a>(d, 0.f, 1.f);
<a name="l00358"></a>00358             <span class="keyword">const</span> <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> inv = 1.f - d;
<a name="l00359"></a>00359             <span class="keyword">const</span> <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> mul0 = inv * inv;
<a name="l00360"></a>00360             <span class="keyword">const</span> <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> mul1 = 2.f * d * inv;
<a name="l00361"></a>00361             <span class="keyword">const</span> <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> mul2 = d * d;
<a name="l00362"></a>00362 
<a name="l00363"></a>00363             <span class="keywordflow">return</span> <a class="code" href="classirr_1_1video_1_1_s_color.html#ab001c0c2515ff5f8a0b324d1345485f4" title="Constructor of the Color. Does nothing.">SColor</a>(
<a name="l00364"></a>00364                     <a class="code" href="namespaceirr_1_1core.html#a6162f685b68f629e77336081d3316969" title="clamps a value between low and high">core::clamp</a>( <a class="code" href="namespaceirr_1_1core.html#ac230a392b15e3d27c6e2a07a6925a8c4">core::floor32</a>(
<a name="l00365"></a>00365                             <a class="code" href="classirr_1_1video_1_1_s_color.html#a9647d09a9d4b9c6fb48a8fa1f2da425c" title="Returns the alpha component of the color.">getAlpha</a>() * mul0 + c1.<a class="code" href="classirr_1_1video_1_1_s_color.html#a9647d09a9d4b9c6fb48a8fa1f2da425c" title="Returns the alpha component of the color.">getAlpha</a>() * mul1 + c2.<a class="code" href="classirr_1_1video_1_1_s_color.html#a9647d09a9d4b9c6fb48a8fa1f2da425c" title="Returns the alpha component of the color.">getAlpha</a>() * mul2 ), 0, 255 ),
<a name="l00366"></a>00366                     <a class="code" href="namespaceirr_1_1core.html#a6162f685b68f629e77336081d3316969" title="clamps a value between low and high">core::clamp</a>( <a class="code" href="namespaceirr_1_1core.html#ac230a392b15e3d27c6e2a07a6925a8c4">core::floor32</a>(
<a name="l00367"></a>00367                             <a class="code" href="classirr_1_1video_1_1_s_color.html#af10d2deaccbde5c958032ed9ec81b59f" title="Returns the red component of the color.">getRed</a>()   * mul0 + c1.<a class="code" href="classirr_1_1video_1_1_s_color.html#af10d2deaccbde5c958032ed9ec81b59f" title="Returns the red component of the color.">getRed</a>()   * mul1 + c2.<a class="code" href="classirr_1_1video_1_1_s_color.html#af10d2deaccbde5c958032ed9ec81b59f" title="Returns the red component of the color.">getRed</a>()   * mul2 ), 0, 255 ),
<a name="l00368"></a>00368                     <a class="code" href="namespaceirr_1_1core.html#a6162f685b68f629e77336081d3316969" title="clamps a value between low and high">core::clamp</a> ( <a class="code" href="namespaceirr_1_1core.html#ac230a392b15e3d27c6e2a07a6925a8c4">core::floor32</a>(
<a name="l00369"></a>00369                             <a class="code" href="classirr_1_1video_1_1_s_color.html#ad604ba81e061b0bfe2ccb5f16e29124d" title="Returns the green component of the color.">getGreen</a>() * mul0 + c1.<a class="code" href="classirr_1_1video_1_1_s_color.html#ad604ba81e061b0bfe2ccb5f16e29124d" title="Returns the green component of the color.">getGreen</a>() * mul1 + c2.<a class="code" href="classirr_1_1video_1_1_s_color.html#ad604ba81e061b0bfe2ccb5f16e29124d" title="Returns the green component of the color.">getGreen</a>() * mul2 ), 0, 255 ),
<a name="l00370"></a>00370                     <a class="code" href="namespaceirr_1_1core.html#a6162f685b68f629e77336081d3316969" title="clamps a value between low and high">core::clamp</a> ( <a class="code" href="namespaceirr_1_1core.html#ac230a392b15e3d27c6e2a07a6925a8c4">core::floor32</a>(
<a name="l00371"></a>00371                             <a class="code" href="classirr_1_1video_1_1_s_color.html#a26fdbde73081b35a1686f8d21a549544" title="Returns the blue component of the color.">getBlue</a>()  * mul0 + c1.<a class="code" href="classirr_1_1video_1_1_s_color.html#a26fdbde73081b35a1686f8d21a549544" title="Returns the blue component of the color.">getBlue</a>()  * mul1 + c2.<a class="code" href="classirr_1_1video_1_1_s_color.html#a26fdbde73081b35a1686f8d21a549544" title="Returns the blue component of the color.">getBlue</a>()  * mul2 ), 0, 255 ));
<a name="l00372"></a>00372         }
<a name="l00373"></a>00373 
<a name="l00375"></a>00375 
<a name="l00378"></a><a class="code" href="classirr_1_1video_1_1_s_color.html#a381f2db0ed17c6b06ba5c8809dce3370">00378</a>         <span class="keywordtype">void</span> <a class="code" href="classirr_1_1video_1_1_s_color.html#a381f2db0ed17c6b06ba5c8809dce3370" title="set the color by expecting data in the given format">setData</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *data, <a class="code" href="namespaceirr_1_1video.html#a1d5e487888c32b1674a8f75116d829ed" title="An enum for the color format of textures used by the Irrlicht Engine.">ECOLOR_FORMAT</a> format)
<a name="l00379"></a>00379         {
<a name="l00380"></a>00380             <span class="keywordflow">switch</span> (format)
<a name="l00381"></a>00381             {
<a name="l00382"></a>00382                 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#a1d5e487888c32b1674a8f75116d829eda1207765b5eab1701111b5dc37b68b4bf" title="16 bit color format used by the software driver.">ECF_A1R5G5B5</a>:
<a name="l00383"></a>00383                     <a class="code" href="classirr_1_1video_1_1_s_color.html#a11f2b41eeff9e7f688d322735ca2cfcf" title="color in A8R8G8B8 Format">color</a> = <a class="code" href="namespaceirr_1_1video.html#a8aa9e69faa25064379df5a91273b9fbe" title="Convert A8R8G8B8 Color from A1R5G5B5 color.">A1R5G5B5toA8R8G8B8</a>(*(<a class="code" href="namespaceirr.html#ae9f8ec82692ad3b83c21f555bfa70bcc" title="16 bit unsigned variable.">u16</a>*)data);
<a name="l00384"></a>00384                     <span class="keywordflow">break</span>;
<a name="l00385"></a>00385                 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#a1d5e487888c32b1674a8f75116d829eda49b4fe9d0ba395456dcd7c76a1ae9775" title="Standard 16 bit color format.">ECF_R5G6B5</a>:
<a name="l00386"></a>00386                     <a class="code" href="classirr_1_1video_1_1_s_color.html#a11f2b41eeff9e7f688d322735ca2cfcf" title="color in A8R8G8B8 Format">color</a> = <a class="code" href="namespaceirr_1_1video.html#a421971627afe81533a3c2b51907b72bd" title="Returns A8R8G8B8 Color from R5G6B5 color.">R5G6B5toA8R8G8B8</a>(*(<a class="code" href="namespaceirr.html#ae9f8ec82692ad3b83c21f555bfa70bcc" title="16 bit unsigned variable.">u16</a>*)data);
<a name="l00387"></a>00387                     <span class="keywordflow">break</span>;
<a name="l00388"></a>00388                 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#a1d5e487888c32b1674a8f75116d829eda55c57d63efff39efe33ee733fe962df0" title="Default 32 bit color format. 8 bits are used for every component: red, green, blue and alpha...">ECF_A8R8G8B8</a>:
<a name="l00389"></a>00389                     <a class="code" href="classirr_1_1video_1_1_s_color.html#a11f2b41eeff9e7f688d322735ca2cfcf" title="color in A8R8G8B8 Format">color</a> = *(<a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a>*)data;
<a name="l00390"></a>00390                     <span class="keywordflow">break</span>;
<a name="l00391"></a>00391                 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#a1d5e487888c32b1674a8f75116d829eda3f0380aafb1e1fd59f5419a95d630a6d" title="24 bit color, no alpha channel, but 8 bit for red, green and blue.">ECF_R8G8B8</a>:
<a name="l00392"></a>00392                     {
<a name="l00393"></a>00393                         <a class="code" href="namespaceirr.html#a646874f69af8ff87fc10201b0254a761" title="8 bit unsigned variable.">u8</a>* p = (<a class="code" href="namespaceirr.html#a646874f69af8ff87fc10201b0254a761" title="8 bit unsigned variable.">u8</a>*)data;
<a name="l00394"></a>00394                         <span class="keyword">set</span>(255, p[0],p[1],p[2]);
<a name="l00395"></a>00395                     }
<a name="l00396"></a>00396                     <span class="keywordflow">break</span>;
<a name="l00397"></a>00397                 <span class="keywordflow">default</span>:
<a name="l00398"></a>00398                     <a class="code" href="classirr_1_1video_1_1_s_color.html#a11f2b41eeff9e7f688d322735ca2cfcf" title="color in A8R8G8B8 Format">color</a> = 0xffffffff;
<a name="l00399"></a>00399                 <span class="keywordflow">break</span>;
<a name="l00400"></a>00400             }
<a name="l00401"></a>00401         }
<a name="l00402"></a>00402 
<a name="l00404"></a>00404 
<a name="l00407"></a><a class="code" href="classirr_1_1video_1_1_s_color.html#a7cba1b914230289de9c91ff28be96bc9">00407</a>         <span class="keywordtype">void</span> <a class="code" href="classirr_1_1video_1_1_s_color.html#a7cba1b914230289de9c91ff28be96bc9" title="Write the color to data in the defined format.">getData</a>(<span class="keywordtype">void</span> *data, <a class="code" href="namespaceirr_1_1video.html#a1d5e487888c32b1674a8f75116d829ed" title="An enum for the color format of textures used by the Irrlicht Engine.">ECOLOR_FORMAT</a> format)
<a name="l00408"></a>00408         {
<a name="l00409"></a>00409             <span class="keywordflow">switch</span>(format)
<a name="l00410"></a>00410             {
<a name="l00411"></a>00411                 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#a1d5e487888c32b1674a8f75116d829eda1207765b5eab1701111b5dc37b68b4bf" title="16 bit color format used by the software driver.">ECF_A1R5G5B5</a>:
<a name="l00412"></a>00412                 {
<a name="l00413"></a>00413                     <a class="code" href="namespaceirr.html#ae9f8ec82692ad3b83c21f555bfa70bcc" title="16 bit unsigned variable.">u16</a> * dest = (<a class="code" href="namespaceirr.html#ae9f8ec82692ad3b83c21f555bfa70bcc" title="16 bit unsigned variable.">u16</a>*)data;
<a name="l00414"></a>00414                     *dest = <a class="code" href="namespaceirr_1_1video.html#a929c6758a0edc772cf69b2c674e4f5cd" title="Converts a 32bit (A8R8G8B8) color to a 16bit A1R5G5B5 color.">video::A8R8G8B8toA1R5G5B5</a>( <a class="code" href="classirr_1_1video_1_1_s_color.html#a11f2b41eeff9e7f688d322735ca2cfcf" title="color in A8R8G8B8 Format">color</a> );
<a name="l00415"></a>00415                 } 
<a name="l00416"></a>00416                 <span class="keywordflow">break</span>;
<a name="l00417"></a>00417 
<a name="l00418"></a>00418                 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#a1d5e487888c32b1674a8f75116d829eda49b4fe9d0ba395456dcd7c76a1ae9775" title="Standard 16 bit color format.">ECF_R5G6B5</a>:
<a name="l00419"></a>00419                 {
<a name="l00420"></a>00420                     <a class="code" href="namespaceirr.html#ae9f8ec82692ad3b83c21f555bfa70bcc" title="16 bit unsigned variable.">u16</a> * dest = (<a class="code" href="namespaceirr.html#ae9f8ec82692ad3b83c21f555bfa70bcc" title="16 bit unsigned variable.">u16</a>*)data;
<a name="l00421"></a>00421                     *dest = <a class="code" href="namespaceirr_1_1video.html#a10636302b225d7f525fa46bbd3f747a4" title="Converts a 32bit (A8R8G8B8) color to a 16bit R5G6B5 color.">video::A8R8G8B8toR5G6B5</a>( <a class="code" href="classirr_1_1video_1_1_s_color.html#a11f2b41eeff9e7f688d322735ca2cfcf" title="color in A8R8G8B8 Format">color</a> );
<a name="l00422"></a>00422                 } 
<a name="l00423"></a>00423                 <span class="keywordflow">break</span>;
<a name="l00424"></a>00424 
<a name="l00425"></a>00425                 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#a1d5e487888c32b1674a8f75116d829eda3f0380aafb1e1fd59f5419a95d630a6d" title="24 bit color, no alpha channel, but 8 bit for red, green and blue.">ECF_R8G8B8</a>:
<a name="l00426"></a>00426                 {
<a name="l00427"></a>00427                     <a class="code" href="namespaceirr.html#a646874f69af8ff87fc10201b0254a761" title="8 bit unsigned variable.">u8</a>* dest = (<a class="code" href="namespaceirr.html#a646874f69af8ff87fc10201b0254a761" title="8 bit unsigned variable.">u8</a>*)data;
<a name="l00428"></a>00428                     dest[0] = (<a class="code" href="namespaceirr.html#a646874f69af8ff87fc10201b0254a761" title="8 bit unsigned variable.">u8</a>)<a class="code" href="classirr_1_1video_1_1_s_color.html#af10d2deaccbde5c958032ed9ec81b59f" title="Returns the red component of the color.">getRed</a>();
<a name="l00429"></a>00429                     dest[1] = (<a class="code" href="namespaceirr.html#a646874f69af8ff87fc10201b0254a761" title="8 bit unsigned variable.">u8</a>)<a class="code" href="classirr_1_1video_1_1_s_color.html#ad604ba81e061b0bfe2ccb5f16e29124d" title="Returns the green component of the color.">getGreen</a>();
<a name="l00430"></a>00430                     dest[2] = (<a class="code" href="namespaceirr.html#a646874f69af8ff87fc10201b0254a761" title="8 bit unsigned variable.">u8</a>)<a class="code" href="classirr_1_1video_1_1_s_color.html#a26fdbde73081b35a1686f8d21a549544" title="Returns the blue component of the color.">getBlue</a>();
<a name="l00431"></a>00431                 } 
<a name="l00432"></a>00432                 <span class="keywordflow">break</span>;
<a name="l00433"></a>00433 
<a name="l00434"></a>00434                 <span class="keywordflow">case</span> <a class="code" href="namespaceirr_1_1video.html#a1d5e487888c32b1674a8f75116d829eda55c57d63efff39efe33ee733fe962df0" title="Default 32 bit color format. 8 bits are used for every component: red, green, blue and alpha...">ECF_A8R8G8B8</a>:
<a name="l00435"></a>00435                 {
<a name="l00436"></a>00436                     <a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> * dest = (<a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a>*)data;
<a name="l00437"></a>00437                     *dest = <a class="code" href="classirr_1_1video_1_1_s_color.html#a11f2b41eeff9e7f688d322735ca2cfcf" title="color in A8R8G8B8 Format">color</a>;
<a name="l00438"></a>00438                 } 
<a name="l00439"></a>00439                 <span class="keywordflow">break</span>;
<a name="l00440"></a>00440 
<a name="l00441"></a>00441                 <span class="keywordflow">default</span>:
<a name="l00442"></a>00442                 <span class="keywordflow">break</span>;
<a name="l00443"></a>00443             }
<a name="l00444"></a>00444         }
<a name="l00445"></a>00445 
<a name="l00447"></a><a class="code" href="classirr_1_1video_1_1_s_color.html#a11f2b41eeff9e7f688d322735ca2cfcf">00447</a>         <a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> <a class="code" href="classirr_1_1video_1_1_s_color.html#a11f2b41eeff9e7f688d322735ca2cfcf" title="color in A8R8G8B8 Format">color</a>;
<a name="l00448"></a>00448     };
<a name="l00449"></a>00449 
<a name="l00450"></a>00450 
<a name="l00452"></a>00452 
<a name="l00458"></a><a class="code" href="classirr_1_1video_1_1_s_colorf.html">00458</a>     <span class="keyword">class </span><a class="code" href="classirr_1_1video_1_1_s_colorf.html" title="Class representing a color with four floats.">SColorf</a>
<a name="l00459"></a>00459     {
<a name="l00460"></a>00460     <span class="keyword">public</span>:
<a name="l00462"></a>00462 
<a name="l00463"></a><a class="code" href="classirr_1_1video_1_1_s_colorf.html#a701ea1b449c2aae4a3dd44a13055ac3e">00463</a>         <a class="code" href="classirr_1_1video_1_1_s_colorf.html#a701ea1b449c2aae4a3dd44a13055ac3e" title="Default constructor for SColorf.">SColorf</a>() : <a class="code" href="classirr_1_1video_1_1_s_colorf.html#aaabdd1e2ef53f24e9dec70d5d531e425" title="red color component">r</a>(0.0f), <a class="code" href="classirr_1_1video_1_1_s_colorf.html#abcb076ccba5f994d6dca52aed397d59a" title="green color component">g</a>(0.0f), <a class="code" href="classirr_1_1video_1_1_s_colorf.html#a82d235f32be8c4a5a07acb45abde726e" title="blue component">b</a>(0.0f), <a class="code" href="classirr_1_1video_1_1_s_colorf.html#add63387fd1fd80d09500b85ae679b050" title="alpha color component">a</a>(1.0f) {}
<a name="l00464"></a>00464 
<a name="l00466"></a>00466 
<a name="l00476"></a><a class="code" href="classirr_1_1video_1_1_s_colorf.html#adaf8df839d5174aedba17e61ba28fc64">00476</a>         <a class="code" href="classirr_1_1video_1_1_s_colorf.html#adaf8df839d5174aedba17e61ba28fc64" title="Constructs a color from up to four color values: red, green, blue, and alpha.">SColorf</a>(<a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> <a class="code" href="classirr_1_1video_1_1_s_colorf.html#aaabdd1e2ef53f24e9dec70d5d531e425" title="red color component">r</a>, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> <a class="code" href="classirr_1_1video_1_1_s_colorf.html#abcb076ccba5f994d6dca52aed397d59a" title="green color component">g</a>, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> <a class="code" href="classirr_1_1video_1_1_s_colorf.html#a82d235f32be8c4a5a07acb45abde726e" title="blue component">b</a>, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> <a class="code" href="classirr_1_1video_1_1_s_colorf.html#add63387fd1fd80d09500b85ae679b050" title="alpha color component">a</a> = 1.0f) : r(r), g(g), b(b), <a class="code" href="classirr_1_1video_1_1_s_colorf.html#add63387fd1fd80d09500b85ae679b050" title="alpha color component">a</a>(<a class="code" href="classirr_1_1video_1_1_s_colorf.html#add63387fd1fd80d09500b85ae679b050" title="alpha color component">a</a>) {}
<a name="l00477"></a>00477 
<a name="l00479"></a>00479 
<a name="l00481"></a><a class="code" href="classirr_1_1video_1_1_s_colorf.html#a78bdda49d8605203acc99854cc9722b7">00481</a>         <a class="code" href="classirr_1_1video_1_1_s_colorf.html#a701ea1b449c2aae4a3dd44a13055ac3e" title="Default constructor for SColorf.">SColorf</a>(<a class="code" href="classirr_1_1video_1_1_s_color.html" title="Class representing a 32 bit ARGB color.">SColor</a> c)
<a name="l00482"></a>00482         {
<a name="l00483"></a>00483             <span class="keyword">const</span> <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> inv = 1.0f / 255.0f;
<a name="l00484"></a>00484             <a class="code" href="classirr_1_1video_1_1_s_colorf.html#aaabdd1e2ef53f24e9dec70d5d531e425" title="red color component">r</a> = c.<a class="code" href="classirr_1_1video_1_1_s_color.html#af10d2deaccbde5c958032ed9ec81b59f" title="Returns the red component of the color.">getRed</a>() * inv;
<a name="l00485"></a>00485             <a class="code" href="classirr_1_1video_1_1_s_colorf.html#abcb076ccba5f994d6dca52aed397d59a" title="green color component">g</a> = c.<a class="code" href="classirr_1_1video_1_1_s_color.html#ad604ba81e061b0bfe2ccb5f16e29124d" title="Returns the green component of the color.">getGreen</a>() * inv;
<a name="l00486"></a>00486             <a class="code" href="classirr_1_1video_1_1_s_colorf.html#a82d235f32be8c4a5a07acb45abde726e" title="blue component">b</a> = c.<a class="code" href="classirr_1_1video_1_1_s_color.html#a26fdbde73081b35a1686f8d21a549544" title="Returns the blue component of the color.">getBlue</a>() * inv;
<a name="l00487"></a>00487             <a class="code" href="classirr_1_1video_1_1_s_colorf.html#add63387fd1fd80d09500b85ae679b050" title="alpha color component">a</a> = c.<a class="code" href="classirr_1_1video_1_1_s_color.html#a9647d09a9d4b9c6fb48a8fa1f2da425c" title="Returns the alpha component of the color.">getAlpha</a>() * inv;
<a name="l00488"></a>00488         }
<a name="l00489"></a>00489 
<a name="l00491"></a><a class="code" href="classirr_1_1video_1_1_s_colorf.html#a72ce02a50bf17d5a0017caa4cdddd4a1">00491</a>         <a class="code" href="classirr_1_1video_1_1_s_color.html" title="Class representing a 32 bit ARGB color.">SColor</a> <a class="code" href="classirr_1_1video_1_1_s_colorf.html#a72ce02a50bf17d5a0017caa4cdddd4a1" title="Converts this color to a SColor without floats.">toSColor</a>()<span class="keyword"> const</span>
<a name="l00492"></a>00492 <span class="keyword">        </span>{
<a name="l00493"></a>00493             <span class="keywordflow">return</span> <a class="code" href="classirr_1_1video_1_1_s_color.html" title="Class representing a 32 bit ARGB color.">SColor</a>((<a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a>)<a class="code" href="namespaceirr_1_1core.html#ae46f57f03e9033c57c180fbe83b04cf2">core::round32</a>(<a class="code" href="classirr_1_1video_1_1_s_colorf.html#add63387fd1fd80d09500b85ae679b050" title="alpha color component">a</a>*255.0f), (<a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a>)<a class="code" href="namespaceirr_1_1core.html#ae46f57f03e9033c57c180fbe83b04cf2">core::round32</a>(<a class="code" href="classirr_1_1video_1_1_s_colorf.html#aaabdd1e2ef53f24e9dec70d5d531e425" title="red color component">r</a>*255.0f), (<a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a>)<a class="code" href="namespaceirr_1_1core.html#ae46f57f03e9033c57c180fbe83b04cf2">core::round32</a>(<a class="code" href="classirr_1_1video_1_1_s_colorf.html#abcb076ccba5f994d6dca52aed397d59a" title="green color component">g</a>*255.0f), (<a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a>)<a class="code" href="namespaceirr_1_1core.html#ae46f57f03e9033c57c180fbe83b04cf2">core::round32</a>(<a class="code" href="classirr_1_1video_1_1_s_colorf.html#a82d235f32be8c4a5a07acb45abde726e" title="blue component">b</a>*255.0f));
<a name="l00494"></a>00494         }
<a name="l00495"></a>00495 
<a name="l00497"></a>00497 
<a name="l00503"></a><a class="code" href="classirr_1_1video_1_1_s_colorf.html#a99fe5c7d261d288d9afe301d4b90d41c">00503</a>         <span class="keywordtype">void</span> <span class="keyword">set</span>(<a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> rr, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> gg, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> bb) {<a class="code" href="classirr_1_1video_1_1_s_colorf.html#aaabdd1e2ef53f24e9dec70d5d531e425" title="red color component">r</a> = rr; <a class="code" href="classirr_1_1video_1_1_s_colorf.html#abcb076ccba5f994d6dca52aed397d59a" title="green color component">g</a> =gg; <a class="code" href="classirr_1_1video_1_1_s_colorf.html#a82d235f32be8c4a5a07acb45abde726e" title="blue component">b</a> = bb; }
<a name="l00504"></a>00504 
<a name="l00506"></a>00506 
<a name="l00514"></a><a class="code" href="classirr_1_1video_1_1_s_colorf.html#ae5a082e95ff2631651356f8a6daa2e73">00514</a>         <span class="keywordtype">void</span> <span class="keyword">set</span>(<a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> aa, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> rr, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> gg, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> bb) {<a class="code" href="classirr_1_1video_1_1_s_colorf.html#add63387fd1fd80d09500b85ae679b050" title="alpha color component">a</a> = aa; <a class="code" href="classirr_1_1video_1_1_s_colorf.html#aaabdd1e2ef53f24e9dec70d5d531e425" title="red color component">r</a> = rr; <a class="code" href="classirr_1_1video_1_1_s_colorf.html#abcb076ccba5f994d6dca52aed397d59a" title="green color component">g</a> =gg; <a class="code" href="classirr_1_1video_1_1_s_colorf.html#a82d235f32be8c4a5a07acb45abde726e" title="blue component">b</a> = bb; }
<a name="l00515"></a>00515 
<a name="l00517"></a>00517 
<a name="l00520"></a><a class="code" href="classirr_1_1video_1_1_s_colorf.html#a7167069deeacd120985dedfc578e98f3">00520</a>         <a class="code" href="classirr_1_1video_1_1_s_colorf.html" title="Class representing a color with four floats.">SColorf</a> <a class="code" href="classirr_1_1video_1_1_s_colorf.html#a7167069deeacd120985dedfc578e98f3" title="Interpolates the color with a f32 value to another color.">getInterpolated</a>(<span class="keyword">const</span> <a class="code" href="classirr_1_1video_1_1_s_colorf.html" title="Class representing a color with four floats.">SColorf</a> &amp;other, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> d)<span class="keyword"> const</span>
<a name="l00521"></a>00521 <span class="keyword">        </span>{
<a name="l00522"></a>00522             d = <a class="code" href="namespaceirr_1_1core.html#a6162f685b68f629e77336081d3316969" title="clamps a value between low and high">core::clamp</a>(d, 0.f, 1.f);
<a name="l00523"></a>00523             <span class="keyword">const</span> <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> inv = 1.0f - d;
<a name="l00524"></a>00524             <span class="keywordflow">return</span> <a class="code" href="classirr_1_1video_1_1_s_colorf.html#a701ea1b449c2aae4a3dd44a13055ac3e" title="Default constructor for SColorf.">SColorf</a>(other.<a class="code" href="classirr_1_1video_1_1_s_colorf.html#aaabdd1e2ef53f24e9dec70d5d531e425" title="red color component">r</a>*inv + <a class="code" href="classirr_1_1video_1_1_s_colorf.html#aaabdd1e2ef53f24e9dec70d5d531e425" title="red color component">r</a>*d,
<a name="l00525"></a>00525                 other.<a class="code" href="classirr_1_1video_1_1_s_colorf.html#abcb076ccba5f994d6dca52aed397d59a" title="green color component">g</a>*inv + <a class="code" href="classirr_1_1video_1_1_s_colorf.html#abcb076ccba5f994d6dca52aed397d59a" title="green color component">g</a>*d, other.<a class="code" href="classirr_1_1video_1_1_s_colorf.html#a82d235f32be8c4a5a07acb45abde726e" title="blue component">b</a>*inv + <a class="code" href="classirr_1_1video_1_1_s_colorf.html#a82d235f32be8c4a5a07acb45abde726e" title="blue component">b</a>*d, other.<a class="code" href="classirr_1_1video_1_1_s_colorf.html#add63387fd1fd80d09500b85ae679b050" title="alpha color component">a</a>*inv + <a class="code" href="classirr_1_1video_1_1_s_colorf.html#add63387fd1fd80d09500b85ae679b050" title="alpha color component">a</a>*d);
<a name="l00526"></a>00526         }
<a name="l00527"></a>00527 
<a name="l00529"></a>00529 
<a name="l00532"></a><a class="code" href="classirr_1_1video_1_1_s_colorf.html#aaba8f592ab29c706a57ef4fdeccf362a">00532</a>         <span class="keyword">inline</span> <a class="code" href="classirr_1_1video_1_1_s_colorf.html" title="Class representing a color with four floats.">SColorf</a> <a class="code" href="classirr_1_1video_1_1_s_colorf.html#aaba8f592ab29c706a57ef4fdeccf362a" title="Returns interpolated color. ( quadratic )">getInterpolated_quadratic</a>(<span class="keyword">const</span> <a class="code" href="classirr_1_1video_1_1_s_colorf.html" title="Class representing a color with four floats.">SColorf</a>&amp; c1, <span class="keyword">const</span> <a class="code" href="classirr_1_1video_1_1_s_colorf.html" title="Class representing a color with four floats.">SColorf</a>&amp; c2,
<a name="l00533"></a>00533                 <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> d)<span class="keyword"> const</span>
<a name="l00534"></a>00534 <span class="keyword">        </span>{
<a name="l00535"></a>00535             d = <a class="code" href="namespaceirr_1_1core.html#a6162f685b68f629e77336081d3316969" title="clamps a value between low and high">core::clamp</a>(d, 0.f, 1.f);
<a name="l00536"></a>00536             <span class="comment">// this*(1-d)*(1-d) + 2 * c1 * (1-d) + c2 * d * d;</span>
<a name="l00537"></a>00537             <span class="keyword">const</span> <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> inv = 1.f - d;
<a name="l00538"></a>00538             <span class="keyword">const</span> <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> mul0 = inv * inv;
<a name="l00539"></a>00539             <span class="keyword">const</span> <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> mul1 = 2.f * d * inv;
<a name="l00540"></a>00540             <span class="keyword">const</span> <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> mul2 = d * d;
<a name="l00541"></a>00541 
<a name="l00542"></a>00542             <span class="keywordflow">return</span> <a class="code" href="classirr_1_1video_1_1_s_colorf.html#a701ea1b449c2aae4a3dd44a13055ac3e" title="Default constructor for SColorf.">SColorf</a> (<a class="code" href="classirr_1_1video_1_1_s_colorf.html#aaabdd1e2ef53f24e9dec70d5d531e425" title="red color component">r</a> * mul0 + c1.<a class="code" href="classirr_1_1video_1_1_s_colorf.html#aaabdd1e2ef53f24e9dec70d5d531e425" title="red color component">r</a> * mul1 + c2.<a class="code" href="classirr_1_1video_1_1_s_colorf.html#aaabdd1e2ef53f24e9dec70d5d531e425" title="red color component">r</a> * mul2,
<a name="l00543"></a>00543                     <a class="code" href="classirr_1_1video_1_1_s_colorf.html#abcb076ccba5f994d6dca52aed397d59a" title="green color component">g</a> * mul0 + c1.<a class="code" href="classirr_1_1video_1_1_s_colorf.html#abcb076ccba5f994d6dca52aed397d59a" title="green color component">g</a> * mul1 + c2.<a class="code" href="classirr_1_1video_1_1_s_colorf.html#abcb076ccba5f994d6dca52aed397d59a" title="green color component">g</a> * mul2,
<a name="l00544"></a>00544                     <a class="code" href="classirr_1_1video_1_1_s_colorf.html#a82d235f32be8c4a5a07acb45abde726e" title="blue component">b</a> * mul0 + c1.<a class="code" href="classirr_1_1video_1_1_s_colorf.html#a82d235f32be8c4a5a07acb45abde726e" title="blue component">b</a> * mul1 + c2.<a class="code" href="classirr_1_1video_1_1_s_colorf.html#a82d235f32be8c4a5a07acb45abde726e" title="blue component">b</a> * mul2,
<a name="l00545"></a>00545                     <a class="code" href="classirr_1_1video_1_1_s_colorf.html#add63387fd1fd80d09500b85ae679b050" title="alpha color component">a</a> * mul0 + c1.<a class="code" href="classirr_1_1video_1_1_s_colorf.html#add63387fd1fd80d09500b85ae679b050" title="alpha color component">a</a> * mul1 + c2.<a class="code" href="classirr_1_1video_1_1_s_colorf.html#add63387fd1fd80d09500b85ae679b050" title="alpha color component">a</a> * mul2);
<a name="l00546"></a>00546         }
<a name="l00547"></a>00547 
<a name="l00548"></a>00548 
<a name="l00550"></a><a class="code" href="classirr_1_1video_1_1_s_colorf.html#a79c420ed7052d68d3827f455881535af">00550</a>         <span class="keywordtype">void</span> <a class="code" href="classirr_1_1video_1_1_s_colorf.html#a79c420ed7052d68d3827f455881535af" title="Sets a color component by index. R=0, G=1, B=2, A=3.">setColorComponentValue</a>(<a class="code" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6" title="32 bit signed variable.">s32</a> index, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> value)
<a name="l00551"></a>00551         {
<a name="l00552"></a>00552             <span class="keywordflow">switch</span>(index)
<a name="l00553"></a>00553             {
<a name="l00554"></a>00554             <span class="keywordflow">case</span> 0: <a class="code" href="classirr_1_1video_1_1_s_colorf.html#aaabdd1e2ef53f24e9dec70d5d531e425" title="red color component">r</a> = value; <span class="keywordflow">break</span>;
<a name="l00555"></a>00555             <span class="keywordflow">case</span> 1: <a class="code" href="classirr_1_1video_1_1_s_colorf.html#abcb076ccba5f994d6dca52aed397d59a" title="green color component">g</a> = value; <span class="keywordflow">break</span>;
<a name="l00556"></a>00556             <span class="keywordflow">case</span> 2: <a class="code" href="classirr_1_1video_1_1_s_colorf.html#a82d235f32be8c4a5a07acb45abde726e" title="blue component">b</a> = value; <span class="keywordflow">break</span>;
<a name="l00557"></a>00557             <span class="keywordflow">case</span> 3: <a class="code" href="classirr_1_1video_1_1_s_colorf.html#add63387fd1fd80d09500b85ae679b050" title="alpha color component">a</a> = value; <span class="keywordflow">break</span>;
<a name="l00558"></a>00558             }
<a name="l00559"></a>00559         }
<a name="l00560"></a>00560 
<a name="l00562"></a><a class="code" href="classirr_1_1video_1_1_s_colorf.html#a01e38f4fee055d085530baac54dacb67">00562</a>         <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> <a class="code" href="classirr_1_1video_1_1_s_colorf.html#a01e38f4fee055d085530baac54dacb67" title="Returns the alpha component of the color in the range 0.0 (transparent) to 1.0 (opaque)">getAlpha</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classirr_1_1video_1_1_s_colorf.html#add63387fd1fd80d09500b85ae679b050" title="alpha color component">a</a>; }
<a name="l00563"></a>00563 
<a name="l00565"></a><a class="code" href="classirr_1_1video_1_1_s_colorf.html#abf88944ab00a08054cecaefe65e6d485">00565</a>         <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> <a class="code" href="classirr_1_1video_1_1_s_colorf.html#abf88944ab00a08054cecaefe65e6d485" title="Returns the red component of the color in the range 0.0 to 1.0.">getRed</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classirr_1_1video_1_1_s_colorf.html#aaabdd1e2ef53f24e9dec70d5d531e425" title="red color component">r</a>; }
<a name="l00566"></a>00566 
<a name="l00568"></a><a class="code" href="classirr_1_1video_1_1_s_colorf.html#a9b12565067e4606afe7dcdf3c34c232d">00568</a>         <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> <a class="code" href="classirr_1_1video_1_1_s_colorf.html#a9b12565067e4606afe7dcdf3c34c232d" title="Returns the green component of the color in the range 0.0 to 1.0.">getGreen</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classirr_1_1video_1_1_s_colorf.html#abcb076ccba5f994d6dca52aed397d59a" title="green color component">g</a>; }
<a name="l00569"></a>00569 
<a name="l00571"></a><a class="code" href="classirr_1_1video_1_1_s_colorf.html#ad4c669bb1966d58ec9b5eb6b564531c0">00571</a>         <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> <a class="code" href="classirr_1_1video_1_1_s_colorf.html#ad4c669bb1966d58ec9b5eb6b564531c0" title="Returns the blue component of the color in the range 0.0 to 1.0.">getBlue</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classirr_1_1video_1_1_s_colorf.html#a82d235f32be8c4a5a07acb45abde726e" title="blue component">b</a>; }
<a name="l00572"></a>00572 
<a name="l00574"></a><a class="code" href="classirr_1_1video_1_1_s_colorf.html#aaabdd1e2ef53f24e9dec70d5d531e425">00574</a>         <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> <a class="code" href="classirr_1_1video_1_1_s_colorf.html#aaabdd1e2ef53f24e9dec70d5d531e425" title="red color component">r</a>;
<a name="l00575"></a>00575 
<a name="l00577"></a><a class="code" href="classirr_1_1video_1_1_s_colorf.html#abcb076ccba5f994d6dca52aed397d59a">00577</a>         <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> <a class="code" href="classirr_1_1video_1_1_s_colorf.html#abcb076ccba5f994d6dca52aed397d59a" title="green color component">g</a>;
<a name="l00578"></a>00578 
<a name="l00580"></a><a class="code" href="classirr_1_1video_1_1_s_colorf.html#a82d235f32be8c4a5a07acb45abde726e">00580</a>         <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> <a class="code" href="classirr_1_1video_1_1_s_colorf.html#a82d235f32be8c4a5a07acb45abde726e" title="blue component">b</a>;
<a name="l00581"></a>00581 
<a name="l00583"></a><a class="code" href="classirr_1_1video_1_1_s_colorf.html#add63387fd1fd80d09500b85ae679b050">00583</a>         <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> <a class="code" href="classirr_1_1video_1_1_s_colorf.html#add63387fd1fd80d09500b85ae679b050" title="alpha color component">a</a>;
<a name="l00584"></a>00584     };
<a name="l00585"></a>00585 
<a name="l00586"></a>00586 
<a name="l00588"></a>00588 
<a name="l00592"></a><a class="code" href="classirr_1_1video_1_1_s_color_h_s_l.html">00592</a>     <span class="keyword">class </span><a class="code" href="classirr_1_1video_1_1_s_color_h_s_l.html" title="Class representing a color in HSL format.">SColorHSL</a>
<a name="l00593"></a>00593     {
<a name="l00594"></a>00594     <span class="keyword">public</span>:
<a name="l00595"></a><a class="code" href="classirr_1_1video_1_1_s_color_h_s_l.html#ad75a96f226bcbb38a2237fb7be22f537">00595</a>         <a class="code" href="classirr_1_1video_1_1_s_color_h_s_l.html#ad75a96f226bcbb38a2237fb7be22f537">SColorHSL</a> ( <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> h = 0.f, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> s = 0.f, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> l = 0.f )
<a name="l00596"></a>00596             : <a class="code" href="classirr_1_1video_1_1_s_color_h_s_l.html#a76d317e46d5a30982ed3da58401d319f">Hue</a> ( h ), <a class="code" href="classirr_1_1video_1_1_s_color_h_s_l.html#a61a3b30e3a7724ec9d091001e411987e">Saturation</a> ( s ), <a class="code" href="classirr_1_1video_1_1_s_color_h_s_l.html#acc584a689cf0e4a312c07d58f2a9f2b4">Luminance</a> ( l ) {}
<a name="l00597"></a>00597 
<a name="l00598"></a>00598         <span class="keywordtype">void</span> <a class="code" href="classirr_1_1video_1_1_s_color_h_s_l.html#ac5806ad1f238083ac59d6f3d21673e94">fromRGB</a>(<span class="keyword">const</span> <a class="code" href="classirr_1_1video_1_1_s_colorf.html" title="Class representing a color with four floats.">SColorf</a> &amp;color);
<a name="l00599"></a>00599         <span class="keywordtype">void</span> <a class="code" href="classirr_1_1video_1_1_s_color_h_s_l.html#ad0dc9336487c0912d4d72ba3b803f6c6">toRGB</a>(<a class="code" href="classirr_1_1video_1_1_s_colorf.html" title="Class representing a color with four floats.">SColorf</a> &amp;color) <span class="keyword">const</span>;
<a name="l00600"></a>00600 
<a name="l00601"></a><a class="code" href="classirr_1_1video_1_1_s_color_h_s_l.html#a76d317e46d5a30982ed3da58401d319f">00601</a>         <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> <a class="code" href="classirr_1_1video_1_1_s_color_h_s_l.html#a76d317e46d5a30982ed3da58401d319f">Hue</a>;
<a name="l00602"></a><a class="code" href="classirr_1_1video_1_1_s_color_h_s_l.html#a61a3b30e3a7724ec9d091001e411987e">00602</a>         <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> <a class="code" href="classirr_1_1video_1_1_s_color_h_s_l.html#a61a3b30e3a7724ec9d091001e411987e">Saturation</a>;
<a name="l00603"></a><a class="code" href="classirr_1_1video_1_1_s_color_h_s_l.html#acc584a689cf0e4a312c07d58f2a9f2b4">00603</a>         <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> <a class="code" href="classirr_1_1video_1_1_s_color_h_s_l.html#acc584a689cf0e4a312c07d58f2a9f2b4">Luminance</a>;
<a name="l00604"></a>00604 
<a name="l00605"></a>00605     <span class="keyword">private</span>:
<a name="l00606"></a>00606         <span class="keyword">inline</span> <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> toRGB1(<a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> rm1, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> rm2, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> rh) <span class="keyword">const</span>;
<a name="l00607"></a>00607 
<a name="l00608"></a>00608     };
<a name="l00609"></a>00609 
<a name="l00610"></a><a class="code" href="classirr_1_1video_1_1_s_color_h_s_l.html#ac5806ad1f238083ac59d6f3d21673e94">00610</a>     <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classirr_1_1video_1_1_s_color_h_s_l.html#ac5806ad1f238083ac59d6f3d21673e94">SColorHSL::fromRGB</a>(<span class="keyword">const</span> <a class="code" href="classirr_1_1video_1_1_s_colorf.html" title="Class representing a color with four floats.">SColorf</a> &amp;color)
<a name="l00611"></a>00611     {
<a name="l00612"></a>00612         <span class="keyword">const</span> <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> maxVal = <a class="code" href="namespaceirr_1_1core.html#afca1ce7ac54e0c31a9047947f4c7319b" title="returns maximum of two values. Own implementation to get rid of the STL (VS6 problems)">core::max_</a>(color.<a class="code" href="classirr_1_1video_1_1_s_colorf.html#abf88944ab00a08054cecaefe65e6d485" title="Returns the red component of the color in the range 0.0 to 1.0.">getRed</a>(), color.<a class="code" href="classirr_1_1video_1_1_s_colorf.html#a9b12565067e4606afe7dcdf3c34c232d" title="Returns the green component of the color in the range 0.0 to 1.0.">getGreen</a>(), color.<a class="code" href="classirr_1_1video_1_1_s_colorf.html#ad4c669bb1966d58ec9b5eb6b564531c0" title="Returns the blue component of the color in the range 0.0 to 1.0.">getBlue</a>());
<a name="l00613"></a>00613         <span class="keyword">const</span> <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> minVal = (<a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a>)<a class="code" href="namespaceirr_1_1core.html#a9d34bfdbbe9c136b01ae04974572bc11" title="returns minimum of two values. Own implementation to get rid of the STL (VS6 problems)">core::min_</a>(color.<a class="code" href="classirr_1_1video_1_1_s_colorf.html#abf88944ab00a08054cecaefe65e6d485" title="Returns the red component of the color in the range 0.0 to 1.0.">getRed</a>(), color.<a class="code" href="classirr_1_1video_1_1_s_colorf.html#a9b12565067e4606afe7dcdf3c34c232d" title="Returns the green component of the color in the range 0.0 to 1.0.">getGreen</a>(), color.<a class="code" href="classirr_1_1video_1_1_s_colorf.html#ad4c669bb1966d58ec9b5eb6b564531c0" title="Returns the blue component of the color in the range 0.0 to 1.0.">getBlue</a>());
<a name="l00614"></a>00614         <a class="code" href="classirr_1_1video_1_1_s_color_h_s_l.html#acc584a689cf0e4a312c07d58f2a9f2b4">Luminance</a> = (maxVal+minVal)*50;
<a name="l00615"></a>00615         <span class="keywordflow">if</span> (<a class="code" href="namespaceirr_1_1core.html#abf9b9b140cc365908ea4c8c47451e4e3" title="returns if a equals b, taking possible rounding errors into account">core::equals</a>(maxVal, minVal))
<a name="l00616"></a>00616         {
<a name="l00617"></a>00617             <a class="code" href="classirr_1_1video_1_1_s_color_h_s_l.html#a76d317e46d5a30982ed3da58401d319f">Hue</a>=0.f;
<a name="l00618"></a>00618             <a class="code" href="classirr_1_1video_1_1_s_color_h_s_l.html#a61a3b30e3a7724ec9d091001e411987e">Saturation</a>=0.f;
<a name="l00619"></a>00619             <span class="keywordflow">return</span>;
<a name="l00620"></a>00620         }
<a name="l00621"></a>00621 
<a name="l00622"></a>00622         <span class="keyword">const</span> <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> delta = maxVal-minVal;
<a name="l00623"></a>00623         <span class="keywordflow">if</span> ( <a class="code" href="classirr_1_1video_1_1_s_color_h_s_l.html#acc584a689cf0e4a312c07d58f2a9f2b4">Luminance</a> &lt;= 50 )
<a name="l00624"></a>00624         {
<a name="l00625"></a>00625             <a class="code" href="classirr_1_1video_1_1_s_color_h_s_l.html#a61a3b30e3a7724ec9d091001e411987e">Saturation</a> = (delta)/(maxVal+minVal);
<a name="l00626"></a>00626         }
<a name="l00627"></a>00627         <span class="keywordflow">else</span>
<a name="l00628"></a>00628         {
<a name="l00629"></a>00629             <a class="code" href="classirr_1_1video_1_1_s_color_h_s_l.html#a61a3b30e3a7724ec9d091001e411987e">Saturation</a> = (delta)/(2-maxVal-minVal);
<a name="l00630"></a>00630         }
<a name="l00631"></a>00631         <a class="code" href="classirr_1_1video_1_1_s_color_h_s_l.html#a61a3b30e3a7724ec9d091001e411987e">Saturation</a> *= 100;
<a name="l00632"></a>00632 
<a name="l00633"></a>00633         <span class="keywordflow">if</span> (<a class="code" href="namespaceirr_1_1core.html#abf9b9b140cc365908ea4c8c47451e4e3" title="returns if a equals b, taking possible rounding errors into account">core::equals</a>(maxVal, color.<a class="code" href="classirr_1_1video_1_1_s_colorf.html#abf88944ab00a08054cecaefe65e6d485" title="Returns the red component of the color in the range 0.0 to 1.0.">getRed</a>()))
<a name="l00634"></a>00634             <a class="code" href="classirr_1_1video_1_1_s_color_h_s_l.html#a76d317e46d5a30982ed3da58401d319f">Hue</a> = (color.<a class="code" href="classirr_1_1video_1_1_s_colorf.html#a9b12565067e4606afe7dcdf3c34c232d" title="Returns the green component of the color in the range 0.0 to 1.0.">getGreen</a>()-color.<a class="code" href="classirr_1_1video_1_1_s_colorf.html#ad4c669bb1966d58ec9b5eb6b564531c0" title="Returns the blue component of the color in the range 0.0 to 1.0.">getBlue</a>())/delta;
<a name="l00635"></a>00635         <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="namespaceirr_1_1core.html#abf9b9b140cc365908ea4c8c47451e4e3" title="returns if a equals b, taking possible rounding errors into account">core::equals</a>(maxVal, color.<a class="code" href="classirr_1_1video_1_1_s_colorf.html#a9b12565067e4606afe7dcdf3c34c232d" title="Returns the green component of the color in the range 0.0 to 1.0.">getGreen</a>()))
<a name="l00636"></a>00636             <a class="code" href="classirr_1_1video_1_1_s_color_h_s_l.html#a76d317e46d5a30982ed3da58401d319f">Hue</a> = 2+((color.<a class="code" href="classirr_1_1video_1_1_s_colorf.html#ad4c669bb1966d58ec9b5eb6b564531c0" title="Returns the blue component of the color in the range 0.0 to 1.0.">getBlue</a>()-color.<a class="code" href="classirr_1_1video_1_1_s_colorf.html#abf88944ab00a08054cecaefe65e6d485" title="Returns the red component of the color in the range 0.0 to 1.0.">getRed</a>())/delta);
<a name="l00637"></a>00637         <span class="keywordflow">else</span> <span class="comment">// blue is max</span>
<a name="l00638"></a>00638             <a class="code" href="classirr_1_1video_1_1_s_color_h_s_l.html#a76d317e46d5a30982ed3da58401d319f">Hue</a> = 4+((color.<a class="code" href="classirr_1_1video_1_1_s_colorf.html#abf88944ab00a08054cecaefe65e6d485" title="Returns the red component of the color in the range 0.0 to 1.0.">getRed</a>()-color.<a class="code" href="classirr_1_1video_1_1_s_colorf.html#a9b12565067e4606afe7dcdf3c34c232d" title="Returns the green component of the color in the range 0.0 to 1.0.">getGreen</a>())/delta);
<a name="l00639"></a>00639 
<a name="l00640"></a>00640         <a class="code" href="classirr_1_1video_1_1_s_color_h_s_l.html#a76d317e46d5a30982ed3da58401d319f">Hue</a> *= 60.0f;
<a name="l00641"></a>00641         <span class="keywordflow">while</span> ( <a class="code" href="classirr_1_1video_1_1_s_color_h_s_l.html#a76d317e46d5a30982ed3da58401d319f">Hue</a> &lt; 0.f )
<a name="l00642"></a>00642             <a class="code" href="classirr_1_1video_1_1_s_color_h_s_l.html#a76d317e46d5a30982ed3da58401d319f">Hue</a> += 360;
<a name="l00643"></a>00643     }
<a name="l00644"></a>00644 
<a name="l00645"></a>00645 
<a name="l00646"></a><a class="code" href="classirr_1_1video_1_1_s_color_h_s_l.html#ad0dc9336487c0912d4d72ba3b803f6c6">00646</a>     <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classirr_1_1video_1_1_s_color_h_s_l.html#ad0dc9336487c0912d4d72ba3b803f6c6">SColorHSL::toRGB</a>(<a class="code" href="classirr_1_1video_1_1_s_colorf.html" title="Class representing a color with four floats.">SColorf</a> &amp;color)<span class="keyword"> const</span>
<a name="l00647"></a>00647 <span class="keyword">    </span>{
<a name="l00648"></a>00648         <span class="keyword">const</span> <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> l = <a class="code" href="classirr_1_1video_1_1_s_color_h_s_l.html#acc584a689cf0e4a312c07d58f2a9f2b4">Luminance</a>/100;
<a name="l00649"></a>00649         <span class="keywordflow">if</span> (<a class="code" href="namespaceirr_1_1core.html#afc24e6ba26469ec7ca7001ed272dc3b2" title="returns if a equals zero, taking rounding errors into account">core::iszero</a>(<a class="code" href="classirr_1_1video_1_1_s_color_h_s_l.html#a61a3b30e3a7724ec9d091001e411987e">Saturation</a>)) <span class="comment">// grey</span>
<a name="l00650"></a>00650         {
<a name="l00651"></a>00651             color.<a class="code" href="classirr_1_1video_1_1_s_colorf.html#a99fe5c7d261d288d9afe301d4b90d41c" title="Sets three color components to new values at once.">set</a>(l, l, l);
<a name="l00652"></a>00652             <span class="keywordflow">return</span>;
<a name="l00653"></a>00653         }
<a name="l00654"></a>00654 
<a name="l00655"></a>00655         <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> rm2;
<a name="l00656"></a>00656 
<a name="l00657"></a>00657         <span class="keywordflow">if</span> ( <a class="code" href="classirr_1_1video_1_1_s_color_h_s_l.html#acc584a689cf0e4a312c07d58f2a9f2b4">Luminance</a> &lt;= 50 )
<a name="l00658"></a>00658         {
<a name="l00659"></a>00659             rm2 = l + l * (<a class="code" href="classirr_1_1video_1_1_s_color_h_s_l.html#a61a3b30e3a7724ec9d091001e411987e">Saturation</a>/100);
<a name="l00660"></a>00660         }
<a name="l00661"></a>00661         <span class="keywordflow">else</span>
<a name="l00662"></a>00662         {
<a name="l00663"></a>00663             rm2 = l + (1 - l) * (<a class="code" href="classirr_1_1video_1_1_s_color_h_s_l.html#a61a3b30e3a7724ec9d091001e411987e">Saturation</a>/100);
<a name="l00664"></a>00664         }
<a name="l00665"></a>00665 
<a name="l00666"></a>00666         <span class="keyword">const</span> <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> rm1 = 2.0f * l - rm2;
<a name="l00667"></a>00667 
<a name="l00668"></a>00668         <span class="keyword">const</span> <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> h = <a class="code" href="classirr_1_1video_1_1_s_color_h_s_l.html#a76d317e46d5a30982ed3da58401d319f">Hue</a> / 360.0f;
<a name="l00669"></a>00669         color.<a class="code" href="classirr_1_1video_1_1_s_colorf.html#a99fe5c7d261d288d9afe301d4b90d41c" title="Sets three color components to new values at once.">set</a>( toRGB1(rm1, rm2, h + 1.f/3.f),
<a name="l00670"></a>00670             toRGB1(rm1, rm2, h),
<a name="l00671"></a>00671             toRGB1(rm1, rm2, h - 1.f/3.f)
<a name="l00672"></a>00672             );
<a name="l00673"></a>00673     }
<a name="l00674"></a>00674 
<a name="l00675"></a>00675 
<a name="l00676"></a>00676     <span class="comment">// algorithm from Foley/Van-Dam</span>
<a name="l00677"></a>00677     <span class="keyword">inline</span> <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> SColorHSL::toRGB1(<a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> rm1, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> rm2, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> rh)<span class="keyword"> const</span>
<a name="l00678"></a>00678 <span class="keyword">    </span>{
<a name="l00679"></a>00679         <span class="keywordflow">if</span> (rh&lt;0)
<a name="l00680"></a>00680             rh += 1;
<a name="l00681"></a>00681         <span class="keywordflow">if</span> (rh&gt;1)
<a name="l00682"></a>00682             rh -= 1;
<a name="l00683"></a>00683 
<a name="l00684"></a>00684         <span class="keywordflow">if</span> (rh &lt; 1.f/6.f)
<a name="l00685"></a>00685             rm1 = rm1 + (rm2 - rm1) * rh*6.f;
<a name="l00686"></a>00686         <span class="keywordflow">else</span> <span class="keywordflow">if</span> (rh &lt; 0.5f)
<a name="l00687"></a>00687             rm1 = rm2;
<a name="l00688"></a>00688         <span class="keywordflow">else</span> <span class="keywordflow">if</span> (rh &lt; 2.f/3.f)
<a name="l00689"></a>00689             rm1 = rm1 + (rm2 - rm1) * ((2.f/3.f)-rh)*6.f;
<a name="l00690"></a>00690 
<a name="l00691"></a>00691         <span class="keywordflow">return</span> rm1;
<a name="l00692"></a>00692     }
<a name="l00693"></a>00693 
<a name="l00694"></a>00694 } <span class="comment">// end namespace video</span>
<a name="l00695"></a>00695 } <span class="comment">// end namespace irr</span>
<a name="l00696"></a>00696 
<a name="l00697"></a>00697 <span class="preprocessor">#endif</span>
</pre></div></div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="_s_color_8h.html">SColor.h</a>      </li>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>


    <li class="footer">
<a href="http://irrlicht.sourceforge.net" target="_blank">Irrlicht 
Engine</a> Documentation &copy; 2003-2012 by Nikolaus Gebhardt. Generated on Sun Nov 17 2013 20:18:40 for Irrlicht 3D Engine by
<a href="http://www.doxygen.org/index.html" target="_blank">Doxygen</a> 1.7.5.1 </li>
   </ul>
 </div>


</body>
</html>