Browse Source

correctly style canvas to fill users div.

pull/9028/head
Dan Walmsley 4 years ago
parent
commit
c1a3974fb0
  1. 2
      src/Web/Avalonia.Web.Sample/Program.cs
  2. 17
      src/Web/Avalonia.Web.Sample/index.html
  3. 5
      src/Web/Avalonia.Web/AvaloniaView.cs
  4. 2
      src/Web/Avalonia.Web/webapp/modules/avalonia/canvas.ts

2
src/Web/Avalonia.Web.Sample/Program.cs

@ -18,7 +18,7 @@ internal partial class Program
private static void Main(string[] args) private static void Main(string[] args)
{ {
BuildAvaloniaApp().SetupBrowserApp("out1"); BuildAvaloniaApp().SetupBrowserApp("out");
} }
public static AppBuilder BuildAvaloniaApp() public static AppBuilder BuildAvaloniaApp()

17
src/Web/Avalonia.Web.Sample/index.html

@ -14,15 +14,14 @@
<body> <body>
<style> <style>
canvas.avalonia-canvas { body{
opacity: 1; margin: 0;
background-color: lawngreen; }
position: fixed;
width: 100vw; div#out{
height: 100vh; position:fixed;
top: 0px; width:100vw;
left: 0px; height:100vh;
z-index: 500;
} }
</style> </style>
<div id="out" tabindex="0"></div> <div id="out" tabindex="0"></div>

5
src/Web/Avalonia.Web/AvaloniaView.cs

@ -53,6 +53,11 @@ namespace Avalonia.Web
{ {
var div = GetElementById(divId); var div = GetElementById(divId);
if(div == null)
{
throw new Exception($"div with id: {divId}, was not found in the html document.");
}
_canvas = CreateCanvas(div); _canvas = CreateCanvas(div);
_canvas.SetProperty("id", $"avaloniaCanvas{_canvasCount++}"); _canvas.SetProperty("id", $"avaloniaCanvas{_canvasCount++}");

2
src/Web/Avalonia.Web/webapp/modules/avalonia/canvas.ts

@ -25,6 +25,8 @@ export class Canvas {
public static createCanvas(element: HTMLDivElement): HTMLCanvasElement { public static createCanvas(element: HTMLDivElement): HTMLCanvasElement {
var canvas = document.createElement("canvas"); var canvas = document.createElement("canvas");
canvas.style.setProperty("width", "100%");
canvas.style.setProperty("height", "100%");
element.appendChild(canvas); element.appendChild(canvas);
canvas.classList.add('avalonia-canvas'); canvas.classList.add('avalonia-canvas');

Loading…
Cancel
Save