...

Source file src/codeberg.org/tslocum/etk/game_test.go

Documentation: codeberg.org/tslocum/etk

     1  package etk_test
     2  
     3  import (
     4  	"bytes"
     5  	"log"
     6  
     7  	"codeberg.org/tslocum/etk"
     8  	"github.com/hajimehoshi/ebiten/v2"
     9  	"github.com/hajimehoshi/ebiten/v2/examples/resources/fonts"
    10  	"github.com/hajimehoshi/ebiten/v2/text/v2"
    11  )
    12  
    13  type game struct{}
    14  
    15  func newGame() *game {
    16  	// Load font.
    17  	source, err := text.NewGoTextFaceSource(bytes.NewReader(fonts.MPlus1pRegular_ttf))
    18  	if err != nil {
    19  		log.Fatal(err)
    20  	}
    21  	etk.Style.TextFont = source
    22  
    23  	g := &game{}
    24  	return g
    25  }
    26  
    27  func (g *game) Layout(outsideWidth, outsideHeight int) (screenWidth, screenHeight int) {
    28  	return etk.Layout(outsideWidth, outsideHeight)
    29  }
    30  
    31  func (g *game) Update() error {
    32  	return etk.Update()
    33  }
    34  
    35  func (g *game) Draw(screen *ebiten.Image) {
    36  	err := etk.Draw(screen)
    37  	if err != nil {
    38  		log.Fatal(err)
    39  	}
    40  }
    41  
    42  // A minimal example of how to use etk.
    43  func Example() {
    44  	// Initialize game.
    45  	g := newGame()
    46  
    47  	// Create text widget.
    48  	t := etk.NewText("Hello, world!")
    49  
    50  	// Set text widget as root widget.
    51  	etk.SetRoot(t)
    52  
    53  	// Run game.
    54  	err := ebiten.RunGame(g)
    55  	if err != nil {
    56  		log.Fatal(err)
    57  	}
    58  }
    59  

View as plain text