diff options
| author | nyamatongwe <devnull@localhost> | 2011-06-05 10:05:37 +1000 | 
|---|---|---|
| committer | nyamatongwe <devnull@localhost> | 2011-06-05 10:05:37 +1000 | 
| commit | 4caa54e400ac5b80b966d7a8f08b801223b4a221 (patch) | |
| tree | ec6ce23df2a6f5dd175beda66c2e8215f594ca29 | |
| parent | 93ed8a4c28c170852779e926730108c9fa64faf6 (diff) | |
| download | scintilla-mirror-4caa54e400ac5b80b966d7a8f08b801223b4a221.tar.gz | |
Cache surface resolution as it is slow and is called
for every font creation.
| -rw-r--r-- | cocoa/PlatCocoa.h | 2 | ||||
| -rw-r--r-- | cocoa/PlatCocoa.mm | 10 | 
2 files changed, 9 insertions, 3 deletions
| diff --git a/cocoa/PlatCocoa.h b/cocoa/PlatCocoa.h index 3e0aa09d8..0653bc728 100644 --- a/cocoa/PlatCocoa.h +++ b/cocoa/PlatCocoa.h @@ -49,6 +49,8 @@ private:    /** The text layout instance */    QuartzTextLayout*	textLayout;    int codePage; +  int verticalDeviceResolution; +	    /** If the surface is a bitmap context, contains a reference to the bitmap data. */    uint8_t* bitmapData;    /** If the surface is a bitmap context, stores the dimensions of the bitmap. */ diff --git a/cocoa/PlatCocoa.mm b/cocoa/PlatCocoa.mm index f7db513c6..1f8a54a4c 100644 --- a/cocoa/PlatCocoa.mm +++ b/cocoa/PlatCocoa.mm @@ -384,9 +384,13 @@ CGImageRef SurfaceImpl::GetImage()   */  int SurfaceImpl::LogPixelsY()  { -  NSSize deviceResolution = [[[[NSScreen mainScreen] deviceDescription]  -                              objectForKey: NSDeviceResolution] sizeValue]; -  return (int) deviceResolution.height; +  if (verticalDeviceResolution == 0) +  { +    NSSize deviceResolution = [[[[NSScreen mainScreen] deviceDescription] +    objectForKey: NSDeviceResolution] sizeValue]; +    verticalDeviceResolution = (int) deviceResolution.height; +  } +  return verticalDeviceResolution;  }  //-------------------------------------------------------------------------------------------------- | 
