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
Provides a logger for this component.
Declaration
public ILogger? Logger { get; set; }
Property Value
Type | Description |
---|---|
ILogger |
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)
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)
Parameters
Type | Name | Description |
---|---|---|
bool | allow | Whether to allow screensavers to appear while the application is running. |
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. |
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. |
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. |
SetWindowCornerPreference(WindowHandle, CornerPrefernce)
Works on Windows 11 only. Sets if the window should have rounded corners or not.
Declaration
public void SetWindowCornerPreference(WindowHandle handle, ShellComponent.CornerPrefernce preference)
Parameters
Type | Name | Description |
---|---|---|
WindowHandle | handle | |
ShellComponent.CornerPrefernce | preference |