ImageEditor.axaml 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <UserControl xmlns="https://github.com/avaloniaui"
  2. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  3. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  4. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  5. xmlns:components="using:InABox.Avalonia.Components"
  6. xmlns:converters="using:InABox.Avalonia.Converters"
  7. mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
  8. x:Class="InABox.Avalonia.Components.ImageEditor">
  9. <Grid>
  10. <Grid.RowDefinitions>
  11. <RowDefinition Height="*"/>
  12. <RowDefinition Height="Auto"/>
  13. </Grid.RowDefinitions>
  14. <Image Grid.Row="0" Source="{Binding $parent[components:ImageEditor].Source}"/>
  15. <Canvas Name="Canvas"
  16. Grid.Row="0"
  17. Background="Transparent"
  18. PointerPressed="Canvas_PointerPressed"
  19. PointerMoved="Canvas_PointerMoved"
  20. PointerReleased="Canvas_PointerReleased"/>
  21. <Border Grid.Row="1" Classes="Standard">
  22. <Grid>
  23. <Grid.ColumnDefinitions>
  24. <ColumnDefinition Width="*"/>
  25. <ColumnDefinition Width="Auto"/>
  26. <ColumnDefinition Width="*"/>
  27. </Grid.ColumnDefinitions>
  28. <UniformGrid Grid.Column="1" Margin="-10" Rows="1">
  29. <UniformGrid.Styles>
  30. <Style Selector="FlyoutPresenter">
  31. <Setter Property="Padding" Value="{StaticResource PrsControlSpacing}"/>
  32. <Setter Property="CornerRadius" Value="{StaticResource PrsCornerRadius}"/>
  33. <Setter Property="BorderBrush" Value="Black"/>
  34. <Setter Property="MinWidth" Value="0"/>
  35. </Style>
  36. </UniformGrid.Styles>
  37. <Button Name="ShapeButton"
  38. Width="40" Height="40"
  39. Margin="10">
  40. <Button.Flyout>
  41. <Flyout Placement="Top" VerticalOffset="-5">
  42. <UniformGrid Margin="-10" Rows="1">
  43. <Button Width="40" Height="40" Margin="10"
  44. CommandParameter="{x:Static components:ImageEditingMode.Polyline}"
  45. Command="{Binding $parent[components:ImageEditor].SetModeCommand}"/>
  46. </UniformGrid>
  47. </Flyout>
  48. </Button.Flyout>
  49. </Button>
  50. <Button Name="PrimaryColour" Width="40" Height="40">
  51. <Ellipse Width="25" Height="25"
  52. Margin="10"
  53. HorizontalAlignment="Center" VerticalAlignment="Center"
  54. Fill="{Binding $parent[components:ImageEditor].PrimaryBrush}"
  55. Stroke="Transparent"/>
  56. <Button.Flyout>
  57. <Flyout Placement="Top" VerticalOffset="-5">
  58. <ColorView Color="{Binding $parent[components:ImageEditor].PrimaryBrush,Converter={x:Static converters:BrushToColorConverter.Instance}}"/>
  59. </Flyout>
  60. </Button.Flyout>
  61. </Button>
  62. </UniformGrid>
  63. </Grid>
  64. </Border>
  65. </Grid>
  66. </UserControl>