diff options
| author | nyamatongwe <unknown> | 2011-06-05 10:05:37 +1000 | 
|---|---|---|
| committer | nyamatongwe <unknown> | 2011-06-05 10:05:37 +1000 | 
| commit | 9433503c3000ad9408f38ebd19e759f51ef44c01 (patch) | |
| tree | 95732929b66db495f69aa4aa29b9dcc60bb6bed7 | |
| parent | b78fcd78a98d59f6f42ccecb7be229a382af27dd (diff) | |
| download | scintilla-mirror-9433503c3000ad9408f38ebd19e759f51ef44c01.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;  }  //--------------------------------------------------------------------------------------------------  | 
