1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #import "ui/base/cocoa/nsgraphics_context_additions.h" 6 7 @implementation NSGraphicsContext (CrAdditions) 8 9 - (void)cr_setPatternPhase:(NSPoint)phase 10 forView:(NSView*)view { 11 NSView* ancestorWithLayer = view; 12 while (ancestorWithLayer && ![ancestorWithLayer layer]) 13 ancestorWithLayer = [ancestorWithLayer superview]; 14 if (ancestorWithLayer) { 15 NSPoint bottomLeft = NSZeroPoint; 16 if ([ancestorWithLayer isFlipped]) 17 bottomLeft.y = NSMaxY([ancestorWithLayer bounds]); 18 NSPoint offset = [ancestorWithLayer convertPoint:bottomLeft toView:nil]; 19 phase.x -= offset.x; 20 phase.y -= offset.y; 21 } 22 [self setPatternPhase:phase]; 23 } 24 25 @end 26