コード例 #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
ファイル: WebClient.cs プロジェクト: timothymclure/vvvv-sdk
 public DisplayHandler(HTMLTextureRenderer renderer)
 {
     FRenderer = renderer;
 }
コード例 #9
0
ファイル: WebClient.cs プロジェクト: timothymclure/vvvv-sdk
 public RenderHandler(HTMLTextureRenderer renderer)
 {
     FRenderer = renderer;
 }
コード例 #10
0
ファイル: WebClient.cs プロジェクト: timothymclure/vvvv-sdk
 public LifeSpanHandler(WebClient webClient, HTMLTextureRenderer renderer)
 {
     FWebClient = webClient;
     FRenderer  = renderer;
 }
コード例 #11
0
ファイル: WebClient.cs プロジェクト: timothymclure/vvvv-sdk
 public RequestHandler(WebClient webClient, HTMLTextureRenderer renderer)
 {
     FWebClient = webClient;
     FRenderer  = renderer;
 }
コード例 #12
0
ファイル: HTMLTextureNode.cs プロジェクト: tekcor/vvvv-sdk
 protected override void LoadContent(HTMLTextureRenderer renderer, int slice)
 {
     renderer.LoadURL(FUrlIn[slice]);
 }
コード例 #13
0
ファイル: HTMLTextureNode.cs プロジェクト: tekcor/vvvv-sdk
 protected override void LoadContent(HTMLTextureRenderer renderer, int slice)
 {
     renderer.LoadString(FHtmlIn[slice], FBaseUrlIn[slice]);
 }
コード例 #14
0
ファイル: DomVisitor.cs プロジェクト: tekcor/vvvv-sdk
 public DomVisitor(HTMLTextureRenderer renderer)
 {
     FRenderer = renderer;
 }
コード例 #15
0
ファイル: WebClient.cs プロジェクト: tekcor/vvvv-sdk
 public LifeSpanHandler(HTMLTextureRenderer renderer)
 {
     FRenderer = renderer;
 }