public IList <DesktopFilter> GetDesktopFilters() { List <DesktopFilter> filters = new List <DesktopFilter>(); try { Screen[] screens = Screen.AllScreens; for (int i = 0; i < screens.Length; i++) { DesktopFilter filter = new DesktopFilter(i) { Name = screens[i].DeviceName }; filter.IsPrimary = screens[i].Primary; filter.Bounds = screens[i].Bounds; filters.Add(filter); } } catch (ApplicationException ex) { ExceptionHandler.Handle(ex); } return(filters); }
internal static DesktopFilterData Translate(DesktopFilter filter) { DesktopFilterData data = new DesktopFilterData() { Name = filter.Name, Index = filter.Index, Bounds = filter.Bounds, IsPrimary = filter.IsPrimary }; return(data); }
public void GetDesktopFilters(EventHandler <AsyncWorkerCallbackEventArgs <IList <DesktopFilter> > > callback) { try { AsyncWorkerHandle <IList <DesktopFilter> > handle = AsyncWorkerHelper.DoWork <IList <DesktopFilter> >( delegate(object sender, DoWorkEventArgs e) { List <DesktopFilter> filters = new List <DesktopFilter>(); GetDesktopFiltersRequest request = new GetDesktopFiltersRequest(); GetDesktopFiltersResponse response = ServiceProvider.GetService <IDeviceConnectorService, IDeviceConnectorCallbackService>( ViewModelLocator.ServiceClient, ViewModelLocator.SelectedService.HostName, ViewModelLocator.SelectedService.Uri.ToString() ).GetDesktopFilters(request); if (response.Filters != null) { foreach (var item in response.Filters) { DesktopFilter filter = new DesktopFilter(item.Name, item.Index) { Primary = item.IsPrimary, Bounds = item.Bounds }; filters.Add(filter); } } e.Result = filters; }, null, callback); } catch (Exception ex) { ExceptionHandler.Handle(ex); } }