UI: brand background image + Pirulen font for PROSERVE wordmark
Window background ----------------- Brush.Bg.Window is now pure #000000 (was a slightly blue-tinted dark). The previous tint added value to the bitmap overlay, washing out the image's bright spots. With pure black behind, the 50% overlay sits cleanly on top. Cards / sidebar / footer keep a faint blue tint (#161B23, #0E1218, #050709) so the chrome reads as cool/dark while the body shows the hardware texture clearly through the gaps. Background image ---------------- Resources/Background.png (the engraved ASTERION VR wordmark on dark metal) is now an embedded WPF Resource on the App project. MainWindow draws it as the first child of the root grid, RowSpan=3, Stretch= UniformToFill, Opacity=0.5, IsHitTestVisible=False so it never steals clicks. It shows behind the body's empty regions; the cards' solid backgrounds cover it where readability matters. Pirulen wordmark ---------------- Resources/pirulen.otf (the user-supplied OpenType font) is embedded as a Resource and exposed via Theme.xaml's Font.Brand FontFamily resource using the standard pack URI form (#Pirulen). The top bar replaces the plain "PROSERVE Launcher" with a horizontal stack: PROSERVE in 22pt Pirulen + a smaller "Launcher" label in secondary text. The brand typeface is reusable elsewhere via {StaticResource Font.Brand}. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
BIN
src/Background.png
Normal file
BIN
src/Background.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.5 MiB |
@@ -41,4 +41,9 @@
|
|||||||
<ProjectReference Include="..\PSLauncher.Models\PSLauncher.Models.csproj" />
|
<ProjectReference Include="..\PSLauncher.Models\PSLauncher.Models.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Resource Include="Resources\Background.png" />
|
||||||
|
<Resource Include="Resources\pirulen.otf" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
BIN
src/PSLauncher.App/Resources/Background.png
Normal file
BIN
src/PSLauncher.App/Resources/Background.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.5 MiB |
@@ -4,15 +4,19 @@
|
|||||||
|
|
||||||
<BooleanToVisibilityConverter x:Key="BoolToVisibility" />
|
<BooleanToVisibilityConverter x:Key="BoolToVisibility" />
|
||||||
|
|
||||||
|
<!-- Custom font Pirulen pour les titres de marque -->
|
||||||
|
<FontFamily x:Key="Font.Brand">pack://application:,,,/Resources/#Pirulen</FontFamily>
|
||||||
|
|
||||||
<!-- Inverse bool : utilisé pour griser un bouton pendant qu'une opération est en cours -->
|
<!-- Inverse bool : utilisé pour griser un bouton pendant qu'une opération est en cours -->
|
||||||
<res:InverseBoolConverter x:Key="InverseBoolToBool" />
|
<res:InverseBoolConverter x:Key="InverseBoolToBool" />
|
||||||
|
|
||||||
<!-- Epic Games inspired dark palette -->
|
<!-- Fond fenêtre : noir pur pour ne pas délaver le bitmap overlay -->
|
||||||
<SolidColorBrush x:Key="Brush.Bg.Window" Color="#1B1B1F" />
|
<SolidColorBrush x:Key="Brush.Bg.Window" Color="#000000" />
|
||||||
<SolidColorBrush x:Key="Brush.Bg.Sidebar" Color="#202024" />
|
<!-- Cards & sidebar : très légère teinte bleutée pour le contraste -->
|
||||||
<SolidColorBrush x:Key="Brush.Bg.Card" Color="#26262B" />
|
<SolidColorBrush x:Key="Brush.Bg.Sidebar" Color="#0E1218" />
|
||||||
<SolidColorBrush x:Key="Brush.Bg.Footer" Color="#0F0F12" />
|
<SolidColorBrush x:Key="Brush.Bg.Card" Color="#161B23" />
|
||||||
<SolidColorBrush x:Key="Brush.Border" Color="#37373D" />
|
<SolidColorBrush x:Key="Brush.Bg.Footer" Color="#050709" />
|
||||||
|
<SolidColorBrush x:Key="Brush.Border" Color="#2A2F3A" />
|
||||||
<SolidColorBrush x:Key="Brush.Text.Primary" Color="#F2F2F2" />
|
<SolidColorBrush x:Key="Brush.Text.Primary" Color="#F2F2F2" />
|
||||||
<SolidColorBrush x:Key="Brush.Text.Secondary" Color="#A0A0A8" />
|
<SolidColorBrush x:Key="Brush.Text.Secondary" Color="#A0A0A8" />
|
||||||
<SolidColorBrush x:Key="Brush.Accent" Color="#0078D4" />
|
<SolidColorBrush x:Key="Brush.Accent" Color="#0078D4" />
|
||||||
|
|||||||
BIN
src/PSLauncher.App/Resources/pirulen.otf
Normal file
BIN
src/PSLauncher.App/Resources/pirulen.otf
Normal file
Binary file not shown.
@@ -152,15 +152,30 @@
|
|||||||
<RowDefinition Height="Auto" />
|
<RowDefinition Height="Auto" />
|
||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
|
|
||||||
|
<!-- Background image (sous tout le reste, ne capte pas la souris) -->
|
||||||
|
<Image Grid.Row="0" Grid.RowSpan="3"
|
||||||
|
Source="pack://application:,,,/Resources/Background.png"
|
||||||
|
Stretch="UniformToFill"
|
||||||
|
Opacity="0.5"
|
||||||
|
IsHitTestVisible="False" />
|
||||||
|
|
||||||
<!-- Top bar -->
|
<!-- Top bar -->
|
||||||
<Border Grid.Row="0" Background="{StaticResource Brush.Bg.Sidebar}"
|
<Border Grid.Row="0" Background="{StaticResource Brush.Bg.Sidebar}"
|
||||||
BorderBrush="{StaticResource Brush.Border}" BorderThickness="0,0,0,1"
|
BorderBrush="{StaticResource Brush.Border}" BorderThickness="0,0,0,1"
|
||||||
Padding="20,12">
|
Padding="20,12">
|
||||||
<Grid>
|
<Grid>
|
||||||
<TextBlock Text="PROSERVE Launcher"
|
<StackPanel Orientation="Horizontal" VerticalAlignment="Center">
|
||||||
FontSize="18" FontWeight="Bold"
|
<TextBlock Text="PROSERVE"
|
||||||
Foreground="{StaticResource Brush.Text.Primary}"
|
FontFamily="{StaticResource Font.Brand}"
|
||||||
VerticalAlignment="Center" />
|
FontSize="22"
|
||||||
|
Foreground="{StaticResource Brush.Text.Primary}"
|
||||||
|
VerticalAlignment="Center" />
|
||||||
|
<TextBlock Text="Launcher"
|
||||||
|
FontSize="14"
|
||||||
|
Foreground="{StaticResource Brush.Text.Secondary}"
|
||||||
|
VerticalAlignment="Bottom"
|
||||||
|
Margin="10,0,0,3" />
|
||||||
|
</StackPanel>
|
||||||
<StackPanel HorizontalAlignment="Right" Orientation="Horizontal" VerticalAlignment="Center">
|
<StackPanel HorizontalAlignment="Right" Orientation="Horizontal" VerticalAlignment="Center">
|
||||||
<Button Style="{StaticResource SecondaryButton}"
|
<Button Style="{StaticResource SecondaryButton}"
|
||||||
Content="🔄 Vérifier les MAJ"
|
Content="🔄 Vérifier les MAJ"
|
||||||
|
|||||||
BIN
src/pirulen.otf
Normal file
BIN
src/pirulen.otf
Normal file
Binary file not shown.
Reference in New Issue
Block a user