view dstep/qtkit/QTCaptureView.d @ 16:19885b43130e

Huge update, the bridge actually works now
author Jacob Carlborg <doob@me.com>
date Sun, 03 Jan 2010 22:06:11 +0100
parents
children b9de51448c6b
line wrap: on
line source

/**
 * Copyright: Copyright (c) 2009 Jacob Carlborg.
 * Authors: Jacob Carlborg
 * Version: Initial created: Sep 28, 2009 
 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0)
 */
module dstep.qtkit.QTCaptureView;

import dstep.cocoa.Cocoa;
import dstep.appkit.NSColor;
import dstep.appkit.NSView;
import dstep.objc.bridge.Bridge;
import dstep.objc.objc;
import dstep.qtkit.QTCaptureConnection;
import dstep.qtkit.QTCaptureSession;
import dstep.qtkit.QTKitDefines;
import dstep.quartzcore.CIImage;

const TQTCaptureViewDelegate = `

	CIImage view (QTCaptureView view, CIImage image)
	{
		return invokeObjcSelf!(CIImage, "view:willDisplayImage:", QTCaptureView, CIImage)(view, image);
	}

	//mixin ObjcBindMethod!(view, "view:willDisplayImage:");

`;

class QTCaptureView : NSView
{
	mixin (ObjcWrap);

	QTCaptureSession captureSession ()
	{
		return invokeObjcSelf!(QTCaptureSession, "captureSession");
	}

	void setCaptureSession (QTCaptureSession captureSession)
	{
		return invokeObjcSelf!(void, "setCaptureSession:", QTCaptureSession)(captureSession);
	}

	NSArray availableVideoPreviewConnections ()
	{
		return invokeObjcSelf!(NSArray, "availableVideoPreviewConnections");
	}

	QTCaptureConnection videoPreviewConnection ()
	{
		return invokeObjcSelf!(QTCaptureConnection, "videoPreviewConnection");
	}

	void setVideoPreviewConnection (QTCaptureConnection videoPreviewConnection)
	{
		return invokeObjcSelf!(void, "setVideoPreviewConnection:", QTCaptureConnection)(videoPreviewConnection);
	}

	NSColor fillColor ()
	{
		return invokeObjcSelf!(NSColor, "fillColor");
	}

	void setFillColor (NSColor fillColor)
	{
		return invokeObjcSelf!(void, "setFillColor:", NSColor)(fillColor);
	}

	bool preservesAspectRatio ()
	{
		return invokeObjcSelf!(bool, "preservesAspectRatio");
	}

	void setPreservesAspectRatio (bool preservesAspectRatio)
	{
		return invokeObjcSelf!(void, "setPreservesAspectRatio:", bool)(preservesAspectRatio);
	}

	NSRect previewBounds ()
	{
		return invokeObjcSelf!(NSRect, "previewBounds");
	}

	Object delegate_ ()
	{
		return invokeObjcSelf!(Object, "delegate");
	}

	void setDelegate (Object delegate_)
	{
		return invokeObjcSelf!(void, "setDelegate:", Object)(delegate_);
	}
}