Ejemplo n.º 1
0
        private async void btnControlsConfigure_Click(object sender, RoutedEventArgs e)
        {
            // get button name
            Button button = (Button)sender;
            string name   = button.Name;

            // remove beginning and end
            name = name.Replace("btn", "").Replace("Configure", "");

            // get the relevant combox
            //ComboBox cb = (ComboBox)this.FindName("cmb" + name);

            // get the virtual port number
            //ComboBoxItem typeItem = (ComboBoxItem)cb.SelectedItem;
            //string selectedString = cb.SelectionBoxItem.ToString();
            //int portNum = Convert.ToInt32(selectedString.Replace("Virtual Port ", ""));

            // Get device definition for this controller
            DeviceDefinition dev = Gb.GamePad(0);

            mw.ControllerDefinition = dev;

            // launch controller configuration window
            Grid RootGrid = (Grid)mw.FindName("RootGrid");
            await mw.ShowChildWindowAsync(new ConfigureController()
            {
                IsModal         = true,
                AllowMove       = false,
                Title           = "Controller Configuration",
                CloseOnOverlay  = false,
                ShowCloseButton = false,
                CloseByEscape   = false
            }, RootGrid);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// put me in ToolsBefore
 /// </summary>
 public void UpdateValues()
 {
     if (!IsHandleCreated || IsDisposed)
     {
         return;
     }
     else if (Gb != null)
     {
         if (!Visible)
         {
             if (cbscanline_emu != -2)
             {
                 cbscanline_emu = -2;
                 Gb.SetScanlineCallback(null, 0);
             }
         }
         else
         {
             if (cbscanline != cbscanline_emu)
             {
                 cbscanline_emu = cbscanline;
                 if (cbscanline == -2)
                 {
                     Gb.SetScanlineCallback(null, 0);
                 }
                 else
                 {
                     Gb.SetScanlineCallback(ScanlineCallback, cbscanline);
                 }
             }
         }
     }
 }
Ejemplo n.º 3
0
        public void Restart()
        {
            _cgb  = Gb.IsCGBMode();
            _lcdc = 0;

            // TODO: can this be a required Emulator Service, and let the tool manage the logic of closing?
            if (!Gb.GetGPUMemoryAreas(out _vram, out _bgpal, out _sppal, out _oam))
            {
                if (Visible)
                {
                    Close();
                }
            }
            tilespal = _bgpal;

            if (_cgb)
            {
                label4.Enabled = true;
            }
            else
            {
                label4.Enabled = false;
            }
            bmpViewBG.Clear();
            bmpViewWin.Clear();
            bmpViewTiles1.Clear();
            bmpViewTiles2.Clear();
            bmpViewBGPal.Clear();
            bmpViewSPPal.Clear();
            bmpViewOAM.Clear();
            bmpViewDetails.Clear();
            bmpViewMemory.Clear();
            cbscanline_emu = -4;             // force refresh
        }
Ejemplo n.º 4
0
 private void buttonRefresh_Click(object sender, EventArgs e)
 {
     if (cbscanline == -2 && Gb != null)
     {
         Gb.SetScanlineCallback(ScanlineCallback, -2);
     }
 }
Ejemplo n.º 5
0
 private void GBGPUView_FormClosed(object sender, FormClosedEventArgs e)
 {
     if (Gb != null)
     {
         Gb.SetScanlineCallback(null, 0);
     }
 }
Ejemplo n.º 6
0
        public void buildGd()
        {
            int i = 0;

            rebuildGd();

            if (bestNode == null)
            {
                return;
            }

            while (!bestNode.haveMeta())
            {
                i++;

                int bsc = bestNode.score;

                Gb.Add(bestNode.originalPath, bestNode.meta, -bsc);

                int bscp = bsc / bestNode.items.Count;

                foreach (var chld in bestNode.items)
                {
                    Gb.Add(chld.Value.originalPath, chld.Value.meta, bscp);
                }

                rebuildGd();

                if (i > bestNodeSearchLimit)
                {
                    break;
                }
            }
        }
Ejemplo n.º 7
0
        public void Restart()
        {
            _cgb    = Gb.IsCGBMode();
            _lcdc   = 0;
            _memory = Gb.GetGPU();

            tilespal = _memory.Bgpal;

            if (_cgb)
            {
                label4.Enabled = true;
            }
            else
            {
                label4.Enabled = false;
            }
            bmpViewBG.Clear();
            bmpViewWin.Clear();
            bmpViewTiles1.Clear();
            bmpViewTiles2.Clear();
            bmpViewBGPal.Clear();
            bmpViewSPPal.Clear();
            bmpViewOAM.Clear();
            bmpViewDetails.Clear();
            bmpViewMemory.Clear();
            cbscanline_emu = -4;             // force refresh
        }
Ejemplo n.º 8
0
 /// <summary>
 /// Convert this color to an hex string with format #AARRGGBB
 /// </summary>
 /// <returns>Hex string.</returns>
 public string ColorToHex()
 {
     return(String.Format("#{0}{1}{2}{3}"
                          , Ab.ToString("X").Length == 1 ? String.Format("0{0}", Ab.ToString("X")) : Ab.ToString("X")
                          , Rb.ToString("X").Length == 1 ? String.Format("0{0}", Rb.ToString("X")) : Rb.ToString("X")
                          , Gb.ToString("X").Length == 1 ? String.Format("0{0}", Gb.ToString("X")) : Gb.ToString("X")
                          , Bb.ToString("X").Length == 1 ? String.Format("0{0}", Bb.ToString("X")) : Bb.ToString("X")));
 }
 protected override void UpdateAfter()
 {
     // Automatically connect once the game is running
     if (!_connected)
     {
         Gb.SetPrinterCallback(OnPrint);
         _connected = true;
     }
 }
Ejemplo n.º 10
0
 public PicChannelMixerWindow(BitmapSource bs)
 {
     InitializeComponent();
     this.bs             = bs;
     Content.DataContext = picChannelMixerControl;
     R.AddHandler(Slider.MouseLeftButtonUpEvent, new MouseButtonEventHandler(Slider_MouseLeftButtonUp), true);
     Rg.AddHandler(Slider.MouseLeftButtonUpEvent, new MouseButtonEventHandler(Slider_MouseLeftButtonUp), true);
     Rb.AddHandler(Slider.MouseLeftButtonUpEvent, new MouseButtonEventHandler(Slider_MouseLeftButtonUp), true);
     Gr.AddHandler(Slider.MouseLeftButtonUpEvent, new MouseButtonEventHandler(Slider_MouseLeftButtonUp), true);
     G.AddHandler(Slider.MouseLeftButtonUpEvent, new MouseButtonEventHandler(Slider_MouseLeftButtonUp), true);
     Gb.AddHandler(Slider.MouseLeftButtonUpEvent, new MouseButtonEventHandler(Slider_MouseLeftButtonUp), true);
     Br.AddHandler(Slider.MouseLeftButtonUpEvent, new MouseButtonEventHandler(Slider_MouseLeftButtonUp), true);
     Bg.AddHandler(Slider.MouseLeftButtonUpEvent, new MouseButtonEventHandler(Slider_MouseLeftButtonUp), true);
     B.AddHandler(Slider.MouseLeftButtonUpEvent, new MouseButtonEventHandler(Slider_MouseLeftButtonUp), true);
 }
 private void GBPrinterView_FormClosed(object sender, FormClosedEventArgs e)
 {
     Gb?.SetPrinterCallback(null);
 }
        //平均梯度
        private void button1_Click(object sender, EventArgs e)
        {
            double Gr, Gg, Gb;
            int    delt_xr, delt_yr, delt_xg, delt_yg, delt_xb, delt_yb;

            double map_r, map_g, map_b;

            map_r = map_g = map_b = 0;

            for (int i = 0; i < newBitmap.Width - 1; i++)
            {
                for (int j = 0; j < newBitmap.Height - 1; j++)
                {
                    Color pixel   = newBitmap.GetPixel(i, j);
                    Color pixel_x = newBitmap.GetPixel(i + 1, j);
                    Color pixel_y = newBitmap.GetPixel(i, j + 1);

                    delt_xr = (pixel_x.R - pixel.R) * (pixel_x.R - pixel.R);
                    delt_yr = (pixel_y.R - pixel.R) * (pixel_y.R - pixel.R);

                    delt_xg = (pixel_x.G - pixel.G) * (pixel_x.G - pixel.G);
                    delt_yg = (pixel_y.G - pixel.G) * (pixel_y.G - pixel.G);

                    delt_xb = (pixel_x.B - pixel.B) * (pixel_x.B - pixel.B);
                    delt_yb = (pixel_y.B - pixel.B) * (pixel_y.B - pixel.B);

                    map_r += Math.Sqrt(delt_xr + delt_yr);
                    map_g += Math.Sqrt(delt_xg + delt_yg);
                    map_b += Math.Sqrt(delt_xb + delt_yb);
                }
            }

            Gr = map_r / ((newBitmap.Width - 1) * (newBitmap.Height - 1));
            Gg = map_g / ((newBitmap.Width - 1) * (newBitmap.Height - 1));
            Gb = map_b / ((newBitmap.Width - 1) * (newBitmap.Height - 1));

            MessageBox.Show("融合图三通道平均梯度" + "\r\n" + "Gr:" + Gr.ToString() + "   " + "Gg:" + Gg.ToString() + "   " + "Gb:" + Gb.ToString());
        }