1 2from PyObjCTools.TestSupport import * 3from AppKit import * 4 5class TestNSGraphics (TestCase): 6 def testConstants(self): 7 self.failUnlessEqual(NSCompositeClear, 0) 8 self.failUnlessEqual(NSCompositeCopy, 1) 9 self.failUnlessEqual(NSCompositeSourceOver, 2) 10 self.failUnlessEqual(NSCompositeSourceIn, 3) 11 self.failUnlessEqual(NSCompositeSourceOut, 4) 12 self.failUnlessEqual(NSCompositeSourceAtop, 5) 13 self.failUnlessEqual(NSCompositeDestinationOver, 6) 14 self.failUnlessEqual(NSCompositeDestinationIn, 7) 15 self.failUnlessEqual(NSCompositeDestinationOut, 8) 16 self.failUnlessEqual(NSCompositeDestinationAtop, 9) 17 self.failUnlessEqual(NSCompositeXOR, 10) 18 self.failUnlessEqual(NSCompositePlusDarker, 11) 19 self.failUnlessEqual(NSCompositeHighlight, 12) 20 self.failUnlessEqual(NSCompositePlusLighter, 13) 21 self.failUnlessEqual(NSBackingStoreRetained, 0) 22 self.failUnlessEqual(NSBackingStoreNonretained, 1) 23 self.failUnlessEqual(NSBackingStoreBuffered, 2) 24 self.failUnlessEqual(NSWindowAbove, 1) 25 self.failUnlessEqual(NSWindowBelow, -1) 26 self.failUnlessEqual(NSWindowOut, 0) 27 self.failUnlessEqual(NSFocusRingOnly, 0) 28 self.failUnlessEqual(NSFocusRingBelow, 1) 29 self.failUnlessEqual(NSFocusRingAbove, 2) 30 self.failUnlessEqual(NSFocusRingTypeDefault, 0) 31 self.failUnlessEqual(NSFocusRingTypeNone, 1) 32 self.failUnlessEqual(NSFocusRingTypeExterior, 2) 33 34 self.failUnlessIsInstance(NSCalibratedWhiteColorSpace, unicode) 35 self.failUnlessIsInstance(NSCalibratedBlackColorSpace, unicode) 36 self.failUnlessIsInstance(NSCalibratedRGBColorSpace, unicode) 37 self.failUnlessIsInstance(NSDeviceWhiteColorSpace, unicode) 38 self.failUnlessIsInstance(NSDeviceBlackColorSpace, unicode) 39 self.failUnlessIsInstance(NSDeviceRGBColorSpace, unicode) 40 self.failUnlessIsInstance(NSDeviceCMYKColorSpace, unicode) 41 self.failUnlessIsInstance(NSNamedColorSpace, unicode) 42 self.failUnlessIsInstance(NSPatternColorSpace, unicode) 43 self.failUnlessIsInstance(NSCustomColorSpace, unicode) 44 self.failUnlessIsInstance(NSWhite, float) 45 self.failUnlessIsInstance(NSLightGray, float) 46 self.failUnlessIsInstance(NSDarkGray, float) 47 self.failUnlessIsInstance(NSBlack, float) 48 49 self.failUnlessIsInstance(NSDeviceResolution, unicode) 50 self.failUnlessIsInstance(NSDeviceColorSpaceName, unicode) 51 self.failUnlessIsInstance(NSDeviceBitsPerSample, unicode) 52 self.failUnlessIsInstance(NSDeviceIsScreen, unicode) 53 self.failUnlessIsInstance(NSDeviceIsPrinter, unicode) 54 self.failUnlessIsInstance(NSDeviceSize, unicode) 55 self.failUnlessEqual(NSAnimationEffectDisappearingItemDefault, 0) 56 self.failUnlessEqual(NSAnimationEffectPoof, 10) 57 58 59 def testFunctions(self): 60 app = NSApplication.sharedApplication() 61 62 self.failUnlessArgHasType(NSBestDepth, 4, 'o^' + objc._C_NSBOOL) 63 self.failUnlessArgIsBOOL(NSBestDepth, 3) 64 d, e = NSBestDepth(NSDeviceRGBColorSpace, 8, 32, False, None) 65 self.failUnlessIsInstance(d, (int, long)) 66 self.failUnlessIsInstance(e, bool) 67 68 self.failUnlessResultIsBOOL(NSPlanarFromDepth) 69 self.failUnlessIsInstance(NSPlanarFromDepth(0), bool) 70 71 self.failUnlessIsInstance(NSColorSpaceFromDepth(0), unicode) 72 self.failUnlessIsInstance(NSBitsPerSampleFromDepth(0), (int, long)) 73 self.failUnlessIsInstance(NSBitsPerPixelFromDepth(0), (int, long)) 74 self.failUnlessIsInstance(NSNumberOfColorComponents(NSDeviceRGBColorSpace), (int, long)) 75 76 v = NSAvailableWindowDepths() 77 self.failUnlessIsInstance(v, tuple) 78 self.failIfEqual(len(v), 0) 79 self.failUnlessIsInstance(v[0], int) 80 81 img = NSBitmapImageRep.alloc().initWithBitmapDataPlanes_pixelsWide_pixelsHigh_bitsPerSample_samplesPerPixel_hasAlpha_isPlanar_colorSpaceName_bitmapFormat_bytesPerRow_bitsPerPixel_( 82 None, 255, 255, 8, 4, True, False, NSCalibratedRGBColorSpace, 0, 0, 0) 83 context = NSGraphicsContext.graphicsContextWithBitmapImageRep_(img) 84 current = NSGraphicsContext.currentContext() 85 try: 86 NSGraphicsContext.setCurrentContext_(context) 87 NSRectFill(((0, 0), (1, 2))) 88 89 self.failUnlessArgSizeInArg(NSRectFillList, 0, 1) 90 NSRectFillList([((0, 0), (1, 2)), ((10, 50), (9, 9))], 2) 91 92 self.failUnlessArgSizeInArg(NSRectFillListWithGrays, 0, 2) 93 self.failUnlessArgSizeInArg(NSRectFillListWithGrays, 1, 2) 94 NSRectFillListWithGrays([((0, 0), (1, 2)), ((10, 50), (9, 9))], (0.5, 0.6), 2) 95 96 self.failUnlessArgSizeInArg(NSRectFillListWithColors, 0, 2) 97 self.failUnlessArgSizeInArg(NSRectFillListWithColors, 1, 2) 98 NSRectFillListWithColors([((0, 0), (1, 2)), ((10, 50), (9, 9))], (NSColor.blueColor(), NSColor.redColor()), 2) 99 100 NSRectFillUsingOperation(((0, 0), (1, 2)), NSCompositeSourceOver) 101 102 self.failUnlessArgSizeInArg(NSRectFillListUsingOperation, 0, 1) 103 NSRectFillListUsingOperation([((0, 0), (1, 2)), ((10, 50), (9, 9))], 2, NSCompositeSourceOver) 104 105 self.failUnlessArgSizeInArg(NSRectFillListWithColorsUsingOperation, 0, 2) 106 self.failUnlessArgSizeInArg(NSRectFillListWithColorsUsingOperation, 1, 2) 107 NSRectFillListWithColorsUsingOperation([((0, 0), (1, 2)), ((10, 50), (9, 9))], (NSColor.blueColor(), NSColor.redColor()), 2, NSCompositeSourceOver) 108 109 NSFrameRect(((5, 5), (20, 30))) 110 NSFrameRectWithWidth(((5, 5), (20, 30)), 4) 111 NSFrameRectWithWidthUsingOperation(((5, 5), (20, 30)), 4, NSCompositeSourceOver) 112 113 NSRectClip(((5, 5), (200, 200))) 114 self.failUnlessArgSizeInArg(NSRectClipList, 0, 1) 115 NSRectClipList([((5, 5), (200, 200)), ((50, 50), (90, 100))], 2) 116 117 color = NSReadPixel((5, 5)) 118 self.failUnlessIsInstance(color, NSColor) 119 120 self.failUnlessArgSizeInArg(NSDrawTiledRects, 2, 4) 121 self.failUnlessArgSizeInArg(NSDrawTiledRects, 3, 4) 122 self.failUnlessArgIsIn(NSDrawTiledRects, 2) 123 self.failUnlessArgIsIn(NSDrawTiledRects, 3) 124 NSDrawTiledRects(((10, 10), (50, 50)), ((15, 15), (10, 10)), [NSMinXEdge, NSMaxXEdge], [0.8, 0.9], 2) 125 126 NSDrawGrayBezel(((0, 0), (10, 10)), ((0, 0), (50, 50))) 127 NSDrawGroove(((0, 0), (10, 10)), ((0, 0), (50, 50))) 128 NSDrawWhiteBezel(((0, 0), (10, 10)), ((0, 0), (50, 50))) 129 NSDrawButton(((0, 0), (10, 10)), ((0, 0), (50, 50))) 130 NSEraseRect(((0, 0), (10, 10))) 131 NSCopyBits(0, ((10, 10), (50, 50)), (50, 50)) 132 NSHighlightRect(((10, 10), (50, 50))) 133 NSDrawDarkBezel(((0, 0), (10, 10)), ((0, 0), (50, 50))) 134 NSDrawLightBezel(((0, 0), (10, 10)), ((0, 0), (50, 50))) 135 NSDottedFrameRect(((10, 10), (50, 50))) 136 NSDrawWindowBackground(((10, 10), (50, 50))) 137 138 finally: 139 NSGraphicsContext.setCurrentContext_(current) 140 141 NSSetFocusRingStyle(NSFocusRingAbove) 142 143 self.failUnlessArgIsOut(NSGetWindowServerMemory, 1) 144 self.failUnlessArgIsOut(NSGetWindowServerMemory, 2) 145 self.failUnlessArgIsOut(NSGetWindowServerMemory, 3) 146 r = NSGetWindowServerMemory(0, None, None, None) 147 self.failUnlessIsInstance(r[0], (int, long)) 148 self.failUnlessIsInstance(r[1], (int, long)) 149 self.failUnlessIsInstance(r[2], (int, long)) 150 151 self.failUnlessArgSizeInArg(NSDrawColorTiledRects, 2, 4) 152 self.failUnlessArgSizeInArg(NSDrawColorTiledRects, 3, 4) 153 self.failUnlessArgIsIn(NSDrawColorTiledRects, 2) 154 self.failUnlessArgIsIn(NSDrawColorTiledRects, 3) 155 NSDrawColorTiledRects(((10, 10), (50, 50)), ((15, 15), (10, 10)), [NSMinXEdge, NSMaxXEdge], [NSColor.redColor(), NSColor.blueColor()], 2) 156 157 #self.failUnlessArgIsBOOL(NSDrawBitmap, 7) 158 #self.failUnlessArgIsBOOL(NSDrawBitmap, 8) 159 #NSDrawBitmap(((0, 0), (10, 10)), 10, 20, 8, 4, 32, 40, False, True, 160 # NSDeviceRGBColorSpace, [' '*4*10*20, '', '', '', '']) 161 162 self.failUnlessArgSizeInArg(NSWindowList, 1, 0) 163 self.failUnlessArgIsOut(NSWindowList, 1) 164 v = NSWindowList(5, None) 165 self.failUnlessIsInstance(v, tuple) 166 self.failUnlessEqual(len(v), 5) 167 self.failUnlessIsInstance(v[0], (int, long)) 168 169 self.failUnlessArgIsOut(NSCountWindowsForContext, 1) 170 v = NSCountWindowsForContext(1, None) 171 self.failUnlessIsInstance(v, (int, long)) 172 173 self.failUnlessArgIsOut(NSWindowListForContext, 2) 174 self.failUnlessArgSizeInArg(NSWindowListForContext, 2, 1) 175 v = NSWindowListForContext(0, 5, None) 176 self.failUnlessIsInstance(v, tuple) 177 self.failUnlessEqual(len(v), 5) 178 self.failUnlessIsInstance(v[0], (int, long)) 179 180 181 182 183 NSBeep() 184 count = NSCountWindows(None) 185 self.failUnlessIsInstance(count, (int, long)) 186 187 try: 188 NSDisableScreenUpdates() 189 except objc.error: 190 pass 191 192 try: 193 NSEnableScreenUpdates() 194 except objc.error: 195 pass 196 197 self.failUnlessArgIsSEL(NSShowAnimationEffect, 4, 'v@:^v') 198 self.failUnlessArgHasType(NSShowAnimationEffect, 5, '^v') 199 try: 200 NSShowAnimationEffect(NSAnimationEffectPoof, (10, 10), (20, 30), None, None, None) 201 except objc.error: 202 pass 203 204 205if __name__ == "__main__": 206 main() 207