Mercurial > projects > dstep
view dstep/applicationservices/colorsync/CMDeviceIntegration.d @ 12:9f0b49a2f64e
Added the ApplicationServices frameworks: ATS, ColorSync and CoreGraphics
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Mon, 03 Aug 2009 14:00:21 +0200 |
parents | |
children |
line wrap: on
line source
/** * Copyright: Copyright (c) 2009 Jacob Carlborg. * Authors: Jacob Carlborg * Version: Initial created: Aug 1, 2009 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0) */ module dstep.applicationservices.colorsync.CMDeviceIntegration; //import dstep.AvailabilityMacros; import dstep.applicationservices.colorsync.CMApplication; import dstep.applicationservices.colorsync.CMBase; import dstep.applicationservices.colorsync.CMICCProfile; import dstep.applicationservices.colorsync.CMTypes; import dstep.coreservices.CoreServices; import dstep.objc.bridge.TypeEncoding; alias uint CMDeviceState; alias uint CMDeviceID; alias uint CMDeviceProfileID; alias uint CMDeviceClass; alias CMDeviceScope CMDeviceProfileScope; extern (C) { alias short function (CMDeviceInfo*, void*) CMIterateDeviceInfoProcPtr; alias short function (CMDeviceInfo*, NCMDeviceProfileInfo*, void*) CMIterateDeviceProfileProcPtr; } // This is needed otherwise the enums will fail compiling with gdc version (GNU) { private { const __cmScannerDeviceClass = getOSType!("scnr"); const __cmCameraDeviceClass = getOSType!("cmra"); const __cmDisplayDeviceClass = getOSType!("mntr"); const __cmPrinterDeviceClass = getOSType!("prtr"); const __cmProofDeviceClass = getOSType!("pruf"); } } enum { cmDeviceInfoVersion1 = 0x00010000, cmDeviceProfileInfoVersion1 = 0x00010000, cmDeviceProfileInfoVersion2 = 0x00020000 } enum { cmCurrentDeviceInfoVersion = cmDeviceInfoVersion1, cmCurrentProfileInfoVersion = cmDeviceProfileInfoVersion1 } enum { cmDefaultDeviceID = 0, cmDefaultProfileID = 0 } enum { cmDeviceStateDefault = 0x00000000, cmDeviceStateOffline = 0x00000001, cmDeviceStateBusy = 0x00000002, cmDeviceStateForceNotify = cast(int)0x80000000, cmDeviceStateDeviceRsvdBits = 0x00FF0000, cmDeviceStateAppleRsvdBits = cast(int)0xFF00FFFF } enum { cmIterateFactoryDeviceProfiles = 0x00000001, cmIterateCustomDeviceProfiles = 0x00000002, cmIterateCurrentDeviceProfiles = 0x00000003, cmIterateAllDeviceProfiles = 0x00000004, cmIterateDeviceProfilesMask = 0x0000000F } enum { cmDeviceDBNotFoundErr = -4227, cmDeviceAlreadyRegistered = -4228, cmDeviceNotRegistered = -4229, cmDeviceProfilesNotFound = -4230, cmInternalCFErr = -4231 } enum { cmScannerDeviceClass = getOSType!("scnr"), cmCameraDeviceClass = getOSType!("cmra"), cmDisplayDeviceClass = getOSType!("mntr"), cmPrinterDeviceClass = getOSType!("prtr"), cmProofDeviceClass = getOSType!("pruf") } struct CMDeviceScope { CFStringRef deviceUser; CFStringRef deviceHost; } struct CMDeviceInfo { uint dataVersion; uint deviceClass; uint deviceID; CMDeviceScope deviceScope; uint deviceState; uint defaultProfileID; CFDictionaryRef* deviceName; uint profileCount; uint reserved; } struct CMDeviceProfileInfo { uint dataVersion; uint profileID; CMProfileLocation profileLoc; CFDictionaryRef profileName; uint reserved; } struct NCMDeviceProfileInfo { uint dataVersion; uint profileID; CMProfileLocation profileLoc; CFDictionaryRef profileName; CMDeviceProfileScope profileScope; uint reserved; } struct CMDeviceProfileArray { uint profileCount; CMDeviceProfileInfo* profiles; } extern (C) { CMError CMRegisterColorDevice (uint deviceClass, uint deviceID, CFDictionaryRef deviceName, CMDeviceScope* deviceScope); CMError CMUnregisterColorDevice (uint deviceClass, uint deviceID); CMError CMSetDefaultDevice (uint deviceClass, uint deviceID); CMError CMGetDefaultDevice (uint deviceClass, CMDeviceID* deviceID); CMError CMSetDeviceFactoryProfiles (uint deviceClass, uint deviceID, uint defaultProfID, CMDeviceProfileArray* deviceProfiles); CMError CMGetDeviceFactoryProfiles (uint deviceClass, uint deviceID, CMDeviceProfileID* defaultProfID, UInt32* arraySize, CMDeviceProfileArray* deviceProfiles); CMError CMSetDeviceDefaultProfileID (uint deviceClass, uint deviceID, uint defaultProfID); CMError CMGetDeviceDefaultProfileID (uint deviceClass, uint deviceID, CMDeviceProfileID* defaultProfID); CMError CMSetDeviceProfile (uint deviceClass, uint deviceID, CMDeviceProfileScope* profileScope, uint profileID, CMProfileLocation* profileLoc); CMError CMGetDeviceProfile (uint deviceClass, uint deviceID, uint profileID, CMProfileLocation* profileLoc); CMError CMSetDeviceState (uint deviceClass, uint deviceID, uint deviceState); CMError CMGetDeviceState (uint deviceClass, uint deviceID, CMDeviceState* deviceState); CMError CMGetDeviceInfo (uint deviceClass, uint deviceID, CMDeviceInfo* deviceInfo); CMError CMIterateColorDevices (CMIterateDeviceInfoProcPtr proc, UInt32* seed, UInt32* count, void* refCon); CMError CMIterateDeviceProfiles (CMIterateDeviceProfileProcPtr proc, UInt32* seed, UInt32* count, uint flags, void* refCon); }