public async Task <RouteResult> RouteAsync(string uri, object initData, ViewportOptions viewportOptions, ClaimsPrincipal principal) { var routeRequest = new RouteRequest(uri, initData, viewportOptions, principal); return(await RouteAsync(routeRequest)); }
public RouteRequest(string uri, object initData, ViewportOptions viewportOptions, ClaimsPrincipal principal) { Uri = uri; InitData = initData; ViewportOptions = viewportOptions; Principal = principal; }
public static byte[] Convert(string svg, Vector2 size, ViewportOptions viewportOptions, XdImportSettings xdImportSettings) { var sizeX = Mathf.RoundToInt(size.x * xdImportSettings.SpriteSaveScale); var sizeY = Mathf.RoundToInt(size.y * xdImportSettings.SpriteSaveScale); if (string.IsNullOrWhiteSpace(svg)) { var texture = new Texture2D(sizeX, sizeY); texture.SetPixels(Enumerable.Repeat(Color.clear, texture.width * texture.height).ToArray()); return(texture.EncodeToPNG()); } var unityAssetsParentPath = Path.GetDirectoryName(Application.dataPath) ?? ""; var savePath = Path.Combine("Assets", "Temp.svg"); var saveFullPath = Path.Combine(unityAssetsParentPath, savePath); SvgImportTrigger.ProcessingFile = savePath.ToUniversalPath(); SvgImportTrigger.Size = new Vector2Int(sizeX, sizeY); SvgImportTrigger.ViewportOptions = viewportOptions; using (Disposable.Create(() => { SvgImportTrigger.ProcessingFile = null; SvgImportTrigger.Size = Vector2Int.zero; AssetDatabase.DeleteAsset(savePath); })) { File.WriteAllBytes(saveFullPath, System.Text.Encoding.UTF8.GetBytes(svg)); AssetDatabase.ImportAsset(savePath); // SvgImportTrigger.OnPreprocessAssetが呼ばれる var texture = AssetDatabase.LoadAssetAtPath <Texture2D>(savePath); return(texture.EncodeToPNG()); } }
public TestParameters(bool canDeactivate, bool isAuthorized, object newViewModel, RouteRequest routeRequest = null) { CanDeactivate = canDeactivate; IsAuthorized = isAuthorized; NewViewModel = newViewModel; RouteRequest = routeRequest ?? new RouteRequest("uri", null, ViewportOptions.MainViewport(), new ClaimsPrincipal()); }
private void UpdateProperties() { // The "PreserveViewport" property is deprecated and should be moved to the "ViewportOptions" property if (m_PreserveViewport) { m_ViewportOptions = ViewportOptions.PreserveViewport; m_PreserveViewport = false; } EditorUtility.SetDirty(this); }
// set viewport /// <summary>Sets the viewport.</summary> /// <param name="Options">The options to set up the viewport.</param> internal static void SetViewport(ViewportOptions options) { Gl.glViewport(0, 0, Screen.Properties.Width, Screen.Properties.Height); Gl.glMatrixMode(Gl.GL_PROJECTION); Gl.glLoadIdentity(); const double inverseDegrees = 57.295779513082320877; double aspectRatio = Math.Tan(0.5 * options.HorizontalViewingAngle) / Math.Tan(0.5 * options.VerticalViewingAngle); Glu.gluPerspective(options.VerticalViewingAngle * inverseDegrees, -aspectRatio, options.NearClippingPlane, options.FarClippingPlane); Gl.glMatrixMode(Gl.GL_MODELVIEW); Gl.glLoadIdentity(); Viewport = options; }
// public Option<UIElement> GetActiveControl(string viewportName) // { // var viewportAdapter = GetControlViewportAdapter(viewportName); // return viewportAdapter.HasNoValue // ? Option<UIElement>.None // : viewportAdapter.Value.ActiveControl; // } public Option <object> GetActiveDataContext(ViewportOptions viewportOptions) { switch (viewportOptions) { case NewWindowViewportOptions newWindowViewportOptions: return(Option.None <object>()); case StandardViewportOptions standardViewportOptions: var viewportAdapterOption = GetExistingStandardViewportAdapter(standardViewportOptions); return(viewportAdapterOption.FlatMap(z => z.ActiveDataContext)); default: throw new ArgumentOutOfRangeException(nameof(viewportOptions)); } }
public Option <UIElement> GetActiveControl(ViewportOptions viewportOptions) { switch (viewportOptions) { case NewWindowViewportOptions newWindowViewportOptions: return(Option.None <UIElement>()); case StandardViewportOptions standardViewportOptions: var viewportAdapterOption = GetExistingStandardViewportAdapter(standardViewportOptions); return(viewportAdapterOption.Select(z => z.ViewportUIElement)); default: throw new ArgumentOutOfRangeException(nameof(viewportOptions)); } }
public bool ImportSVG(TextReader textReader, ViewportOptions viewportOptions, float dpi = 0, float pixelsPerUnit = 1, int windowWidth = 0, int windowHeight = 0) { bool ret = false; try { _scene = SVGParser.ImportSVG(textReader, viewportOptions, dpi, pixelsPerUnit, windowWidth, windowHeight); ret = true; } catch (System.Exception e) { Debug.LogError(e); } return(ret); }
public async Task ViewAwareVmReceivesView() { _fixture.GetMock <IViewAwareVm>() .Setup(z => z.LoadView(It.IsAny <object>())) .Verifiable(); var routeRequest = new RouteRequest("", (decimal)25, ViewportOptions.MainViewport(), new ClaimsPrincipal()); var parameters = new TestParameters(canDeactivate: true, isAuthorized: true, newViewModel: _viewAwareViewModel, routeRequest: routeRequest); var routeResult = await RunTest(parameters); routeResult.Success.Should().Be(true); routeResult.StatusCode.Should().Be(RouteResultStatusCode.OK); _fixture.GetMock <IViewAwareVm>() .Verify(); }
public async Task Init1ParamsReturnsVoid() { _fixture.GetMock <IViewModelInit1ParamsReturnsTask>() .Setup(z => z.Init(It.IsAny <decimal>())) .Returns(() => Task.CompletedTask); var routeRequest = new RouteRequest("", (decimal)25, ViewportOptions.MainViewport(), new ClaimsPrincipal()); var parameters = new TestParameters(canDeactivate: true, isAuthorized: true, newViewModel: _viewModelInit1ParamsReturnsTask, routeRequest: routeRequest); var routeResult = await RunTest(parameters); routeResult.Success.Should().Be(true); routeResult.StatusCode.Should().Be(RouteResultStatusCode.OK); _fixture.GetMock <IViewModelInit1ParamsReturnsTask>() .Verify(); }
internal RouteWorkflowTask( RouteRequest routeRequest, IRouteEntryRegistry routeEntryRegistry, IRouteAuthorizationManager routeAuthorizationManager, IRouterService routerService, ILogger logger) { _routeRequest = routeRequest; _routeEntryRegistry = routeEntryRegistry; _routeAuthorizationManager = routeAuthorizationManager; _routerService = routerService; _logger = logger .ForContext(SerilogConstants.Serilog_SourceContext_Name, nameof(RouteWorkflowTask)) .ForContext("Uri", Uri) .ForContext("ViewportName", ViewportOptions.ToString()) .ForContext("InitData", InitData) .ForContext("RouterServiceId", _routerService.RouterServiceId) .ForContext("RoutingWorkflowId", RoutingWorkflowId); }
public Option <IControlViewportAdapter> GetControlViewportAdapter(ViewportOptions viewportOptions) { switch (viewportOptions) { case NewWindowViewportOptions newWindowViewportOptions: var windowSize = newWindowViewportOptions.DesiredWindowSize; var window = new Window() { Width = windowSize.Width, Height = windowSize.Height }; var viewportAdapter = new WindowViewportAdapter(window); return(viewportAdapter.Some <IControlViewportAdapter>()); case StandardViewportOptions standardViewportOptions: return(GetExistingStandardViewportAdapter(standardViewportOptions)); default: throw new ArgumentOutOfRangeException(nameof(viewportOptions), $"No code to handle {viewportOptions.GetType()} viewport options."); } }
private void NavigateToOneMain() { var result = _routerService.RouteAsync("/control1", null, ViewportOptions.MainViewport(), null); }
internal async Task <RouteResult> GoAsync() { var initDataIsNull = InitData != null ? " with init data" : " without init data"; using var timer = PerformanceTimer.Start(_logger, $"Routing operation to {Uri} in Viewport {ViewportOptions.ToString() + initDataIsNull}"); try { RouteEntryOption = RouteWorkflow.GetRouteEntry(_logger, _routeEntryRegistry, Uri); timer.Checkpoint("Route entry retrieved."); var routeResult = await RouteEntryOption.Match( some : async routeEntry => { //Check authorization var routeContext = new RoutingContext(routeEntry, _routeRequest); var authorized = await RouteWorkflow.CheckRouteAuthorizationAsync( _logger, _routeAuthorizationManager, routeContext); timer.Checkpoint("Route auth checked."); if (!authorized) { return(new RouteResult(RouteResultStatusCode.Unauthorized)); } //Can deactivate current var canDeactivate = await RouteWorkflow.CanDeactivateCurrentRouteAsync( _logger, _routerService, ViewportOptions, Uri, InitData); timer.Checkpoint("CanDeactivate checked."); if (!canDeactivate) { return(new RouteResult(RouteResultStatusCode.CanDeactiveFailed)); } //Activate new route var canActivate = await RouteWorkflow.CanActivateNewRouteAsync(_logger); timer.Checkpoint("Activate checked."); if (!canActivate) { return(new RouteResult(RouteResultStatusCode.CanActivateFailed)); } //Get ViewModel Controller = RouteWorkflow.CreateViewModel(_logger, routeEntry); timer.Checkpoint("Viewmodel created"); await RouteWorkflow.InitViewModel(_logger, InitData, Controller); timer.Checkpoint("Viewmodel inited."); //Get View View = RouteWorkflow.CreateView(_logger, routeEntry); timer.Checkpoint("View created."); RouteWorkflow.AssignDataContext(_logger, View, Controller); //IViewAware context if (Controller is IViewAware viewAware) { RouteWorkflow.AssignViewToViewModel(_logger, View, viewAware); timer.Checkpoint("ViewModel is view aware, so view assigned to view model"); } //Add View to UI var routeResult = RouteWorkflow.AddViewToUi(_logger, _routerService, this, View); timer.Checkpoint("View added to UI.K"); return(routeResult); }, none : async() => new RouteResult(RouteResultStatusCode.RouteNotFound)); FinishedTime = DateTime.UtcNow; return(routeResult); } catch (Exception e) { _logger.Error(e, "Exception during RouteWorkflowTask.Go() method."); throw; } }