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 16:16:19 -0400

On Jun 10, 2012, at 3:17 PM, Ben Abbott wrote:

> On Jun 10, 2012, at 12:49 PM, Ben Abbott wrote:
> 
>> 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
> 
> I think I managed to understand how the code at the link above works, and 
> produced a c++ version.
> 
> Alexander,
> 
> The attached changeset works for me on MacOS 10.7 using both the default and 
> stable branches.
> 
> Can you (someone else?) try the attached changeset on MacOS 10.5 ?
> 
> Ben
> <changeset.patch>

opps. My default/stable builds did not like to the Carbon framework. When I do 
the changeset does not work.

Ben




reply via email to

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