예제 #1
0
 def test_from_string(self):
     self.assertEqual(tuple(Color("1,1,1,1")), (1, 1, 1, 1))
     self.assertEqual(tuple(Color(".1,.1,.1,.1")),
                      (0.10000000000000001, 0.10000000000000001,
                       0.10000000000000001, 0.10000000000000001))
     self.assertEqual(tuple(Color("1, 1, 1, 1")), (1, 1, 1, 1))
     self.assertEqual(tuple(Color("0.1, 0.1, 0.1, 0.1")),
                      (0.10000000000000001, 0.10000000000000001,
                       0.10000000000000001, 0.10000000000000001))
예제 #2
0
 def test_invalid_values_too_large(self):
     with self.assertRaises(
             ValueError, msg="The color for r (2) is not between 0 and 1."):
         Color((2, 0, 0, 0))
     with self.assertRaises(
             ValueError, msg="The color for g (2) is not between 0 and 1."):
         Color((0, 2, 0, 0))
     with self.assertRaises(
             ValueError, msg="The color for b (2) is not between 0 and 1."):
         Color((0, 0, 2, 0))
     with self.assertRaises(
             ValueError, msg="The color for a (2) is not between 0 and 1."):
         Color((0, 0, 0, 2))
예제 #3
0
 def test_invalid_values_negative(self):
     with self.assertRaises(
             ValueError,
             msg="The color for r (-1) is not between 0 and 1."):
         Color((-1, 0, 0, 0))
     with self.assertRaises(
             ValueError,
             msg="The color for g (-1) is not between 0 and 1."):
         Color((0, -1, 0, 0))
     with self.assertRaises(
             ValueError,
             msg="The color for b (-1) is not between 0 and 1."):
         Color((0, 0, -1, 0))
     with self.assertRaises(
             ValueError,
             msg="The color for a (-1) is not between 0 and 1."):
         Color((0, 0, 0, -1))
예제 #4
0
파일: glyph.py 프로젝트: AlefType/defcon
 def _set_markColor(self, value):
     # convert to a color object
     if value is not None:
         value = Color(value)
     # don't write if there is no change
     oldValue = self.lib.get("public.markColor")
     if oldValue is not None:
         oldValue = Color(oldValue)
     if value == oldValue:
         return
     # remove
     if value is None:
         if "public.markColor" in self.lib:
             del self.lib["public.markColor"]
     # store
     else:
         self.lib["public.markColor"] = value
     self.postNotification(notification="Glyph.MarkColorChanged",
                           data=dict(oldValue=oldValue, newValue=value))
예제 #5
0
 def _set_color(self, color):
     if color is None:
         newColor = None
     else:
         newColor = Color(color)
     oldColor = self.get("color")
     if newColor == oldColor:
         return
     self["color"] = newColor
     self.postNotification("Image.ColorChanged", data=dict(oldValue=oldColor, newValue=newColor))
예제 #6
0
파일: layer.py 프로젝트: benkiel/defcon
 def _set_color(self, color):
     if color is None:
         newColor = None
     else:
         newColor = Color(color)
     oldColor = self._color
     if oldColor != newColor:
         self._color = newColor
         data = dict(oldColor=oldColor, newColor=newColor)
         self.postNotification(notification="Layer.ColorChanged", data=data)
         self.dirty = True
예제 #7
0
 def test_iterate_component_attributes(self):
     color = Color((0.1, 0.2, 0.3, 0.4))
     expected_values = (0.10000000000000001, 0.20000000000000001,
                        0.29999999999999999, 0.40000000000000002)
     for index, component_attribute in enumerate(color):
         self.assertEqual(component_attribute, expected_values[index])
예제 #8
0
 def test_compare(self):
     self.assertTrue(Color((0, 0, 0, 0)) < Color((1, 1, 1, 1)))
     self.assertTrue(Color((0, 0, 0, 0)) < Color((0, 1, 1, 1)))
     self.assertTrue(Color((0, 0, 0, 0)) < Color((1, 0, 0, 0)))
     self.assertTrue(Color((0, 1, 1, 1)) < Color((1, 0, 0, 0)))
예제 #9
0
 def test_component_attributes(self):
     c = Color((.1, .2, .3, .4))
     self.assertEqual(c.r, 0.10000000000000001)
     self.assertEqual(c.g, 0.20000000000000001)
     self.assertEqual(c.b, 0.29999999999999999)
     self.assertEqual(c.a, 0.40000000000000002)
예제 #10
0
 def test_to_sequence(self):
     self.assertEqual(tuple(Color((1, 1, 1, 1))), (1, 1, 1, 1))
예제 #11
0
 def test_to_string(self):
     self.assertEqual(Color((0, 0, 0, 0)), "0,0,0,0")
     self.assertEqual(Color((1, .1, .01, .001)), "1,0.1,0.01,0.001")
     self.assertEqual(Color((.0001, .00001, .000001, .000005)),
                      "0.0001,0.00001,0,0.00001")
예제 #12
0
 def test_from_tuple(self):
     self.assertEqual(tuple(Color((1, 1, 1, 1))), (1, 1, 1, 1))
예제 #13
0
파일: glyph.py 프로젝트: AlefType/defcon
 def _get_markColor(self):
     value = self.lib.get("public.markColor")
     if value is not None:
         value = Color(value)
     return value