mirror of
				https://github.com/Nioux/AideDeJeu.git
				synced 2025-10-30 23:16:09 +00:00 
			
		
		
		
	Ajout de SkiaSharp
This commit is contained in:
		
							parent
							
								
									411411271a
								
							
						
					
					
						commit
						ca7b4247bb
					
				
					 6 changed files with 111 additions and 31 deletions
				
			
		|  | @ -50,6 +50,9 @@ | |||
|     <Reference Include="System.Xml" /> | ||||
|   </ItemGroup> | ||||
|   <ItemGroup> | ||||
|     <PackageReference Include="SkiaSharp.Views.Forms"> | ||||
|       <Version>1.60.0</Version> | ||||
|     </PackageReference> | ||||
|     <PackageReference Include="Xamarin.Forms" Version="2.5.1.444934" /> | ||||
|     <PackageReference Include="Xamarin.Android.Support.Design" Version="25.4.0.2" /> | ||||
|     <PackageReference Include="Xamarin.Android.Support.v7.AppCompat" Version="25.4.0.2" /> | ||||
|  |  | |||
|  | @ -165,6 +165,9 @@ | |||
|     </Page> | ||||
|   </ItemGroup> | ||||
|   <ItemGroup> | ||||
|     <PackageReference Include="SkiaSharp.Views.Forms"> | ||||
|       <Version>1.60.0</Version> | ||||
|     </PackageReference> | ||||
|     <PackageReference Include="Xamarin.Forms" Version="2.5.1.444934" /> | ||||
|     <PackageReference Include="Microsoft.NETCore.UniversalWindowsPlatform" Version="6.1.2" /> | ||||
|   </ItemGroup> | ||||
|  |  | |||
|  | @ -122,6 +122,9 @@ | |||
|     <Reference Include="Xamarin.iOS" /> | ||||
|   </ItemGroup> | ||||
|   <ItemGroup> | ||||
|     <PackageReference Include="SkiaSharp.Views.Forms"> | ||||
|       <Version>1.60.0</Version> | ||||
|     </PackageReference> | ||||
|     <PackageReference Include="Xamarin.Forms" Version="2.5.1.444934" /> | ||||
|   </ItemGroup> | ||||
|   <ItemGroup> | ||||
|  |  | |||
|  | @ -9,6 +9,7 @@ | |||
|   </ItemGroup> | ||||
| 
 | ||||
|   <ItemGroup> | ||||
|     <PackageReference Include="SkiaSharp.Views.Forms" Version="1.60.0" /> | ||||
|     <PackageReference Include="Xamarin.Forms" Version="2.5.1.444934" /> | ||||
|   </ItemGroup> | ||||
| 
 | ||||
|  |  | |||
|  | @ -2,6 +2,7 @@ | |||
| <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" | ||||
|              xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" | ||||
|              xmlns:tools="clr-namespace:AideDeJeu.Tools" | ||||
|              xmlns:skia="clr-namespace:SkiaSharp.Views.Forms;assembly=SkiaSharp.Views.Forms" | ||||
|              x:Class="AideDeJeu.Views.MonsterDetailPage" | ||||
|              Title="{Binding Title}"> | ||||
|     <ContentPage.Resources> | ||||
|  | @ -9,50 +10,55 @@ | |||
|             <tools:NullToFalseConverter x:Key="NullToFalseConverter" /> | ||||
|         </ResourceDictionary> | ||||
|     </ContentPage.Resources> | ||||
|     <ScrollView Orientation="Vertical"> | ||||
|     <ScrollView Orientation="Vertical" BackgroundColor="#fdf1dc"> | ||||
|         <StackLayout Orientation="Vertical" Padding="15"> | ||||
|              | ||||
|             <skia:SKCanvasView PaintSurface="PaintHeaderBar" HorizontalOptions="FillAndExpand" HeightRequest="8" /> | ||||
|              | ||||
|             <Label Text="{Binding Item.Name}" Style="{StaticResource Key=subsubsection}" /> | ||||
| 
 | ||||
