view dstep/qtkit/QTCaptureView.d @ 27:57371c29ef73 default tip

ObjcWrap is now automatically mixed in. Added support for building as a dylib with DMD.
author Jacob Carlborg <doob@me.com>
date Fri, 09 Apr 2010 23:00:22 +0200
parents b9de51448c6b
children
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;
	
	this (id object)
	{
		super(object);
	}

	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_);
	}
}