예제 #1
0
 public virtual Task ShowWallpaper(WallpaperModel wallpaper, params uint[] screenIndexs)
 {
     return(Task.Run(() =>
     {
         foreach (var index in screenIndexs)
         {
             RenderControl renderControl = null;
             if (!_controls.ContainsKey(index))
             {
                 WallpaperManager.UIInvoke(() =>
                 {
                     renderControl = _controls[index] = new RenderControl();
                     renderControl.InitRender();
                 });
             }
             else
             {
                 renderControl = _controls[index];
             }
             var host = RenderHost.GetHost(index);
             WallpaperManager.UIInvoke(() =>
             {
                 host !.ShowWallpaper(renderControl);
             });
             renderControl.Load(wallpaper.Path);
         }
     }));
 }
예제 #2
0
 public virtual void CloseWallpaper(params int[] screenIndexs)
 {
     foreach (var(screenIndex, control) in GetControls(screenIndexs))
     {
         control.Stop();
         var screen = RenderHost.GetHost(screenIndex);
         screen.RemoveWallpaper(control);
     }
 }
예제 #3
0
 public virtual void CloseWallpaper(params uint[] screenIndexs)
 {
     foreach (var(screenIndex, control) in GetControls(screenIndexs))
     {
         control.Stop();
         var host = RenderHost.GetHost(screenIndex, false);
         if (host != null)
         {
             host.RemoveWallpaper(control);
         }
         _controls.Remove(screenIndex);
     }
 }
예제 #4
0
 public virtual Task ShowWallpaper(WallpaperModel wallpaper, params int[] screenIndexs)
 {
     foreach (var index in screenIndexs)
     {
         if (!_controls.ContainsKey(index))
         {
             _controls[index] = new RenderControl();
             _controls[index].InitRender();
         }
         var screen = RenderHost.GetHost(index);
         screen.ShowWallpaper(_controls[index]);
         _controls[index].Load(wallpaper.Path);
     }
     return(Task.CompletedTask);
 }