Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Aug 5th, 2012  |  syntax: None  |  size: 1.44 KB  |  hits: 17  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. -(BOOL) enableRetinaDisplay:(BOOL)enabled
  2. {
  3.         return [self enableRetinaDisplay:enabled onPad:FALSE];
  4. }
  5.  
  6. -(BOOL) enableRetinaDisplay:(BOOL)enabled onPad:(BOOL)onPad
  7. {
  8.         // Already enabled ?
  9.         if( enabled && __ccContentScaleFactor == 2 )
  10.                 return YES;
  11.    
  12.         // Already disabled
  13.         if( ! enabled && __ccContentScaleFactor == 1 )
  14.                 return YES;
  15.    
  16.         // setContentScaleFactor is not supported
  17.         if (! [openGLView_ respondsToSelector:@selector(setContentScaleFactor:)])
  18.                 return NO;
  19.    
  20.         // SD device
  21.     CGFloat scale = [[UIScreen mainScreen] scale];
  22.         if (scale == 1.0 && __ccPointScaleFactor == 1.0)
  23.                 return NO;
  24.    
  25.     float newScale = 1;
  26.     if (onPad) {
  27.         newScale = enabled ? (scale * __ccPointScaleFactor) : 1;
  28.     } else {
  29.         newScale = enabled ? 2 : 1;
  30.     }
  31.         [self setContentScaleFactor:newScale];
  32.    
  33.         // Load Hi-Res FPS label
  34.         //[self createFPSLabel];
  35.  
  36.         return YES;
  37. }
  38.  
  39. -(void) updateContentScaleFactor
  40. {
  41.         // Based on code snippet from: http://developer.apple.com/iphone/prerelease/library/snippets/sp2010/sp28.html
  42.         if ([openGLView_ respondsToSelector:@selector(setContentScaleFactor:)])
  43.         {
  44.                 CGFloat scaleFactor = (__ccPointScaleFactor == 1) ? __ccContentScaleFactor : (__ccContentScaleFactor / __ccPointScaleFactor);
  45.                 [openGLView_ setContentScaleFactor: scaleFactor];
  46.        
  47.                 isContentScaleSupported_ = YES;
  48.         }
  49.         else
  50.         {
  51.                 CCLOG(@"cocos2d: WARNING: calling setContentScaleFactor on iOS < 4. Using fallback mechanism");
  52.                 isContentScaleSupported_ = NO;
  53.         }
  54. }