Home | History | Annotate | Download | only in cocoa
      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