Class ShellComponent
Win32 implementation of IShellComponent.
Inherited Members
Namespace: OpenTK.Platform.Native.Windows
Assembly: OpenTK.Platform.dll
Syntax
public class ShellComponent : IShellComponent, IPalComponent
Properties
Logger
The logger that this component uses to log diagnostic messages.
Declaration
public ILogger? Logger { get; set; }
Property Value
| Type | Description |
|---|---|
| ILogger |
See Also
Name
Name of the abstraction layer component.
Declaration
public string Name { get; }
Property Value
| Type | Description |
|---|---|
| string |
Provides
Specifies which PAL components this object provides.
Declaration
public PalComponents Provides { get; }
Property Value
| Type | Description |
|---|---|
| PalComponents |
Methods
AllowScreenSaver(bool, string?)
Sets whether or not a screensaver is allowed to draw on top of the window. For games with long cutscenes it would be appropriate to set this to false, while tools that act like normal applications should set this to true. By default this setting is untouched.
Declaration
public void AllowScreenSaver(bool allow, string? disableReason)
Parameters
| Type | Name | Description |
|---|---|---|
| bool | allow | Whether to allow screensavers to appear while the application is running. |
| string | disableReason | A reason for why the screen saver is disabled. This string should both contain the reason why the screen saver is disabed as well as the name of the application so the user knows which application is preventing the screen saver from running. If null is sent the following default message will be sent:
|
See Also
GetBatteryInfo(out BatteryInfo)
Gets the battery status of the computer.
Declaration
public BatteryStatus GetBatteryInfo(out BatteryInfo info)
Parameters
| Type | Name | Description |
|---|---|---|
| BatteryInfo | info |
Returns
| Type | Description |
|---|---|
| BatteryStatus | Whether the computer has a battery or not, or if this function failed. |
GetPreferredTheme()
Gets the user preference for application theme.
Declaration
public ThemeInfo GetPreferredTheme()
Returns
| Type | Description |
|---|---|
| ThemeInfo | The user set preferred theme. |
See Also
GetSystemMemoryInformation()
Gets information about the memory of the device and the current status.
Declaration
public SystemMemoryInfo GetSystemMemoryInformation()
Returns
| Type | Description |
|---|---|
| SystemMemoryInfo | The memory info. |
Initialize(ToolkitOptions)
Initialize the component.
Declaration
public void Initialize(ToolkitOptions options)
Parameters
| Type | Name | Description |
|---|---|---|
| ToolkitOptions | options | The options to initialize the component with. |
See Also
IsScreenSaverAllowed()
Gets if the screen saver is allowed to run or not.
Declaration
public bool IsScreenSaverAllowed()
Returns
| Type | Description |
|---|---|
| bool | If the screen saver is allowed to run. |
See Also
SetCaptionColor(WindowHandle, Color3<Rgb>)
Works on Windows 11 only. Sets the color of the windows caption bar.
Declaration
public void SetCaptionColor(WindowHandle handle, Color3<Rgb> color)
Parameters
| Type | Name | Description |
|---|---|---|
| WindowHandle | handle | |
| Color3<Rgb> | color |
SetCaptionTextColor(WindowHandle, Color3<Rgb>)
Works on Windows 11 only. Sets the color of the windows caption bar text.
Declaration
public void SetCaptionTextColor(WindowHandle handle, Color3<Rgb> color)
Parameters
| Type | Name | Description |
|---|---|---|
| WindowHandle | handle | |
| Color3<Rgb> | color |
SetImmersiveDarkMode(WindowHandle, bool)
Sets the DWMWA_USE_IMMERSIVE_DARK_MODE flag on the window causing the titlebar be rendered in dark mode colors.
Declaration
public void SetImmersiveDarkMode(WindowHandle handle, bool useImmersiveDarkMode)
Parameters
| Type | Name | Description |
|---|---|---|
| WindowHandle | handle | Handle to a window. |
| bool | useImmersiveDarkMode | Whether to use immersive dark mode or not. |
SetProgressStatus(WindowHandle, ProgressMode, float)
Sets the current progress status for a window. The progress status is used to display a progress bar in the taskbar.
Declaration
public void SetProgressStatus(WindowHandle handle, ShellComponent.ProgressMode mode, float completion)
Parameters
| Type | Name | Description |
|---|---|---|
| WindowHandle | handle | The window to set the progress status for. |
| ShellComponent.ProgressMode | mode | The progress mode to use for the window. |
| float | completion | A number in the range [0, 1] indicating progress. 0 being no progress and 1 meaning finished. Ignored if |
See Also
SetWindowCornerPreference(WindowHandle, CornerPreference)
Works on Windows 11 only. Sets if the window should have rounded corners or not.
Declaration
public void SetWindowCornerPreference(WindowHandle handle, ShellComponent.CornerPreference preference)
Parameters
| Type | Name | Description |
|---|---|---|
| WindowHandle | handle | |
| ShellComponent.CornerPreference | preference |
Uninitialize()
Uninitialize the component. Frees any native resources used by the component.
Declaration
public void Uninitialize()