コード例 #1
0
ファイル: mac-screenshot.cpp プロジェクト: alesegdia/snes-sdk
void WriteThumbnailToResourceFork(FSRef *ref, int destWidth, int destHeight)
{
	OSStatus		err;
	PicHandle		pict;
	HFSUniStr255	fork;
	SInt16			resf;
	
	err = FSGetResourceForkName(&fork);
	if (err == noErr)
	{
		err = FSCreateResourceFork(ref, fork.length, fork.unicode, 0);
		if ((err == noErr) || (err == errFSForkExists))
		{
			err = FSOpenResourceFile(ref, fork.length, fork.unicode, fsWrPerm, &resf);
			if (err == noErr)
			{
				pict = GetScreenAsPicHandle(IPPU.RenderedScreenWidth, IPPU.RenderedScreenHeight, destWidth, destHeight);
				if (pict)
				{
					AddResource((Handle) pict, 'PICT', 128, "\p");
					WriteResource((Handle) pict);
					ReleaseResource((Handle) pict);
				}
				
				CloseResFile(resf);
			}
コード例 #2
0
ファイル: mac-quicktime.cpp プロジェクト: Kriole/snes9x-rr
void MacQTVideoConfig(WindowRef parent)
{
	OSStatus			err;
	ComponentInstance	ci;

	if (running)
		return;

	MacQTOpenVideoComponent(&ci);

	long	flag;
	flag = scListEveryCodec | scAllowZeroKeyFrameRate | scDisableFrameRateItem;
	flag |= ((qtVersion >= 0x7008000) ? scAllowEncodingWithCompressionSession : 0);
	err = SCSetInfo(ci, scPreferenceFlagsType, &flag);

#ifdef MAC_QT6_SUPPORT
	PicHandle   pict = nil;

	if (qtVersion < 0x7008000)
	{
		Rect	rct;
		int		width, height;

		width  = IPPU.RenderedScreenWidth;
		height = IPPU.RenderedScreenHeight;
		pict = GetScreenAsPicHandle(width, height, width, height);
		HNoPurge((Handle) pict);
		rct.left   = (width  - scTestImageWidth)  >> 1;
		rct.top    = (height - scTestImageHeight) >> 1;
		rct.right  = rct.left + scTestImageWidth;
		rct.bottom = rct.top  + scTestImageHeight;
		err = SCSetTestImagePictHandle(ci, pict, &rct, scPreferCropping);
	}
コード例 #3
0
ファイル: mac-quicktime.cpp プロジェクト: alesegdia/snes-sdk
void MacQTVideoConfig(WindowRef parent)
{
	OSStatus			err;
	ComponentInstance	ci;
	
	if (running)
		return;

	MacQTOpenVideoComponent(&ci);
	
	long	flag;

	flag = scListEveryCodec | scAllowZeroKeyFrameRate | scDisableFrameRateItem;
	err = SCSetInfo(ci, scPreferenceFlagsType, &flag);
	
	PicHandle   pict;
	Rect		rct;
	int			width, height;

	width  = IPPU.RenderedScreenWidth;
	height = IPPU.RenderedScreenHeight;
	pict = GetScreenAsPicHandle(width, height, width, height);
	HNoPurge((Handle) pict);
	rct.left   = (width  - scTestImageWidth)  >> 1;
	rct.top    = (height - scTestImageHeight) >> 1;
	rct.right  = rct.left + scTestImageWidth;
	rct.bottom = rct.top  + scTestImageHeight;
	err = SCSetTestImagePictHandle(ci, pict, &rct, scPreferCropping);
	
	SCWindowSettings	ws;
	
	ws.size          = sizeof(SCWindowSettings);
	ws.windowRefKind = scWindowRefKindCarbon;
	ws.parentWindow  = parent;
	
	err = SCSetInfo(ci, scWindowOptionsType, &ws);

	err = SCRequestSequenceSettings(ci);
	if (err == noErr)
	{
		CFDataRef	data;
		Handle		hdl;

		err = SCGetInfo(ci, scSettingsStateType, &hdl);
		if (err == noErr)
		{
			HLock(hdl);
			data = CFDataCreate(kCFAllocatorDefault, (unsigned char *) *hdl, GetHandleSize(hdl));
			if (data)
			{
				CFPreferencesSetAppValue(CFSTR("QTVideoSetting"), data, kCFPreferencesCurrentApplication);
				CFRelease(data);
			}
			
			DisposeHandle(hdl);
		}
	}
	
	MacQTCloseVideoComponent(ci);
	
	KillPicture(pict);
}