static TopWallpaperRenderer() { ScreenArea = new Rect(0, 0, 412, 240); var defTopAlt = new BitmapImage(); defTopAlt.BeginInit(); //defTopAlt.StreamSource = (Stream) Extensions.GetResources(@"TopAlt_DefMask\.png").First().Value; defTopAlt.UriSource = new Uri(@"pack://application:,,,/ThemeEditor.WPF;component/Resources/TopAlt_DefMask.png"); defTopAlt.CacheOption = BitmapCacheOption.OnLoad; defTopAlt.EndInit(); var bgrData = defTopAlt.GetBgr24Data(); RawTexture rTex = new RawTexture(defTopAlt.PixelWidth, defTopAlt.PixelHeight, RawTexture.DataFormat.A8); rTex.Encode(bgrData); DefaultTopSquares = new TextureViewModel(rTex, null); RenderToolFactory.RegisterTool<PenTool, Pen> (key => new Pen(new SolidColorBrush(key.Color) { Opacity = key.Opacity }, key.Width)); RenderToolFactory.RegisterTool<SolidColorBrushTool, Brush> (key => new SolidColorBrush(key.Color) { Opacity = key.Opacity }); RenderToolFactory.RegisterTool<LinearGradientBrushTool, Brush> (key => new LinearGradientBrush(key.ColorA, key.ColorB, key.Angle) { Opacity = key.Opacity }); RenderToolFactory.RegisterTool<ImageBrushTool, Brush> (key => new ImageBrush(key.Image) { TileMode = key.Mode, ViewportUnits = key.ViewportUnits, Viewport = key.Viewport, Opacity = key.Opacity }); Type ownerType = typeof(TopWallpaperRenderer); IsEnabledProperty .OverrideMetadata(ownerType, new FrameworkPropertyMetadata(false, OnIsEnabledChanged)); ClipToBoundsProperty.OverrideMetadata(ownerType, new FrameworkPropertyMetadata(true, null, (o, value) => true)); WidthProperty.OverrideMetadata(ownerType, new FrameworkPropertyMetadata(412.0, null, (o, value) => 412.0)); HeightProperty.OverrideMetadata(ownerType, new FrameworkPropertyMetadata(240.0, null, (o, value) => 240.0)); EffectProperty.OverrideMetadata(ownerType, new FrameworkPropertyMetadata(default(WarpEffect), null, (o, value) => ((TopWallpaperRenderer) o).GetWarpEffectInstance())); }
public TexturesViewModel(Textures model, string tag) : base(model, tag) { Top = new TextureViewModel(model.Top, tag); TopAlt = new TextureViewModel(model.TopExt, tag); Bottom = new TextureViewModel(model.Bottom, tag); FolderClosed = new TextureViewModel(model.FolderClosed, tag); FolderOpen = new TextureViewModel(model.FolderOpen, tag); FileLarge = new TextureViewModel(model.FileLarge, tag); FileSmall = new TextureViewModel(model.FileSmall, tag); Top.PropertyChanged += (sender, args) => { if (args.PropertyName == nameof(TextureViewModel.Bitmap)) { RaiseViewModelChanged(nameof(Top), null, null); } }; TopAlt.PropertyChanged += (sender, args) => { if (args.PropertyName == nameof(TextureViewModel.Bitmap)) { RaiseViewModelChanged(nameof(TopAlt), null, null); } }; Bottom.PropertyChanged += (sender, args) => { if (args.PropertyName == nameof(TextureViewModel.Bitmap)) { RaiseViewModelChanged(nameof(Bottom), null, null); } }; FolderClosed.PropertyChanged += (sender, args) => { if (args.PropertyName == nameof(TextureViewModel.Bitmap)) { RaiseViewModelChanged(nameof(FolderClosed), null, null); } }; FolderOpen.PropertyChanged += (sender, args) => { if (args.PropertyName == nameof(TextureViewModel.Bitmap)) { RaiseViewModelChanged(nameof(FolderOpen), null, null); } }; FileLarge.PropertyChanged += (sender, args) => { if (args.PropertyName == nameof(TextureViewModel.Bitmap)) { RaiseViewModelChanged(nameof(FileLarge), null, null); } }; FileSmall.PropertyChanged += (sender, args) => { if (args.PropertyName == nameof(TextureViewModel.Bitmap)) { RaiseViewModelChanged(nameof(FileSmall), null, null); } }; }
public ThemeInfoViewModel(SMDH model, string tag) : base(model, tag) { SmallIcon = new TextureViewModel(model.SmallIcon, Tag); LargeIcon = new TextureViewModel(model.LargeIcon, Tag); SmallIcon.PropertyChanged += (sender, args) => { if (args.PropertyName == nameof(TextureViewModel.Bitmap)) RaiseViewModelChanged(nameof(SmallIcon), null, null); }; LargeIcon.PropertyChanged += (sender, args) => { if (args.PropertyName == nameof(TextureViewModel.Bitmap)) RaiseViewModelChanged(nameof(LargeIcon), null, null); }; }
public TexturesViewModel(Textures model, string tag) : base(model, tag) { Top = new TextureViewModel(model.Top, tag); TopAlt = new TextureViewModel(model.TopExt, tag); Bottom = new TextureViewModel(model.Bottom, tag); FolderClosed = new TextureViewModel(model.FolderClosed, tag); FolderOpen = new TextureViewModel(model.FolderOpen, tag); FileLarge = new TextureViewModel(model.FileLarge, tag); FileSmall = new TextureViewModel(model.FileSmall, tag); Top.PropertyChanged += (sender, args) => { if (args.PropertyName == nameof(TextureViewModel.Bitmap)) RaiseViewModelChanged(nameof(Top), null, null); }; TopAlt.PropertyChanged += (sender, args) => { if (args.PropertyName == nameof(TextureViewModel.Bitmap)) RaiseViewModelChanged(nameof(TopAlt), null, null); }; Bottom.PropertyChanged += (sender, args) => { if (args.PropertyName == nameof(TextureViewModel.Bitmap)) RaiseViewModelChanged(nameof(Bottom), null, null); }; FolderClosed.PropertyChanged += (sender, args) => { if (args.PropertyName == nameof(TextureViewModel.Bitmap)) RaiseViewModelChanged(nameof(FolderClosed), null, null); }; FolderOpen.PropertyChanged += (sender, args) => { if (args.PropertyName == nameof(TextureViewModel.Bitmap)) RaiseViewModelChanged(nameof(FolderOpen), null, null); }; FileLarge.PropertyChanged += (sender, args) => { if (args.PropertyName == nameof(TextureViewModel.Bitmap)) RaiseViewModelChanged(nameof(FileLarge), null, null); }; FileSmall.PropertyChanged += (sender, args) => { if (args.PropertyName == nameof(TextureViewModel.Bitmap)) RaiseViewModelChanged(nameof(FileSmall), null, null); }; }
public ThemeInfoViewModel(SMDH model, string tag) : base(model, tag) { SmallIcon = new TextureViewModel(model.SmallIcon, Tag); LargeIcon = new TextureViewModel(model.LargeIcon, Tag); SmallIcon.PropertyChanged += (sender, args) => { if (args.PropertyName == nameof(TextureViewModel.Bitmap)) { RaiseViewModelChanged(nameof(SmallIcon), null, null); } }; LargeIcon.PropertyChanged += (sender, args) => { if (args.PropertyName == nameof(TextureViewModel.Bitmap)) { RaiseViewModelChanged(nameof(LargeIcon), null, null); } }; }
private void Validate_Texture_Bottom(TexturesViewModel model, TextureViewModel oldValue, TextureViewModel newValue) { // NOTE: Avoid Setting other values Directly, Textures are Special Cases switch (model.Bottom.Width) { case 0: Flags.BottomDrawType = FilterEnum(Flags.BottomDrawType, BottomDrawType.None, BottomDrawType.None, BottomDrawType.SolidColor); break; case 512: Flags.BottomFrameType = FilterEnum(Flags.BottomFrameType, BottomFrameType.Single, BottomFrameType.Single); Flags.BottomDrawType = FilterEnum(Flags.BottomDrawType, BottomDrawType.Texture, BottomDrawType.Texture); break; case 1024: Flags.BottomFrameType = FilterEnum(Flags.BottomFrameType, BottomFrameType.FastScroll, BottomFrameType.SlowScroll, BottomFrameType.FastScroll, BottomFrameType.PageScroll, BottomFrameType.BounceScroll); Flags.BottomDrawType = FilterEnum(Flags.BottomDrawType, BottomDrawType.Texture, BottomDrawType.Texture); break; } }