Various updates.

This commit is contained in:
2026-01-25 17:17:31 -05:00
parent f459e0e6e6
commit e1338563ed
15 changed files with 307 additions and 32 deletions

View File

@@ -0,0 +1,76 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Harmonia.WinUI.Flex;
public interface IFlexView
{
FlexLayout Layout { get; }
int ImageWidth { get; }
FlexOrientation ListOrientation { get; }
int RowSpacing { get; }
int ColumnSpacing { get; }
int TextLineHeight { get; }
FlexOrientation SubtitleFooterOrientation { get; }
int SubtitleFooterMargin { get; }
FlexOrientation ImageToTextOrientation { get; }
int TitleFontSize { get; }
int SubtitleFontSize { get; }
int FooterFontSize { get; }
}
public abstract class GridFlexViewBase : IFlexView
{
public FlexLayout Layout => FlexLayout.Grid;
public FlexOrientation ListOrientation => FlexOrientation.Horizontal;
public FlexOrientation SubtitleFooterOrientation => FlexOrientation.Vertical;
public FlexOrientation ImageToTextOrientation => FlexOrientation.Vertical;
public abstract int ImageWidth { get; }
public abstract int RowSpacing { get; }
public abstract int ColumnSpacing { get; }
public abstract int TextLineHeight { get; }
public abstract int SubtitleFooterMargin { get; }
public abstract int TitleFontSize { get; }
public abstract int SubtitleFontSize { get; }
public abstract int FooterFontSize { get; }
}
public abstract class ListFlexViewBase : IFlexView
{
public FlexLayout Layout => FlexLayout.List;
public FlexOrientation ListOrientation => FlexOrientation.Vertical;
public FlexOrientation SubtitleFooterOrientation => FlexOrientation.Vertical;
public FlexOrientation ImageToTextOrientation => FlexOrientation.Vertical;
public abstract int ImageWidth { get; }
public abstract int RowSpacing { get; }
public abstract int ColumnSpacing { get; }
public abstract int TextLineHeight { get; }
public abstract int SubtitleFooterMargin { get; }
public abstract int TitleFontSize { get; }
public abstract int SubtitleFontSize { get; }
public abstract int FooterFontSize { get; }
}
public enum FlexLayout
{
List,
Grid
}
public enum FlexOrientation
{
Horizontal,
Vertical
}