|             <Label Text=" " /> | ||||
| 
 | ||||
|             <Label FormattedText="{Binding TypeSizeAlignment}" /> | ||||
| 
 | ||||
|             <BoxView WidthRequest="100" HeightRequest="2" Color="Red" /> | ||||
|             <skia:SKCanvasView PaintSurface="PaintRedBar" HorizontalOptions="FillAndExpand" HeightRequest="8"/> | ||||
| 
 | ||||
|             <!--<BoxView WidthRequest="100" HeightRequest="2" Color="#922610" />--> | ||||
|              | ||||
|             <Label FormattedText="{Binding ArmorClass}" Style="{StaticResource Key=content}" /> | ||||
|             <Label FormattedText="{Binding HitPoints}" Style="{StaticResource Key=content}" /> | ||||
|             <Label FormattedText="{Binding Speed}" Style="{StaticResource Key=content}" /> | ||||
| 
 | ||||
|             <BoxView WidthRequest="100" HeightRequest="2" Color="Red" /> | ||||
|             <skia:SKCanvasView PaintSurface="PaintRedBar" HorizontalOptions="FillAndExpand" HeightRequest="8"/> | ||||
| 
 | ||||
|             <Grid> | ||||
|                 <Grid.ColumnDefinitions> | ||||
|                     <ColumnDefinition Width="auto" /> | ||||
|                     <ColumnDefinition Width="auto" /> | ||||
|                     <ColumnDefinition Width="auto" /> | ||||
|                     <ColumnDefinition Width="auto" /> | ||||
|                     <ColumnDefinition Width="auto" /> | ||||
|                     <ColumnDefinition Width="auto" /> | ||||
|                     <ColumnDefinition Width="*" /> | ||||
|                     <ColumnDefinition Width="*" /> | ||||
|                     <ColumnDefinition Width="*" /> | ||||
|                     <ColumnDefinition Width="*" /> | ||||
|                     <ColumnDefinition Width="*" /> | ||||
|                     <ColumnDefinition Width="*" /> | ||||
|                 </Grid.ColumnDefinitions> | ||||
|                 <Grid.RowDefinitions> | ||||
|                     <RowDefinition Height="auto" /> | ||||
|                     <RowDefinition Height="auto" /> | ||||
|                     <RowDefinition Height="*" /> | ||||
|                     <RowDefinition Height="*" /> | ||||
|                 </Grid.RowDefinitions> | ||||
|                 <Label Grid.Row="0" Grid.Column="0" Text="FOR" Style="{StaticResource Key=content}" /> | ||||
|                 <Label Grid.Row="1" Grid.Column="0" Text="{Binding Item.Strength}" Style="{StaticResource Key=content}" /> | ||||
|                 <Label Grid.Row="0" Grid.Column="1" Text="DEX" Style="{StaticResource Key=content}" /> | ||||
|                 <Label Grid.Row="1" Grid.Column="1" Text="{Binding Item.Dexterity}" Style="{StaticResource Key=content}" /> | ||||
|                 <Label Grid.Row="0" Grid.Column="2" Text="CON" Style="{StaticResource Key=content}" /> | ||||
|                 <Label Grid.Row="1" Grid.Column="2" Text="{Binding Item.Constitution}" Style="{StaticResource Key=content}" /> | ||||
|                 <Label Grid.Row="0" Grid.Column="3" Text="INT" Style="{StaticResource Key=content}" /> | ||||
|                 <Label Grid.Row="1" Grid.Column="3" Text="{Binding Item.Intelligence}" Style="{StaticResource Key=content}" /> | ||||
|                 <Label Grid.Row="0" Grid.Column="4" Text="SAG" Style="{StaticResource Key=content}" /> | ||||
|                 <Label Grid.Row="1" Grid.Column="4" Text="{Binding Item.Wisdom}" Style="{StaticResource Key=content}" /> | ||||
|                 <Label Grid.Row="0" Grid.Column="5" Text="CHA" Style="{StaticResource Key=content}" /> | ||||
|                 <Label Grid.Row="1" Grid.Column="5" Text="{Binding Item.Charisma}" Style="{StaticResource Key=content}" /> | ||||
|                 <Label Grid.Row="0" Grid.Column="0" Text="FOR" HorizontalTextAlignment="Center" Style="{StaticResource Key=content}" /> | ||||
|                 <Label Grid.Row="1" Grid.Column="0" Text="{Binding Item.Strength}" HorizontalTextAlignment="Center" Style="{StaticResource Key=content}" /> | ||||
|                 <Label Grid.Row="0" Grid.Column="1" Text="DEX" HorizontalTextAlignment="Center" Style="{StaticResource Key=content}" /> | ||||
|                 <Label Grid.Row="1" Grid.Column="1" Text="{Binding Item.Dexterity}" HorizontalTextAlignment="Center" Style="{StaticResource Key=content}" /> | ||||
|                 <Label Grid.Row="0" Grid.Column="2" Text="CON" HorizontalTextAlignment="Center" Style="{StaticResource Key=content}" /> | ||||
|                 <Label Grid.Row="1" Grid.Column="2" Text="{Binding Item.Constitution}" HorizontalTextAlignment="Center" Style="{StaticResource Key=content}" /> | ||||
|                 <Label Grid.Row="0" Grid.Column="3" Text="INT" HorizontalTextAlignment="Center" Style="{StaticResource Key=content}" /> | ||||
|                 <Label Grid.Row="1" Grid.Column="3" Text="{Binding Item.Intelligence}" HorizontalTextAlignment="Center" Style="{StaticResource Key=content}" /> | ||||
|                 <Label Grid.Row="0" Grid.Column="4" Text="SAG" HorizontalTextAlignment="Center" Style="{StaticResource Key=content}" /> | ||||
|                 <Label Grid.Row="1" Grid.Column="4" Text="{Binding Item.Wisdom}" HorizontalTextAlignment="Center" Style="{StaticResource Key=content}" /> | ||||
|                 <Label Grid.Row="0" Grid.Column="5" Text="CHA" HorizontalTextAlignment="Center" Style="{StaticResource Key=content}" /> | ||||
|                 <Label Grid.Row="1" Grid.Column="5" Text="{Binding Item.Charisma}" HorizontalTextAlignment="Center" Style="{StaticResource Key=content}" /> | ||||
|             </Grid> | ||||
| 
 | ||||
