inline css ftw
This commit is contained in:
parent
157babcbb9
commit
431a25464e
@ -8,6 +8,7 @@
|
||||
@inject IJSRuntime jsRuntime
|
||||
|
||||
<header>
|
||||
<div style="padding: 5px; background-color: darkgray;">
|
||||
<h3>Canvas Communautaire!</h3>
|
||||
<label>Couleur: </label>
|
||||
<select @bind="@currentcolor">
|
||||
@ -35,10 +36,13 @@
|
||||
<option value="16">16</option>
|
||||
<option value="32">32</option>
|
||||
</select>
|
||||
</div>
|
||||
</header>
|
||||
<div @ref="divCanvas" @onmousemove="OnMouseMove" style="border:1px solid #000000;">
|
||||
<div @ref="divCanvas" @onmousemove="OnMouseMove" style="border:1px dotted #000000;">
|
||||
<BECanvas @ref="myCanvas" Height="1080" Width="1920"></BECanvas>
|
||||
</div>
|
||||
<footer>
|
||||
</footer>
|
||||
|
||||
@code {
|
||||
ElementReference divCanvas;
|
||||
@ -48,24 +52,30 @@
|
||||
private string currentcolor { get; set; } = "Black";
|
||||
private int pointsize { get; set; } = 1;
|
||||
|
||||
async void OnMouseMove(MouseEventArgs eventArgs) {
|
||||
async void OnMouseMove(MouseEventArgs eventArgs)
|
||||
{
|
||||
double mouseX = 0, mouseY = 0;
|
||||
|
||||
if (eventArgs.Buttons == 0)
|
||||
return;
|
||||
if (divCanvas.Id?.Length > 0) {
|
||||
if (eventArgs.Buttons == 0 || eventArgs.Buttons > 2)
|
||||
return; // Rien faire si aucun bouton est appuyé ou si les deux boutons/ d'autres boutons sont appuyés.
|
||||
|
||||
if (divCanvas.Id?.Length > 0)
|
||||
{
|
||||
string data = await jsRuntime.InvokeAsync<string>("getDivCanvasOffsets",
|
||||
new object[] { divCanvas });
|
||||
JObject? offsets = (JObject?)JsonConvert.DeserializeObject(data);
|
||||
|
||||
if (offsets is not null && offsets.HasValues) {
|
||||
if (offsets is not null && offsets.HasValues)
|
||||
{ // Translation entre le canvas et la souris.
|
||||
mouseX = eventArgs.ClientX - offsets.Value<double>("offsetLeft");
|
||||
mouseY = eventArgs.ClientY - offsets.Value<double>("offsetTop");
|
||||
}
|
||||
if (currentCanvasContext is null)
|
||||
currentCanvasContext = await myCanvas.CreateCanvas2DAsync();
|
||||
|
||||
await currentCanvasContext.SetFillStyleAsync(currentcolor);
|
||||
await currentCanvasContext.SetFillStyleAsync(eventArgs.Buttons == 1 ?
|
||||
currentcolor :
|
||||
"White"); // Couleur si bouton gauche, blanc si bouton droit
|
||||
await currentCanvasContext.FillRectAsync(mouseX, mouseY, pointsize, pointsize);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user