// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.

import "ISettingsModelObject.idl";

namespace Microsoft.Terminal.Settings.Model
{
    [default_interface] runtimeclass ColorScheme : Windows.Foundation.IStringable, ISettingsModelObject {
        ColorScheme();
        ColorScheme(String name);

        String Name;

        Microsoft.Terminal.Core.Color Foreground;
        Microsoft.Terminal.Core.Color Background;
        Microsoft.Terminal.Core.Color SelectionBackground;
        Microsoft.Terminal.Core.Color CursorColor;

        // winrt::com_arrays prevent data binding.
        // Instead of representing Table as a property,
        // we expose the getter as a function.
        Microsoft.Terminal.Core.Color[] Table();
        void SetColorTableEntry(UInt8 index, Microsoft.Terminal.Core.Color value);
    }
}
