@@ -900,10 +900,18 @@ public enum WindowState
900900 Maximized ,
901901
902902 /// <summary >
903- /// The window has been fullscreened, covering the entire surface of the monitor. Note that changing to/from this
904- /// state may enact an implicit change to <see cref =" ISurfaceDisplay" />'s state if supported.
903+ /// The window has been fullscreened, covering the entire surface of the monitor without a border, with exclusive
904+ /// control over the display. Note that changing to/from this state may enact an implicit change to
905+ /// <see cref =" ISurfaceDisplay" />'s state if supported.
905906 /// </summary >
906- Fullscreen
907+ ExclusiveFullscreen ,
908+
909+ /// <summary >
910+ /// The window has been fullscreened, covering the entire surface of the monitor, but still uses window management
911+ /// to allow the user to interoperate with other applications easily. This setting leads the
912+ /// <see cref =" ISurfaceWindow.Border" /> setting to be ignored, as this setting is functionally equivalent to
913+ /// <see cref =" Maximized" /> and a <see cref =" WindowBorder.Hidden" /> border.
914+ WindowedFullscreen
907915}
908916
909917/// <summary >
@@ -1271,12 +1279,12 @@ public readonly record struct DisplayCoordinatesEvent(
12711279
12721280/// <summary >
12731281/// Represents the properties of a surface whose rendering is intrinsically linked to the composition of a specific
1274- /// display. In most cases, this translates to "the surface is rendering in fullscreen mode".
1282+ /// display. In most cases, this translates to "the surface is rendering in exclusive fullscreen mode".
12751283/// </summary >
12761284/// <param name =" Resolution" >
12771285/// The resolution the surface is rendering on its display at, if known. If <c >null</c >, it is highly likely that the
1278- /// surface is not rendering in fullscreen mode or otherwise has its rendering intrinsically linked to the composition
1279- /// of a specific display.
1286+ /// surface is not rendering in exclusive fullscreen mode or otherwise has its rendering intrinsically linked to the
1287+ /// composition of a specific display.
12801288/// </param >
12811289/// <param name =" RefreshRate" >
12821290/// The rate (per second) at which the physical display will receive new renders from the surface, if known. If
@@ -1285,8 +1293,9 @@ public readonly record struct DisplayCoordinatesEvent(
12851293/// of a specific display.
12861294/// </param >
12871295/// <remarks >
1288- /// If a <c >default</c > video mode is encountered, it is highly likely the surface is not rendering in fullscreen mode.
1289- /// If an individual property is <c >null</c >, it is highly likely that property is not controllable programmatically.
1296+ /// If a <c >default</c > video mode is encountered, it is highly likely the surface is not rendering in exclusive
1297+ /// fullscreen mode. If an individual property is <c >null</c >, it is highly likely that property is not controllable
1298+ /// programmatically.
12901299/// </remarks >
12911300public readonly record struct VideoMode (Vector2 ? Resolution , int ? RefreshRate );
12921301
@@ -1591,7 +1600,7 @@ public interface IDetachedSurfaceLifecycle : IDisposable
15911600 /// </summary >
15921601 /// <remarks >
15931602 /// It is expected that <see cref =" Tick" /> shall not be called if this property is <c >true</c >.
1594- /// <remarks >
1603+ /// </ remarks >
15951604 bool ShouldTerminate { get ; }
15961605
15971606 /// <summary >
@@ -1612,7 +1621,7 @@ public interface IDetachedSurfaceLifecycle : IDisposable
16121621 /// <param name =" lifecycle" >The created surface lifecycle on success, <c >null</c > otherwise.</param >
16131622 /// <typeparam name =" T" >
16141623 /// The application that shall be associated with the surface. Note that even with this API,
1615- /// <see cref =" ISurfaceApplication.Initialize{T}" > shall still be called for consistency and portability. However,
1624+ /// <see cref =" ISurfaceApplication.Initialize{T}" / > shall still be called for consistency and portability. However,
16161625 /// unlike <see cref =" ISurfaceApplication.Run{T}" />, this method shall not block and will instead return an
16171626 /// <see cref =" IDetachedSurfaceLifecycle" /> on which <see cref =" Tick" /> is expected to be continuously called to
16181627 /// enact the same behaviour on the surface. The associated application is also used for any additional global
0 commit comments