mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2026-02-01 16:50:33 +00:00
Various Fixes
This commit is contained in:
@@ -490,10 +490,18 @@ const NSInteger PGCameraFrameRate = 30;
|
||||
}
|
||||
} else if (marks.count == 1) {
|
||||
CGFloat mark = [marks.firstObject floatValue];
|
||||
if (backingLevel < mark) {
|
||||
realLevel = 1.0 + 1.0 * (backingLevel - 1.0) / (mark - 1.0);
|
||||
} else {
|
||||
realLevel = 2.0 + 6.0 * (backingLevel - mark) / (self.maxZoomLevel - mark);
|
||||
if ([self hasTelephotoCamera]) {
|
||||
if (backingLevel < mark) {
|
||||
realLevel = 1.0 + 1.0 * (backingLevel - 1.0) / (mark - 1.0);
|
||||
} else {
|
||||
realLevel = 2.0 + 6.0 * (backingLevel - mark) / (self.maxZoomLevel - mark);
|
||||
}
|
||||
} else if ([self hasUltrawideCamera]) {
|
||||
if (backingLevel < mark) {
|
||||
realLevel = 0.5 + 0.5 * (backingLevel - 1.0) / (mark - 1.0);
|
||||
} else {
|
||||
realLevel = 1.0 + 7.0 * (backingLevel - mark) / (self.maxZoomLevel - mark);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -504,10 +512,8 @@ const NSInteger PGCameraFrameRate = 30;
|
||||
}
|
||||
|
||||
- (CGFloat)minZoomLevel {
|
||||
if (iosMajorVersion() >= 13.0) {
|
||||
if (self.videoDevice.isVirtualDevice && self.videoDevice.constituentDevices.firstObject.deviceType == AVCaptureDeviceTypeBuiltInUltraWideCamera) {
|
||||
return 0.5;
|
||||
}
|
||||
if (self.hasUltrawideCamera) {
|
||||
return 0.5;
|
||||
}
|
||||
return 1.0;
|
||||
}
|
||||
@@ -553,10 +559,19 @@ const NSInteger PGCameraFrameRate = 30;
|
||||
}
|
||||
} else if (marks.count == 1) {
|
||||
CGFloat mark = [marks.firstObject floatValue];
|
||||
if (zoomLevel < 2.0) {
|
||||
backingLevel = 1.0 + ((level - 1.0) / 1.0) * (mark - 1.0);
|
||||
} else {
|
||||
backingLevel = mark + ((level - 2.0) / 6.0) * (self.maxZoomLevel - mark);
|
||||
if ([self hasTelephotoCamera]) {
|
||||
if (zoomLevel < 2.0) {
|
||||
backingLevel = 1.0 + ((level - 1.0) / 1.0) * (mark - 1.0);
|
||||
} else {
|
||||
backingLevel = mark + ((level - 2.0) / 6.0) * (self.maxZoomLevel - mark);
|
||||
}
|
||||
} else if ([self hasUltrawideCamera]) {
|
||||
if (level < 1.0) {
|
||||
level = MAX(0.5, level);
|
||||
backingLevel = 1.0 + ((level - 0.5) / 0.5) * (mark - 1.0);
|
||||
} else {
|
||||
backingLevel = mark + ((level - 1.0) / 7.0) * (self.maxZoomLevel - mark);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -469,7 +469,7 @@
|
||||
{
|
||||
UIView *view = [super hitTest:point withEvent:event];
|
||||
|
||||
if (CGRectContainsPoint(_zoomModeView.frame, point)) {
|
||||
if (!_zoomModeView.isHidden && CGRectContainsPoint(_zoomModeView.frame, point)) {
|
||||
CGPoint zoomPoint = [self convertPoint:point toView:_zoomModeView];
|
||||
return [_zoomModeView hitTest:zoomPoint withEvent:event];
|
||||
}
|
||||
|
||||
@@ -318,9 +318,9 @@
|
||||
switch (gestureRecognizer.state) {
|
||||
case UIGestureRecognizerStateChanged:
|
||||
{
|
||||
CGFloat delta = -translation.x / 100.0;
|
||||
CGFloat delta = -translation.x / 60.0;
|
||||
if (_zoomLevel > 2.0) {
|
||||
delta *= 2.2;
|
||||
delta *= 3.5;
|
||||
}
|
||||
|
||||
_zoomLevel = MAX(_minZoomLevel, MIN(_maxZoomLevel, _zoomLevel + delta));
|
||||
@@ -385,11 +385,16 @@
|
||||
if ([value isEqual:@"1,0×"] || [value isEqual:@"1×"]) {
|
||||
value = @"0,9×";
|
||||
}
|
||||
[_leftItem setValue:value selected:true animated:animated];
|
||||
[_centerItem setValue:@"1" selected:false animated:animated];
|
||||
if (_leftItem.superview != nil) {
|
||||
[_leftItem setValue:value selected:true animated:animated];
|
||||
[_centerItem setValue:@"1" selected:false animated:animated];
|
||||
} else {
|
||||
[_centerItem setValue:value selected:false animated:animated];
|
||||
}
|
||||
[_rightItem setValue:@"2" selected:false animated:animated];
|
||||
} else if (zoomLevel < 2.0) {
|
||||
[_leftItem setValue:@"0,5" selected:false animated:animated];
|
||||
bool selected = _hasTelephotoCamera && _hasUltrawideCamera;
|
||||
if ((zoomLevel - 1.0) < 0.025) {
|
||||
[_centerItem setValue:@"1×" selected:true animated:animated];
|
||||
} else {
|
||||
@@ -399,7 +404,7 @@
|
||||
if ([value isEqual:@"2×"]) {
|
||||
value = @"1,9×";
|
||||
}
|
||||
[_centerItem setValue:value selected:true animated:animated];
|
||||
[_centerItem setValue:value selected:selected animated:animated];
|
||||
}
|
||||
[_rightItem setValue:@"2" selected:false animated:animated];
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user