Пример #1
0
        protected bool RefreshVeneers()
        {
            // If a display has been added or removed we want to re-build
            // the Veneers array from scratch.
            if (Veneers.Length != ScreenCount)
            {
                BuildVeneers();
                DesktopBackground.FreeImages();
                return(true);
            }

            if (DesktopBackground.Reload())
            {
                for (int i = 0; i < Veneers.Length; i++)
                {
                    Veneers[i].DisposeImages();
                    Veneers[i].WallpaperSlice = DesktopBackground.SliceFor(i);
                    Veneers[i].InvokeReFill();
                }
                DesktopBackground.FreeImages();
                return(true);
            }
            else
            {
                foreach (Veneer v in Veneers)
                {
                    v.InvalidateBackground();
                }
                return(false);
            }
        }
Пример #2
0
        protected void BuildVeneers()
        {
            DesktopBackground.Reload();
            DestroyVeneers(); // Make sure any old forms get closed

            Veneers = new Veneer[ScreenCount];
            for (int i = 0; i < ScreenCount; i++)
            {
                Veneers[i] = new Veneer(i, DesktopBackground.SliceFor(i));
                Veneers[i].Show();
            }

            DesktopBackground.FreeImages();
        }