示例#1
0
        public void Draw(LayerPropertiesModel props, LayerPropertiesModel applied, DrawingContext c)
        {
            if (applied.Brush == null)
            {
                return;
            }

            const int scale = 4;
            // Set up variables for this frame
            var rect = props.Contain
                ? new Rect(applied.X * scale, applied.Y * scale, applied.Width * scale, applied.Height * scale)
                : new Rect(props.X * scale, props.Y * scale, props.Width * scale, props.Height * scale);

            var clip = new Rect(applied.X * scale, applied.Y * scale, applied.Width * scale, applied.Height * scale);

            // Can't meddle with the original brush because it's frozen.
            var brush = applied.Brush.Clone();

            brush.Opacity = (Math.Sin(props.AnimationProgress * Math.PI) + 1) * (props.Opacity / 2);
            applied.Brush = brush;

            c.PushClip(new RectangleGeometry(clip));
            c.DrawRectangle(applied.Brush, null, rect);
            c.Pop();
        }
示例#2
0
        public KeyboardPropertiesViewModel(IDataModel dataModel, LayerPropertiesModel properties)
            : base(dataModel)
        {
            var keyboardProperties = (KeyboardPropertiesModel)properties;

            ProposedProperties = GeneralHelpers.Clone(keyboardProperties);
            Brush = ProposedProperties.Brush.CloneCurrentValue();

            DataModelProps = new BindableCollection <GeneralHelpers.PropertyCollection>();
            DataModelProps.AddRange(GeneralHelpers.GenerateTypeMap(dataModel));

            HeightProperties  = new LayerDynamicPropertiesViewModel("Height", DataModelProps, keyboardProperties);
            WidthProperties   = new LayerDynamicPropertiesViewModel("Width", DataModelProps, keyboardProperties);
            OpacityProperties = new LayerDynamicPropertiesViewModel("Opacity", DataModelProps, keyboardProperties);
        }
示例#3
0
        public void Draw(LayerPropertiesModel props, LayerPropertiesModel applied, DrawingContext c)
        {
            if (applied?.Brush == null)
            {
                return;
            }

            const int scale = 4;
            // Set up variables for this frame
            var rect = props.Contain
                ? new Rect(applied.X * scale, applied.Y * scale, applied.Width * scale, applied.Height * scale)
                : new Rect(props.X * scale, props.Y * scale, props.Width * scale, props.Height * scale);

            var clip = new Rect(applied.X * scale, applied.Y * scale, applied.Width * scale, applied.Height * scale);

            // Take an offset of 4 to allow layers to slightly leave their bounds
            var progress = (6.0 - props.AnimationProgress) * 10.0;

            if (progress < 0)
            {
                // Can't meddle with the original brush because it's frozen.
                var brush = applied.Brush.Clone();
                brush.Opacity = 1 + 0.025 * progress;
                if (brush.Opacity < 0)
                {
                    brush.Opacity = 0;
                }
                if (brush.Opacity > 1)
                {
                    brush.Opacity = 1;
                }
                applied.Brush = brush;
            }
            rect.Inflate(-rect.Width / 100.0 * progress, -rect.Height / 100.0 * progress);
            clip.Inflate(-clip.Width / 100.0 * progress, -clip.Height / 100.0 * progress);

            c.PushClip(new RectangleGeometry(clip));
            c.DrawRectangle(applied.Brush, null, rect);
            c.Pop();
        }
示例#4
0
        public void Draw(LayerPropertiesModel props, LayerPropertiesModel applied, DrawingContext c)
        {
            if (applied.Brush == null)
            {
                return;
            }

            const int scale = 4;
            // Set up variables for this frame
            var rect = props.Contain
                ? new Rect(applied.X * scale, applied.Y * scale, applied.Width * scale, applied.Height * scale)
                : new Rect(props.X * scale, props.Y * scale, props.Width * scale, props.Height * scale);

            var s1 = new Rect(new Point(rect.X, rect.Y + props.AnimationProgress), new Size(rect.Width, rect.Height));
            var s2 = new Rect(new Point(s1.X, s1.Y - rect.Height), new Size(rect.Width, rect.Height + .5));

            var clip = new Rect(applied.X * scale, applied.Y * scale, applied.Width * scale, applied.Height * scale);

            c.PushClip(new RectangleGeometry(clip));
            c.DrawRectangle(applied.Brush, null, s1);
            c.DrawRectangle(applied.Brush, null, s2);
            c.Pop();
        }
 public FolderPropertiesViewModel(IDataModel dataModel, LayerPropertiesModel properties)
     : base(dataModel)
 {
     ProposedProperties = GeneralHelpers.Clone(properties);
 }
示例#6
0
 public void Draw(LayerPropertiesModel props, LayerPropertiesModel applied, DrawingContext c)
 {
 }
 public AudioPropertiesModel(LayerPropertiesModel properties) : base(properties)
 {
 }
示例#8
0
 public KeyboardPropertiesModel(LayerPropertiesModel properties = null) : base(properties)
 {
 }
示例#9
0
 public KeyPressPropertiesModel(LayerPropertiesModel properties) : base(properties)
 {
 }
示例#10
0
 public MousePropertiesViewModel(IDataModel dataModel, LayerPropertiesModel properties)
     : base(dataModel)
 {
     ProposedProperties = GeneralHelpers.Clone(properties);
     Brush = ProposedProperties.Brush.CloneCurrentValue();
 }
示例#11
0
 public SimplePropertiesModel(LayerPropertiesModel properties = null) : base(properties)
 {
 }
示例#12
0
文件: Drawer.cs 项目: jgheld/Artemis
 public static void UpdateHeadset(LayerPropertiesModel properties)
 {
 }
示例#13
0
文件: Drawer.cs 项目: jgheld/Artemis
 public static void UpdateMouse(LayerPropertiesModel properties)
 {
 }
 public AmbientLightPropertiesModel(LayerPropertiesModel properties)
     : base(properties)
 {
     Brush = new SolidColorBrush(Color.FromRgb(0, 0, 0));
 }
 public ConicalBrushPropertiesModel(LayerPropertiesModel properties = null)
     : base(properties)
 {
 }