Example #1
0
        private async Task <Rect> InvokeRenderMethodReturnBoundingBox(string method, params object[] args)
        {
            var task = await this.BrowserMainFrame.EvaluateScriptAsync(PrimitiveRenderer.CreateJavascriptCall(method, args));

            var result = (Dictionary <string, object>)task.Result;

            return(PrimitiveRenderer.CreateBoundingBox(result));
        }
Example #2
0
        private async Task <Rect> InvokeAsyncRenderMethodReturnBoundingBox(string method, params object[] args)
        {
            await BrowserContext.CallbackObject.Acquire();

            await this.BrowserMainFrame.EvaluateScriptAsync(PrimitiveRenderer.CreateJavascriptCall(method, args));

            SpinWait.SpinUntil(() => BrowserContext.CallbackObject.IsCalledBack);

            var result = BrowserContext.CallbackObject.Result;

            BrowserContext.CallbackObject.Release();

            return(PrimitiveRenderer.CreateBoundingBox(result));
        }
Example #3
0
        public async Task <Rect> DrawEllipseAroundNotes(Rect bounds)
        {
            var builder = new StringBuilder();

            builder.Append($"renderer.drawEllipseAroundBounds({{ left: {bounds.X}, top: {bounds.Y}, width: {bounds.Width}, height: {bounds.Height} }});");

            Debug.WriteLine(builder.ToString());

            var task = await this.BrowserMainFrame.EvaluateScriptAsync(builder.ToString());

            var result = (Dictionary <string, object>)task.Result;

            return(PrimitiveRenderer.CreateBoundingBox(result));
        }