src/macosx/native/sun/awt/QuartzRenderer.m

Print this page

        

*** 48,60 **** #define BATCHED_POINTS_SIZE 1024 // same value as defined in Sun's own code #define XOR_ALPHA_CUTOFF 128 - // private Quartz routines needed here - CG_EXTERN void CGContextSetCTM(CGContextRef ref, CGAffineTransform tx); - static CGFloat gRoundRectCtrlpts[10][12] = { {0.0f, 0.0f, 0.0f, 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f}, {0.0f, 0.0f, 1.0f, -0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f}, --- 48,57 ----
*** 534,544 **** tx += dw; } makeSureImageIsCreated(isdo); ! CGAffineTransform ctm = CGContextGetCTM(cgRef); CGContextConcatCTM(cgRef, CGAffineTransformMake(a, b, c, d, tx, ty)); jint alphaInfo = isdo->contextInfo.alphaInfo & kCGBitmapAlphaInfoMask; if ((sx == 0) && (sy == 0) && (sw == w) && (sh == h)) // no subimages allowed here { --- 531,541 ---- tx += dw; } makeSureImageIsCreated(isdo); ! CGContextSaveGState(cgRef); CGContextConcatCTM(cgRef, CGAffineTransformMake(a, b, c, d, tx, ty)); jint alphaInfo = isdo->contextInfo.alphaInfo & kCGBitmapAlphaInfoMask; if ((sx == 0) && (sy == 0) && (sw == w) && (sh == h)) // no subimages allowed here {
*** 549,559 **** CGImageRef subImg = CGImageCreateWithImageInRect(isdo->imgRef, CGRectMake(sx, sy, sw, sh)); CGContextDrawImage(cgRef, CGRectMake(0.0f, 0.0f, dw, dh), subImg); CGImageRelease(subImg); } ! CGContextSetCTM(cgRef, ctm); UnlockImage(env, isdo); } QUARTZ_RENDERER_INLINE void doImage(JNIEnv *env, QuartzSDOps *qsdo, jobject imageSurfaceData, jboolean fliph, jboolean flipv, jint w, jint h, jint sx, jint sy, jint sw, jint sh, jint dx, jint dy, jint dw, jint dh) --- 546,556 ---- CGImageRef subImg = CGImageCreateWithImageInRect(isdo->imgRef, CGRectMake(sx, sy, sw, sh)); CGContextDrawImage(cgRef, CGRectMake(0.0f, 0.0f, dw, dh), subImg); CGImageRelease(subImg); } ! CGContextRestoreGState(cgRef); UnlockImage(env, isdo); } QUARTZ_RENDERER_INLINE void doImage(JNIEnv *env, QuartzSDOps *qsdo, jobject imageSurfaceData, jboolean fliph, jboolean flipv, jint w, jint h, jint sx, jint sy, jint sw, jint sh, jint dx, jint dy, jint dw, jint dh)