Exemplo n.º 1
0
        public WrapperForm()
        {
            //this.FormBorderStyle = FormBorderStyle.None;
            this.HScroll = false;
            this.VScroll = false;

            this.StartPosition = FormStartPosition.CenterScreen;
            this.ShowIcon      = false;

            InitializeComponent();
            this.Text        = "FaceTan UI";
            this.MinimumSize = new Size(1200, 800);

            CefInstance CefContext = new CefInstance();

            chromium = new ChromiumWebBrowser(onLoadURL)
            {
                Name        = Guid.NewGuid().ToString(),
                Dock        = DockStyle.Fill,
                MenuHandler = new MenuHandler(),
                Top         = 0
            };
            this.Controls.Add(chromium);

            var formHandler = new FormProvider(this);

            //Register DataSet Object to boundDataSet Javascript Object
            DataSet dataSet = new DataSet("capstone-dataset", "AKIAJJKYA2TLOIPHNNVA", "BBN6C1W3Lx0bo+mOgmD7xjlfstoA3qKA8ppIr38A", 0);

            chromium.JavascriptObjectRepository.Register("boundDataSet", dataSet, true);
            chromium.JavascriptObjectRepository.Register("boundTestRunner", new TestRunner(dataSet), true);

            IntializeEventHandlers();
        }
Exemplo n.º 2
0
        public CefInstance CreateCefInstance(int width, int height, string url)
        {
            CefInstance instance = gameObject.AddComponent <CefInstance>();

            instance.InstanceID = Guid.NewGuid().ToString();
            _cefInstances[instance.InstanceID] = instance;

            instance.name             = instance.InstanceID;
            instance.transform.parent = transform;

            instance.Configure(width, height, url);

            return(instance);
        }
Exemplo n.º 3
0
        public static string CreateInstance(string guid = null)
        {
            CefInstance instance;

            if (guid != null)
            {
                instance         = new CefInstance(guid);
                _instances[guid] = instance;

                return(guid);
            }

            instance         = new CefInstance();
            guid             = instance.InstanceID;
            _instances[guid] = instance;

            return(guid);
        }
Exemplo n.º 4
0
        private static void EventReceivedHandler(object sender, EventReceivedEventArgs args)
        {
            CefEvent cefEvent = args.CefEvent;

            if (cefEvent is CefCreateInstanceEvent)
            {
                CefCreateInstanceEvent createEvent = (CefCreateInstanceEvent)cefEvent;

                InstanceManager.CreateInstance(createEvent.InstanceID);
                CefInstance cefInstance = InstanceManager.GetInstance(createEvent.InstanceID);

                cefInstance.Width  = createEvent.Width;
                cefInstance.Height = createEvent.Height;
                cefInstance.Url    = createEvent.Url;

                cefInstance.Start();

                return;
            }

            InstanceManager.GetInstance(cefEvent.InstanceID).ReceiveEvent(cefEvent);
        }
Exemplo n.º 5
0
    void Update()
    {
        if (InstanceManager.Instance == null)
        {
            return;
        }

        if (!_initialized && InstanceManager.Instance.IsReady())
        {
            CefInstance  = InstanceManager.Instance.CreateCefInstance(Screen.width, Screen.height, URL);
            _initialized = true;
        }

        if (!CefInstance.IsInitialized)
        {
            return;
        }

        if (CaptureMouse)
        {
            CefMouseEvent cefMouseEvent;
            bool          updateMousePos = true;

            for (int i = 0; i < 2; i++)
            {
                bool newState = Input.GetMouseButton(i);

                if (newState != _mouseButtonStates[i])
                {
                    cefMouseEvent = new CefMouseEvent()
                    {
                        InstanceID      = CefInstance.InstanceID,
                        MouseButton     = i,
                        MouseButtonDown = newState,
                        MouseX          = (int)Input.mousePosition.x,
                        MouseY          = Screen.height - (int)Input.mousePosition.y,
                        ScollDeltaX     = (int)Input.mouseScrollDelta.x,
                        ScollDeltaY     = (int)Input.mouseScrollDelta.y,
                    };

                    _mouseButtonStates[i] = newState;
                    InstanceManager.Instance.SendEvent(cefMouseEvent);

                    updateMousePos = false;
                }
            }

            if (updateMousePos && (_lastMousePoint != Input.mousePosition || (Input.mouseScrollDelta.x != 0 || Input.mouseScrollDelta.y != 0)))
            {
                cefMouseEvent = new CefMouseEvent()
                {
                    InstanceID      = CefInstance.InstanceID,
                    MouseButton     = -1,
                    MouseButtonDown = false,
                    MouseX          = (int)Input.mousePosition.x,
                    MouseY          = Screen.height - (int)Input.mousePosition.y,
                    ScollDeltaX     = (int)Input.mouseScrollDelta.x,
                    ScollDeltaY     = (int)Input.mouseScrollDelta.y,
                };

                InstanceManager.Instance.SendEvent(cefMouseEvent);
                _lastMousePoint = Input.mousePosition;
            }
        }

        if (CaptureKeyboard)
        {
            if (Input.GetKeyDown(KeyCode.CapsLock))
            {
                _capslock = !_capslock;
            }
        }
    }