|             <BoxView WidthRequest="100" HeightRequest="2" Color="Red" /> | ||||
|             <skia:SKCanvasView PaintSurface="PaintRedBar" HorizontalOptions="FillAndExpand" HeightRequest="8"/> | ||||
| 
 | ||||
|             <Label FormattedText="{Binding SavingThrows}" IsVisible="{Binding Item.SavingThrows, Converter={StaticResource NullToFalseConverter}}" Style="{StaticResource Key=content}" /> | ||||
|             <Label FormattedText="{Binding Skills}" IsVisible="{Binding Item.Skills, Converter={StaticResource NullToFalseConverter}}" Style="{StaticResource Key=content}" /> | ||||
|  | @ -61,12 +67,15 @@ | |||
|             <!--<Label FormattedText="{Binding Power}" Style="{StaticResource Key=content}" />--> | ||||
|             <Label FormattedText="{Binding Challenge}" IsVisible="{Binding Item.Challenge, Converter={StaticResource NullToFalseConverter}}" Style="{StaticResource Key=content}" /> | ||||
| 
 | ||||
|             <BoxView WidthRequest="100" HeightRequest="2" Color="Red" /> | ||||
|             <skia:SKCanvasView PaintSurface="PaintRedBar" HorizontalOptions="FillAndExpand" HeightRequest="8"/> | ||||
| 
 | ||||
