mirror of
https://github.com/wwiinnddyy/LanMountainDesktop.git
synced 2026-06-20 23:54:26 +08:00
Add DesktopComponentRenderMode and thread the render mode through runtime context and creation APIs so controls can be created for library previews. Replace image-based preview system with static preview Controls: viewmodels and ComponentLibraryWindow now use PreviewControl, and ComponentPreviewImageService/related types and tests were removed. Add ComponentPreviewRuntimeQuiescer to attach/detach preview controls (stop timers, disable input) for safe static previews. Simplify component-library collapse state/presenter by removing transient expanded opacity handling. Update runtime registry, services, views and tests to support the new flow.
18 lines
666 B
C#
18 lines
666 B
C#
using LanMountainDesktop.Host.Abstractions;
|
|
using LanMountainDesktop.PluginSdk;
|
|
using LanMountainDesktop.Services;
|
|
using LanMountainDesktop.Services.Settings;
|
|
|
|
namespace LanMountainDesktop.ComponentSystem;
|
|
|
|
public sealed record DesktopComponentRuntimeContext(
|
|
string ComponentId,
|
|
string? PlacementId,
|
|
ISettingsFacadeService SettingsFacade,
|
|
ISettingsService SettingsService,
|
|
IAppearanceThemeService AppearanceTheme,
|
|
ComponentChromeContext Chrome,
|
|
IComponentSettingsAccessor ComponentSettingsAccessor,
|
|
IComponentInstanceSettingsStore ComponentSettingsStore,
|
|
DesktopComponentRenderMode RenderMode = DesktopComponentRenderMode.Live);
|