Mercurial > projects > dstep
diff dstep/appkit/NSMovieView.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 diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dstep/appkit/NSMovieView.d Sun Jan 03 22:06:11 2010 +0100 @@ -0,0 +1,228 @@ +/** + * Copyright: Copyright (c) 2009 Jacob Carlborg. + * Authors: Jacob Carlborg + * Version: Initial created: Sep 24, 2009 + * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0) + */ +module dstep.appkit.NSMovieView; + +import dstep.appkit.NSMovie; +import dstep.appkit.NSUserInterfaceValidation; +import dstep.appkit.NSView; +import dstep.applicationservices.coregraphics.CGBase; +import dstep.foundation.NSGeometry; +import dstep.foundation.NSObjCRuntime; +import dstep.internal.Version; +import dstep.objc.bridge.Bridge; +import dstep.objc.objc; + +static if (!D_LP64): + +enum : NSUInteger +{ + NSQTMovieNormalPlayback, + NSQTMovieLoopingPlayback, + NSQTMovieLoopingBackAndForthPlayback +} + +typedef NSUInteger NSQTMovieLoopMode; + +struct _MVFlags +{ + uint editable;// :1; + NSQTMovieLoopMode loopMode; //:3; + uint playsEveryFrame; //:1; + uint playsSelectionOnly; //:1; + uint controllerVisible; //:1; + uint reserved; //:25; +} + +class NSMovieView : NSView, INSUserInterfaceValidations +{ + mixin (ObjcWrap); + + bool validateUserInterfaceItem (INSValidatedUserInterfaceItem anItem) + { + return invokeObjcSelf!(bool, "validateUserInterfaceItem:", INSValidatedUserInterfaceItem)(anItem); + } + + void setMovie (NSMovie movie) + { + return invokeObjcSelf!(void, "setMovie:", NSMovie)(movie); + } + + NSMovie movie () + { + return invokeObjcSelf!(NSMovie, "movie"); + } + + void* movieController () + { + return invokeObjcSelf!(void*, "movieController"); + } + + NSRect movieRect () + { + return invokeObjcSelf!(NSRect, "movieRect"); + } + + void start (Object sender) + { + return invokeObjcSelf!(void, "start:", Object)(sender); + } + + void stop (Object sender) + { + return invokeObjcSelf!(void, "stop:", Object)(sender); + } + + bool isPlaying () + { + return invokeObjcSelf!(bool, "isPlaying"); + } + + void gotoPosterFrame (Object sender) + { + return invokeObjcSelf!(void, "gotoPosterFrame:", Object)(sender); + } + + void gotoBeginning (Object sender) + { + return invokeObjcSelf!(void, "gotoBeginning:", Object)(sender); + } + + void gotoEnd (Object sender) + { + return invokeObjcSelf!(void, "gotoEnd:", Object)(sender); + } + + void stepForward (Object sender) + { + return invokeObjcSelf!(void, "stepForward:", Object)(sender); + } + + void stepBack (Object sender) + { + return invokeObjcSelf!(void, "stepBack:", Object)(sender); + } + + void setRate (float rate) + { + return invokeObjcSelf!(void, "setRate:", float)(rate); + } + + float rate () + { + return invokeObjcSelf!(float, "rate"); + } + + void setVolume (float volume) + { + return invokeObjcSelf!(void, "setVolume:", float)(volume); + } + + float volume () + { + return invokeObjcSelf!(float, "volume"); + } + + void setMuted (bool mute) + { + return invokeObjcSelf!(void, "setMuted:", bool)(mute); + } + + bool isMuted () + { + return invokeObjcSelf!(bool, "isMuted"); + } + + void setLoopMode (NSQTMovieLoopMode mode) + { + return invokeObjcSelf!(void, "setLoopMode:", NSQTMovieLoopMode)(mode); + } + + NSQTMovieLoopMode loopMode () + { + return invokeObjcSelf!(NSQTMovieLoopMode, "loopMode"); + } + + void setPlaysSelectionOnly (bool flag) + { + return invokeObjcSelf!(void, "setPlaysSelectionOnly:", bool)(flag); + } + + bool playsSelectionOnly () + { + return invokeObjcSelf!(bool, "playsSelectionOnly"); + } + + void setPlaysEveryFrame (bool flag) + { + return invokeObjcSelf!(void, "setPlaysEveryFrame:", bool)(flag); + } + + bool playsEveryFrame () + { + return invokeObjcSelf!(bool, "playsEveryFrame"); + } + + void showController (bool show, bool adjustingSize) + { + return invokeObjcSelf!(void, "showController:adjustingSize:", bool, bool)(show, adjustingSize); + } + + bool isControllerVisible () + { + return invokeObjcSelf!(bool, "isControllerVisible"); + } + + void resizeWithMagnification (CGFloat magnification) + { + return invokeObjcSelf!(void, "resizeWithMagnification:", CGFloat)(magnification); + } + + NSSize sizeForMagnification (CGFloat magnification) + { + return invokeObjcSelf!(NSSize, "sizeForMagnification:", CGFloat)(magnification); + } + + void setEditable (bool editable) + { + return invokeObjcSelf!(void, "setEditable:", bool)(editable); + } + + bool isEditable () + { + return invokeObjcSelf!(bool, "isEditable"); + } + + void cut (Object sender) + { + return invokeObjcSelf!(void, "cut:", Object)(sender); + } + + void copy (Object sender) + { + return invokeObjcSelf!(void, "copy:", Object)(sender); + } + + void paste (Object sender) + { + return invokeObjcSelf!(void, "paste:", Object)(sender); + } + + void delete_ (Object sender) + { + return invokeObjcSelf!(void, "delete:", Object)(sender); + } + + void selectAll (Object sender) + { + return invokeObjcSelf!(void, "selectAll:", Object)(sender); + } + + void clear (Object sender) + { + return invokeObjcSelf!(void, "clear:", Object)(sender); + } +} \ No newline at end of file