private PagePart Proceed(RenderingTask renderingTask) { var pdfFile = pdfView.PdfFile; pdfFile.OpenPage(renderingTask.Page); var w = (int)System.Math.Round(renderingTask.Width); var h = (int)System.Math.Round(renderingTask.Height); Bitmap render; try { render = Bitmap.CreateBitmap(w, h, renderingTask.BestQuality ? Bitmap.Config.Argb8888 : Bitmap.Config.Rgb565); } catch (IllegalArgumentException e) { return(null); } CalculateBounds(w, h, renderingTask.Bounds); pdfFile.RenderPageBitmap(render, renderingTask.Page, roundedRenderBounds, renderingTask.AnnotationRendering); return(new PagePart(renderingTask.Page, render, // renderingTask.Bounds, renderingTask.Thumbnail, // renderingTask.CacheOrder)); }
public void TestFetchAllResources() { Logger logger = InitLogging(out string path); IDictionary <Uri, ResourceFuture> cache = new ConcurrentDictionary <Uri, ResourceFuture>(); IDictionary <Uri, RGridResource> allBlobs = new ConcurrentDictionary <Uri, RGridResource>(); HashSet <Uri> resourceUrls = new HashSet <Uri>() { new Uri("https://applitools.com/images/videos/step2.mp4"), new Uri("https://upload.wikimedia.org/wikipedia/commons/d/d8/NASA_Mars_Rover.jpg"), new Uri("https://www.wikipedia.org/portal/wikipedia.org/assets/img/Wikipedia-logo-v2.png"), new Uri("https://cdn.sstatic.net/Img/unified/sprites.svg?v=e5e58ae7df45"), new Uri("https://m.media-amazon.com/images/G/01/amazonglobal/images/Fuji/hero/English/SD10/2019/January/Fuji_EN_TallHero_ShipIL_Jan19_1X._CB458552189_.jpg"), new Uri("https://images-na.ssl-images-amazon.com/images/G/01/amazonglobal/images/Fuji/Dash/2018/December/Dash_M_AthleticShoes_dec18_1X._CB459955652_SY260_.jpg"), new Uri("https://target.scene7.com/is/image/Target/GUEST_9c641d16-d398-4902-8779-a688980cd199?wid=325&hei=325&qlt=80&fmt=webp"), new Uri("https://target.scene7.com/is/image/Target/GiftIdeas_CBimage_upload-190122_1548181114388?wid=328&hei=328&qlt=80&fmt=webp"), new Uri("https://applitools.com/images/artwork/homepage_banner.jpg"), }; FileDebugResourceWriter debugResourceWriter = new FileDebugResourceWriter(path); RenderingTask renderingTask = new RenderingTask(logger, null, cache, null, null, debugResourceWriter); renderingTask.FetchAllResources_(allBlobs, resourceUrls); Stopwatch stopwatch = Stopwatch.StartNew(); while (resourceUrls.Count > 0 && stopwatch.ElapsedMilliseconds < 10000) { Thread.Sleep(100); } Assert.AreEqual(0, resourceUrls.Count); }
public void TestParseScriptResult() { Logger logger = InitLogging(out string path); IDictionary <Uri, ResourceFuture> cache = new ConcurrentDictionary <Uri, ResourceFuture>(); ConcurrentDictionary <Uri, RGridResource> allBlobs = new ConcurrentDictionary <Uri, RGridResource>(); HashSet <Uri> resourceUrls = new HashSet <Uri>(); FileDebugResourceWriter debugResourceWriter = new FileDebugResourceWriter(path); RenderingTask renderingTask = new RenderingTask(logger, null, cache, null, null, debugResourceWriter); VisualGridEyes eyes = new VisualGridEyes(new ConfigurationProviderForTesting()); eyes.SetLogHandler(logger.GetILogHandler()); IWebDriver webDriver = SeleniumUtils.CreateChromeDriver(); webDriver.Url = "http://applitools.github.io/demo/TestPages/FramesTestPage/"; eyes.InitDriver(webDriver); try { string scriptResult = eyes.GetDomCaptureAndPollingScriptResult_(); FrameData frameData = JsonConvert.DeserializeObject <FrameData>(scriptResult); renderingTask.ParseScriptResult_(frameData, allBlobs, resourceUrls); } finally { webDriver.Quit(); } }
//[Test] public void TestTryGetTextualData() { Logger logger = new Logger(); logger.SetLogHandler(TestUtils.InitLogHandler()); RenderingTask.TryGetTextualData_(null, null, logger); }
protected void OnDownButtonClicked(object sender, System.EventArgs e) { ITreeNode[] selnodes = queue_nodeview.NodeSelection.SelectedNodes; if (selnodes.Length > 0) { RenderingTask seltask = ((RenderingTaskTreeNode)selnodes[0]).Task; mRenderingQueue.StepDown(seltask); } }
public void AddRenderingTask(int page, float width, float height, RectF bounds, bool thumbnail, int cacheOrder, bool bestQuality, bool annotationRendering) { var task = new RenderingTask(width, height, bounds, page, thumbnail, cacheOrder, bestQuality, annotationRendering); var msg = ObtainMessage(MsgRenderTask, task); SendMessage(msg); }
public void AddTask(RenderingTask task, TaskCompleteCB taskCompleteCB) { if (task == null || taskCompleteCB == null) { return; } items.Add(new Item() { task = task, taskCompeteCB = taskCompleteCB }); }
private void RenderingTaskCompleteCB(RenderingTask task) { for (int j = 0; j < task.NumItems(); ++j) { int pixelIndex; Color finalColor; task.GetFinalData(j, out pixelIndex, out finalColor); ppmTexture.WriteAPixel(finalColor, pixelIndex); } ppmTexture.Complete(); }
/// <summary> /// Добавить задачу для рендеринга /// </summary> /// <param name="parTask">Объект задачи для рендеринга</param> public void AddTask(RenderingTask parTask) { if (_nextRenderingTasks == null) { _nextRenderingTasks = new LinkedList <RenderingTask>(); } _nextRenderingTasks.AddLast(parTask); RenderReady = false; _renderNeed = true; }
protected void OnQueueNodeviewCursorChanged(object sender, System.EventArgs e) { ITreeNode[] selnodes = queue_nodeview.NodeSelection.SelectedNodes; if (selnodes.Length == 0) { up_button.Sensitive = false; down_button.Sensitive = false; remove_button.Sensitive = false; } else { RenderingTask seltask = ((RenderingTaskTreeNode)selnodes[0]).Task; remove_button.Sensitive = true; up_button.Sensitive = mRenderingQueue.IndexOf(seltask) > 0; down_button.Sensitive = mRenderingQueue.IndexOf(seltask) < mRenderingQueue.Count - 1; } }
//[Test] public void TestCreatePutFutures() { Logger logger = InitLogging(out string path); FileDebugResourceWriter debugResourceWriter = new FileDebugResourceWriter(path); Applitools.Selenium.VisualGrid.VisualGridEyes eyes = new Applitools.Selenium.VisualGrid.VisualGridEyes(new ConfigurationProviderForTesting()); IDictionary <Uri, ResourceFuture> cache = new ConcurrentDictionary <Uri, ResourceFuture>(); IDictionary <Uri, RGridResource> resources = new ConcurrentDictionary <Uri, RGridResource>(); RenderingTask renderingTask = new RenderingTask(logger, new CheckSettings(), cache, null, null, debugResourceWriter); List <PutFuture> allPuts = null; RunningRender runningRender = null; renderingTask.CreatePutFutures_(allPuts, runningRender, resources); }
public void TestParseInvalidSVGWithCommentOnTop() { Logger logger = new Logger(); logger.SetLogHandler(TestUtils.InitLogHandler()); HashSet <string> allResourceUris = new HashSet <string>(); RenderingTask.TextualDataResource tdr = new RenderingTask.TextualDataResource() { MimeType = "image/svg+xml", OriginalData = CommonUtils.ReadResourceBytes("Test.Eyes.Sdk.Core.DotNet.Resources.fa-regular-400.svg"), Data = CommonUtils.ReadResourceFile("Test.Eyes.Sdk.Core.DotNet.Resources.fa-regular-400.svg"), Uri = null }; RenderingTask.ParseSVG_(tdr, allResourceUris, logger); Assert.AreEqual(0, allResourceUris.Count); }
public void TestParseValidSVGWithLinks() { Logger logger = new Logger(); logger.SetLogHandler(TestUtils.InitLogHandler()); HashSet <string> allResourceUris = new HashSet <string>(); RenderingTask.TextualDataResource tdr = new RenderingTask.TextualDataResource() { MimeType = "image/svg+xml", OriginalData = CommonUtils.ReadResourceBytes("Test.Eyes.Sdk.Core.DotNet.Resources.applitools_logo_combined.svg"), Data = CommonUtils.ReadResourceFile("Test.Eyes.Sdk.Core.DotNet.Resources.applitools_logo_combined.svg"), Uri = new Uri("https://applitools.github.io/demo/TestPages/VisualGridTestPage/applitools_logo_combined.svg") }; RenderingTask.ParseSVG_(tdr, allResourceUris, logger); Assert.AreEqual(3, allResourceUris.Count); }
public void TestPrepareDataForRG() { Logger logger = InitLogging(out string path); FileDebugResourceWriter debugResourceWriter = new FileDebugResourceWriter(path); VisualGridEyes eyes = new VisualGridEyes(new ConfigurationProviderForTesting()); eyes.SetLogHandler(logger.GetILogHandler()); IDictionary <Uri, ResourceFuture> cache = new ConcurrentDictionary <Uri, ResourceFuture>(); RenderBrowserInfo renderBrowserInfo = new RenderBrowserInfo(400, 300, BrowserType.CHROME, "linux"); List <VisualGridTask> taskList = new List <VisualGridTask>() { new VisualGridTask(TaskType.Check, logger, new RunningTest(renderBrowserInfo, logger)) }; RenderingInfo renderingInfo = new RenderingInfo() { AccessToken = "TestToken", ResultsUrl = new Uri("localhost:12345"), ServiceUrl = new Uri("localhost:54321") }; RenderingTask renderingTask = new RenderingTask(logger, new CheckSettings(), cache, taskList, renderingInfo, debugResourceWriter); IWebDriver webDriver = SeleniumUtils.CreateChromeDriver(); webDriver.Url = "http://applitools.github.io/demo/TestPages/FramesTestPage/"; eyes.InitDriver(webDriver); try { string scriptResult = eyes.GetDomCaptureScriptResult_(); FrameData frameData = JsonConvert.DeserializeObject <FrameData>(scriptResult); RenderRequest[] renderRequests = renderingTask.PrepareDataForRG_(frameData); webDriver.Close(); } finally { webDriver.Quit(); } }
public RenderingTaskTreeNode(RenderingTask task) { mTask = task; }
protected virtual void Start() { int canvasWidth = isScreenSize ? Screen.width : 200; int canvasHeight = isScreenSize ? Screen.height : 100; cam = CreateCamera(canvasWidth, canvasHeight); ppmTexture.Init(canvasWidth, canvasHeight); renderingTasksManager = new RenderingTasksManager(); int pixelIndex = 0; RenderingTask task = null; int itemsCount = 0; for (int j = 0; j < ppmTexture.Height; ++j) { for (int i = 0; i < ppmTexture.Width; ++i) { if (multiThreadRendering) { if (itemsCount == 0) { task = new RenderingTask(); task.Init(this, cam, ppmTexture.Width, ppmTexture.Height, numSamples); renderingTasksManager.AddTask(task, RenderingTaskCompleteCB); } task.AddItem(i, j, pixelIndex); ++itemsCount; if (itemsCount == RenderingTask.SIZE) { itemsCount = 0; } ++pixelIndex; } else { Color color = Color.black; for (int s = 0; s < numSamples; ++s) { float u = (i + RTMath.Rnd01()) / ppmTexture.Width; float v = (j + RTMath.Rnd01()) / ppmTexture.Height; RTRay ray = cam.GetRay(u, v); color += GetColor(ray, 0); } color /= numSamples; ppmTexture.WriteAPixel(color); } } } if (!multiThreadRendering) { ppmTexture.Complete(); RenderingComplete(); } else { renderingTasksManager.Start(); } }