|             <Label Text="{Binding Item.Description}" Style="{StaticResource Key=content}" /> | ||||
|             <Label Text="{Binding Item.Picture}" Style="{StaticResource Key=content}" /> | ||||
|             <Label Text="{Binding Item.Legendary}" Style="{StaticResource Key=content}" /> | ||||
|             <Label Text="{Binding Item.Source}" Style="{StaticResource Key=content}" /> | ||||
| 
 | ||||
|             <skia:SKCanvasView PaintSurface="PaintHeaderBar" HorizontalOptions="FillAndExpand" HeightRequest="8" /> | ||||
| 
 | ||||
|         </StackLayout> | ||||
|     </ScrollView> | ||||
| </ContentPage> | ||||
|  | @ -1,6 +1,9 @@ | |||
|  | ||||
| using AideDeJeu.ViewModels; | ||||
| using AideDeJeuLib.Monsters; | ||||
| using SkiaSharp; | ||||
| using SkiaSharp.Views.Forms; | ||||
| using System; | ||||
| using Xamarin.Forms; | ||||
| using Xamarin.Forms.Xaml; | ||||
| 
 | ||||
|  | @ -31,5 +34,63 @@ namespace AideDeJeu.Views | |||
|             viewModel = new MonsterDetailViewModel(item); | ||||
|             BindingContext = viewModel; | ||||
|         } | ||||
| 
 | ||||
|         void PaintHeaderBar(object sender, SKPaintSurfaceEventArgs args) | ||||
|         { | ||||
|             SKImageInfo info = args.Info; | ||||
|             SKSurface surface = args.Surface; | ||||
|             SKCanvas canvas = surface.Canvas; | ||||
| 
 | ||||
|             canvas.Clear(); | ||||
| 
 | ||||
|             SKPath path = new SKPath | ||||
|             { | ||||
|                 FillType = SKPathFillType.EvenOdd | ||||
|             }; | ||||
|             path.AddRect(new SKRect(0, 0, info.Width, 8)); | ||||
| 
 | ||||
|             SKPaint paint = new SKPaint() | ||||
|             { | ||||
|                 Style = SKPaintStyle.Fill, | ||||
|                 Color = new SKColor(0xFFE69A28) | ||||
|             }; | ||||
| 
 | ||||
|             canvas.DrawPath(path, paint); | ||||
| 
 | ||||
|             paint.Style = SKPaintStyle.Stroke; | ||||
|             paint.StrokeWidth = 2; | ||||
|             paint.Color = SKColors.Black; | ||||
| 
 | ||||
|             canvas.DrawPath(path, paint); | ||||
|         } | ||||
| 
 | ||||
|         void PaintRedBar(object sender, SKPaintSurfaceEventArgs args) | ||||
|         { | ||||
|             SKImageInfo info = args.Info; | ||||
|             SKSurface surface = args.Surface; | ||||
|             SKCanvas canvas = surface.Canvas; | ||||
| 
 | ||||
|             canvas.Clear(); | ||||
| 
 | ||||
|             SKPath path = new SKPath | ||||
|             { | ||||
|                 FillType = SKPathFillType.EvenOdd | ||||
|             }; | ||||
|             path.AddPoly(new SKPoint[] { new SKPoint(0,0), new SKPoint(info.Width, 8), new SKPoint(0, 8) }); | ||||
| 
 | ||||
|             SKPaint paint = new SKPaint() | ||||
|             { | ||||
|                 Style = SKPaintStyle.Fill, | ||||
|                 Color = new SKColor(0xFF922610) | ||||
|             }; | ||||
| 
 | ||||
|             canvas.DrawPath(path, paint); | ||||
| 
 | ||||
|             //paint.Style = SKPaintStyle.Stroke; | ||||
|             //paint.StrokeWidth = 2; | ||||
|             //paint.Color = SKColors.Black; | ||||
| 
 | ||||
|             //canvas.DrawPath(path, paint); | ||||
|         } | ||||
|     } | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Yan Maniez
						Yan Maniez