File: brighter.java

package info (click to toggle)
mauve 20080616-1
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 26,856 kB
  • ctags: 21,952
  • sloc: java: 234,107; sh: 2,834; xml: 208; makefile: 59
file content (80 lines) | stat: -rw-r--r-- 2,544 bytes parent folder | download | duplicates (5)
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
/* brighter.java 
   Copyright (C) 2006 RedHat
This file is part of Mauve.

Mauve is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.

Mauve is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public License
along with Mauve; see the file COPYING.  If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.

*/

// Tags: 1.3

package gnu.testlet.java.awt.ColorClass;


import java.awt.Color; 

import gnu.testlet.TestHarness;
import gnu.testlet.Testlet;

  /**
   * MenuBarTest
   */
  public class brighter implements Testlet {

    public void test(TestHarness harness)
    {
      
      for (int i = 0; i <= 3; i++)
        {
          for (int j = 0; j <= 255; j++)
            {
              for (int k = 0; k <= 255; k++)
                {
                  Color c = new Color(i, j, k);
                  Color c2;
                  c2 = c.brighter();
                  int value = c.getRGB();
                  int[] colors = new int[3];
                  colors[0] = (value & (255 << 16)) >> 16;
                  colors[1] = (value & (255 << 8)) >> 8;
                  colors[2] = value & 255;
                  // (0,0,0) is a special case.
                  if (colors[0] == 0 && colors[1] == 0 && colors[2] ==0)
                    {
                      colors[0] = 3;
                      colors[1] = 3;
                      colors[2] = 3;
                    }
                  else
                    {                    
                      for (int index = 0; index < 3; index++)
                        {
                          
                          if (colors[index] > 2)
                            colors[index] = (int) Math.min(255, colors[index]/0.7f);
                          if (colors[index] == 1 || colors[index] == 2)
                            colors[index] = 4;
                        }
                    }
                  harness.check(c2.getRed(), colors[0]);
                  harness.check(c2.getBlue(), colors[2]);
                  harness.check(c2.getGreen(), colors[1]);             
                }
            }
        }
    }
    
  }