Пример #1
0
        protected override void LoadContent(HTMLTextureRenderer renderer, Size size, int slice)
        {
            string patchPath;

            FHost.GetHostPath(out patchPath);
            renderer.LoadString(size, FHtmlIn[slice], FBaseUrlIn[slice], Path.GetDirectoryName(patchPath));
        }
Пример #2
0
 public WebClient(HTMLTextureRenderer renderer)
 {
     FRenderHandler   = new RenderHandler(renderer);
     FLifeSpanHandler = new LifeSpanHandler(this, renderer);
     FLoadHandler     = new LoadHandler(renderer);
     FKeyboardHandler = new KeyboardHandler();
     FRequestHandler  = new RequestHandler();
     FDisplayHandler  = new DisplayHandler(renderer);
 }
Пример #3
0
 protected abstract DXResource <EX9.Texture, CefBrowser> DoRenderCall(
     HTMLTextureRenderer webRenderer,
     int slice,
     out XDocument dom,
     out XElement rootElement,
     out bool isLoading,
     out string currentUrl,
     out string errorText,
     bool reload,
     int width,
     int height,
     double zoomLevel,
     MouseState mouseEvent,
     KeyboardState keyEvent,
     Vector2D scrollTo,
     string javaScript,
     bool execute,
     bool enabled);
Пример #4
0
 protected override DXResource <EX9.Texture, CefBrowser> DoRenderCall(HTMLTextureRenderer webRenderer, int slice, out XDocument dom, out XElement rootElement, out bool isLoading, out string currentUrl, out string errorText, bool reload, int width, int height, double zoomLevel, MouseState mouseEvent, KeyboardState keyEvent, Vector2D scrollTo, string javaScript, bool execute, bool enabled)
 {
     return(webRenderer.RenderUrl(
                out dom,
                out rootElement,
                out isLoading,
                out currentUrl,
                out errorText,
                FUrlIn[slice],
                reload,
                width,
                height,
                zoomLevel,
                mouseEvent,
                keyEvent,
                scrollTo,
                javaScript,
                execute,
                enabled));
 }
Пример #5
0
 protected override void LoadContent(HTMLTextureRenderer renderer, Size size, int slice)
 {
     renderer.LoadUrl(size, FUrlIn[slice]);
 }
Пример #6
0
 protected abstract void LoadContent(HTMLTextureRenderer renderer, Size size, int slice);
Пример #7
0
        public void Evaluate(int spreadMax)
        {
            FWebRenderers.ResizeAndDispose(spreadMax, (i) => new HTMLTextureRenderer(FLogger, FFrameRateIn[i]));

            FTextureOut.SliceCount        = spreadMax;
            FRootElementOut.SliceCount    = spreadMax;
            FDomOut.SliceCount            = spreadMax;
            FDocumentWidthOut.SliceCount  = spreadMax;
            FDocumentHeightOut.SliceCount = spreadMax;
            FIsLoadingOut.SliceCount      = spreadMax;
            FLoadedOut.SliceCount         = spreadMax;
            FErrorTextOut.SliceCount      = spreadMax;
            FCurrentUrlOut.SliceCount     = spreadMax;

            for (int i = 0; i < spreadMax; i++)
            {
                var webRenderer = FWebRenderers[i];

                var frameRate = VMath.Clamp(FFrameRateIn[i], HTMLTextureRenderer.MIN_FRAME_RATE, HTMLTextureRenderer.MAX_FRAME_RATE);
                if (frameRate != webRenderer.FrameRate)
                {
                    webRenderer.Dispose();
                    webRenderer      = new HTMLTextureRenderer(FLogger, frameRate);
                    FWebRenderers[i] = webRenderer;
                }

                // Check enabled state
                webRenderer.Enabled = FEnabledIn[i];
                if (!webRenderer.Enabled)
                {
                    continue;
                }

                // LoadUrl or LoadString
                LoadContent(webRenderer, new Size(FWidthIn[i], FHeightIn[i]), i);

                // Assign inputs
                webRenderer.ZoomLevel = FZoomLevelIn[i];
                webRenderer.Mouse     = FMouseIn[i];
                webRenderer.Keyboard  = FKeyboardIn[i];
                webRenderer.ScrollTo  = FScrollToIn[i];

                if (FExecuteIn[i])
                {
                    webRenderer.ExecuteJavaScript(FJavaScriptIn[i]);
                }

                if (FUpdateDomIn[i])
                {
                    webRenderer.UpdateDom();
                }

                if (FReloadIn[i])
                {
                    webRenderer.Reload();
                }

                // Set outputs
                FErrorTextOut[i] = webRenderer.CurrentError;
                FIsLoadingOut[i] = webRenderer.IsLoading;
                FLoadedOut[i]    = webRenderer.Loaded;
                // As long as the renderer is in the loading state stick to the old values
                if (!webRenderer.IsLoading)
                {
                    if (FDomOut[i] != webRenderer.CurrentDom)
                    {
                        FDomOut[i] = webRenderer.CurrentDom;
                    }
                    var rootElement = webRenderer.CurrentDom != null
                        ? webRenderer.CurrentDom.Root
                        : null;
                    if (FRootElementOut[i] != rootElement)
                    {
                        FRootElementOut[i] = rootElement;
                    }
                    var documentSize = webRenderer.DocumentSize;
                    FDocumentWidthOut[i]  = documentSize.Width;
                    FDocumentHeightOut[i] = documentSize.Height;
                    FCurrentUrlOut[i]     = webRenderer.CurrentUrl;
                }
            }

            FTextureOut.MarkPinAsChanged();
        }
Пример #8
0
 public DisplayHandler(HTMLTextureRenderer renderer)
 {
     FRenderer = renderer;
 }
Пример #9
0
 public RenderHandler(HTMLTextureRenderer renderer)
 {
     FRenderer = renderer;
 }
Пример #10
0
 public LifeSpanHandler(WebClient webClient, HTMLTextureRenderer renderer)
 {
     FWebClient = webClient;
     FRenderer  = renderer;
 }
Пример #11
0
 public RequestHandler(WebClient webClient, HTMLTextureRenderer renderer)
 {
     FWebClient = webClient;
     FRenderer  = renderer;
 }
Пример #12
0
 protected override void LoadContent(HTMLTextureRenderer renderer, int slice)
 {
     renderer.LoadURL(FUrlIn[slice]);
 }
Пример #13
0
 protected override void LoadContent(HTMLTextureRenderer renderer, int slice)
 {
     renderer.LoadString(FHtmlIn[slice], FBaseUrlIn[slice]);
 }
Пример #14
0
 public DomVisitor(HTMLTextureRenderer renderer)
 {
     FRenderer = renderer;
 }
Пример #15
0
 public LifeSpanHandler(HTMLTextureRenderer renderer)
 {
     FRenderer = renderer;
 }