octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Is the version of MacOS available to CPP ?


From: Ben Abbott
Subject: Re: Is the version of MacOS available to CPP ?
Date: Sun, 10 Jun 2012 12:49:17 -0400

On Jun 9, 2012, at 11:18 AM, Ben Abbott wrote:

> With MacOS 10.7.x, Apple has deprecated CGDisplayBitsPerPixel. Adding the 
> code below to display.cc will allow the sources to be built with 
> "--with-framework-carbon", but isn't the right solution for earlier versions 
> of MacOS X.
> 
> #if defined (HAVE_FRAMEWORK_CARBON)
> size_t CGDisplayBitsPerPixel (CGDirectDisplayID display)
> {
>  CGDisplayModeRef mode = CGDisplayCopyDisplayMode (display);
>  CFStringRef pixelEncoding = CGDisplayModeCopyPixelEncoding (mode);
> 
>  if (CFStringCompare (pixelEncoding, CFSTR (IO32BitDirectPixels), 0) == 0)
>    return 32;
>  else if (CFStringCompare (pixelEncoding, CFSTR (IO16BitDirectPixels), 0) == 
> 0)
>    return 16;
>  else 
>    return 8;
> }
> #endif
> 
> Is the version of MacOS X available to the preprocessor ?
> 
> Ben

The link below has a solution that does not require preprocessing.

        
http://stackoverflow.com/questions/8210824/how-to-avoid-cgdisplaymodecopypixelencoding-to-get-bpp

... but looks to be written in objective-c (?), which I have no experience with.

Unless I've overlooked something, the only part I'm having trouble with is 
below.

  CFNumberGetValue((CFNumberRef)CFDictionaryGetValue(currentDisplayMode, 
kCGDisplayBitsPerPixel), kCFNumberIntType, &screenBPP);

I'm hoping someone can provide a quick translation to c++.

TiA,
Ben



reply via email to

[Prev in Thread] Current Thread [Next in Thread]