using WPFluent.Taskbar;
namespace WPFluent;
///
/// Represents a contract with a service that provides methods for manipulating the taskbar.
///
public interface ITaskBarService
{
///
/// Gets taskbar state of the selected window handle.
///
/// Window handle.
/// The current state of system TaskBar.
TaskBarProgressState GetState(IntPtr hWnd);
///
/// Gets taskbar state of the selected window.
///
/// Selected window.
/// The current state of system TaskBar.
TaskBarProgressState GetState(Window? window);
///
/// Sets taskbar state of the selected window handle.
///
/// Window handle to modify.
/// Progress sate to set.
/// if the operation succeeds. otherwise.
bool SetState(IntPtr hWnd, TaskBarProgressState taskBarProgressState);
///
/// Sets taskbar state of the selected window.
///
/// Window to modify.
/// Progress sate to set.
/// if the operation succeeds. otherwise.
bool SetState(Window? window, TaskBarProgressState taskBarProgressState);
///
/// Sets taskbar value of the selected window handle.
///
/// Window handle to modify.
/// Current value to display.
/// Maximum number for division.
/// if the operation succeeds. otherwise.
bool SetValue(IntPtr hWnd, int current, int max);
///
/// Sets taskbar value of the selected window.
///
/// Window to modify.
/// Current value to display.
/// Maximum number for division.
/// if the operation succeeds. otherwise.
bool SetValue(Window? window, int current, int total);
///
/// Sets taskbar value of the selected window handle.
///
/// Window handle to modify.
/// Progress sate to set.
/// Current value to display.
/// Maximum number for division.
/// if the operation succeeds. otherwise.
bool SetValue(IntPtr hWnd, TaskBarProgressState taskBarProgressState, int current, int total);
///
/// Sets taskbar value of the selected window.
///
/// Window to modify.
/// Progress sate to set.
/// Current value to display.
/// Maximum number for division.
/// if the operation succeeds. otherwise.
bool SetValue(Window? window, TaskBarProgressState taskBarProgressState, int current, int total);
}