module Surface:sig
..end
`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.
Take into account the following points:
pos
argument of Useri.Surface.create
is ignored.size
argument is unspecified. The surface's size
is not set explicitely but inherited
from the document itself (e.g. through CSS).
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