0.0.4 • Published 4 years ago

@goodgamestudios/cxf-fullscreen v0.0.4

Weekly downloads
651
License
MIT
Repository
-
Last release
4 years ago

cxf-fullscreen

Fullscreen support for CXF

Motivation

  • Games are loaded into an HTML iframe.
  • CXF extensions are loaded into iframes as well.

This creates an HTML document structure like this:

top(window)
|
+--- iframe #game
|
+--- iframe #cxf_1
:
:

If the #game now switches to fullscreen mode, it does so by calling requestFullscreen(document.body). The browser will then go in fullscreen mode, showing only #game, while hiding all upwards and sibling elements.

Next, a player wants to open a CXF extension, eg by clicking a button. #cxf_1 will remain invisible because the #game is fullscreen, hiding all parent and sibling elements.

Solution

Instead of using #game as the fullscreen element, we use top(window). The difficulty with this is that #game doesn't necessarily have access to top. To make this easier for #game, we install a few helper functions in the CXF global context which the game can then call to toggle fullscreen mode:

  • window.CXF.toggleFullscreen()
  • window.CXF.requestFullscreen()
  • window.CXF.exitFullscreen()
  • window.CXF.fullscreen

These functions work across all browsers and resemble the standard Fullscreen API (with the exception of toggleFullscreen(), which is not part of that standard).

Building & Releasing

Test

  • We lint all code with xo as part of testing.
  • We want 100% code coverage. This is ensured by nyc.
$ npm test

Release

Release runs test and build, then bumps the version and commits and tags this version using standard-version.

$ npm run release
$ npm publish

Build

You likely don’t need to ever run this manually. Use Release instead

The build step bundles the package into dist/index.js using parcel. Tests are run before building to ensure we’re building a working version.

$ npm run build
0.0.7

4 years ago

0.0.7-qa.8

4 years ago

0.0.7-qa.7

4 years ago

0.0.7-qa.6

4 years ago

0.0.7-qa.5

4 years ago

0.0.7-qa.4

4 years ago

0.0.7-qa.3

4 years ago

0.0.7-qa.2

4 years ago

0.0.7-qa.1

4 years ago

0.0.7-qa.0

4 years ago

0.0.6

4 years ago

0.0.4-qa.82

4 years ago

0.0.4-qa.81

4 years ago

0.0.4-qa.80

4 years ago

0.0.4-qa.79

4 years ago

0.0.4-qa.77

4 years ago

0.0.4-qa.78

4 years ago

0.0.4-qa.76

4 years ago

0.0.4-qa.75

4 years ago

0.0.4-qa.74

4 years ago

0.0.4-qa.67

4 years ago

0.0.4-qa.66

4 years ago

0.0.4-qa.65

4 years ago

0.0.4-qa.64

4 years ago

0.0.4-qa.62

4 years ago

0.0.4-qa.61

4 years ago

0.0.4-qa.60

4 years ago

0.0.4-qa.59

4 years ago

0.0.4-qa.58

4 years ago

0.0.4-qa.57

4 years ago

0.0.4-qa.56

4 years ago

0.0.4-qa.55

4 years ago

0.0.4-qa.54

4 years ago

0.0.4-qa.53

4 years ago

0.0.4-qa.52

4 years ago

0.0.4-qa.51

4 years ago

0.0.4-qa.50

4 years ago

0.0.4-qa.49

4 years ago

0.0.4-qa.48

4 years ago

0.0.4-qa.47

4 years ago

0.0.4-qa.46

5 years ago

0.0.4-qa.45

5 years ago

0.0.4-qa.44

5 years ago

0.0.4-qa.43

5 years ago

0.0.4-qa.42

5 years ago

0.0.4-qa.41

5 years ago

0.0.4-qa.40

5 years ago

0.0.4-qa.39

5 years ago

0.0.4-qa.38

5 years ago

0.0.4-qa.37

5 years ago

0.0.4-qa.36

5 years ago

0.0.4-qa.35

5 years ago

0.0.4-qa.34

5 years ago

0.0.4-qa.33

5 years ago

0.0.4-qa.32

5 years ago

0.0.4-qa.31

5 years ago

0.0.4-qa.30

5 years ago

0.0.4-qa.29

5 years ago

0.0.4-qa.28

5 years ago

0.0.4-qa.27

5 years ago

0.0.4-qa.26

5 years ago

0.0.4-qa.25

5 years ago

0.0.4-qa.24

5 years ago

0.0.4-qa.23

5 years ago

0.0.4-qa.22

5 years ago

0.0.4-qa.21

5 years ago

0.0.4-qa.19

5 years ago

0.0.4-qa.18

5 years ago

0.0.4-qa.17

5 years ago

0.0.4-qa.16

5 years ago

0.0.4-qa.15

5 years ago

0.0.4-qa.14

5 years ago

0.0.5

5 years ago

0.0.4

5 years ago

0.0.4-qa.12

5 years ago

0.0.4-qa.11

5 years ago

0.0.4-qa.10

5 years ago

0.0.4-qa.9

5 years ago

0.0.4-qa.8

5 years ago

0.0.4-qa.7

5 years ago

0.0.4-qa.6

5 years ago

0.0.4-qa.5

5 years ago

0.0.4-qa.4

5 years ago

0.0.4-qa.3

5 years ago

0.0.4-qa.2

5 years ago

0.0.4-qa.1

5 years ago

0.0.4-qa.0

5 years ago

0.0.3

5 years ago

0.0.2-qa.4

5 years ago

0.0.2

5 years ago

0.0.2-qa.3

5 years ago

0.0.2-qa.2

5 years ago

0.0.2-qa.1

5 years ago

0.0.2-qa.0

5 years ago

0.0.2-0

5 years ago