def testFunctions(self): v = CoreText.CTLineGetTypeID() self.assertIsInstance(v, int) self.assertResultIsCFRetained( CoreText.CTLineCreateWithAttributedString) astr = CoreText.CFAttributedStringCreate(None, "-", None) self.assertTrue(astr is not None) token = CoreText.CTLineCreateWithAttributedString(astr) self.assertIsInstance(token, CoreText.CTLineRef) astr = CoreText.CFAttributedStringCreate(None, "hello world", None) self.assertTrue(astr is not None) line = CoreText.CTLineCreateWithAttributedString(astr) self.assertIsInstance(line, CoreText.CTLineRef) self.assertResultIsCFRetained(CoreText.CTLineCreateTruncatedLine) v = CoreText.CTLineCreateTruncatedLine(line, 20.0, CoreText.kCTLineTruncationStart, token) self.assertIsInstance(v, CoreText.CTLineRef) self.assertResultIsCFRetained(CoreText.CTLineCreateJustifiedLine) v = CoreText.CTLineCreateJustifiedLine(line, 2.0, 123.0) self.assertIsInstance(v, CoreText.CTLineRef) v = CoreText.CTLineGetGlyphCount(line) self.assertIsInstance(v, int) v = CoreText.CTLineGetGlyphRuns(line) self.assertIsInstance(v, CoreText.CFArrayRef) v = CoreText.CTLineGetStringRange(line) self.assertIsInstance(v, CoreText.CFRange) v = CoreText.CTLineGetPenOffsetForFlush(line, 0.5, 40.0) self.assertIsInstance(v, float) url = CoreText.CFURLCreateWithFileSystemPath( None, "/tmp/pyobjc.test.pdf", CoreText.kCFURLPOSIXPathStyle, False) self.assertIsInstance(url, CoreText.CFURLRef) ctx = CoreText.CGPDFContextCreateWithURL( url, Quartz.CGRect(Quartz.CGPoint(0, 0), Quartz.CGSize(1000, 1000)), None) self.assertIsInstance(ctx, Quartz.CGContextRef) CoreText.CTLineDraw(line, ctx) v = CoreText.CTLineGetImageBounds(line, ctx) self.assertIsInstance(v, CoreText.CGRect) self.assertArgIsOut(CoreText.CTLineGetTypographicBounds, 1) self.assertArgIsOut(CoreText.CTLineGetTypographicBounds, 2) self.assertArgIsOut(CoreText.CTLineGetTypographicBounds, 3) v = CoreText.CTLineGetTypographicBounds(line, None, None, None) self.assertIsInstance(v, tuple) self.assertIsInstance(v[0], float) self.assertIsInstance(v[1], float) self.assertIsInstance(v[2], float) self.assertIsInstance(v[3], float) v = CoreText.CTLineGetTrailingWhitespaceWidth(line) self.assertIsInstance(v, float) v = CoreText.CTLineGetStringIndexForPosition(line, CoreText.CGPoint(10, 10)) self.assertIsInstance(v, int) self.assertArgIsOut(CoreText.CTLineGetOffsetForStringIndex, 2) v = CoreText.CTLineGetOffsetForStringIndex(line, 2, None) self.assertIsInstance(v, tuple) self.assertIsInstance(v[0], float) self.assertIsInstance(v[1], float) if os.path.exists("/tmp/pyobjc.test.pdf"): os.unlink("/tmp/pyobjc.test.pdf")
def testFunctions(self): self.assertIsInstance(CoreText.CTRunGetTypeID(), int) line = CoreText.CTLineCreateWithAttributedString( CoreText.CFAttributedStringCreate(None, "hello world", None)) self.assertIsInstance(line, CoreText.CTLineRef) run = CoreText.CTLineGetGlyphRuns(line)[0] self.assertIsInstance(run, CoreText.CTRunRef) v = CoreText.CTRunGetGlyphCount(run) self.assertIsInstance(v, int) v = CoreText.CTRunGetAttributes(run) self.assertIsInstance(v, (dict, NSDictionary)) v = CoreText.CTRunGetStatus(run) self.assertIsInstance(v, int) buf = CoreText.CTRunGetGlyphsPtr(run) self.assertIsInstance(buf, objc.varlist) self.assertIsInstance(buf[0], int) buf = CoreText.CTRunGetGlyphs(run, CoreText.CFRange(0, 5), None) self.assertIsInstance(buf, tuple) self.assertEqual(len(buf), 5) self.assertIsInstance(buf[0], int) buf = CoreText.CTRunGetPositionsPtr(run) self.assertIsInstance(buf, objc.varlist) self.assertIsInstance(buf[0], CGPoint) buf = CoreText.CTRunGetPositions(run, CoreText.CFRange(0, 5), None) self.assertIsInstance(buf, tuple) self.assertEqual(len(buf), 5) self.assertIsInstance(buf[0], CGPoint) buf = CoreText.CTRunGetStringIndicesPtr(run) self.assertIsInstance(buf, objc.varlist) self.assertIsInstance(buf[0], int) buf = CoreText.CTRunGetStringIndices(run, CoreText.CFRange(0, 5), None) self.assertIsInstance(buf, tuple) self.assertEqual(len(buf), 5) self.assertIsInstance(buf[0], int) v = CoreText.CTRunGetStringRange(run) self.assertIsInstance(v, CoreText.CFRange) v = CoreText.CTRunGetTypographicBounds(run, CoreText.CFRange(0, 5), None, None, None) self.assertIsInstance(v, tuple) self.assertEqual(len(v), 4) self.assertIsInstance(v[0], float) self.assertIsInstance(v[1], float) self.assertIsInstance(v[2], float) self.assertIsInstance(v[3], float) url = CoreText.CFURLCreateWithFileSystemPath( None, "/tmp/pyobjc.test.pdf", CoreText.kCFURLPOSIXPathStyle, False) self.assertIsInstance(url, CoreText.CFURLRef) ctx = CGPDFContextCreateWithURL( url, CGRect(CGPoint(0, 0), CGSize(1000, 1000)), None) v = CoreText.CTRunGetImageBounds(run, ctx, CoreText.CFRange(0, 5)) self.assertIsInstance(v, CGRect) v = CoreText.CTRunGetTextMatrix(run) self.assertIsInstance(v, CoreText.CGAffineTransform) v = CoreText.CTRunDraw(run, ctx, CoreText.CFRange(0, 5)) self.assertTrue(v is None)