1 2from PyObjCTools.TestSupport import * 3from Quartz.CoreGraphics import * 4 5class TestCGShading (TestCase): 6 def testTypes(self): 7 self.assertIsCFType(CGShadingRef) 8 9 def testFunctions(self): 10 self.assertIsInstance(CGShadingGetTypeID(), (int, long)) 11 12 values = [] 13 def evaluate(info, input, output): 14 values.append(input) 15 return input * 4 16 17 self.assertIsInstance(CGFunctionGetTypeID(), (int, long)) 18 19 myInfo = object() 20 func = CGFunctionCreate(myInfo, 1, [0, 1], 4, [0, 1, 0, 1, 0, 1, 0, 1], evaluate) 21 self.assertIsInstance(func, CGFunctionRef) 22 23 24 self.assertResultIsCFRetained(CGShadingCreateAxial) 25 self.assertArgHasType(CGShadingCreateAxial, 4, objc._C_BOOL) 26 self.assertArgHasType(CGShadingCreateAxial, 5, objc._C_BOOL) 27 shading = CGShadingCreateAxial( 28 CGColorSpaceCreateDeviceRGB(), CGPoint(0, 0), CGPoint(50, 200), 29 func, False, False) 30 self.assertIsInstance(shading, CGShadingRef) 31 32 self.assertResultIsCFRetained(CGShadingCreateRadial) 33 self.assertArgHasType(CGShadingCreateRadial, 6, objc._C_BOOL) 34 self.assertArgHasType(CGShadingCreateRadial, 7, objc._C_BOOL) 35 shading = CGShadingCreateRadial( 36 CGColorSpaceCreateDeviceRGB(), CGPoint(0, 0), 5.0, 37 CGPoint(50, 200), 10.5, func, False, False) 38 self.assertIsInstance(shading, CGShadingRef) 39 40 v = CGShadingRetain(shading) 41 self.assertTrue(v is shading) 42 43 CGShadingRelease(shading) 44 45 46 47 48if __name__ == "__main__": 49 main() 50