Beispiel #1
0
        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);
        }
Beispiel #2
0
        internal static DesktopFilterData Translate(DesktopFilter filter)
        {
            DesktopFilterData data = new DesktopFilterData()
            {
                Name      = filter.Name,
                Index     = filter.Index,
                Bounds    = filter.Bounds,
                IsPrimary = filter.IsPrimary
            };

            return(data);
        }
Beispiel #3
0
        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);
            }
        }