Commit 5975857b by Daniel Dahan

development: combined Capture with CaptureSession

parent e4da7356
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
96717B111DBE6AF600DA84DB /* Capture.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96717B0D1DBE6AF600DA84DB /* Capture.swift */; }; 96717B111DBE6AF600DA84DB /* Capture.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96717B0D1DBE6AF600DA84DB /* Capture.swift */; };
96717B121DBE6AF600DA84DB /* CaptureController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96717B0E1DBE6AF600DA84DB /* CaptureController.swift */; }; 96717B121DBE6AF600DA84DB /* CaptureController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96717B0E1DBE6AF600DA84DB /* CaptureController.swift */; };
96717B131DBE6AF600DA84DB /* CapturePreview.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96717B0F1DBE6AF600DA84DB /* CapturePreview.swift */; }; 96717B131DBE6AF600DA84DB /* CapturePreview.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96717B0F1DBE6AF600DA84DB /* CapturePreview.swift */; };
96717B141DBE6AF600DA84DB /* CaptureSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96717B101DBE6AF600DA84DB /* CaptureSession.swift */; };
96717B181DBE6B1800DA84DB /* PhotoLibrary.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96717B161DBE6B1800DA84DB /* PhotoLibrary.swift */; }; 96717B181DBE6B1800DA84DB /* PhotoLibrary.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96717B161DBE6B1800DA84DB /* PhotoLibrary.swift */; };
96717B191DBE6B1800DA84DB /* PhotoLibraryController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96717B171DBE6B1800DA84DB /* PhotoLibraryController.swift */; }; 96717B191DBE6B1800DA84DB /* PhotoLibraryController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96717B171DBE6B1800DA84DB /* PhotoLibraryController.swift */; };
967A48191D0F425A00B8CEB7 /* StatusBarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 967A48181D0F425A00B8CEB7 /* StatusBarController.swift */; }; 967A48191D0F425A00B8CEB7 /* StatusBarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 967A48181D0F425A00B8CEB7 /* StatusBarController.swift */; };
...@@ -227,7 +226,6 @@ ...@@ -227,7 +226,6 @@
96717B0D1DBE6AF600DA84DB /* Capture.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Capture.swift; sourceTree = "<group>"; }; 96717B0D1DBE6AF600DA84DB /* Capture.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Capture.swift; sourceTree = "<group>"; };
96717B0E1DBE6AF600DA84DB /* CaptureController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CaptureController.swift; sourceTree = "<group>"; }; 96717B0E1DBE6AF600DA84DB /* CaptureController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CaptureController.swift; sourceTree = "<group>"; };
96717B0F1DBE6AF600DA84DB /* CapturePreview.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CapturePreview.swift; sourceTree = "<group>"; }; 96717B0F1DBE6AF600DA84DB /* CapturePreview.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CapturePreview.swift; sourceTree = "<group>"; };
96717B101DBE6AF600DA84DB /* CaptureSession.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CaptureSession.swift; sourceTree = "<group>"; };
96717B161DBE6B1800DA84DB /* PhotoLibrary.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PhotoLibrary.swift; sourceTree = "<group>"; }; 96717B161DBE6B1800DA84DB /* PhotoLibrary.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PhotoLibrary.swift; sourceTree = "<group>"; };
96717B171DBE6B1800DA84DB /* PhotoLibraryController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PhotoLibraryController.swift; sourceTree = "<group>"; }; 96717B171DBE6B1800DA84DB /* PhotoLibraryController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PhotoLibraryController.swift; sourceTree = "<group>"; };
967887881C9777CB0037F6C9 /* MaterialViewTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MaterialViewTests.swift; sourceTree = "<group>"; }; 967887881C9777CB0037F6C9 /* MaterialViewTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MaterialViewTests.swift; sourceTree = "<group>"; };
...@@ -520,7 +518,6 @@ ...@@ -520,7 +518,6 @@
children = ( children = (
96717B0D1DBE6AF600DA84DB /* Capture.swift */, 96717B0D1DBE6AF600DA84DB /* Capture.swift */,
96717B0F1DBE6AF600DA84DB /* CapturePreview.swift */, 96717B0F1DBE6AF600DA84DB /* CapturePreview.swift */,
96717B101DBE6AF600DA84DB /* CaptureSession.swift */,
96717B0E1DBE6AF600DA84DB /* CaptureController.swift */, 96717B0E1DBE6AF600DA84DB /* CaptureController.swift */,
); );
path = Capture; path = Capture;
...@@ -1121,7 +1118,6 @@ ...@@ -1121,7 +1118,6 @@
96BCB7DB1CB40DC500C806FE /* NavigationItem.swift in Sources */, 96BCB7DB1CB40DC500C806FE /* NavigationItem.swift in Sources */,
96BCB7E01CB40DC500C806FE /* NavigationDrawerController.swift in Sources */, 96BCB7E01CB40DC500C806FE /* NavigationDrawerController.swift in Sources */,
9628645F1D540AF300690B69 /* DynamicFontType.swift in Sources */, 9628645F1D540AF300690B69 /* DynamicFontType.swift in Sources */,
96717B141DBE6AF600DA84DB /* CaptureSession.swift in Sources */,
961EFC581D738FF600E84652 /* SnackbarController.swift in Sources */, 961EFC581D738FF600E84652 /* SnackbarController.swift in Sources */,
96BCB7AD1CB40DC500C806FE /* Material+String.swift in Sources */, 96BCB7AD1CB40DC500C806FE /* Material+String.swift in Sources */,
96BCB7B91CB40DC500C806FE /* Button.swift in Sources */, 96BCB7B91CB40DC500C806FE /* Button.swift in Sources */,
......
...@@ -47,7 +47,7 @@ open class Bar: View { ...@@ -47,7 +47,7 @@ open class Bar: View {
} }
/// Should center the contentView. /// Should center the contentView.
open var contentViewAlignment = ContentViewAlignment.any { open var contentViewAlignment = ContentViewAlignment.center {
didSet { didSet {
layoutSubviews() layoutSubviews()
} }
...@@ -188,14 +188,9 @@ open class Bar: View { ...@@ -188,14 +188,9 @@ open class Bar: View {
open func reload() { open func reload() {
var lc = 0 var lc = 0
var rc = 0 var rc = 0
let l = (CGFloat(leftViews.count) * interimSpace)
let r = (CGFloat(rightViews.count) * interimSpace)
let p = width - l - r - contentEdgeInsets.left - contentEdgeInsets.right
let columns = Int(ceil(p / gridFactor))
grid.begin() grid.begin()
grid.views.removeAll() grid.views.removeAll()
grid.axis.columns = columns
for v in leftViews { for v in leftViews {
if let b = v as? UIButton { if let b = v as? UIButton {
...@@ -230,6 +225,23 @@ open class Bar: View { ...@@ -230,6 +225,23 @@ open class Bar: View {
} }
contentView.grid.begin() contentView.grid.begin()
contentView.grid.offset.columns = 0
var l: CGFloat = 0
var r: CGFloat = 0
if .center == contentViewAlignment {
if leftViews.count < rightViews.count {
r = CGFloat(rightViews.count) * interimSpace
l = r
} else {
l = CGFloat(leftViews.count) * interimSpace
r = l
}
}
let p = width - l - r - contentEdgeInsets.left - contentEdgeInsets.right
let columns = Int(ceil(p / gridFactor))
if .center == contentViewAlignment { if .center == contentViewAlignment {
if lc < rc { if lc < rc {
...@@ -237,13 +249,15 @@ open class Bar: View { ...@@ -237,13 +249,15 @@ open class Bar: View {
contentView.grid.offset.columns = rc - lc contentView.grid.offset.columns = rc - lc
} else { } else {
contentView.grid.columns = columns - 2 * lc contentView.grid.columns = columns - 2 * lc
contentView.grid.offset.columns = 0
rightViews.first?.grid.offset.columns = lc - rc rightViews.first?.grid.offset.columns = lc - rc
} }
} else { } else {
contentView.grid.columns = columns - lc - rc contentView.grid.columns = columns - lc - rc
} }
print(contentView.grid.columns)
grid.axis.columns = columns
grid.commit() grid.commit()
contentView.grid.commit() contentView.grid.commit()
......
...@@ -49,7 +49,7 @@ extension UIViewController { ...@@ -49,7 +49,7 @@ extension UIViewController {
} }
} }
open class CaptureController: ToolbarController, CaptureDelegate, CaptureSessionDelegate { open class CaptureController: ToolbarController, CaptureDelegate {
/// A reference to the Capture instance. /// A reference to the Capture instance.
@IBInspectable @IBInspectable
open private(set) lazy var capture: Capture = Capture() open private(set) lazy var capture: Capture = Capture()
...@@ -93,7 +93,7 @@ open class CaptureController: ToolbarController, CaptureDelegate, CaptureSession ...@@ -93,7 +93,7 @@ open class CaptureController: ToolbarController, CaptureDelegate, CaptureSession
/// Prepares capture. /// Prepares capture.
private func prepareCapture() { private func prepareCapture() {
capture.delegate = self capture.delegate = self
capture.session.delegate = self capture.delegate = self
capture.session.flashMode = .auto capture.flashMode = .auto
} }
} }
...@@ -42,6 +42,15 @@ public enum InterimSpacePreset: Int { ...@@ -42,6 +42,15 @@ public enum InterimSpacePreset: Int {
case interimSpace7 case interimSpace7
case interimSpace8 case interimSpace8
case interimSpace9 case interimSpace9
case interimSpace10
case interimSpace11
case interimSpace12
case interimSpace13
case interimSpace14
case interimSpace15
case interimSpace16
case interimSpace17
case interimSpace18
} }
public typealias InterimSpace = CGFloat public typealias InterimSpace = CGFloat
...@@ -69,5 +78,23 @@ public func InterimSpacePresetToValue(preset: InterimSpacePreset) -> InterimSpac ...@@ -69,5 +78,23 @@ public func InterimSpacePresetToValue(preset: InterimSpacePreset) -> InterimSpac
return 24 return 24
case .interimSpace9: case .interimSpace9:
return 28 return 28
case .interimSpace10:
return 32
case .interimSpace11:
return 36
case .interimSpace12:
return 40
case .interimSpace13:
return 44
case .interimSpace14:
return 48
case .interimSpace15:
return 52
case .interimSpace16:
return 56
case .interimSpace17:
return 60
case .interimSpace18:
return 64
} }
} }
...@@ -149,7 +149,6 @@ open class Toolbar: Bar { ...@@ -149,7 +149,6 @@ open class Toolbar: Bar {
open override func prepare() { open override func prepare() {
super.prepare() super.prepare()
zPosition = 1000 zPosition = 1000
contentViewAlignment = .center
prepareTitleLabel() prepareTitleLabel()
prepareDetailLabel() prepareDetailLabel()
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment