示例#1
0
        public void ShowLayoutOverlay(WiiKeyMapper keyMapper)
        {
            if (this.hidden)
            {
                this.hidden = false;
                previousForegroundWindow = UIHelpers.GetForegroundWindow();
                if (previousForegroundWindow == null)
                {
                    previousForegroundWindow = IntPtr.Zero;
                }

                this.keyMapper = keyMapper;
                this.keyMapper.SwitchToDefault();
                this.keyMapper.OnButtonDown += keyMapper_OnButtonDown;
                this.keyMapper.OnButtonUp   += keyMapper_OnButtonUp;
                Dispatcher.BeginInvoke(new Action(delegate()
                {
                    this.baseGrid.Opacity                = 0.0;
                    this.baseGrid.Visibility             = Visibility.Visible;
                    this.layoutChooserOverlay.Visibility = Visibility.Visible;
                    this.Activate();

                    Color bordercolor = CursorColor.getColor(keyMapper.WiimoteID);
                    //bordercolor.ScA = 0.5f;
                    bordercolor.R = (byte)(bordercolor.R * 0.8);
                    bordercolor.G = (byte)(bordercolor.G * 0.8);
                    bordercolor.B = (byte)(bordercolor.B * 0.8);
                    this.titleBorder.BorderBrush = new SolidColorBrush(bordercolor);

                    this.title.Text = "Choose a layout for Wiimote " + keyMapper.WiimoteID;
                    //this.title.Foreground = new SolidColorBrush(bordercolor);

                    this.layoutList.Children.Clear();
                    foreach (LayoutChooserSetting config in this.keyMapper.GetLayoutList())
                    {
                        string name            = config.Title;
                        string filename        = config.Keymap;
                        LayoutSelectionRow row = new LayoutSelectionRow(name, filename, bordercolor);
                        //row.OnClick += row_OnClick;

                        if (this.keyMapper.GetFallbackKeymap().Equals(filename))
                        {
                            row.setSelected(true);
                        }

                        row.MouseDown += row_MouseDown;
                        row.TouchDown += row_TouchDown;
                        this.layoutList.Children.Add(row);
                    }

                    DoubleAnimation animation = UIHelpers.createDoubleAnimation(1.0, 200, false);
                    animation.FillBehavior    = FillBehavior.HoldEnd;
                    animation.Completed      += delegate(object sender, EventArgs pEvent)
                    {
                    };
                    this.baseGrid.BeginAnimation(FrameworkElement.OpacityProperty, animation, HandoffBehavior.SnapshotAndReplace);
                }), null);
            }
        }
示例#2
0
        public void ShowLayoutOverlay(WiiKeyMapper keyMapper)
        {
            if (this.hidden)
            {
                this.keyMapper = keyMapper;
                this.keyMapper.SwitchToDefault();
                Dispatcher.BeginInvoke(new Action(delegate()
                {
                    this.baseGrid.Opacity                = 0.0;
                    this.baseGrid.Visibility             = Visibility.Visible;
                    this.layoutChooserOverlay.Visibility = Visibility.Visible;
                    this.Activate();

                    Color bordercolor            = CursorColor.getColor(keyMapper.WiimoteID);
                    bordercolor.ScA              = 0.5f;
                    this.titleBorder.BorderBrush = new SolidColorBrush(bordercolor);

                    this.title.Text = "Choose a layout for Wiimote " + keyMapper.WiimoteID;

                    this.layoutList.Children.Clear();
                    foreach (JObject config in this.keyMapper.GetLayoutList())
                    {
                        string name            = config.GetValue("Title").ToString();
                        string filename        = config.GetValue("Keymap").ToString();
                        LayoutSelectionRow row = new LayoutSelectionRow(name, filename, bordercolor);
                        row.OnClick           += Select_Layout;
                        this.layoutList.Children.Add(row);
                    }

                    DoubleAnimation animation = UIHelpers.createDoubleAnimation(1.0, 200, false);
                    animation.FillBehavior    = FillBehavior.HoldEnd;
                    animation.Completed      += delegate(object sender, EventArgs pEvent)
                    {
                    };
                    this.baseGrid.BeginAnimation(FrameworkElement.OpacityProperty, animation, HandoffBehavior.SnapshotAndReplace);

                    this.hidden = false;
                }), null);
            }
        }