示例#1
0
        public GLScreen(Switch Ns, IGalRenderer Renderer)
            : base(1280, 720,
                   new GraphicsMode(), "Ryujinx", 0,
                   DisplayDevice.Default, 3, 3,
                   GraphicsContextFlags.ForwardCompatible)
        {
            this.Ns       = Ns;
            this.Renderer = Renderer;

            ScreenTex = new ScreenTexture(Ns, Renderer, 1280, 720);
        }
示例#2
0
        public GLScreen(Context Context, Switch Ns, IGalRenderer Renderer)
            : base(Context)
        {
            this.Ns       = Ns;
            this.Renderer = Renderer;

            ScreenTex = new ScreenTexture(Ns, Renderer, 1280, 720);

            AutoSetContextOnRenderFrame = false;
            RenderOnUIThread            = false;
            ContextRenderingApi         = GLVersion.ES3;
        }
示例#3
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            Config.Read();

            Renderer = new NullRenderer();

            Ns = new Switch(Renderer);

            ScreenTex = new ScreenTexture(Ns, Renderer, 1280, 720);

            SetContentView(Resource.Layout.activity_main);

            Thread RenderThread = new Thread(Render);

            ImageView   = FindViewById <ImageView>(Resource.Id.imageView);
            ImageBitmap = Bitmap.CreateBitmap(1280, 720, Bitmap.Config.Argb8888);

            DisplayMetrics DisplayMetrics = new DisplayMetrics();

            WindowManager.DefaultDisplay.GetRealMetrics(DisplayMetrics);

            NxLog = FindViewById <TextView>(Resource.Id.nxLog);

            NxLog.MovementMethod = new ScrollingMovementMethod();

            NxLog.LayoutParameters.Width  = DisplayMetrics.WidthPixels;
            NxLog.LayoutParameters.Height = DisplayMetrics.HeightPixels - (int)(720 * 1.5);

            Button LoadRomButton = FindViewById <Button>(Resource.Id.loadRom);

            LoadRomButton.Click += async delegate {
                try
                {
                    FileData FileInput = await CrossFilePicker.Current.PickFile();

                    if (FileInput == null)
                    {
                        return;
                    }

                    Ns.Os.LoadProgram(FileInput.FileName, FileInput.GetStream());

                    RenderThread.Start();
                }
                catch (Exception e)
                {
                    Logging.Error($"An exception has occured: {e.ToString()}");
                }
            };
        }