From 4f7ff65327e1700562d19af08bde53309c5d36e9 Mon Sep 17 00:00:00 2001 From: Josh Aas Date: Wed, 7 Apr 2010 15:31:31 -0400 Subject: [PATCH] Test plugin should always draw with Core Text on Mac OS X. b=557521 r=bgirard --- .../plugin/test/testplugin/nptest_macosx.mm | 65 +------------------ 1 file changed, 1 insertion(+), 64 deletions(-) diff --git a/modules/plugin/test/testplugin/nptest_macosx.mm b/modules/plugin/test/testplugin/nptest_macosx.mm index c143c4dca5c2..5e3c20eec9dd 100644 --- a/modules/plugin/test/testplugin/nptest_macosx.mm +++ b/modules/plugin/test/testplugin/nptest_macosx.mm @@ -175,7 +175,7 @@ pluginDraw(InstanceData* instanceData) CGContextSetLineWidth(cgContext, 6.0); CGContextStrokePath(cgContext); -#ifdef USE_COCOA_NPAPI // draw the UA string using Core Text + // draw the UA string using Core Text CGContextSetTextMatrix(cgContext, CGAffineTransformIdentity); // Initialize a rectangular path. @@ -203,69 +203,6 @@ pluginDraw(InstanceData* instanceData) CFRelease(framesetter); CTFrameDraw(frame, cgContext); CFRelease(frame); -#else // draw the UA string using ATSUI - CGContextSetGrayFillColor(cgContext, 0.0, 1.0); - ATSUStyle atsuStyle; - ATSUCreateStyle(&atsuStyle); - CFIndex stringLength = CFStringGetLength(uaCFString); - UniChar* unicharBuffer = (UniChar*)malloc((stringLength + 1) * sizeof(UniChar)); - CFStringGetCharacters(uaCFString, CFRangeMake(0, stringLength), unicharBuffer); - UniCharCount runLengths = kATSUToTextEnd; - ATSUTextLayout atsuLayout; - ATSUCreateTextLayoutWithTextPtr(unicharBuffer, - kATSUFromTextBeginning, - kATSUToTextEnd, - stringLength, - 1, - &runLengths, - &atsuStyle, - &atsuLayout); - ATSUAttributeTag contextTag = kATSUCGContextTag; - ByteCount byteSize = sizeof(CGContextRef); - ATSUAttributeValuePtr contextATSUPtr = &cgContext; - ATSUSetLayoutControls(atsuLayout, 1, &contextTag, &byteSize, &contextATSUPtr); - ATSUTextMeasurement lineAscent, lineDescent; - ATSUGetLineControl(atsuLayout, - kATSUFromTextBeginning, - kATSULineAscentTag, - sizeof(ATSUTextMeasurement), - &lineAscent, - &byteSize); - ATSUGetLineControl(atsuLayout, - kATSUFromTextBeginning, - kATSULineDescentTag, - sizeof(ATSUTextMeasurement), - &lineDescent, - &byteSize); - float lineHeight = FixedToFloat(lineAscent) + FixedToFloat(lineDescent); - ItemCount softBreakCount; - ATSUBatchBreakLines(atsuLayout, - kATSUFromTextBeginning, - stringLength, - FloatToFixed(windowWidth - 10.0), - &softBreakCount); - ATSUGetSoftLineBreaks(atsuLayout, - kATSUFromTextBeginning, - kATSUToTextEnd, - 0, NULL, &softBreakCount); - UniCharArrayOffset* softBreaks = (UniCharArrayOffset*)malloc(softBreakCount * sizeof(UniCharArrayOffset)); - ATSUGetSoftLineBreaks(atsuLayout, - kATSUFromTextBeginning, - kATSUToTextEnd, - softBreakCount, softBreaks, &softBreakCount); - UniCharArrayOffset currentDrawOffset = kATSUFromTextBeginning; - unsigned int i = 0; - while (i < softBreakCount) { - ATSUDrawText(atsuLayout, currentDrawOffset, softBreaks[i], FloatToFixed(5.0), - FloatToFixed(windowHeight - 5.0 - (lineHeight * (i + 1.0)))); - currentDrawOffset = softBreaks[i]; - i++; - } - ATSUDrawText(atsuLayout, currentDrawOffset, kATSUToTextEnd, FloatToFixed(5.0), - FloatToFixed(windowHeight - 5.0 - (lineHeight * (i + 1.0)))); - free(unicharBuffer); - free(softBreaks); -#endif // restore the cgcontext gstate CGContextRestoreGState(cgContext);