mirror of
https://github.com/wwiinnddyy/LanMountainDesktop.git
synced 2026-06-22 00:54:26 +08:00
37 lines
940 B
C#
37 lines
940 B
C#
using Avalonia;
|
|
|
|
namespace LanMountainDesktop.DesktopEditing;
|
|
|
|
internal enum ComponentLibraryCollapseVisualState
|
|
{
|
|
Expanded,
|
|
Collapsing,
|
|
Collapsed,
|
|
Restoring
|
|
}
|
|
|
|
internal readonly record struct ComponentLibraryCollapseState(
|
|
ComponentLibraryCollapseVisualState VisualState,
|
|
Thickness ExpandedMargin,
|
|
double ExpandedOpacity,
|
|
bool IsChipVisible)
|
|
{
|
|
public static ComponentLibraryCollapseState CreateExpanded(Thickness expandedMargin, double expandedOpacity)
|
|
{
|
|
return new(
|
|
ComponentLibraryCollapseVisualState.Expanded,
|
|
expandedMargin,
|
|
expandedOpacity,
|
|
IsChipVisible: false);
|
|
}
|
|
|
|
public ComponentLibraryCollapseState WithVisualState(ComponentLibraryCollapseVisualState visualState, bool isChipVisible)
|
|
{
|
|
return this with
|
|
{
|
|
VisualState = visualState,
|
|
IsChipVisible = isChipVisible
|
|
};
|
|
}
|
|
}
|