Refactor
This commit is contained in:
Родитель
f6fd3df9ba
Коммит
996684464f
|
@ -1,36 +0,0 @@
|
|||
name: Deploy to GitHub Pages
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
|
||||
jobs:
|
||||
deploy-to-github-pages:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Setup .NET Core SDK
|
||||
uses: actions/setup-dotnet@v1.9.0
|
||||
|
||||
- name: Install wasm-tools
|
||||
run: dotnet workload install wasm-tools
|
||||
|
||||
- name: Publish .NET Project
|
||||
run: dotnet publish VectorPaint.Web/VectorPaint.Web.csproj -c Release -o release --nologo
|
||||
|
||||
- name: Change base-tag in index.html from / to VectorPaint
|
||||
run: sed -i 's/<base href="\/" \/>/<base href="\/VectorPaint\/" \/>/g' release/wwwroot/index.html
|
||||
|
||||
- name: copy index.html to 404.html
|
||||
run: cp release/wwwroot/index.html release/wwwroot/404.html
|
||||
|
||||
- name: Add .nojekyll file
|
||||
run: touch release/wwwroot/.nojekyll
|
||||
|
||||
- name: Commit wwwroot to GitHub Pages
|
||||
uses: JamesIves/github-pages-deploy-action@4.1.7
|
||||
with:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
BRANCH: gh-pages
|
||||
FOLDER: release/wwwroot
|
Двоичные данные
VectorPaint.NetCore/Assets/avalonia-logo.ico
Двоичные данные
VectorPaint.NetCore/Assets/avalonia-logo.ico
Двоичный файл не отображается.
До Ширина: | Высота: | Размер: 172 KiB |
|
@ -1,24 +0,0 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU' Or '$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<OutputType>Exe</OutputType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU' Or '$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutputType>WinExe</OutputType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<IsPackable>False</IsPackable>
|
||||
<Nullable>enable</Nullable>
|
||||
<Configurations>Debug;Release</Configurations>
|
||||
<Platforms>AnyCPU;x64</Platforms>
|
||||
<RootNamespace>VectorPaint.NetCore</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Avalonia.Desktop" Version="11.0.0-preview1" />
|
||||
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="11.0.0-preview1" />
|
||||
<PackageReference Include="Avalonia.ReactiveUI" Version="11.0.0-preview1" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\VectorPaint.Base\VectorPaint.Base.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -1,10 +0,0 @@
|
|||
<Router AppAssembly="@typeof(Program).Assembly" PreferExactMatches="@true">
|
||||
<Found Context="routeData">
|
||||
<RouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)"/>
|
||||
</Found>
|
||||
<NotFound>
|
||||
<LayoutView Layout="@typeof(MainLayout)">
|
||||
<p>Sorry, there's nothing at this address.</p>
|
||||
</LayoutView>
|
||||
</NotFound>
|
||||
</Router>
|
|
@ -1,16 +0,0 @@
|
|||
using Avalonia.ReactiveUI;
|
||||
using Avalonia.Web.Blazor;
|
||||
|
||||
namespace VectorPaint.Web;
|
||||
|
||||
public partial class App
|
||||
{
|
||||
protected override void OnParametersSet()
|
||||
{
|
||||
base.OnParametersSet();
|
||||
|
||||
WebAppBuilder.Configure<VectorPaint.App>()
|
||||
.UseReactiveUI()
|
||||
.SetupWithSingleViewLifetime();
|
||||
}
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<linker>
|
||||
<assembly fullname="VectorPaint.Web" preserve="All" />
|
||||
</linker>
|
|
@ -1,3 +0,0 @@
|
|||
@page "/"
|
||||
|
||||
<AvaloniaView/>
|
|
@ -1,25 +0,0 @@
|
|||
using System;
|
||||
using System.Net.Http;
|
||||
using System.Threading.Tasks;
|
||||
using VectorPaint.Web;
|
||||
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
|
||||
public class Program
|
||||
{
|
||||
public static async Task Main(string[] args)
|
||||
{
|
||||
await CreateHostBuilder(args).Build().RunAsync();
|
||||
}
|
||||
|
||||
public static WebAssemblyHostBuilder CreateHostBuilder(string[] args)
|
||||
{
|
||||
var builder = WebAssemblyHostBuilder.CreateDefault(args);
|
||||
|
||||
builder.RootComponents.Add<App>("#app");
|
||||
|
||||
builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
|
||||
|
||||
return builder;
|
||||
}
|
||||
}
|
|
@ -1,30 +0,0 @@
|
|||
{
|
||||
"iisSettings": {
|
||||
"windowsAuthentication": false,
|
||||
"anonymousAuthentication": true,
|
||||
"iisExpress": {
|
||||
"applicationUrl": "http://localhost:13961",
|
||||
"sslPort": 44319
|
||||
}
|
||||
},
|
||||
"profiles": {
|
||||
"VectorPaint.Web - IIS Express": {
|
||||
"commandName": "IISExpress",
|
||||
"launchBrowser": true,
|
||||
"inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
},
|
||||
"VectorPaint.Web": {
|
||||
"commandName": "Project",
|
||||
"dotnetRunMessages": "true",
|
||||
"launchBrowser": true,
|
||||
"inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}",
|
||||
"applicationUrl": "https://localhost:5001;http://localhost:5000",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
@inherits LayoutComponentBase
|
||||
|
||||
<div class="page">
|
||||
<div class="main">
|
||||
@Body
|
||||
</div>
|
||||
</div>
|
|
@ -1,70 +0,0 @@
|
|||
.page {
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.main {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.sidebar {
|
||||
background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
|
||||
}
|
||||
|
||||
.top-row {
|
||||
background-color: #f7f7f7;
|
||||
border-bottom: 1px solid #d6d5d5;
|
||||
justify-content: flex-end;
|
||||
height: 3.5rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.top-row ::deep a, .top-row .btn-link {
|
||||
white-space: nowrap;
|
||||
margin-left: 1.5rem;
|
||||
}
|
||||
|
||||
.top-row a:first-child {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
@media (max-width: 640.98px) {
|
||||
.top-row:not(.auth) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.top-row.auth {
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.top-row a, .top-row .btn-link {
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 641px) {
|
||||
.page {
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
.sidebar {
|
||||
width: 250px;
|
||||
height: 100vh;
|
||||
position: sticky;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.top-row {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.main > div {
|
||||
padding-left: 2rem !important;
|
||||
padding-right: 1.5rem !important;
|
||||
}
|
||||
}
|
|
@ -1,72 +0,0 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<IsPackable>False</IsPackable>
|
||||
<RootNamespace>VectorPaint.Web</RootNamespace>
|
||||
<EmccTotalMemory>16777216</EmccTotalMemory>
|
||||
<BlazorEnableTimeZoneSupport>false</BlazorEnableTimeZoneSupport>
|
||||
<BlazorWebAssemblyPreserveCollationData>false</BlazorWebAssemblyPreserveCollationData>
|
||||
<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
|
||||
<WasmNativeStrip>false</WasmNativeStrip>
|
||||
<EmccCompileOptimizationFlag>-O1</EmccCompileOptimizationFlag>
|
||||
<RunAOTCompilation>false</RunAOTCompilation>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
|
||||
<Optimize>true</Optimize>
|
||||
<WasmNativeStrip>true</WasmNativeStrip>
|
||||
<EmccCompileOptimizationFlag>-O3</EmccCompileOptimizationFlag>
|
||||
<EmccLinkOptimizationFlag>-O3</EmccLinkOptimizationFlag>
|
||||
<RunAOTCompilation>false</RunAOTCompilation>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
|
||||
<DebuggerSupport>false</DebuggerSupport>
|
||||
<EnableUnsafeBinaryFormatterSerialization>false</EnableUnsafeBinaryFormatterSerialization>
|
||||
<EnableUnsafeUTF7Encoding>false</EnableUnsafeUTF7Encoding>
|
||||
<EventSourceSupport>false</EventSourceSupport>
|
||||
<HttpActivityPropagationSupport>false</HttpActivityPropagationSupport>
|
||||
<InvariantGlobalization>true</InvariantGlobalization>
|
||||
<MetadataUpdaterSupport>false</MetadataUpdaterSupport>
|
||||
<UseNativeHttpHandler>true</UseNativeHttpHandler>
|
||||
<UseSystemResourceKeys>true</UseSystemResourceKeys>
|
||||
<PublishTrimmed>true</PublishTrimmed>
|
||||
<TrimMode>link</TrimMode>
|
||||
<TrimmerRemoveSymbols>true</TrimmerRemoveSymbols>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
|
||||
<BlazorLinkerDescriptor Include="LinkerConfig.xml" />
|
||||
<TrimmableAssembly Include="Microsoft.CodeAnalysis" />
|
||||
<TrimmableAssembly Include="Microsoft.CodeAnalysis.CSharp" />
|
||||
<TrimmableAssembly Include="Microsoft.CodeAnalysis.CSharp.Scripting" />
|
||||
<TrimmableAssembly Include="Microsoft.CodeAnalysis.Scripting" />
|
||||
<TrimmableAssembly Include="Avalonia.Controls.DataGrid" />
|
||||
<TrimmableAssembly Include="Avalonia.Themes.Default" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
|
||||
<BlazorLinkerDescriptor Include="LinkerConfig.xml" />
|
||||
<TrimmableAssembly Include="Microsoft.CodeAnalysis" />
|
||||
<TrimmableAssembly Include="Microsoft.CodeAnalysis.CSharp" />
|
||||
<TrimmableAssembly Include="Microsoft.CodeAnalysis.CSharp.Scripting" />
|
||||
<TrimmableAssembly Include="Microsoft.CodeAnalysis.Scripting" />
|
||||
<TrimmableAssembly Include="Avalonia.Controls.DataGrid" />
|
||||
<TrimmableAssembly Include="Avalonia.Themes.Default" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="6.0.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="6.0.0" PrivateAssets="all" />
|
||||
<PackageReference Include="Avalonia.Web.Blazor" Version="11.0.0-preview1" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\VectorPaint.Base\VectorPaint.Base.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
|
@ -1,11 +0,0 @@
|
|||
@using System.Net.Http
|
||||
@using System.Net.Http.Json
|
||||
@using Microsoft.AspNetCore.Components.Forms
|
||||
@using Microsoft.AspNetCore.Components.Routing
|
||||
@using Microsoft.AspNetCore.Components.Web
|
||||
@using Microsoft.AspNetCore.Components.Web.Virtualization
|
||||
@using Microsoft.AspNetCore.Components.WebAssembly.Http
|
||||
@using Microsoft.JSInterop
|
||||
@using Avalonia.Web.Blazor
|
||||
@using VectorPaint.Web
|
||||
@using VectorPaint.Web.Shared
|
|
@ -1,5 +0,0 @@
|
|||
<svg width="35" height="35" viewBox="0 0 35 35" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M30.4661 34.928C30.5364 34.928 30.6052 34.928 30.6754 34.928C32.8596 34.928 34.654 33.2918 34.9053 31.1752L34.9356 16.9955C34.6872 7.56697 26.9662 0 17.4777 0C7.83263 0 0.0137329 7.8189 0.0137329 17.464C0.0137329 27.0059 7.66618 34.7631 17.1687 34.928H30.4661Z" fill="white"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M17.5239 5.948C12.0268 5.948 7.42967 9.80117 6.286 14.954C7.38092 15.2609 8.18385 16.2664 8.18385 17.4593C8.18385 18.6523 7.38092 19.6577 6.286 19.9647C7.42966 25.1175 12.0268 28.9706 17.5239 28.9706C19.525 28.9706 21.4068 28.4601 23.0462 27.562V28.8927H29.0352V17.9365C29.0407 17.7908 29.0352 17.6063 29.0352 17.4593C29.0352 11.1018 23.8814 5.948 17.5239 5.948ZM12.0098 17.4593C12.0098 14.414 14.4786 11.9452 17.5239 11.9452C20.5693 11.9452 23.038 14.414 23.038 17.4593C23.038 20.5047 20.5693 22.9734 17.5239 22.9734C14.4786 22.9734 12.0098 20.5047 12.0098 17.4593Z" fill="#8B44AC"/>
|
||||
<path d="M7.36841 17.4517C7.36841 18.4691 6.54368 19.2938 5.52631 19.2938C4.50894 19.2938 3.6842 18.4691 3.6842 17.4517C3.6842 16.4343 4.50894 15.6096 5.52631 15.6096C6.54368 15.6096 7.36841 16.4343 7.36841 17.4517Z" fill="#8B44AC"/>
|
||||
</svg>
|
До Ширина: | Высота: | Размер: 1.2 KiB |
|
@ -1,79 +0,0 @@
|
|||
html, body {
|
||||
font-family: "Nunito", sans-serif;
|
||||
margin: 0;
|
||||
height: 100vh;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
color: white;
|
||||
}
|
||||
|
||||
#blazor-error-ui {
|
||||
background: lightyellow;
|
||||
bottom: 0;
|
||||
box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
|
||||
display: none;
|
||||
left: 0;
|
||||
padding: 0.6rem 1.25rem 0.7rem 1.25rem;
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
z-index: 1000;
|
||||
}
|
||||
|
||||
#blazor-error-ui .dismiss {
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
right: 0.75rem;
|
||||
top: 0.5rem;
|
||||
}
|
||||
|
||||
.canvas-container {
|
||||
opacity:1;
|
||||
position:fixed;
|
||||
width:100%;
|
||||
height:100%;
|
||||
top:0px;
|
||||
left:0px;
|
||||
z-index:500;
|
||||
}
|
||||
|
||||
canvas
|
||||
{
|
||||
opacity:1;
|
||||
position:fixed;
|
||||
width:100%;
|
||||
height:100%;
|
||||
top:0px;
|
||||
left:0px;
|
||||
z-index:500;
|
||||
}
|
||||
|
||||
#app, .page {
|
||||
height: 100%;
|
||||
background: #171C2C;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.navbar-brand {
|
||||
font-size: 22px;
|
||||
}
|
||||
|
||||
.overlay{
|
||||
opacity:0.0;
|
||||
position:fixed;
|
||||
width:100vw;
|
||||
height:100vh;
|
||||
top:0px;
|
||||
left:0px;
|
||||
z-index:1000;
|
||||
}
|
||||
|
||||
#splash {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
min-height: 100vh;
|
||||
}
|
Двоичные данные
VectorPaint.Web/wwwroot/favicon.ico
Двоичные данные
VectorPaint.Web/wwwroot/favicon.ico
Двоичный файл не отображается.
До Ширина: | Высота: | Размер: 172 KiB |
|
@ -1,32 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
|
||||
<title>VectorPaint</title>
|
||||
<base href="/" />
|
||||
<link href="css/app.css" rel="stylesheet" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="app">
|
||||
<div id="splash">
|
||||
<h2>Powered by</h2>
|
||||
<a class="navbar-brand" href="https://www.avaloniaui.net/" target="_blank">
|
||||
<img src="Logo.svg" alt="Avalonia Logo" width="30" height="24" class="d-inline-block align-text-top">
|
||||
Avalonia
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="blazor-error-ui">
|
||||
An unhandled error has occurred.
|
||||
<a href="" class="reload">Reload</a>
|
||||
<a class="dismiss">🗙</a>
|
||||
</div>
|
||||
<script src="js/app.js"></script>
|
||||
<script src="_framework/blazor.webassembly.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -1,10 +1,6 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VectorPaint.NetCore", "VectorPaint.NetCore\VectorPaint.NetCore.csproj", "{BAE0B0DC-A0B7-4DEB-987B-F5E2686F6ACD}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VectorPaint.Web", "VectorPaint.Web\VectorPaint.Web.csproj", "{FB12FAE9-D023-438B-95FE-03B96EE857BA}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VectorPaint.Base", "VectorPaint.Base\VectorPaint.Base.csproj", "{E93F9B08-9309-4BBE-884C-A0D787D5A422}"
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VectorPaint", "VectorPaint\VectorPaint.csproj", "{E93F9B08-9309-4BBE-884C-A0D787D5A422}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
|
@ -12,14 +8,6 @@ Global
|
|||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{BAE0B0DC-A0B7-4DEB-987B-F5E2686F6ACD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{BAE0B0DC-A0B7-4DEB-987B-F5E2686F6ACD}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{BAE0B0DC-A0B7-4DEB-987B-F5E2686F6ACD}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{BAE0B0DC-A0B7-4DEB-987B-F5E2686F6ACD}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{FB12FAE9-D023-438B-95FE-03B96EE857BA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{FB12FAE9-D023-438B-95FE-03B96EE857BA}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{FB12FAE9-D023-438B-95FE-03B96EE857BA}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{FB12FAE9-D023-438B-95FE-03B96EE857BA}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{E93F9B08-9309-4BBE-884C-A0D787D5A422}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E93F9B08-9309-4BBE-884C-A0D787D5A422}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E93F9B08-9309-4BBE-884C-A0D787D5A422}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
<Application xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="using:VectorPaint.Controls"
|
||||
xmlns:vectorPaint="clr-namespace:VectorPaint"
|
||||
x:Class="VectorPaint.App">
|
||||
x:Class="VectorPaint.App"
|
||||
RequestedThemeVariant="Light">
|
||||
<Application.DataTemplates>
|
||||
<vectorPaint:ViewLocator />
|
||||
</Application.DataTemplates>
|
||||
<Application.Styles>
|
||||
<FluentTheme Mode="Light" />
|
||||
<FluentTheme />
|
||||
</Application.Styles>
|
||||
</Application>
|
До Ширина: | Высота: | Размер: 172 KiB После Ширина: | Высота: | Размер: 172 KiB |
|
@ -2,7 +2,7 @@
|
|||
using Avalonia;
|
||||
using Avalonia.ReactiveUI;
|
||||
|
||||
namespace VectorPaint.NetCore
|
||||
namespace VectorPaint
|
||||
{
|
||||
class Program
|
||||
{
|
|
@ -1,18 +1,21 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<OutputType>Library</OutputType>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<IsPackable>False</IsPackable>
|
||||
<Nullable>enable</Nullable>
|
||||
<LangVersion>latest</LangVersion>
|
||||
<Configurations>Debug;Release</Configurations>
|
||||
<Platforms>AnyCPU;x64</Platforms>
|
||||
<RootNamespace>VectorPaint</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<AvaloniaResource Include="Assets\**" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Avalonia" Version="11.0.0-preview1" />
|
||||
<PackageReference Include="Avalonia.Themes.Fluent" Version="11.0.0-preview1" />
|
||||
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="11.0.0-preview1" />
|
||||
<PackageReference Include="Avalonia.ReactiveUI" Version="11.0.0-preview1" />
|
||||
<PackageReference Include="Avalonia" Version="11.0.6" />
|
||||
<PackageReference Include="Avalonia.Themes.Fluent" Version="11.0.6" />
|
||||
<PackageReference Include="Avalonia.ReactiveUI" Version="11.0.6" />
|
||||
<PackageReference Include="Avalonia.Desktop" Version="11.0.6" />
|
||||
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="11.0.6" />
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -7,7 +7,7 @@ namespace VectorPaint;
|
|||
|
||||
public class ViewLocator : IDataTemplate
|
||||
{
|
||||
public IControl Build(object? data)
|
||||
public Control Build(object? data)
|
||||
{
|
||||
var name = data?.GetType().FullName?.Replace("ViewModel", "View");
|
||||
var type = name is null ? null : Type.GetType(name);
|
|
@ -36,7 +36,7 @@ public class EllipseDrawable : GeometryDrawable
|
|||
{
|
||||
if (_topLeft is null || _bottomRight is null)
|
||||
{
|
||||
return Rect.Empty;
|
||||
return default;
|
||||
}
|
||||
|
||||
return new Rect(
|
|
@ -36,7 +36,7 @@ public class RectangleDrawable : GeometryDrawable
|
|||
{
|
||||
if (_topLeft is null || _bottomRight is null)
|
||||
{
|
||||
return Rect.Empty;
|
||||
return default;
|
||||
}
|
||||
|
||||
return new Rect(
|
|
@ -30,9 +30,9 @@ public class Drawing : ReactiveObject, IDrawing
|
|||
set => this.RaiseAndSetIfChanged(ref _overlayDrawables, value);
|
||||
}
|
||||
|
||||
public IVisual? Canvas { get; set; }
|
||||
public Visual? Canvas { get; set; }
|
||||
|
||||
public IInputElement? Input { get; set; }
|
||||
public InputElement? Input { get; set; }
|
||||
|
||||
public Drawable? HitTest(Point point)
|
||||
{
|
|
@ -18,6 +18,6 @@ public interface IDrawing
|
|||
IEnumerable<Drawable> HitTest(Rect rect);
|
||||
void Draw(DrawingContext context, Rect bounds);
|
||||
void Invalidate();
|
||||
IVisual? Canvas { get; set; }
|
||||
IInputElement? Input { get; set; }
|
||||
Visual? Canvas { get; set; }
|
||||
InputElement? Input { get; set; }
|
||||
}
|
|
@ -2,7 +2,7 @@
|
|||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:c="clr-namespace:VectorPaint.Controls;assembly=VectorPaint.Base"
|
||||
xmlns:c="clr-namespace:VectorPaint.Controls;assembly=VectorPaint"
|
||||
xmlns:vm="clr-namespace:VectorPaint.ViewModels"
|
||||
mc:Ignorable="d" d:DesignWidth="900" d:DesignHeight="450"
|
||||
x:CompileBindings="True" x:DataType="vm:MainWindowViewModel"
|
|
@ -6,7 +6,7 @@ using VectorPaint.ViewModels;
|
|||
|
||||
namespace VectorPaint.Views;
|
||||
|
||||
public class MainView : UserControl
|
||||
public partial class MainView : UserControl
|
||||
{
|
||||
public MainView()
|
||||
{
|
|
@ -12,7 +12,6 @@ public partial class MainWindow : Window
|
|||
#if DEBUG
|
||||
this.AttachDevTools();
|
||||
#endif
|
||||
Renderer.DrawFps = false;
|
||||
}
|
||||
|
||||
private void InitializeComponent()
|
Загрузка…
Ссылка в новой задаче