Module Useri_jsoo.Surface

module Surface: sig .. end

Surface mode

`Fullscreen mode uses JavaScript's Fullscreen API and applies it to the document element rather than the surface itself. This is the most flexible as it allows you to keep surrounding elements around the surface or hide them using the CSS fullscreen pseudo-class.

Surface specification

Take into account the following points:

Surface properties updates

Browser lack the ability to detect element bounding box changes as such Useri.Surface.pos, Useri.Surface.raster_size and Useri.Surface.size only get updated, if needed, on Useri.Surface.mode changes and window resizes. If that doesn't handle all your needs you can call Useri_jsoo.Surface.request_sync_props to request the surface properties to be synchronized.

val request_sync_props : unit -> unit
request_sync_props () asks to make sure that the application's surface Useri.Surface.pos, Useri.Surface.raster_size and Useri.Surface.size properties are in sync with the surface's element bounding box some time after it was called (can be called in a React step).
val size_mm : Gg.size2 React.signal
size_mm is the application's surface size in millimeters.


module Handle: sig .. end
Surface handles.