Mercurial > projects > dstep
view dstep/qtkit/QTTrack.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.QTTrack; import dstep.appkit.NSImage; import dstep.foundation.Foundation; import dstep.objc.bridge.Bridge; import dstep.objc.objc; import dstep.qtkit.QTKitDefines; import dstep.qtkit.QTMedia; import dstep.qtkit.QTMovie; import dstep.qtkit.QTTime; import dstep.qtkit.QTTimeRange; import bindings = dstep.qtkit.QTTrack_bindings; private { NSString QTTrackBoundsAttribute_; NSString QTTrackCreationTimeAttribute_; NSString QTTrackDimensionsAttribute_; NSString QTTrackDisplayNameAttribute_; NSString QTTrackEnabledAttribute_; NSString QTTrackFormatSummaryAttribute_; NSString QTTrackIsChapterTrackAttribute_; NSString QTTrackHasApertureModeDimensionsAttribute_; NSString QTTrackIDAttribute_; NSString QTTrackLayerAttribute_; NSString QTTrackMediaTypeAttribute_; NSString QTTrackModificationTimeAttribute_; NSString QTTrackRangeAttribute_; NSString QTTrackTimeScaleAttribute_; NSString QTTrackUsageInMovieAttribute_; NSString QTTrackUsageInPosterAttribute_; NSString QTTrackUsageInPreviewAttribute_; NSString QTTrackVolumeAttribute_; } NSString QTTrackBoundsAttribute () { if (QTTrackBoundsAttribute_) return QTTrackBoundsAttribute_; return QTTrackBoundsAttribute_ = new NSString(bindings.QTTrackBoundsAttribute); } NSString QTTrackCreationTimeAttribute () { if (QTTrackCreationTimeAttribute_) return QTTrackCreationTimeAttribute_; return QTTrackCreationTimeAttribute_ = new NSString(bindings.QTTrackCreationTimeAttribute); } NSString QTTrackDimensionsAttribute () { if (QTTrackDimensionsAttribute_) return QTTrackDimensionsAttribute_; return QTTrackDimensionsAttribute_ = new NSString(bindings.QTTrackDimensionsAttribute); } NSString QTTrackDisplayNameAttribute () { if (QTTrackDisplayNameAttribute_) return QTTrackDisplayNameAttribute_; return QTTrackDisplayNameAttribute_ = new NSString(bindings.QTTrackDisplayNameAttribute); } NSString QTTrackEnabledAttribute () { if (QTTrackEnabledAttribute_) return QTTrackEnabledAttribute_; return QTTrackEnabledAttribute_ = new NSString(bindings.QTTrackEnabledAttribute); } NSString QTTrackFormatSummaryAttribute () { if (QTTrackFormatSummaryAttribute_) return QTTrackFormatSummaryAttribute_; return QTTrackFormatSummaryAttribute_ = new NSString(bindings.QTTrackFormatSummaryAttribute); } NSString QTTrackIsChapterTrackAttribute () { if (QTTrackIsChapterTrackAttribute_) return QTTrackIsChapterTrackAttribute_; return QTTrackIsChapterTrackAttribute_ = new NSString(bindings.QTTrackIsChapterTrackAttribute); } NSString QTTrackHasApertureModeDimensionsAttribute () { if (QTTrackHasApertureModeDimensionsAttribute_) return QTTrackHasApertureModeDimensionsAttribute_; return QTTrackHasApertureModeDimensionsAttribute_ = new NSString(bindings.QTTrackHasApertureModeDimensionsAttribute); } NSString QTTrackIDAttribute () { if (QTTrackIDAttribute_) return QTTrackIDAttribute_; return QTTrackIDAttribute_ = new NSString(bindings.QTTrackIDAttribute); } NSString QTTrackLayerAttribute () { if (QTTrackLayerAttribute_) return QTTrackLayerAttribute_; return QTTrackLayerAttribute_ = new NSString(bindings.QTTrackLayerAttribute); } NSString QTTrackMediaTypeAttribute () { if (QTTrackMediaTypeAttribute_) return QTTrackMediaTypeAttribute_; return QTTrackMediaTypeAttribute_ = new NSString(bindings.QTTrackMediaTypeAttribute); } NSString QTTrackModificationTimeAttribute () { if (QTTrackModificationTimeAttribute_) return QTTrackModificationTimeAttribute_; return QTTrackModificationTimeAttribute_ = new NSString(bindings.QTTrackModificationTimeAttribute); } NSString QTTrackRangeAttribute () { if (QTTrackRangeAttribute_) return QTTrackRangeAttribute_; return QTTrackRangeAttribute_ = new NSString(bindings.QTTrackRangeAttribute); } NSString QTTrackTimeScaleAttribute () { if (QTTrackTimeScaleAttribute_) return QTTrackTimeScaleAttribute_; return QTTrackTimeScaleAttribute_ = new NSString(bindings.QTTrackTimeScaleAttribute); } NSString QTTrackUsageInMovieAttribute () { if (QTTrackUsageInMovieAttribute_) return QTTrackUsageInMovieAttribute_; return QTTrackUsageInMovieAttribute_ = new NSString(bindings.QTTrackUsageInMovieAttribute); } NSString QTTrackUsageInPosterAttribute () { if (QTTrackUsageInPosterAttribute_) return QTTrackUsageInPosterAttribute_; return QTTrackUsageInPosterAttribute_ = new NSString(bindings.QTTrackUsageInPosterAttribute); } NSString QTTrackUsageInPreviewAttribute () { if (QTTrackUsageInPreviewAttribute_) return QTTrackUsageInPreviewAttribute_; return QTTrackUsageInPreviewAttribute_ = new NSString(bindings.QTTrackUsageInPreviewAttribute); } NSString QTTrackVolumeAttribute () { if (QTTrackVolumeAttribute_) return QTTrackVolumeAttribute_; return QTTrackVolumeAttribute_ = new NSString(bindings.QTTrackVolumeAttribute); } const TQTTrackVisualSupport = ` NSSize apertureModeDimensionsForMode (NSString mode) { return invokeObjcSelf!(NSSize, "apertureModeDimensionsForMode:", NSString)(mode); } void setApertureModeDimensions (NSSize dimensions, NSString mode) { return invokeObjcSelf!(void, "setApertureModeDimensions:forMode:", NSSize, NSString)(dimensions, mode); } void generateApertureModeDimensions () { return invokeObjcSelf!(void, "generateApertureModeDimensions"); } void removeApertureModeDimensions () { return invokeObjcSelf!(void, "removeApertureModeDimensions"); } //mixin ObjcBindMethod!(apertureModeDimensionsForMode, "apertureModeDimensionsForMode:"); //mixin ObjcBindMethod!(setApertureModeDimensions, "setApertureModeDimensions:forMode:"); //mixin ObjcBindMethod!(generateApertureModeDimensions, "generateApertureModeDimensions"); //mixin ObjcBindMethod!(removeApertureModeDimensions, "removeApertureModeDimensions"); `; class QTTrack : NSObject { mixin (ObjcWrap); QTMovie movie () { return invokeObjcSelf!(QTMovie, "movie"); } QTMedia media () { return invokeObjcSelf!(QTMedia, "media"); } bool isEnabled () { return invokeObjcSelf!(bool, "isEnabled"); } void setEnabled (bool enabled) { return invokeObjcSelf!(void, "setEnabled:", bool)(enabled); } float volume () { return invokeObjcSelf!(float, "volume"); } void setVolume (float volume) { return invokeObjcSelf!(void, "setVolume:", float)(volume); } NSDictionary trackAttributes () { return invokeObjcSelf!(NSDictionary, "trackAttributes"); } void setTrackAttributes (NSDictionary attributes) { return invokeObjcSelf!(void, "setTrackAttributes:", NSDictionary)(attributes); } Object attributeForKey (NSString attributeKey) { return invokeObjcSelf!(Object, "attributeForKey:", NSString)(attributeKey); } void setAttribute (Object value, NSString attributeKey) { return invokeObjcSelf!(void, "setAttribute:forKey:", Object, NSString)(value, attributeKey); } void insertSegmentOfTrack (QTTrack track, QTTimeRange range, QTTime time) { return invokeObjcSelf!(void, "insertSegmentOfTrack:timeRange:atTime:", QTTrack, QTTimeRange, QTTime)(track, range, time); } void insertSegmentOfTrack (QTTrack track, QTTimeRange srcRange, QTTimeRange dstRange) { return invokeObjcSelf!(void, "insertSegmentOfTrack:fromRange:scaledToRange:", QTTrack, QTTimeRange, QTTimeRange)(track, srcRange, dstRange); } void insertEmptySegmentAt (QTTimeRange range) { return invokeObjcSelf!(void, "insertEmptySegmentAt:", QTTimeRange)(range); } void deleteSegment (QTTimeRange segment) { return invokeObjcSelf!(void, "deleteSegment:", QTTimeRange)(segment); } void scaleSegment (QTTimeRange segment, QTTime newDuration) { return invokeObjcSelf!(void, "scaleSegment:newDuration:", QTTimeRange, QTTime)(segment, newDuration); } void addImage (NSImage image, QTTime duration, NSDictionary attributes) { return invokeObjcSelf!(void, "addImage:forDuration:withAttributes:", NSImage, QTTime, NSDictionary)(image, duration, attributes); } // QTTrackVisualSupport NSSize apertureModeDimensionsForMode (NSString mode) { return invokeObjcSelf!(NSSize, "apertureModeDimensionsForMode:", NSString)(mode); } void setApertureModeDimensions (NSSize dimensions, NSString mode) { return invokeObjcSelf!(void, "setApertureModeDimensions:forMode:", NSSize, NSString)(dimensions, mode); } void generateApertureModeDimensions () { return invokeObjcSelf!(void, "generateApertureModeDimensions"); } void removeApertureModeDimensions () { return invokeObjcSelf!(void, "removeApertureModeDimensions"); } }