2
// AVLayerVideoGravity.cs: Implements strongly typed access for AVLayerVideoGravity
4
// Authors: Marek Safar (marek.safar@gmail.com)
6
// Copyright 2012, Xamarin Inc.
8
// Permission is hereby granted, free of charge, to any person obtaining
9
// a copy of this software and associated documentation files (the
10
// "Software"), to deal in the Software without restriction, including
11
// without limitation the rights to use, copy, modify, merge, publish,
12
// distribute, sublicense, and/or sell copies of the Software, and to
13
// permit persons to whom the Software is furnished to do so, subject to
14
// the following conditions:
16
// The above copyright notice and this permission notice shall be
17
// included in all copies or substantial portions of the Software.
19
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
23
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
24
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
25
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
30
using MonoMac.Foundation;
31
using MonoMac.CoreFoundation;
32
using MonoMac.ObjCRuntime;
34
namespace MonoMac.AVFoundation {
36
public enum AVLayerVideoGravity
43
partial class AVPlayerLayer
45
// Should be VideoGravity only but previous binding was wrong
46
public AVLayerVideoGravity LayerVideoGravity {
50
case AVLayerVideoGravity.ResizeAspect:
51
v = AVPlayerLayer.GravityResizeAspect;
53
case AVLayerVideoGravity.ResizeAspectFill:
54
v = AVPlayerLayer.GravityResizeAspectFill;
56
case AVLayerVideoGravity.Resize:
57
v = AVPlayerLayer.GravityResize;
60
throw new ArgumentOutOfRangeException ("value");
66
var weak = WeakVideoGravity;
67
if (weak == AVPlayerLayer.GravityResize)
68
return AVLayerVideoGravity.Resize;
69
if (weak == AVPlayerLayer.GravityResizeAspectFill)
70
return AVLayerVideoGravity.ResizeAspectFill;
72
return AVLayerVideoGravity.ResizeAspect;
77
partial class AVCaptureVideoPreviewLayer
79
// Should be VideoGravity only but previous binding was wrong
80
public AVLayerVideoGravity LayerVideoGravity {
84
case AVLayerVideoGravity.ResizeAspect:
85
v = AVPlayerLayer.GravityResizeAspect;
87
case AVLayerVideoGravity.ResizeAspectFill:
88
v = AVPlayerLayer.GravityResizeAspectFill;
90
case AVLayerVideoGravity.Resize:
91
v = AVPlayerLayer.GravityResize;
94
throw new ArgumentOutOfRangeException ("value");
100
var weak = WeakVideoGravity;
101
if (weak == AVPlayerLayer.GravityResize)
102
return AVLayerVideoGravity.Resize;
103
if (weak == AVPlayerLayer.GravityResizeAspectFill)
104
return AVLayerVideoGravity.ResizeAspectFill;
106
return AVLayerVideoGravity.ResizeAspect;
111
partial class AVPlayer
113
public AVLayerVideoGravity? ExternalPlaybackVideoGravity {
117
case AVLayerVideoGravity.ResizeAspect:
118
v = AVPlayerLayer.GravityResizeAspect;
120
case AVLayerVideoGravity.ResizeAspectFill:
121
v = AVPlayerLayer.GravityResizeAspectFill;
123
case AVLayerVideoGravity.Resize:
124
v = AVPlayerLayer.GravityResize;
130
throw new ArgumentOutOfRangeException ("value");
133
WeakExternalPlaybackVideoGravity = v;
136
var weak = WeakExternalPlaybackVideoGravity;
137
if (weak == AVPlayerLayer.GravityResizeAspect)
138
return AVLayerVideoGravity.ResizeAspect;
139
if (weak == AVPlayerLayer.GravityResize)
140
return AVLayerVideoGravity.Resize;
141
if (weak == AVPlayerLayer.GravityResizeAspectFill)
142
return AVLayerVideoGravity.ResizeAspectFill;