private void UpdateFocusStatus(bool focused) { LiveviewUnit.SetFocusedMark(focused); if (focused) { ShowCancelTouchAFButton(); } else { HideCancelTouchAFButton(); } }
private void Page_Loaded(object sender, RoutedEventArgs e) { displayRequest.RequestActive(); InitializeVisualStates(); DisplayInformation.GetForCurrentView().OrientationChanged += MainPage_OrientationChanged; if (ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons")) { HardwareButtons.CameraHalfPressed += HardwareButtons_CameraHalfPressed; HardwareButtons.CameraReleased += HardwareButtons_CameraReleased; HardwareButtons.CameraPressed += HardwareButtons_CameraPressed; } LiveviewUnit.RotateLiveviewImage(0); }
private void Status_PropertyChanged(object sender, PropertyChangedEventArgs e) { var status = sender as CameraStatus; switch (e.PropertyName) { case nameof(CameraStatus.BatteryInfo): BatteryStatusDisplay.BatteryInfo = status.BatteryInfo; break; case nameof(CameraStatus.ContShootingResult): EnqueueContshootingResult(status.ContShootingResult); break; case nameof(CameraStatus.Status): OnCameraStatusChanged(status); break; case nameof(CameraStatus.ShootMode): UpdateShutterButton(status); RevaluateLiveviewState(status); break; case nameof(CameraStatus.FocusStatus): UpdateFocusStatus(status.FocusStatus); break; case nameof(CameraStatus.TouchFocusStatus): UpdateTouchFocus(status.TouchFocusStatus); break; case nameof(CameraStatus.LiveviewOrientation): if (ApplicationSettings.GetInstance().LiveviewRotationEnabled) { LiveviewUnit.RotateLiveviewImage(status.LiveviewOrientationAsDouble); } break; default: break; } }
private async Task SetupScreen(TargetDevice target) { this.target = target; ScreenViewData = new LiveviewScreenViewData(target); ScreenViewData.PropertyChanged += ScreenViewData_PropertyChanged; LiveviewContext = new LiveviewContext(target, HistogramCreator); LiveviewUnit.Context = LiveviewContext; LayoutRoot.DataContext = ScreenViewData; try { await SequentialOperation.SetUp(target, liveview); } catch (Exception ex) { DebugUtil.Log(() => "Failed setup: " + ex.Message); var task = Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { AppShell.Current.Toast.PushToast(new ToastContent { Text = SystemUtil.GetStringResource("ErrorMessage_CameraSetupFailure") }); AppShell.Current.AppFrame.GoBack(); }); return; } ScreenViewData.ConnectionEstablished = true; target.Status.PropertyChanged += Status_PropertyChanged; target.Api.AvailiableApisUpdated += Api_AvailiableApisUpdated; liveview.JpegRetrieved += liveview_JpegRetrieved; liveview.FocusFrameRetrieved += Liveview_FocusFrameRetrieved; liveview.Closed += liveview_Closed; LiveviewUnit.FpsTimer.Start(); BatteryStatusDisplay.BatteryInfo = target.Status.BatteryInfo; var panels = SettingPanelBuilder.CreateNew(target); var pn = panels.GetPanelsToShow(); foreach (var panel in pn) { ControlPanel.Children.Add(panel); } ControlPanel.Children.Add(robot.Gui); setShootModeEnabled = target.Api.Capability.IsAvailable(API_SET_SHOOT_MODE); ControlPanel.SetChildrenControlHitTest(!target.Status.IsRecording()); ControlPanel.SetChildrenControlTabStop(!target.Status.IsRecording()); _CommandBarManager.ShootingScreenBarData = ScreenViewData; _CommandBarManager.ApplyShootingScreenCommands(AppBarUnit); LiveviewUnit.FramingGuideDataContext = ApplicationSettings.GetInstance(); UpdateShutterButton(target.Status); OnCameraStatusChanged(target.Status); LiveviewUnit.SetupFocusFrame(ApplicationSettings.GetInstance().RequestFocusFrameInfo).IgnoreExceptions(); SetUIHandlers(); if (target.Status.ShootMode?.Current == ShootModeParam.Audio) { liveviewDisabledByAudioMode = true; } }