2025-12-19 09:30:16 +00:00
<Project Sdk= "Microsoft.NET.Sdk" >
<PropertyGroup >
<TargetFramework > net9.0</TargetFramework>
<ImplicitUsings > enable</ImplicitUsings>
<Nullable > enable</Nullable>
2025-12-19 05:01:34 -05:00
<RootNamespace > OpenMaui.Platform.Linux</RootNamespace>
<AssemblyName > OpenMaui.Controls.Linux</AssemblyName>
2025-12-19 09:30:16 +00:00
<AllowUnsafeBlocks > true</AllowUnsafeBlocks>
<GenerateDocumentationFile > true</GenerateDocumentationFile>
<NoWarn > $(NoWarn);CS0108;CS1591;CS0618</NoWarn>
RC1: Full XAML support with BindableProperty, VSM, and data binding
Phase 1 - BindableProperty Foundation:
- SkiaLayoutView: Convert Spacing, Padding, ClipToBounds to BindableProperty
- SkiaStackLayout: Convert Orientation to BindableProperty
- SkiaGrid: Convert RowSpacing, ColumnSpacing to BindableProperty
- SkiaCollectionView: Convert all 12 properties to BindableProperty
- SkiaShell: Convert all 12 properties to BindableProperty
Phase 2 - Visual State Manager:
- Add VSM integration to SkiaImageButton pointer handlers
- Support Normal, PointerOver, Pressed, Disabled states
Phase 3-4 - XAML/Data Binding:
- Type converters for SKColor, SKRect, SKSize, SKPoint
- BindingContext propagation through visual tree
- Full handler registration for all MAUI controls
Documentation:
- README: Add styling/binding examples, update roadmap
- Add RC1-ROADMAP.md with implementation details
Version: 1.0.0-rc.1
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-28 09:26:04 -05:00
<GenerateAssemblyInfo > false</GenerateAssemblyInfo>
<GenerateTargetFrameworkAttribute > false</GenerateTargetFrameworkAttribute>
2025-12-19 09:30:16 +00:00
<!-- NuGet Package Properties -->
2025-12-19 05:01:34 -05:00
<PackageId > OpenMaui.Controls.Linux</PackageId>
RC1: Full XAML support with BindableProperty, VSM, and data binding
Phase 1 - BindableProperty Foundation:
- SkiaLayoutView: Convert Spacing, Padding, ClipToBounds to BindableProperty
- SkiaStackLayout: Convert Orientation to BindableProperty
- SkiaGrid: Convert RowSpacing, ColumnSpacing to BindableProperty
- SkiaCollectionView: Convert all 12 properties to BindableProperty
- SkiaShell: Convert all 12 properties to BindableProperty
Phase 2 - Visual State Manager:
- Add VSM integration to SkiaImageButton pointer handlers
- Support Normal, PointerOver, Pressed, Disabled states
Phase 3-4 - XAML/Data Binding:
- Type converters for SKColor, SKRect, SKSize, SKPoint
- BindingContext propagation through visual tree
- Full handler registration for all MAUI controls
Documentation:
- README: Add styling/binding examples, update roadmap
- Add RC1-ROADMAP.md with implementation details
Version: 1.0.0-rc.1
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-28 09:26:04 -05:00
<Version > 1.0.0-rc.1</Version>
2025-12-19 05:01:34 -05:00
<Authors > MarketAlly LLC, David H. Friedel Jr.</Authors>
<Company > MarketAlly LLC</Company>
<Product > OpenMaui Linux Controls</Product>
<Description > Linux desktop support for .NET MAUI applications using SkiaSharp rendering. Supports X11 and Wayland display servers with 35+ controls, platform services, and accessibility support.</Description>
<Copyright > Copyright 2025 MarketAlly LLC</Copyright>
2025-12-19 09:30:16 +00:00
<PackageLicenseExpression > MIT</PackageLicenseExpression>
2025-12-27 09:45:26 -05:00
<PackageProjectUrl > https://git.marketally.com/open-maui/maui-linux</PackageProjectUrl>
<RepositoryUrl > https://git.marketally.com/open-maui/maui-linux.git</RepositoryUrl>
2025-12-19 09:30:16 +00:00
<RepositoryType > git</RepositoryType>
2025-12-19 05:01:34 -05:00
<PackageTags > maui;linux;desktop;skia;gui;cross-platform;dotnet;x11;wayland;openmaui</PackageTags>
2026-01-17 05:31:40 +00:00
<PackageReleaseNotes > RC1: 100% .NET MAUI API compliance - all public APIs use MAUI types (Color, Rect, Size, Thickness, double). Full XAML support with BindableProperty for all controls, Visual State Manager integration, data binding, and XAML styles. 217 passing tests.</PackageReleaseNotes>
2025-12-19 09:30:16 +00:00
<PackageReadmeFile > README.md</PackageReadmeFile>
2025-12-21 14:08:27 -05:00
<PackageIcon > icon.png</PackageIcon>
2025-12-19 09:30:16 +00:00
<GeneratePackageOnBuild > false</GeneratePackageOnBuild>
<IsPackable > true</IsPackable>
</PropertyGroup>
<ItemGroup >
<!-- MAUI Core packages -->
<PackageReference Include= "Microsoft.Maui.Controls" Version= "9.0.40" />
<PackageReference Include= "Microsoft.Maui.Graphics" Version= "9.0.40" />
<PackageReference Include= "Microsoft.Maui.Graphics.Skia" Version= "9.0.40" />
2025-12-21 13:26:56 -05:00
<!-- SkiaSharp for rendering (2.88.x for FreeType compatibility) -->
<PackageReference Include= "SkiaSharp" Version= "2.88.9" />
<PackageReference Include= "SkiaSharp.NativeAssets.Linux" Version= "2.88.9" />
<PackageReference Include= "SkiaSharp.Views.Desktop.Common" Version= "2.88.9" />
2026-01-01 12:52:33 -05:00
<PackageReference Include= "Svg.Skia" Version= "1.0.0" />
2025-12-19 09:30:16 +00:00
<!-- HarfBuzz for advanced text shaping -->
2025-12-21 13:26:56 -05:00
<PackageReference Include= "HarfBuzzSharp" Version= "7.3.0.3" />
<PackageReference Include= "HarfBuzzSharp.NativeAssets.Linux" Version= "7.3.0.3" />
2025-12-19 09:30:16 +00:00
</ItemGroup>
2025-12-21 14:08:27 -05:00
<!-- Include README and icon in package -->
2025-12-19 09:30:16 +00:00
<ItemGroup >
<None Include= "README.md" Pack= "true" PackagePath= "" />
2025-12-21 14:08:27 -05:00
<None Include= "assets/icon.png" Pack= "true" PackagePath= "" />
2025-12-19 09:30:16 +00:00
</ItemGroup>
2026-01-24 06:13:13 +00:00
<!-- Include build targets in package - auto - imports when package is referenced -->
<ItemGroup >
<None Include= "build\OpenMaui.Controls.Linux.targets" Pack= "true" PackagePath= "build\OpenMaui.Controls.Linux.targets" />
</ItemGroup>
2025-12-21 13:26:56 -05:00
<!-- Exclude old handler files, samples, templates, and VSIX -->
2025-12-19 09:30:16 +00:00
<ItemGroup >
<Compile Remove= "Handlers/*.Linux.cs" />
<Compile Remove= "samples/**/*.cs" />
<Compile Remove= "tests/**/*.cs" />
<Compile Remove= "templates/**/*.cs" />
2025-12-21 13:26:56 -05:00
<Compile Remove= "vsix/**/*.cs" />
<None Remove= "vsix/**/*.xaml" />
<None Remove= "templates/**/*.xaml" />
<None Remove= "samples/**/*.xaml" />
<MauiXaml Remove= "vsix/**/*.xaml" />
<MauiXaml Remove= "templates/**/*.xaml" />
<MauiXaml Remove= "samples/**/*.xaml" />
2025-12-19 09:30:16 +00:00
</ItemGroup>
</Project>