From 50a9b61cc63fbe337a086f097368a115bbbd41bd Mon Sep 17 00:00:00 2001 From: Patrick Stephen Date: Sun, 10 Apr 2022 06:45:24 -0500 Subject: [PATCH 01/36] ,github/workflows: add linux and windows example runners --- .github/workflows/go.yml | 46 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 44 insertions(+), 2 deletions(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index a7d1071f..3b433872 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -1,8 +1,29 @@ name: Go on: [push] jobs: - test-arm: - name: Test (arm) + test-windows-x64: + name: Test (windows amd64) + runs-on: [self-hosted, windows, x64] + steps: + + - name: Set up Go 1.18 + uses: actions/setup-go@v1 + with: + go-version: 1.18 + id: go + + - name: Check out code into the Go module directory + uses: actions/checkout@v1 + + - name: Get dependencies + run: | + go get -v -t -d ./... + + - name: Test + run: ./test_examples.sh + + test-linux-arm: + name: Test (linux arm) runs-on: [self-hosted, linux, ARM64] steps: @@ -22,6 +43,27 @@ jobs: - name: Test run: ./test_examples.sh + test-linux-x64: + name: Test (linux x64) + runs-on: [self-hosted, linux, x64] + steps: + + - name: Set up Go 1.18 + uses: actions/setup-go@v1 + with: + go-version: 1.18 + id: go + + - name: Check out code into the Go module directory + uses: actions/checkout@v1 + + - name: Get dependencies + run: | + go get -v -t -d ./... + + - name: Test + run: ./test_examples.sh + test: name: Test runs-on: ubuntu-latest From 65c0b6cacd4fd6c4693d6758b551f2614fe0b1bc Mon Sep 17 00:00:00 2001 From: Patrick Stephen Date: Sun, 10 Apr 2022 13:32:39 -0500 Subject: [PATCH 02/36] .github/workflows: specify bash shell use on windows --- .github/workflows/go.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 3b433872..089e2186 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -21,6 +21,7 @@ jobs: - name: Test run: ./test_examples.sh + shell: bash test-linux-arm: name: Test (linux arm) From 7feb7f1a2507da3a6734c8f5445219db85799b6f Mon Sep 17 00:00:00 2001 From: Patrick Stephen Date: Sun, 10 Apr 2022 21:06:32 -0500 Subject: [PATCH 03/36] shiny/driver: remove unused monitor size calculations --- shiny/driver/driver_android.go | 5 ----- shiny/driver/driver_fallback.go | 4 ---- shiny/driver/driver_js.go | 4 ---- shiny/driver/driver_noop.go | 4 ---- shiny/driver/driver_windows.go | 5 ----- shiny/driver/driver_x11.go | 4 ---- shiny/screen/screen.go | 2 -- 7 files changed, 28 deletions(-) diff --git a/shiny/driver/driver_android.go b/shiny/driver/driver_android.go index 706e0f88..87e049b0 100644 --- a/shiny/driver/driver_android.go +++ b/shiny/driver/driver_android.go @@ -18,9 +18,4 @@ func main(f func(screen.Screen)) { androiddriver.Main(f) } -func monitorSize() (int, int) { - // GetSystemMetrics syscall - return 0, 0 -} - type Window = androiddriver.Screen diff --git a/shiny/driver/driver_fallback.go b/shiny/driver/driver_fallback.go index d44ed868..9150c08f 100644 --- a/shiny/driver/driver_fallback.go +++ b/shiny/driver/driver_fallback.go @@ -18,8 +18,4 @@ func main(f func(screen.Screen)) { f(errscreen.Stub(errors.New("no driver for accessing a screen"))) } -func monitorSize() (int, int) { - return 0, 0 -} - type Window = struct{} \ No newline at end of file diff --git a/shiny/driver/driver_js.go b/shiny/driver/driver_js.go index 2e661e61..02240422 100644 --- a/shiny/driver/driver_js.go +++ b/shiny/driver/driver_js.go @@ -12,8 +12,4 @@ func main(f func(screen.Screen)) { jsdriver.Main(f) } -func monitorSize() (int, int) { - return 0, 0 -} - type Window = jsdriver.Window diff --git a/shiny/driver/driver_noop.go b/shiny/driver/driver_noop.go index 1d5d1e4a..db3a2a94 100644 --- a/shiny/driver/driver_noop.go +++ b/shiny/driver/driver_noop.go @@ -12,8 +12,4 @@ func main(f func(screen.Screen)) { noop.Main(f) } -func monitorSize() (int, int) { - return 0, 0 -} - type Window = noop.Window diff --git a/shiny/driver/driver_windows.go b/shiny/driver/driver_windows.go index 19d1ad27..128a37a5 100644 --- a/shiny/driver/driver_windows.go +++ b/shiny/driver/driver_windows.go @@ -16,9 +16,4 @@ func main(f func(screen.Screen)) { windriver.Main(f) } -func monitorSize() (int, int) { - // GetSystemMetrics syscall - return 0, 0 -} - type Window = windriver.Window diff --git a/shiny/driver/driver_x11.go b/shiny/driver/driver_x11.go index 87320635..693bdaee 100644 --- a/shiny/driver/driver_x11.go +++ b/shiny/driver/driver_x11.go @@ -16,8 +16,4 @@ func main(f func(screen.Screen)) { x11driver.Main(f) } -func monitorSize() (int, int) { - return 0, 0 -} - type Window = x11driver.Window diff --git a/shiny/screen/screen.go b/shiny/screen/screen.go index 3eca3e4a..af1eb646 100644 --- a/shiny/screen/screen.go +++ b/shiny/screen/screen.go @@ -68,8 +68,6 @@ type Screen interface { NewTexture(size image.Point) (Texture, error) // NewWindow returns a new Window for this screen. - // - // A nil opts is valid and means to use the default option values. NewWindow(opts WindowGenerator) (Window, error) } From 5b15bea15259f75ba43d5bf1c396e09109e4de0c Mon Sep 17 00:00:00 2001 From: Patrick Stephen Date: Sun, 10 Apr 2022 21:09:03 -0500 Subject: [PATCH 04/36] oak: remove target width and target height These were introduced to support osx retina displays, which we never finished implementing, instead just adopting the mtldriver behavior, which assumes all displays are retinas. --- config.go | 12 ------------ config_test.go | 6 ++---- init.go | 7 ------- shiny/driver/driver.go | 5 ----- shiny/driver/mtldriver_darwin.go | 33 -------------------------------- 5 files changed, 2 insertions(+), 61 deletions(-) diff --git a/config.go b/config.go index 6e0a14b3..f23e06d9 100644 --- a/config.go +++ b/config.go @@ -87,12 +87,6 @@ type Screen struct { Height int `json:"height"` Width int `json:"width"` Scale float64 `json:"scale"` - // Target sets the expected dimensions of the monitor the game will be opened on, in pixels. - // If Fullscreen is false, then a scaling will be applied to correct the game screen size to be - // appropriate for the Target size. If no TargetWidth or Height is provided, scaling will not - // be adjusted. - TargetWidth int `json:"targetHeight"` - TargetHeight int `json:"targetWidth"` } // BatchLoadOptions is a json type storing customizations for batch loading. @@ -164,12 +158,6 @@ func (c Config) overwriteFrom(c2 Config) Config { if c2.Screen.Scale != 0 { c.Screen.Scale = c2.Screen.Scale } - if c2.Screen.TargetWidth != 0 { - c.Screen.TargetWidth = c2.Screen.TargetWidth - } - if c2.Screen.TargetHeight != 0 { - c.Screen.TargetHeight = c2.Screen.TargetHeight - } c.BatchLoadOptions.BlankOutAudio = c2.BatchLoadOptions.BlankOutAudio if c2.BatchLoadOptions.MaxImageFileSize != 0 { c.BatchLoadOptions.MaxImageFileSize = c2.BatchLoadOptions.MaxImageFileSize diff --git a/config_test.go b/config_test.go index bff8501c..426feb57 100644 --- a/config_test.go +++ b/config_test.go @@ -109,10 +109,8 @@ func TestConfig_overwriteFrom(t *testing.T) { Filter: "filter", }, Screen: Screen{ - X: 1, - Y: 1, - TargetWidth: 1, - TargetHeight: 1, + X: 1, + Y: 1, }, BatchLoadOptions: BatchLoadOptions{ MaxImageFileSize: 10000, diff --git a/init.go b/init.go index d7aa2291..1dbf3947 100644 --- a/init.go +++ b/init.go @@ -28,13 +28,6 @@ func (w *Window) Init(firstScene string, configOptions ...ConfigOption) error { return fmt.Errorf("failed to create config: %w", err) } - // if c.config.Screen.TargetWidth != 0 && c.config.Screen.TargetHeight != 0 { - // w, h := driver.MonitorSize() - // if w != 0 || h != 0 { - // // Todo: Modify conf.Screen.Scale - // } - // } - lvl, err := dlog.ParseDebugLevel(w.config.Debug.Level) if err != nil { return fmt.Errorf("failed to parse debug config: %w", err) diff --git a/shiny/driver/driver.go b/shiny/driver/driver.go index f4ac6122..bf00ed1b 100644 --- a/shiny/driver/driver.go +++ b/shiny/driver/driver.go @@ -23,8 +23,3 @@ import ( func Main(f func(screen.Screen)) { main(f) } - -// MonitorSize reports the size in pixels of the primary monitor. -func MonitorSize() (width int, height int) { - return monitorSize() -} diff --git a/shiny/driver/mtldriver_darwin.go b/shiny/driver/mtldriver_darwin.go index 9035c9f1..9d933d67 100644 --- a/shiny/driver/mtldriver_darwin.go +++ b/shiny/driver/mtldriver_darwin.go @@ -22,37 +22,4 @@ func main(f func(screen.Screen)) { mtldriver.Main(f) } -var ( - sysProfRegex = regexp.MustCompile(`Resolution: (\d)* x (\d)*`) -) - -func monitorSize() (int, int) { - out, err := exec.Command("system_profiler", "SPDisplaysDataType").CombinedOutput() - if err != nil { - return 0, 0 - } - found := sysProfRegex.FindAll(out, -1) - if len(found) == 0 { - return 0, 0 - } - if len(found) != 1 { - fmt.Println("Found multiple screens", len(found)) - } - first := found[0] - first = bytes.TrimPrefix(first, []byte("Resolution: ")) - dims := bytes.Split(first, []byte(" x ")) - if len(dims) != 2 { - return 0, 0 - } - w, err := strconv.Atoi(string(dims[0])) - if err != nil { - return 0, 0 - } - h, err := strconv.Atoi(string(dims[1])) - if err != nil { - return 0, 0 - } - return w, h -} - type Window = mtldriver.Window From 8e1add8e68c79b30a043c76ba4140987d6c9fd7d Mon Sep 17 00:00:00 2001 From: Patrick Stephen Date: Sun, 10 Apr 2022 21:09:22 -0500 Subject: [PATCH 05/36] oak: move and expand package doc --- doc.go | 4 ---- window.go | 13 ++++++++++++- 2 files changed, 12 insertions(+), 5 deletions(-) delete mode 100644 doc.go diff --git a/doc.go b/doc.go deleted file mode 100644 index 572588d8..00000000 --- a/doc.go +++ /dev/null @@ -1,4 +0,0 @@ -// Package oak is a game engine. It provides scene control, control over windows -// and what is drawn to them, propagates regular events to evaluate game logic, -// and so on. -package oak diff --git a/window.go b/window.go index 9a9fa480..1d5999b3 100644 --- a/window.go +++ b/window.go @@ -1,3 +1,15 @@ +// Package oak is a game engine. It provides scene control, control over windows +// and what is drawn to them, propagates regular events to evaluate game logic, +// and so on. +// +// A minimal oak app follows: +// +// func main() { +// oak.AddScene("myApp", scene.Scene{Start: func(ctx *scene.Context) { +// // ... ctx.Draw(...), event.Bind(ctx, ...) +// }}) +// oak.Init("myApp") +// } package oak import ( @@ -24,7 +36,6 @@ import ( var _ window.App = &Window{} func (w *Window) windowController(s screen.Screen, x, y, width, height int) (*driver.Window, error) { - // TODO v4: can we update this interface to return our concrete driver.Window? dwin, err := s.NewWindow(screen.NewWindowGenerator( screen.Dimensions(width, height), screen.Title(w.config.Title), From cd80bcb2070c3f25fa7fe3c5d28f86a1d6e3d8f7 Mon Sep 17 00:00:00 2001 From: Patrick Stephen Date: Sun, 10 Apr 2022 21:09:36 -0500 Subject: [PATCH 06/36] oak: update event docs --- inputLoop.go | 13 +++++++++---- inputTracker.go | 3 --- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/inputLoop.go b/inputLoop.go index d3654b96..575ce2b5 100644 --- a/inputLoop.go +++ b/inputLoop.go @@ -14,15 +14,20 @@ import ( "golang.org/x/mobile/event/size" ) +// The following block defines events generated by oak during scene execution var ( - // ViewportUpdate: Triggered when the position of of the viewport changes + // ViewportUpdate is triggered when the position of of the viewport changes ViewportUpdate = event.RegisterEvent[intgeom.Point2]() - // OnStop: Triggered when the engine is stopped. + // OnStop is triggered when the engine is stopped, e.g. when a window's close + // button is clicked. OnStop = event.RegisterEvent[struct{}]() - // FocusGain: Triggered when the window gains focus + // FocusGain is triggered when a window gains focus FocusGain = event.RegisterEvent[struct{}]() - // FocusLoss: Triggered when the window loses focus + // FocusLoss is triggered when a window loses focus FocusLoss = event.RegisterEvent[struct{}]() + // InputChange is triggered when the most recent input device changes (e.g. keyboard to joystick or vice versa). It + // is only sent if Config.TrackInputChanges is true when Init is called. + InputChange = event.RegisterEvent[InputType]() ) func (w *Window) inputLoop() { diff --git a/inputTracker.go b/inputTracker.go index d5080ded..26a28f54 100644 --- a/inputTracker.go +++ b/inputTracker.go @@ -14,9 +14,6 @@ import ( // InputType expresses some form of input to the engine to represent a player type InputType int32 -// InputChange is triggered when the most recent input device changes (e.g. keyboard to joystick or vice versa) -var InputChange = event.RegisterEvent[InputType]() - var trackingJoystickChange = event.RegisterEvent[struct{}]() // Supported Input Types From 06f351119e8b9df2de749bedf7fca5fff419632e Mon Sep 17 00:00:00 2001 From: Patrick Stephen Date: Sun, 10 Apr 2022 21:47:50 -0500 Subject: [PATCH 07/36] oak: update package documentation --- config.go | 55 +++++++++++++++++++++++++----------------- drawLoop.go | 8 +++--- init.go | 7 ++++-- inputTracker.go | 2 +- render/mod/filter.go | 4 +-- render/mod/mod_test.go | 2 +- scene.go | 2 +- scene/map.go | 1 - sceneLoop.go | 7 +++++- screenFilter.go | 2 +- window.go | 3 +++ 11 files changed, 57 insertions(+), 36 deletions(-) diff --git a/config.go b/config.go index f23e06d9..2f994689 100644 --- a/config.go +++ b/config.go @@ -8,28 +8,39 @@ import ( "github.com/oakmound/oak/v3/shiny/driver" ) -// Config stores initialization settings for oak. +// A Config defines the settings oak accepts on initialization. Some of these settings may be ignored depending +// on the target platform. type Config struct { - Driver Driver `json:"-"` - Assets Assets `json:"assets"` - Debug Debug `json:"debug"` - Screen Screen `json:"screen"` - BatchLoadOptions BatchLoadOptions `json:"batchLoadOptions"` - FrameRate int `json:"frameRate"` - DrawFrameRate int `json:"drawFrameRate"` - IdleDrawFrameRate int `json:"idleDrawFrameRate"` - Language string `json:"language"` - Title string `json:"title"` - BatchLoad bool `json:"batchLoad"` - GestureSupport bool `json:"gestureSupport"` - LoadBuiltinCommands bool `json:"loadBuiltinCommands"` - TrackInputChanges bool `json:"trackInputChanges"` - EnableDebugConsole bool `json:"enableDebugConsole"` - TopMost bool `json:"topmost"` - Borderless bool `json:"borderless"` - Fullscreen bool `json:"fullscreen"` - SkipRNGSeed bool `json:"skip_rng_seed"` - UnlimitedDrawFrameRate bool `json:"unlimitedDrawFrameRate"` + Driver Driver `json:"-"` + // Assets defines where assets should be loaded from by default. Defaults to + // 'assets/audio' and 'assets/images'. + Assets Assets `json:"assets"` + Debug Debug `json:"debug"` + Screen Screen `json:"screen"` + BatchLoadOptions BatchLoadOptions `json:"batchLoadOptions"` + // FrameRate, representing the rate enter frame events are triggered, defaults to 60. + FrameRate int `json:"frameRate"` + // DrawFrameRate is ignored on JS. It defaults to 60. + DrawFrameRate int `json:"drawFrameRate"` + // IdleDrawFrameRate defaults to 60. When a window goes out of focus, this setting can be lowered to + // reduce resource consumption by drawing. + IdleDrawFrameRate int `json:"idleDrawFrameRate"` + // Language defines the language oak logs are attempted to be translated to. Defaults to English. + Language string `json:"language"` + // Title defaults to 'Oak Window'. + Title string `json:"title"` + BatchLoad bool `json:"batchLoad"` + GestureSupport bool `json:"gestureSupport"` + LoadBuiltinCommands bool `json:"loadBuiltinCommands"` + TrackInputChanges bool `json:"trackInputChanges"` + // EnableDebugConsole is ignored on JS. + EnableDebugConsole bool `json:"enableDebugConsole"` + TopMost bool `json:"topmost"` + Borderless bool `json:"borderless"` + Fullscreen bool `json:"fullscreen"` + SkipRNGSeed bool `json:"skip_rng_seed"` + // UnlimitedDrawFrameRate is ignored on JS (it is effectively always true). + UnlimitedDrawFrameRate bool `json:"unlimitedDrawFrameRate"` } // NewConfig creates a config from a set of transformation options. @@ -90,7 +101,7 @@ type Screen struct { } // BatchLoadOptions is a json type storing customizations for batch loading. -// These settings do not take effect unless batch load is true. +// These settings do not take effect unless Config.BatchLoad is true. type BatchLoadOptions struct { BlankOutAudio bool `json:"blankOutAudio"` MaxImageFileSize int64 `json:"maxImageFileSize"` diff --git a/drawLoop.go b/drawLoop.go index c76d49c9..3d108bfe 100644 --- a/drawLoop.go +++ b/drawLoop.go @@ -124,9 +124,9 @@ func (w *Window) publish() { w.bufferIdx = (w.bufferIdx + 1) % bufferCount } -// DoBetweenDraws will execute the given function in-between draw frames +// DoBetweenDraws will execute the given function in-between draw frames. It will prevent draws from happening until +// the provided function has terminated. DoBetweenDraws will block until the provided function is called within the +// draw loop's schedule, but will not wait for that function itself to terminate. func (w *Window) DoBetweenDraws(f func()) { - go func() { - w.betweenDrawCh <- f - }() + w.betweenDrawCh <- f } diff --git a/init.go b/init.go index 1dbf3947..f8fd4b56 100644 --- a/init.go +++ b/init.go @@ -18,8 +18,11 @@ var ( ) // Init initializes the oak engine. -// It spawns off an event loop of several goroutines -// and loops through scenes after initialization. +// After the configuration options have been parsed and validated, this will run concurrent +// routines drawing to an OS window or app, forwarding OS inputs to this window's configured +// event handler, and running scenes: first the predefined 'loading' scene, then firstScene +// as provided here, then scenes following commands sent to the window or returned by ending +// scenes. func (w *Window) Init(firstScene string, configOptions ...ConfigOption) error { var err error diff --git a/inputTracker.go b/inputTracker.go index 26a28f54..f4dd6fc3 100644 --- a/inputTracker.go +++ b/inputTracker.go @@ -16,7 +16,7 @@ type InputType int32 var trackingJoystickChange = event.RegisterEvent[struct{}]() -// Supported Input Types +// The following constants define valid types of input sent via the InputChange event. const ( InputKeyboard InputType = iota InputMouse diff --git a/render/mod/filter.go b/render/mod/filter.go index f578cfbd..eba448d4 100644 --- a/render/mod/filter.go +++ b/render/mod/filter.go @@ -20,9 +20,9 @@ func AndFilter(fs ...Filter) Filter { } } -// ConformToPallete is not a modification, but acts like ConformToPallete +// ConformToPalette( is not a modification, but acts like ConformToPalette( // without allocating a new *image.RGBA -func ConformToPallete(p color.Model) Filter { +func ConformToPalette(p color.Model) Filter { return func(rgba *image.RGBA) { bounds := rgba.Bounds() w := bounds.Max.X diff --git a/render/mod/mod_test.go b/render/mod/mod_test.go index a32f13bc..f41848a2 100644 --- a/render/mod/mod_test.go +++ b/render/mod/mod_test.go @@ -70,7 +70,7 @@ func TestAllModifications(t *testing.T) { *image.RGBA } filterList := []filterCase{{ - ConformToPallete(color.Palette{color.RGBA{64, 0, 0, 128}}), + ConformToPalette(color.Palette{color.RGBA{64, 0, 0, 128}}), setAll(newrgba(3, 3), color.RGBA{64, 0, 0, 128}), }, { Fade(10), diff --git a/scene.go b/scene.go index a59310cf..e11bb276 100644 --- a/scene.go +++ b/scene.go @@ -7,7 +7,7 @@ import ( "github.com/oakmound/oak/v3/timing" ) -// AddScene is shorthand for c.SceneMap.AddScene +// AddScene is shorthand for w.SceneMap.AddScene func (w *Window) AddScene(name string, s scene.Scene) error { return w.SceneMap.AddScene(name, s) } diff --git a/scene/map.go b/scene/map.go index deaa77e8..35dc7b88 100644 --- a/scene/map.go +++ b/scene/map.go @@ -41,7 +41,6 @@ func (m *Map) GetCurrent() (Scene, bool) { // conflict with an existing name in the map, and then adds it to the map. // If a conflict occurs, the scene will not be overwritten. // Checks if the Scene's start is nil, sets to noop if so. -// Checks if the Scene's loop is nil, sets to infinite if so. // Checks if the Scene's end is nil, sets to loop to this scene if so. func (m *Map) AddScene(name string, s Scene) error { diff --git a/sceneLoop.go b/sceneLoop.go index 2d5e4bb1..1e5506d2 100644 --- a/sceneLoop.go +++ b/sceneLoop.go @@ -16,7 +16,7 @@ import ( const oakLoadingScene = "oak:loading" func (w *Window) sceneLoop(first string, trackingInputs, batchLoad bool) { - w.SceneMap.AddScene(oakLoadingScene, scene.Scene{ + err := w.SceneMap.AddScene(oakLoadingScene, scene.Scene{ Start: func(ctx *scene.Context) { if batchLoad { go func() { @@ -33,11 +33,16 @@ func (w *Window) sceneLoop(first string, trackingInputs, batchLoad bool) { } }, }) + if err != nil { + go w.exitWithError(err) + return + } var prevScene string result := new(scene.Result) + // kick start the draw loop w.drawCh <- struct{}{} w.drawCh <- struct{}{} diff --git a/screenFilter.go b/screenFilter.go index 1e56aee3..c03efce7 100644 --- a/screenFilter.go +++ b/screenFilter.go @@ -10,7 +10,7 @@ import ( // SetPalette tells oak to conform the screen to the input color palette before drawing. func (w *Window) SetPalette(palette color.Palette) { - w.SetScreenFilter(mod.ConformToPallete(palette)) + w.SetScreenFilter(mod.ConformToPalette(palette)) } // SetScreenFilter will filter the screen by the given modification function prior diff --git a/window.go b/window.go index 1d5999b3..f41bdb01 100644 --- a/window.go +++ b/window.go @@ -51,6 +51,7 @@ func (w *Window) windowController(s screen.Screen, x, y, width, height int) (*dr const bufferCount = 2 type Window struct { + // The keyboard state this window is aware of. key.State // the driver.Window embedded in this window exposes at compile time the OS level @@ -73,6 +74,8 @@ type Window struct { // drawing should cease (or resume) drawCh chan struct{} + // The between draw channel receives a signal when + // a function is provided to Window.DoBetweenDraws. betweenDrawCh chan func() // ScreenWidth is the width of the screen From e6fb3e2a878bbb5ffcc4564aa5709d9953ea73c1 Mon Sep 17 00:00:00 2001 From: Patrick Stephen Date: Sat, 16 Apr 2022 08:06:22 -0500 Subject: [PATCH 08/36] oak: rename window 'screen' methods to 'viewport' --- alg/intgeom/rect.go | 16 ++++++++++++++ debugstream/scopeHelper.go | 7 +++--- debugtools/tree.go | 8 ++++--- default.go | 24 ++++++++------------ entities/move.go | 9 ++++---- scene/scene.go | 2 +- sceneLoop.go | 2 +- screenFilter.go | 6 ++--- shake/shake.go | 3 ++- viewport.go | 45 ++++++++++++++++++++------------------ viewport_test.go | 17 +++++++------- window.go | 31 +++++--------------------- window/window.go | 10 ++++----- 13 files changed, 88 insertions(+), 92 deletions(-) diff --git a/alg/intgeom/rect.go b/alg/intgeom/rect.go index f7535205..1ccac0b9 100644 --- a/alg/intgeom/rect.go +++ b/alg/intgeom/rect.go @@ -326,3 +326,19 @@ func (r Rect2) Intersects(r2 Rect2) bool { return !((r2.Max.X() <= r.Min.X() || r.Max.X() <= r2.Min.X()) || (r2.Max.Y() <= r.Min.Y() || r.Max.Y() <= r2.Min.Y())) } + +// Clamp returns a version of the provided point such that it is contained within r. If it was already contained in +// r, it will not be changed. +func (r Rect2) Clamp(pt Point2) Point2 { + if pt.X() < r.Min[0] { + pt[0] = r.Min[0] + } else if pt.X() > r.Max[0] { + pt[0] = r.Max[0] + } + if pt.Y() < r.Min[1] { + pt[1] = r.Min[1] + } else if pt.Y() > r.Max[1] { + pt[1] = r.Max[1] + } + return pt +} diff --git a/debugstream/scopeHelper.go b/debugstream/scopeHelper.go index 465e3c93..fd689ee3 100644 --- a/debugstream/scopeHelper.go +++ b/debugstream/scopeHelper.go @@ -39,8 +39,9 @@ func moveWindow(w window.Window) func([]string) string { InputName: "coordinates", }.Error() } - width := parseTokenAsInt(sub, 2, w.Width()) - height := parseTokenAsInt(sub, 3, w.Height()) + bds := w.Bounds() + width := parseTokenAsInt(sub, 2, bds.X()) + height := parseTokenAsInt(sub, 3, bds.Y()) v := w.Viewport() x := parseTokenAsInt(sub, 0, v.X()) y := parseTokenAsInt(sub, 1, v.Y()) @@ -85,7 +86,7 @@ func mouseDetails(w window.Window) func(*mouse.Event) event.Response { if len(results) == 0 { results = mouse.Hits(loc) } - cm := w.GetCallerMap() + cm := w.EventHandler().GetCallerMap() if len(results) > 0 { i := results[0].CID diff --git a/debugtools/tree.go b/debugtools/tree.go index 46a5a969..a48c8658 100644 --- a/debugtools/tree.go +++ b/debugtools/tree.go @@ -46,7 +46,8 @@ type Rtree struct { // GetDims returns the total possible area to draw this on. func (r *Rtree) GetDims() (int, int) { - return r.Context.Window.Width(), r.Context.Window.Height() + bds := r.Context.Window.Bounds() + return bds.X(), bds.Y() } // Draw will draw the collision outlines @@ -55,12 +56,13 @@ func (r *Rtree) Draw(buff draw.Image, xOff, yOff float64) { return } vp := r.Context.Window.Viewport() + bds := r.Context.Window.Bounds() // Get all spaces on screen screen := collision.NewUnassignedSpace( float64(vp.X()), float64(vp.Y()), - float64(r.Context.Window.Width()+vp.X()), - float64(r.Context.Window.Height()+vp.Y())) + float64(bds.X()+vp.X()), + float64(bds.Y()+vp.Y())) hits := r.Tree.Hits(screen) // Draw spaces that are on screen (as outlines) for _, h := range hits { diff --git a/default.go b/default.go index 47732101..1e26d20a 100644 --- a/default.go +++ b/default.go @@ -55,16 +55,16 @@ func SetViewportBounds(rect intgeom.Rect2) { defaultWindow.SetViewportBounds(rect) } -// ShiftScreen calls ShiftScreen on the default window. -func ShiftScreen(x, y int) { +// ShiftViewport calls ShiftViewport on the default window. +func ShiftViewport(pt intgeom.Point2) { initDefaultWindow() - defaultWindow.ShiftScreen(x, y) + defaultWindow.ShiftViewport(pt) } -// SetScreen calls SetScreen on the default window. -func SetScreen(x, y int) { +// SetViewport calls SetViewport on the default window. +func SetViewport(pt intgeom.Point2) { initDefaultWindow() - defaultWindow.SetScreen(x, y) + defaultWindow.SetViewport(pt) } // UpdateViewSize calls UpdateViewSize on the default window. @@ -103,14 +103,8 @@ func GetBackgroundImage() image.Image { return defaultWindow.GetBackgroundImage() } -// Width calls Width on the default window. -func Width() int { +// Bounds returns the default window's boundary. +func Bounds() intgeom.Point2 { initDefaultWindow() - return defaultWindow.Width() -} - -// Height calls Height on the default window. -func Height() int { - initDefaultWindow() - return defaultWindow.Height() + return defaultWindow.Bounds() } diff --git a/entities/move.go b/entities/move.go index eb17d039..f7345eb0 100644 --- a/entities/move.go +++ b/entities/move.go @@ -2,6 +2,7 @@ package entities import ( "github.com/oakmound/oak/v3/alg/floatgeom" + "github.com/oakmound/oak/v3/alg/intgeom" "github.com/oakmound/oak/v3/key" ) @@ -36,10 +37,10 @@ func TopDown(mvr *Entity, up, down, left, right key.Code) { // CenterScreenOn will cause the screen to center on the given mover, obeying // viewport limits if they have been set previously func CenterScreenOn(mvr *Entity) { - mvr.ctx.Window.SetScreen( - int(mvr.X())-mvr.ctx.Window.Width()/2, - int(mvr.Y())-mvr.ctx.Window.Height()/2, - ) + bds := mvr.ctx.Window.Bounds() + pos := intgeom.Point2{int(mvr.X()), int(mvr.Y())} + target := pos.Sub(bds).DivConst(2) + mvr.ctx.Window.SetViewport(target) } // Limit restricts the movement of the mover to stay within a given rectangle diff --git a/scene/scene.go b/scene/scene.go index 5f5cf641..d73a8693 100644 --- a/scene/scene.go +++ b/scene/scene.go @@ -6,7 +6,7 @@ import ( ) // A Scene is a set of functions defining what needs to happen when a scene -// starts, loops, and ends. +// starts and ends. type Scene struct { // Start is called when a scene begins, including contextual information like // what scene came before this one and a direct reference to clean data structures diff --git a/sceneLoop.go b/sceneLoop.go index 1e5506d2..958b0946 100644 --- a/sceneLoop.go +++ b/sceneLoop.go @@ -51,7 +51,7 @@ func (w *Window) sceneLoop(first string, trackingInputs, batchLoad bool) { w.SceneMap.CurrentScene = oakLoadingScene for { - w.setViewport(intgeom.Point2{0, 0}) + w.SetViewport(intgeom.Point2{0, 0}) w.RemoveViewportBounds() dlog.Info(dlog.SceneStarting, w.SceneMap.CurrentScene) diff --git a/screenFilter.go b/screenFilter.go index c03efce7..0e7dfb7a 100644 --- a/screenFilter.go +++ b/screenFilter.go @@ -10,12 +10,12 @@ import ( // SetPalette tells oak to conform the screen to the input color palette before drawing. func (w *Window) SetPalette(palette color.Palette) { - w.SetScreenFilter(mod.ConformToPalette(palette)) + w.SetDrawFilter(mod.ConformToPalette(palette)) } -// SetScreenFilter will filter the screen by the given modification function prior +// SetDrawFilter will filter the screen by the given modification function prior // to publishing the screen's rgba to be displayed. -func (w *Window) SetScreenFilter(screenFilter mod.Filter) { +func (w *Window) SetDrawFilter(screenFilter mod.Filter) { w.prePublish = func(w *Window, tx screen.Texture) { screenFilter(w.winBuffers[w.bufferIdx].RGBA()) } diff --git a/shake/shake.go b/shake/shake.go index 9dad016c..5309de9a 100644 --- a/shake/shake.go +++ b/shake/shake.go @@ -7,6 +7,7 @@ import ( "time" "github.com/oakmound/oak/v3/alg/floatgeom" + "github.com/oakmound/oak/v3/alg/intgeom" "github.com/oakmound/oak/v3/scene" "github.com/oakmound/oak/v3/window" ) @@ -111,7 +112,7 @@ type screenToPoser struct { } func (stp screenToPoser) ShiftPos(x, y float64) { - stp.ShiftScreen(int(x), int(y)) + stp.ShiftViewport(intgeom.Point2{int(x), int(y)}) } // Screen shakes the screen that the context controls for the given duration. diff --git a/viewport.go b/viewport.go index 8ad51ea4..615f737b 100644 --- a/viewport.go +++ b/viewport.go @@ -5,17 +5,19 @@ import ( "github.com/oakmound/oak/v3/event" ) -// SetScreen positions the viewport to be at x,y -func (w *Window) SetScreen(x, y int) { - w.setViewport(intgeom.Point2{x, y}) +type Viewport struct { + Position intgeom.Point2 + Bounds intgeom.Rect2 + BoundsEnforced bool } -// ShiftScreen shifts the viewport by x,y -func (w *Window) ShiftScreen(x, y int) { - w.setViewport(w.viewPos.Add(intgeom.Point2{x, y})) +// ShiftViewport shifts the viewport by x,y +func (w *Window) ShiftViewport(delta intgeom.Point2) { + w.SetViewport(w.viewPos.Add(delta)) } -func (w *Window) setViewport(pt intgeom.Point2) { +// SetViewport positions the viewport to be at x,y +func (w *Window) SetViewport(pt intgeom.Point2) { if w.useViewBounds { if w.viewBounds.Min.X() <= pt.X() && w.viewBounds.Max.X() >= pt.X()+w.ScreenWidth { w.viewPos[0] = pt.X() @@ -60,20 +62,21 @@ func (w *Window) SetViewportBounds(rect intgeom.Rect2) { w.useViewBounds = true w.viewBounds = rect - newViewX := w.viewPos.X() - newViewY := w.viewPos.Y() - if newViewX < rect.Min[0] { - newViewX = rect.Min[0] - } else if newViewX > rect.Max[0] { - newViewX = rect.Max[0] - } - if newViewY < rect.Min[1] { - newViewY = rect.Min[1] - } else if newViewY > rect.Max[1] { - newViewY = rect.Max[1] + newView := rect.Clamp(w.viewPos) + if newView != w.viewPos { + w.SetViewport(newView) } +} - if newViewX != w.viewPos.X() || newViewY != w.viewPos.Y() { - w.setViewport(intgeom.Point2{newViewX, newViewY}) - } +// Viewport returns the viewport's position. Its width and height are the window's +// width and height. This position plus width/height cannot exceed ViewportBounds. +func (w *Window) Viewport() intgeom.Point2 { + return w.viewPos +} + +// ViewportBounds returns the boundary of this window's viewport, or the rectangle +// that the viewport is not allowed to exit as it moves around. It often represents +// the total size of the world within a given scene. +func (w *Window) ViewportBounds() intgeom.Rect2 { + return w.viewBounds } diff --git a/viewport_test.go b/viewport_test.go index 96a3d113..49b3725f 100644 --- a/viewport_test.go +++ b/viewport_test.go @@ -24,7 +24,7 @@ func TestViewport(t *testing.T) { if (c1.viewPos) != (intgeom.Point2{0, 0}) { t.Fatalf("expected %v got %v", c1.viewPos, intgeom.Point2{0, 0}) } - c1.SetScreen(5, 5) + c1.SetViewport(intgeom.Point2{5, 5}) if (c1.viewPos) != (intgeom.Point2{5, 5}) { t.Fatalf("expected %v got %v", c1.viewPos, intgeom.Point2{5, 5}) } @@ -37,20 +37,20 @@ func TestViewport(t *testing.T) { if (c1.viewPos) != (intgeom.Point2{5, 5}) { t.Fatalf("expected %v got %v", c1.viewPos, intgeom.Point2{5, 5}) } - c1.SetScreen(-1, -1) + c1.SetViewport(intgeom.Point2{-1, -1}) if (c1.viewPos) != (intgeom.Point2{0, 0}) { t.Fatalf("expected %v got %v", c1.viewPos, intgeom.Point2{0, 0}) } - c1.SetScreen(6, 6) + c1.SetViewport(intgeom.Point2{6, 6}) if (c1.viewPos) != (intgeom.Point2{0, 0}) { t.Fatalf("expected %v got %v", c1.viewPos, intgeom.Point2{0, 0}) } c1.SetViewportBounds(intgeom.NewRect2(0, 0, 1000, 1000)) - c1.SetScreen(20, 20) + c1.SetViewport(intgeom.Point2{20, 20}) if (c1.viewPos) != (intgeom.Point2{20, 20}) { t.Fatalf("expected %v got %v", c1.viewPos, intgeom.Point2{20, 20}) } - c1.ShiftScreen(-1, -1) + c1.ShiftViewport(intgeom.Point2{-1, -1}) if (c1.viewPos) != (intgeom.Point2{19, 19}) { t.Fatalf("expected %v got %v", c1.viewPos, intgeom.Point2{19, 19}) } @@ -58,7 +58,7 @@ func TestViewport(t *testing.T) { if (c1.viewPos) != (intgeom.Point2{21, 21}) { t.Fatalf("expected %v got %v", c1.viewPos, intgeom.Point2{21, 21}) } - c1.SetScreen(1000, 1000) + c1.SetViewport(intgeom.Point2{1000, 1000}) c1.SetViewportBounds(intgeom.NewRect2(0, 0, 900, 900)) bds, ok := c1.GetViewportBounds() if !ok { @@ -67,8 +67,9 @@ func TestViewport(t *testing.T) { if bds != intgeom.NewRect2(0, 0, 900, 900) { t.Fatalf("viewport bounds were not set: expected %v got %v", intgeom.NewRect2(0, 0, 900, 900), bds) } - if (c1.viewPos) != (intgeom.Point2{900 - c1.Width(), 900 - c1.Height()}) { - t.Fatalf("expected %v got %v", c1.viewPos, intgeom.Point2{900 - c1.Width(), 900 - c1.Height()}) + mx := intgeom.Point2{900, 900} + if (c1.viewPos) != mx.Sub(c1.Bounds()) { + t.Fatalf("expected %v got %v", c1.viewPos, mx.Sub(c1.Bounds())) } c1.RemoveViewportBounds() _, ok = c1.GetViewportBounds() diff --git a/window.go b/window.go index f41bdb01..aff1a54c 100644 --- a/window.go +++ b/window.go @@ -129,7 +129,7 @@ type Window struct { // Driver is the driver oak will call during initialization Driver Driver - // prePublish is a function called each draw frame prior to + // prePublish is a function called each draw frame prior to publishing frames to the OS prePublish func(w *Window, tx screen.Texture) // LoadingR is a renderable that is displayed during loading screens. @@ -269,27 +269,10 @@ func (w *Window) Propagate(ev event.EventID[*mouse.Event], me mouse.Event) { } } -// Width returns the absolute width of the window in pixels. -func (w *Window) Width() int { - return w.ScreenWidth -} - -// Height returns the absolute height of the window in pixels. -func (w *Window) Height() int { - return w.ScreenHeight -} - -// Viewport returns the viewport's position. Its width and height are the window's -// width and height. This position plus width/height cannot exceed ViewportBounds. -func (w *Window) Viewport() intgeom.Point2 { - return w.viewPos -} - -// ViewportBounds returns the boundary of this window's viewport, or the rectangle -// that the viewport is not allowed to exit as it moves around. It often represents -// the total size of the world within a given scene. -func (w *Window) ViewportBounds() intgeom.Rect2 { - return w.viewBounds +// Width returns the absolute bounds of a window in pixels. It does not include window elements outside +// of the client area (OS provided title bars). +func (w *Window) Bounds() intgeom.Point2 { + return intgeom.Point2{w.ScreenWidth, w.ScreenHeight} } // SetLoadingRenderable sets what renderable should display between scenes @@ -370,7 +353,3 @@ func (w *Window) debugConsole(input io.Reader, output io.Writer) { debugstream.AttachToStream(w.ParentContext, input, output) debugstream.AddDefaultsForScope(w.ControllerID, w) } - -func (w *Window) GetCallerMap() *event.CallerMap { - return w.CallerMap -} diff --git a/window/window.go b/window/window.go index a27fe188..9deff723 100644 --- a/window/window.go +++ b/window/window.go @@ -24,13 +24,12 @@ type Window interface { // App is an interface of methods available to all oak programs. type App interface { - Width() int - Height() int + Bounds() intgeom.Point2 + Viewport() intgeom.Point2 SetViewportBounds(intgeom.Rect2) - - ShiftScreen(int, int) - SetScreen(int, int) + ShiftViewport(intgeom.Point2) + SetViewport(intgeom.Point2) NextScene() GoToScene(string) @@ -39,5 +38,4 @@ type App interface { Quit() EventHandler() event.Handler - GetCallerMap() *event.CallerMap } From 37885318eb29adf8d5eae51d7a740b86eb0e7bb4 Mon Sep 17 00:00:00 2001 From: Patrick Stephen Date: Sat, 16 Apr 2022 08:16:02 -0500 Subject: [PATCH 09/36] examples: adjust for new viewport / window bounds signatures --- examples/joystick-viz/main.go | 13 ++++++------- examples/keyboard-viz/main.go | 3 ++- examples/mouse-viz/main.go | 3 ++- examples/piano/main.go | 2 +- examples/radar-demo/main.go | 2 +- examples/rooms/main.go | 8 ++++---- examples/slide/show/slide.go | 5 +++-- examples/titlescreen-demo/main.go | 14 ++++++++------ examples/top-down-shooter/main.go | 12 +++++------- 9 files changed, 32 insertions(+), 30 deletions(-) diff --git a/examples/joystick-viz/main.go b/examples/joystick-viz/main.go index 6061b7e0..f25deb5e 100644 --- a/examples/joystick-viz/main.go +++ b/examples/joystick-viz/main.go @@ -36,8 +36,7 @@ func main() { return 0 }) go func() { - rWidth := float64(ctx.Window.Width()) / 2 - rHeight := float64(ctx.Window.Height()) / 2 + rBounds := ctx.Window.Bounds().DivConst(2) jCh, cancel := joystick.WaitForJoysticks(1 * time.Second) defer cancel() for joy := range jCh { @@ -47,15 +46,15 @@ func main() { case 0: // 0,0 case 1: - x = rWidth + x = float64(rBounds.X()) case 2: - y = rHeight + y = float64(rBounds.Y()) case 3: - x = rWidth - y = rHeight + x = float64(rBounds.X()) + y = float64(rBounds.Y()) } jrend := inputviz.Joystick{ - Rect: floatgeom.NewRect2WH(x, y, rWidth, rHeight), + Rect: floatgeom.NewRect2WH(x, y, float64(rBounds.X()), float64(rBounds.Y())), StickDeadzone: 4000, BaseLayer: -1, } diff --git a/examples/keyboard-viz/main.go b/examples/keyboard-viz/main.go index 4ba204f7..ab227996 100644 --- a/examples/keyboard-viz/main.go +++ b/examples/keyboard-viz/main.go @@ -22,8 +22,9 @@ func main() { fg.Size = 13 return fg }) + bds := ctx.Window.Bounds() m := inputviz.Keyboard{ - Rect: floatgeom.NewRect2(0, 0, float64(ctx.Window.Width()), float64(ctx.Window.Height())), + Rect: floatgeom.NewRect2(0, 0, float64(bds.X()), float64(bds.Y())), BaseLayer: -1, RenderCharacters: true, Font: fnt, diff --git a/examples/mouse-viz/main.go b/examples/mouse-viz/main.go index 370f572f..39e8f471 100644 --- a/examples/mouse-viz/main.go +++ b/examples/mouse-viz/main.go @@ -10,8 +10,9 @@ import ( func main() { oak.AddScene("mouseviz", scene.Scene{ Start: func(ctx *scene.Context) { + bds := ctx.Window.Bounds() m := inputviz.Mouse{ - Rect: floatgeom.NewRect2(0, 0, float64(ctx.Window.Width()), float64(ctx.Window.Height())), + Rect: floatgeom.NewRect2(0, 0, float64(bds.X()), float64(bds.Y())), BaseLayer: -1, } m.RenderAndListen(ctx, 0) diff --git a/examples/piano/main.go b/examples/piano/main.go index f45d0c55..85f9a9eb 100644 --- a/examples/piano/main.go +++ b/examples/piano/main.go @@ -246,7 +246,7 @@ func main() { x := 20.0 y := 200.0 i := 0 - for i < len(keycharOrder) && x+kc.Width() < float64(ctx.Window.Width()-10) { + for i < len(keycharOrder) && x+kc.Width() < float64(ctx.Window.Bounds().X()-10) { ky := newKey(ctx, pitch, kc, keycharOrder[i]) ky.SetPos(floatgeom.Point2{x, y}) layer := 0 diff --git a/examples/radar-demo/main.go b/examples/radar-demo/main.go index afec01d9..89112e00 100644 --- a/examples/radar-demo/main.go +++ b/examples/radar-demo/main.go @@ -55,7 +55,7 @@ func main() { w := 100 h := 100 r := radar.NewRadar(w, h, points, center, 10) - r.SetPos(float64(ctx.Window.Width()-w), 0) + r.SetPos(float64(ctx.Window.Bounds().X()-w), 0) for i := 0; i < 5; i++ { x, y := rand.Float64()*400, rand.Float64()*400 diff --git a/examples/rooms/main.go b/examples/rooms/main.go index 7f489a7d..6e1354b6 100644 --- a/examples/rooms/main.go +++ b/examples/rooms/main.go @@ -20,10 +20,10 @@ import ( func isOffScreen(ctx *scene.Context, char *entities.Entity) (intgeom.Dir2, bool) { x := int(char.X()) y := int(char.Y()) - if x > ctx.Window.Viewport().X()+ctx.Window.Width() { + if x > ctx.Window.Viewport().X()+ctx.Window.Bounds().X() { return intgeom.Right, true } - if y > ctx.Window.Viewport().Y()+ctx.Window.Height() { + if y > ctx.Window.Viewport().Y()+ctx.Window.Bounds().Y() { return intgeom.Down, true } if int(char.Right()) < ctx.Window.Viewport().X() { @@ -55,14 +55,14 @@ func main() { dir, ok := isOffScreen(ctx, char) if !transitioning && ok { transitioning = true - totalTransitionDelta = intgeom.Point2{ctx.Window.Width(), ctx.Window.Height()}.Mul(intgeom.Point2{dir.X(), dir.Y()}) + totalTransitionDelta = ctx.Window.Bounds().Mul(intgeom.Point2{dir.X(), dir.Y()}) transitionDelta = totalTransitionDelta.DivConst(transitionFrameCount) } if transitioning { // disable movement // move camera one size towards the player if totalTransitionDelta.X() != 0 || totalTransitionDelta.Y() != 0 { - oak.ShiftScreen(transitionDelta.X(), transitionDelta.Y()) + oak.ShiftViewport(transitionDelta) totalTransitionDelta = totalTransitionDelta.Sub(transitionDelta) } else { transitioning = false diff --git a/examples/slide/show/slide.go b/examples/slide/show/slide.go index 2fdade72..6a536c29 100644 --- a/examples/slide/show/slide.go +++ b/examples/slide/show/slide.go @@ -102,11 +102,12 @@ func Start(width, height int, slides ...Slide) { Start: func(ctx *scene.Context) { oldBackground = oak.GetBackgroundImage() oak.SetColorBackground(image.NewUniform(color.RGBA{0, 0, 0, 255})) + wbds := ctx.Window.Bounds() render.Draw( Express.NewText( "Spacebar to restart show ...", - float64(ctx.Window.Width()/2), - float64(ctx.Window.Height()-50), + float64(wbds.X()/2), + float64(wbds.Y()-50), ), ) event.GlobalBind(ctx, key.Down(key.Spacebar), func(key.Event) event.Response { diff --git a/examples/titlescreen-demo/main.go b/examples/titlescreen-demo/main.go index 3cec5149..1bb2fa6c 100644 --- a/examples/titlescreen-demo/main.go +++ b/examples/titlescreen-demo/main.go @@ -24,15 +24,15 @@ const ( func center(ctx *scene.Context, obj render.Renderable, ax Axes) { objWidth, objHeight := obj.GetDims() - + wbds := ctx.Window.Bounds() switch ax { case Both: - obj.SetPos(float64(ctx.Window.Width()/2-objWidth/2), - float64(ctx.Window.Height()-objHeight)/2) //distributive property + obj.SetPos(float64(wbds.X()/2-objWidth/2), + float64(wbds.Y()-objHeight)/2) //distributive property case X: - obj.SetPos(float64(ctx.Window.Width()-objWidth)/2, obj.Y()) + obj.SetPos(float64(wbds.X()-objWidth)/2, obj.Y()) case Y: - obj.SetPos(obj.X(), float64(ctx.Window.Height()-objHeight)/2) + obj.SetPos(obj.X(), float64(wbds.Y()-objHeight)/2) } } @@ -49,8 +49,10 @@ func main() { //tell the draw loop to draw titleText render.Draw(titleText) + wbds := ctx.Window.Bounds() + //do the same for the text with button instructions, but this time Y position is not a placeholder (X still is) - instructionText := render.NewText("press Enter to start, or press Q to quit", 0, float64(ctx.Window.Height()*3/4)) + instructionText := render.NewText("press Enter to start, or press Q to quit", 0, float64(wbds.Y()*3/4)) //this time we only center the X axis, otherwise it would overlap titleText center(ctx, instructionText, X) render.Draw(instructionText) diff --git a/examples/top-down-shooter/main.go b/examples/top-down-shooter/main.go index eb4fe402..e5c6c818 100644 --- a/examples/top-down-shooter/main.go +++ b/examples/top-down-shooter/main.go @@ -73,10 +73,7 @@ func main() { playerX = &char.Rect.Min[0] playerY = &char.Rect.Min[1] - screenCenter := floatgeom.Point2{ - float64(ctx.Window.Width()) / 2, - float64(ctx.Window.Height()) / 2, - } + screenCenter := ctx.Window.Bounds().DivConst(2) event.Bind(ctx, event.Enter, char, func(char *entities.Entity, ev event.EnterPayload) event.Response { if oak.IsDown(key.W) { @@ -93,9 +90,10 @@ func main() { } ctx.Window.(*oak.Window).DoBetweenDraws(func() { char.ShiftDelta() - oak.SetScreen( - int(char.X()-screenCenter.X()), - int(char.Y()-screenCenter.Y()), + oak.SetViewport( + screenCenter.Sub(intgeom.Point2{ + int(char.X()), int(char.Y()), + }), ) char.Delta = floatgeom.Point2{} }) From 6ec8ab7e0cf1ea8b538c8ad019d53b4f96c55d72 Mon Sep 17 00:00:00 2001 From: Patrick Stephen Date: Sat, 16 Apr 2022 08:39:02 -0500 Subject: [PATCH 10/36] window: document methods --- debugstream/defaultcommands.go | 2 +- examples/click-propagation/main.go | 2 ++ window/window.go | 31 +++++++++++++++++++++++++++++- 3 files changed, 33 insertions(+), 2 deletions(-) diff --git a/debugstream/defaultcommands.go b/debugstream/defaultcommands.go index 3433e175..d3c7dd8e 100644 --- a/debugstream/defaultcommands.go +++ b/debugstream/defaultcommands.go @@ -28,7 +28,7 @@ func AddCommand(c Command) error { } // AttachToStream if possible to start consuming the stream -// and executing commands per the stored infomraiton in the ScopeCommands. +// and executing commands per the stored information in the ScopeCommands. func AttachToStream(ctx context.Context, input io.Reader, output io.Writer) { checkOrCreateDefaults() DefaultCommands.AttachToStream(ctx, input, output) diff --git a/examples/click-propagation/main.go b/examples/click-propagation/main.go index 7ada4e5a..fb9b6e73 100644 --- a/examples/click-propagation/main.go +++ b/examples/click-propagation/main.go @@ -18,6 +18,8 @@ import ( // mouse event payloads to prevent mouse interactions from falling // through to lower UI elements after interacting with a higher layer +// TODO: make the boxes here more real, more like a real UI + func main() { oak.AddScene("click-propagation", scene.Scene{ Start: func(ctx *scene.Context) { diff --git a/window/window.go b/window/window.go index 9deff723..95a087f9 100644 --- a/window/window.go +++ b/window/window.go @@ -13,29 +13,58 @@ import ( type Window interface { App + // SetFullscreen causes a window to expand and fill a display. SetFullScreen(bool) error + // SetBorderless causes a window to lose its OS-provided border definitions, e.g. window title, close button. SetBorderless(bool) error + // SetTopMost causes a window to remain above other windows even when it is clicked out of. SetTopMost(bool) error + // SetTitle changes the title of this window, usually displayed in the top left of the window next to the icon. SetTitle(string) error + // SetIcon changes the icon of this window, usually displayed both in the top left of the window and in a taskbar + // component. SetIcon(image.Image) error + // MoveWindow moves a window to the given x,y coordinates with the given dimensions. + // TODO v4: intgeom.Rect2? MoveWindow(x, y, w, h int) error + // HideCursor will cause the mouse cursor to not display when it lies within this window. HideCursor() error } // App is an interface of methods available to all oak programs. type App interface { + // Bounds returns the boundaries of the application client area measured in pixels. This is not the size + // of the window or app on the operating system necessarily; it is the area able to be rendered to within oak. + // On some platforms these two concepts will usually be equal (js); on some they will have a built in scaling factor + // (osx, for retina displays), and if a window is manually scaled by a user and oak is not instructed to resize to + // match the scale, this area will be unchanged and the view will be stretched to fit the window. Bounds() intgeom.Point2 + // Viewport relates Bounds() to the entire content available for display. Viewport returns where the top left corner + // of the application client area is. Viewport() intgeom.Point2 + // SetViewportBounds defines the limits of where the viewport may be positioned. In other words, the total viewable + // content of a scene. Unless impossible, the rectangle (viewport, viewport+bounds) will never leave the area defined + // by SetViewportBounds. SetViewportBounds(intgeom.Rect2) - ShiftViewport(intgeom.Point2) + // ShiftViewport is a helper method calling a.SetViewport(a.Viewport()+delta) + ShiftViewport(delta intgeom.Point2) + // SetViewport changes where the viewport position. If the resulting rectangle (viewport, viewport+bounds) would + // exceed the boundary set by SetViewportBounds, viewport will be clamped to the edges of that boundary. SetViewport(intgeom.Point2) + // NextScene causes the End function to be triggered for the current scene. NextScene() + // GoToScene causes the End function to be triggered for the current scene, overriding the next scene to start. GoToScene(string) + // InFocus returns whether the application is currently focused on, by whatever definition the OS has for an + // application being in focus. For example, on linux/osx/windows a window is in focus once it is clicked on + // and out of focus after another window is clicked on. InFocus() bool + // Quit causes the app to cleanly exit. The current scene will not call it's End function. Quit() + // EventHandler returns this app's active event handler. EventHandler() event.Handler } From e12e9ed9ebc514878f4347754166f024dea861b0 Mon Sep 17 00:00:00 2001 From: Patrick Stephen Date: Sat, 16 Apr 2022 08:46:55 -0500 Subject: [PATCH 11/36] timing: combine doc file into fps.go --- timing/doc.go | 2 -- timing/fps.go | 3 ++- 2 files changed, 2 insertions(+), 3 deletions(-) delete mode 100644 timing/doc.go diff --git a/timing/doc.go b/timing/doc.go deleted file mode 100644 index 3d18ba1d..00000000 --- a/timing/doc.go +++ /dev/null @@ -1,2 +0,0 @@ -// Package timing provides utilities for time. -package timing diff --git a/timing/fps.go b/timing/fps.go index 6cc03eb6..8f924f17 100644 --- a/timing/fps.go +++ b/timing/fps.go @@ -1,3 +1,4 @@ +// Package timing provides utilities for time. package timing import ( @@ -16,7 +17,7 @@ const ( func FPS(lastTime, now time.Time) float64 { fps := 1 / now.Sub(lastTime).Seconds() // This indicates that we recorded two times within - // the innacuracy of the OS's system clock, so the values + // the inaccuracy of the OS's system clock, so the values // were the same. 1200 is chosen because on windows, // fps will be 1200 instead of a negative value. if int(fps) < 0 { From 40c7eac86b5bc554df1b4ad29dcb224d53d869b6 Mon Sep 17 00:00:00 2001 From: Patrick Stephen Date: Sat, 16 Apr 2022 08:53:20 -0500 Subject: [PATCH 12/36] audio/format: make importing file format parsers optional --- audio/file_formats.go | 33 --------------------------------- audio/file_load.go | 15 +++++++++++++-- audio/format/doc.go | 2 -- audio/format/flac/flac.go | 5 +++++ audio/format/mp3/mp3.go | 5 +++++ audio/format/register.go | 31 +++++++++++++++++++++++++++++++ audio/format/wav/wav.go | 5 +++++ 7 files changed, 59 insertions(+), 37 deletions(-) delete mode 100644 audio/file_formats.go delete mode 100644 audio/format/doc.go create mode 100644 audio/format/register.go diff --git a/audio/file_formats.go b/audio/file_formats.go deleted file mode 100644 index 38284083..00000000 --- a/audio/file_formats.go +++ /dev/null @@ -1,33 +0,0 @@ -package audio - -import ( - "io" - "sync" - - "github.com/oakmound/oak/v3/audio/format/flac" - "github.com/oakmound/oak/v3/audio/format/mp3" - "github.com/oakmound/oak/v3/audio/format/wav" - "github.com/oakmound/oak/v3/audio/pcm" -) - -type fileLoader func(r io.Reader) (pcm.Reader, error) - -var fileLoadersLock sync.RWMutex -var fileLoaders = map[string]func(r io.Reader) (pcm.Reader, error){ - "mp3": mp3.Load, - "wav": wav.Load, - "flac": flac.Load, -} - -func RegisterFormat(extension string, fn fileLoader) { - fileLoadersLock.Lock() - fileLoaders[extension] = fn - fileLoadersLock.Unlock() -} - -func LoaderForExtension(extension string) (fileLoader, bool) { - fileLoadersLock.RLock() - defer fileLoadersLock.RUnlock() - loader, ok := fileLoaders[extension] - return loader, ok -} diff --git a/audio/file_load.go b/audio/file_load.go index 843d1fa1..86dc48af 100644 --- a/audio/file_load.go +++ b/audio/file_load.go @@ -6,6 +6,7 @@ import ( "golang.org/x/sync/errgroup" + "github.com/oakmound/oak/v3/audio/format" "github.com/oakmound/oak/v3/audio/pcm" "github.com/oakmound/oak/v3/dlog" "github.com/oakmound/oak/v3/fileutil" @@ -38,9 +39,19 @@ func (c *Cache) Load(file string) (pcm.Reader, error) { ext := filepath.Ext(file) ext = strings.ToLower(ext) - reader, ok := LoaderForExtension(ext) + reader, ok := format.LoaderForExtension(ext) if !ok { - return nil, oakerr.UnsupportedFormat{Format: filepath.Ext(file)} + // provide an error message suggesting a missing import for cases where we know about a + // common provider + knownFormats := map[string]string{ + ".mp3": "github.com/oakmound/oak/v4/audio/format/mp3", + ".flac": "github.com/oakmound/oak/v4/audio/format/flac", + ".wav": "github.com/oakmound/oak/v4/audio/format/wav", + } + if path, ok := knownFormats[ext]; ok { + dlog.Error("unable to parse audio format %v, did you mean to import %v?", ext, path) + } + return nil, oakerr.UnsupportedFormat{Format: ext} } r, err := reader(f) if err != nil { diff --git a/audio/format/doc.go b/audio/format/doc.go deleted file mode 100644 index 91df2189..00000000 --- a/audio/format/doc.go +++ /dev/null @@ -1,2 +0,0 @@ -// Package format provides audio file and format parsers -package format diff --git a/audio/format/flac/flac.go b/audio/format/flac/flac.go index 46858383..5f392873 100644 --- a/audio/format/flac/flac.go +++ b/audio/format/flac/flac.go @@ -6,9 +6,14 @@ import ( "io" "github.com/eaburns/flac" + "github.com/oakmound/oak/v3/audio/format" "github.com/oakmound/oak/v3/audio/pcm" ) +func init() { + format.Register(".flac", Load) +} + // Load loads flac data from the incoming reader as an audio func Load(r io.Reader) (pcm.Reader, error) { d, err := flac.NewDecoder(r) diff --git a/audio/format/mp3/mp3.go b/audio/format/mp3/mp3.go index c19a721d..57a41558 100644 --- a/audio/format/mp3/mp3.go +++ b/audio/format/mp3/mp3.go @@ -4,11 +4,16 @@ package mp3 import ( "io" + "github.com/oakmound/oak/v3/audio/format" "github.com/oakmound/oak/v3/audio/pcm" "github.com/hajimehoshi/go-mp3" ) +func init() { + format.Register(".mp3", Load) +} + // Load loads an mp3-encoded reader into an audio func Load(r io.Reader) (pcm.Reader, error) { d, err := mp3.NewDecoder(r) diff --git a/audio/format/register.go b/audio/format/register.go new file mode 100644 index 00000000..9c21136b --- /dev/null +++ b/audio/format/register.go @@ -0,0 +1,31 @@ +// Package format provides audio file and format parsers +package format + +import ( + "io" + "sync" + + "github.com/oakmound/oak/v3/audio/pcm" +) + +// A Loader can parse the data from an io.Reader and convert it into PCM encoded audio data with +// a known format. +type Loader func(r io.Reader) (pcm.Reader, error) + +var fileLoadersLock sync.RWMutex +var fileLoaders = map[string]func(r io.Reader) (pcm.Reader, error){} + +// Register registers a format by file extension with its preceding period to a parsing function. +func Register(extension string, fn Loader) { + fileLoadersLock.Lock() + fileLoaders[extension] = fn + fileLoadersLock.Unlock() +} + +// LoaderForExtension returns a previously registered loader for a given extension string. +func LoaderForExtension(extension string) (Loader, bool) { + fileLoadersLock.RLock() + defer fileLoadersLock.RUnlock() + loader, ok := fileLoaders[extension] + return loader, ok +} diff --git a/audio/format/wav/wav.go b/audio/format/wav/wav.go index 03a19362..b825f7f6 100644 --- a/audio/format/wav/wav.go +++ b/audio/format/wav/wav.go @@ -6,9 +6,14 @@ import ( "encoding/binary" + "github.com/oakmound/oak/v3/audio/format" "github.com/oakmound/oak/v3/audio/pcm" ) +func init() { + format.Register(".wav", Load) +} + // Read reads a WAV header from the provided reader, returning the PCM format and // leaving the PCM data in the reader available for consumption. func Load(r io.Reader) (pcm.Reader, error) { From 870815e3346f9a83a4f3737cd900e891ead68da1 Mon Sep 17 00:00:00 2001 From: Patrick Stephen Date: Sat, 16 Apr 2022 12:39:08 -0500 Subject: [PATCH 13/36] examples/text-demos: reduce speed of color changing currently is a seizure hazard --- .../color-changing-text-demo/main.go | 32 ++++++++-------- .../text-demos/continual-text-demo/main.go | 38 +++++++++---------- 2 files changed, 34 insertions(+), 36 deletions(-) diff --git a/examples/text-demos/color-changing-text-demo/main.go b/examples/text-demos/color-changing-text-demo/main.go index 5f425632..13e7927d 100644 --- a/examples/text-demos/color-changing-text-demo/main.go +++ b/examples/text-demos/color-changing-text-demo/main.go @@ -7,6 +7,7 @@ import ( "strconv" "github.com/oakmound/oak/v3/alg/range/floatrange" + "github.com/oakmound/oak/v3/event" "image" @@ -32,7 +33,7 @@ func (fs floatStringer) String() string { func main() { oak.AddScene("demo", - scene.Scene{Start: func(*scene.Context) { + scene.Scene{Start: func(ctx *scene.Context) { render.Draw(render.NewDrawFPS(0.25, nil, 10, 10)) fg := render.FontGenerator{ File: path.Join("assets", "font", "luxisbi.ttf"), @@ -62,21 +63,20 @@ func main() { render.Draw(font2.NewText("g", 280, 260), 0) render.Draw(font2.NewText("b", 400, 260), 0) - go func() { - for { - r = limit.EnforceRange(r + diff.Poll()) - g = limit.EnforceRange(g + diff.Poll()) - b = limit.EnforceRange(b + diff.Poll()) - font.Drawer.Src = image.NewUniform( - color.RGBA{ - uint8(r), - uint8(g), - uint8(b), - 255, - }, - ) - } - }() + event.GlobalBind(ctx, event.Enter, func(_ event.EnterPayload) event.Response { + r = limit.EnforceRange(r + diff.Poll()) + g = limit.EnforceRange(g + diff.Poll()) + b = limit.EnforceRange(b + diff.Poll()) + font.Drawer.Src = image.NewUniform( + color.RGBA{ + uint8(r), + uint8(g), + uint8(b), + 255, + }, + ) + return 0 + }) }, }) oak.SetFS(assets) diff --git a/examples/text-demos/continual-text-demo/main.go b/examples/text-demos/continual-text-demo/main.go index afe8cf38..4799304d 100644 --- a/examples/text-demos/continual-text-demo/main.go +++ b/examples/text-demos/continual-text-demo/main.go @@ -6,6 +6,7 @@ import ( "github.com/oakmound/oak/v3/alg/range/floatrange" "github.com/oakmound/oak/v3/dlog" + "github.com/oakmound/oak/v3/event" "image" @@ -40,7 +41,7 @@ func randomStr(chars int) string { func main() { oak.AddScene("demo", - scene.Scene{Start: func(*scene.Context) { + scene.Scene{Start: func(ctx *scene.Context) { render.Draw(render.NewDrawFPS(.25, nil, 10, 10)) r = 255 @@ -61,26 +62,23 @@ func main() { render.Draw(strs[len(strs)-1], 0) } - go func() { - for { - r = limit.EnforceRange(r + diff.Poll()) - g = limit.EnforceRange(g + diff.Poll()) - b = limit.EnforceRange(b + diff.Poll()) - // This should be a function in oak to just set color source - // (or texture source) - font.Drawer.Src = image.NewUniform( - color.RGBA{ - uint8(r), - uint8(g), - uint8(b), - 255, - }, - ) - for _, st := range strs { - st.SetString(randomStr(strlen)) - } + event.GlobalBind(ctx, event.Enter, func(_ event.EnterPayload) event.Response { + r = limit.EnforceRange(r + diff.Poll()) + g = limit.EnforceRange(g + diff.Poll()) + b = limit.EnforceRange(b + diff.Poll()) + font.Drawer.Src = image.NewUniform( + color.RGBA{ + uint8(r), + uint8(g), + uint8(b), + 255, + }, + ) + for _, st := range strs { + st.SetString(randomStr(strlen)) } - }() + return 0 + }) }, }) render.SetDrawStack( From 300b87afd7b44b77a4dc5046163c91b09f9f6c43 Mon Sep 17 00:00:00 2001 From: Patrick Stephen Date: Sat, 16 Apr 2022 12:55:28 -0500 Subject: [PATCH 14/36] audio: doc pass --- audio/driver.go | 3 +- audio/fade.go | 2 + audio/file_load.go | 4 +- audio/format/ceol/ceol.go | 21 -------- audio/format/flac/flac.go | 13 ++++- audio/format/mp3/mp3.go | 12 ++++- audio/format/register.go | 4 +- audio/format/wav/wav.go | 13 ++++- audio/internal/dsound/dsound.go | 1 - audio/pcm/interface.go | 14 +++-- audio/play.go | 3 ++ audio/synth/filter.go | 22 -------- audio/synth/option.go | 35 ++++++++++--- audio/synth/pitch.go | 92 +++++++++++++++------------------ audio/synth/waves.go | 87 ++++++++++++++++--------------- examples/piano/main.go | 4 +- 16 files changed, 172 insertions(+), 158 deletions(-) delete mode 100644 audio/synth/filter.go diff --git a/audio/driver.go b/audio/driver.go index fb860a86..b59f5e18 100644 --- a/audio/driver.go +++ b/audio/driver.go @@ -1,7 +1,6 @@ package audio -// A Driver defines the underlying interface that should be used for initializing PCM audio writers -// by this package. +// A Driver defines the underlying interface that should be used for initializing PCM audio writers. type Driver int const ( diff --git a/audio/fade.go b/audio/fade.go index 8abc91e2..b4e14df6 100644 --- a/audio/fade.go +++ b/audio/fade.go @@ -6,6 +6,7 @@ import ( "github.com/oakmound/oak/v3/audio/pcm" ) +// FadeIn wraps a reader such that it will linearly fades in over the given duration. func FadeIn(dur time.Duration, in pcm.Reader) pcm.Reader { perSec := in.PCMFormat().BytesPerSecond() bytesToFadeIn := int((time.Duration(perSec) / 1000) * (dur / time.Millisecond)) @@ -74,6 +75,7 @@ func (fir *fadeInReader) ReadPCM(b []byte) (n int, err error) { return read, nil } +// FadeOut wraps a reader such that it will linearly fades out over the given duration. func FadeOut(dur time.Duration, in pcm.Reader) pcm.Reader { perSec := in.PCMFormat().BytesPerSecond() bytestoFadeOut := int((time.Duration(perSec) / 1000) * (dur / time.Millisecond)) diff --git a/audio/file_load.go b/audio/file_load.go index 86dc48af..0c1a8e94 100644 --- a/audio/file_load.go +++ b/audio/file_load.go @@ -61,8 +61,8 @@ func (c *Cache) Load(file string) (pcm.Reader, error) { return r, nil } -// BatchLoad attempts to load all files within a given directory -// depending on their file ending +// BatchLoad attempts to load all audio files within a given directory +// should their file ending match a registered audio file parser func BatchLoad(baseFolder string) error { return batchLoad(baseFolder, false) } diff --git a/audio/format/ceol/ceol.go b/audio/format/ceol/ceol.go index ff024a7a..75f1d461 100644 --- a/audio/format/ceol/ceol.go +++ b/audio/format/ceol/ceol.go @@ -61,27 +61,6 @@ type Filter struct { LPFResonance int } -// ChordPattern converts a Ceol's patterns and arrangement into a playable chord -// pattern for sequences -// func (c Ceol) ChordPattern() sequence.ChordPattern { -// chp := sequence.ChordPattern{} -// chp.Pitches = make([][]synth.Pitch, c.PatternLength*len(c.Arrangement)) -// chp.Holds = make([][]time.Duration, c.PatternLength*len(c.Arrangement)) -// for i, m := range c.Arrangement { -// for _, p := range m { -// if p != -1 { -// for _, n := range c.Patterns[p].Notes { -// chp.Pitches[n.Offset+i*c.PatternLength] = -// append(chp.Pitches[n.Offset+i*c.PatternLength], synth.NoteFromIndex(n.PitchIndex)) -// chp.Holds[n.Offset+i*c.PatternLength] = -// append(chp.Holds[n.Offset+i*c.PatternLength], DurationFromQuarters(c.Bpm, n.Length)) -// } -// } -// } -// } -// return chp -// } - // DurationFromQuarters should not be here, should be in a package // managing bpm and time // Duration from quarters expects four quarters to occur per beat, diff --git a/audio/format/flac/flac.go b/audio/format/flac/flac.go index 5f392873..7db92455 100644 --- a/audio/format/flac/flac.go +++ b/audio/format/flac/flac.go @@ -1,4 +1,12 @@ // Package flac provides functionality to handle .flac files and .flac encoded data. +// +// +// This package may be imported solely to register flacs as a parseable file type within oak: +// +// import ( +// _ "github.com/oakmound/oak/v4/audio/format/flac" +// ) +// package flac import ( @@ -14,7 +22,10 @@ func init() { format.Register(".flac", Load) } -// Load loads flac data from the incoming reader as an audio +// Load reads a FLAC header from a reader, parsing it's PCM format and returning +// a pcm Reader for the data following the header. It will error if the reader +// does not contain enough data to fill a FLAC header or if the header does not +// look like a FLAC header. func Load(r io.Reader) (pcm.Reader, error) { d, err := flac.NewDecoder(r) if err != nil { diff --git a/audio/format/mp3/mp3.go b/audio/format/mp3/mp3.go index 57a41558..7a6bdf30 100644 --- a/audio/format/mp3/mp3.go +++ b/audio/format/mp3/mp3.go @@ -1,4 +1,11 @@ // Package mp3 provides functionality to handle .mp3 files and .mp3 encoded data. +// +// This package may be imported solely to register mp3s as a parseable file type within oak: +// +// import ( +// _ "github.com/oakmound/oak/v4/audio/format/mp3" +// ) +// package mp3 import ( @@ -14,7 +21,10 @@ func init() { format.Register(".mp3", Load) } -// Load loads an mp3-encoded reader into an audio +// Load reads MP3 data from a reader, parsing it's PCM format and returning +// a pcm Reader for the data contained within. It will error if the reader +// does not contain enough data to fill a file header. The resulting format +// will always be 16 bits and 2 channels. func Load(r io.Reader) (pcm.Reader, error) { d, err := mp3.NewDecoder(r) if err != nil { diff --git a/audio/format/register.go b/audio/format/register.go index 9c21136b..c2dabbc5 100644 --- a/audio/format/register.go +++ b/audio/format/register.go @@ -15,14 +15,14 @@ type Loader func(r io.Reader) (pcm.Reader, error) var fileLoadersLock sync.RWMutex var fileLoaders = map[string]func(r io.Reader) (pcm.Reader, error){} -// Register registers a format by file extension with its preceding period to a parsing function. +// Register registers a format by file extension (eg '.mp3') with its parsing function. func Register(extension string, fn Loader) { fileLoadersLock.Lock() fileLoaders[extension] = fn fileLoadersLock.Unlock() } -// LoaderForExtension returns a previously registered loader for a given extension string. +// LoaderForExtension returns a previously registered loader. func LoaderForExtension(extension string) (Loader, bool) { fileLoadersLock.RLock() defer fileLoadersLock.RUnlock() diff --git a/audio/format/wav/wav.go b/audio/format/wav/wav.go index b825f7f6..c66e953d 100644 --- a/audio/format/wav/wav.go +++ b/audio/format/wav/wav.go @@ -1,4 +1,11 @@ // Package wav provides functionality to handle .wav files and .wav encoded data. +// +// This package may be imported solely to register wavs as a parseable file type within oak: +// +// import ( +// _ "github.com/oakmound/oak/v4/audio/format/wav" +// ) +// package wav import ( @@ -14,8 +21,10 @@ func init() { format.Register(".wav", Load) } -// Read reads a WAV header from the provided reader, returning the PCM format and -// leaving the PCM data in the reader available for consumption. +// Load reads a WAV header from a reader, parsing it's PCM format and returning +// a pcm Reader for the data following the header. It will error if the reader +// does not contain enough data to fill a WAV header. It does not validate that the +// WAV header makes sense. func Load(r io.Reader) (pcm.Reader, error) { data, err := readData(r) if err != nil { diff --git a/audio/internal/dsound/dsound.go b/audio/internal/dsound/dsound.go index 96472a3f..0064033e 100644 --- a/audio/internal/dsound/dsound.go +++ b/audio/internal/dsound/dsound.go @@ -23,7 +23,6 @@ var cfg Config var initLock sync.Mutex // Init initializes directsound or returns an already intialized direct sound instance. -// It may (but should probably not) be called outside of other oakmound/oak/* packages. func Init() (Config, error) { initLock.Lock() defer initLock.Unlock() diff --git a/audio/pcm/interface.go b/audio/pcm/interface.go index e5fcf3ae..73ef5737 100644 --- a/audio/pcm/interface.go +++ b/audio/pcm/interface.go @@ -1,7 +1,10 @@ // Package pcm provides a interface for interacting with PCM audio streams package pcm -import "io" +import ( + "fmt" + "io" +) var _ Reader = &IOReader{} @@ -25,7 +28,7 @@ func (ior *IOReader) ReadPCM(p []byte) (n int, err error) { type Writer interface { io.Closer Formatted - // WritePCM expects PCM bytes matching the format this speaker was initialized with. + // WritePCM expects PCM bytes matching this Writer's format. // WritePCM will block until all of the bytes are consumed. WritePCM([]byte) (n int, err error) } @@ -67,7 +70,7 @@ func (f Format) SampleSize() int { // ReadFloat reads a single sample from an audio stream, respecting bits and channels: // f.Bits / 8 bytes * f.Channels bytes will be read from b, and this count will be returned as 'read'. // the length of values will be equal to f.Channels, if no error is returned. If an error is returned, -// it will be io.ErrUnexpectedEOF. If bits is an unexpected value +// it will be io.ErrUnexpectedEOF or ErrUnsupportedBits func (f Format) SampleFloat(b []byte) (values []float64, read int, err error) { values = make([]float64, 0, f.Channels) read = f.SampleSize() @@ -95,6 +98,11 @@ func (f Format) SampleFloat(b []byte) (values []float64, read int, err error) { int32(b[i+3])<<24 values = append(values, float64(v)) } + default: + return nil, read, ErrUnsupportedBits } return } + +// ErrUnsupportedBits represents that the Bits value for a Format was not supported for some operation. +var ErrUnsupportedBits = fmt.Errorf("unsupported bits in pcm format") diff --git a/audio/play.go b/audio/play.go index 0cf822ac..90baf501 100644 --- a/audio/play.go +++ b/audio/play.go @@ -32,8 +32,11 @@ type PlayOption func(*PlayOptions) // PlayOptions define ways to configure how playback of some audio proceeds type PlayOptions struct { + // If FadeOutOnStop is non-zero, when this play is stopped early it will fade out for this duration. FadeOutOnStop time.Duration + // If Destination is not provided, Play will create a new writer which will be + // closed after Play is complete. Destination pcm.Writer // The span of data that should be copied from reader to writer diff --git a/audio/synth/filter.go b/audio/synth/filter.go deleted file mode 100644 index 40c863db..00000000 --- a/audio/synth/filter.go +++ /dev/null @@ -1,22 +0,0 @@ -package synth - -// Detune detunes between -1.0 and 1.0, 1.0 representing a half step up. -// Q: What is detuning? A: It's taking the pitch of the audio and adjusting it less than -// a single tone up or down. If you detune too far, you've just made the next pitch, -// but if you detune a little, you get a resonant sound. -func Detune(percent float64) func(src Source) Source { - return func(src Source) Source { - curPitch := src.Pitch - var nextPitch Pitch - if percent > 0 { - nextPitch = curPitch.Up(HalfStep) - } else { - nextPitch = curPitch.Down(HalfStep) - } - rawDelta := float64(int16(curPitch) - int16(nextPitch)) - delta := rawDelta * percent - // TODO: does pitch need to be a float? - src.Pitch = Pitch(float64(curPitch) + delta) - return src - } -} diff --git a/audio/synth/option.go b/audio/synth/option.go index 59300db7..c2e64dbe 100644 --- a/audio/synth/option.go +++ b/audio/synth/option.go @@ -16,12 +16,12 @@ func Duration(t time.Duration) Option { // Volume sets the volume of a generated waveform. It guarantees that 0 <= v <= 1 // (silent <= v <= max volume) func Volume(v float64) Option { + if v > 1.0 { + v = 1.0 + } else if v < 0 { + v = 0 + } return func(s Source) Source { - if v > 1.0 { - v = 1.0 - } else if v < 0 { - v = 0 - } s.Volume = v return s } @@ -35,7 +35,7 @@ func AtPitch(p Pitch) Option { } } -// Mono sets the format to play mono audio. +// Mono sets a synth source to play mono audio. func Mono() Option { return func(s Source) Source { s.Channels = 1 @@ -43,10 +43,31 @@ func Mono() Option { } } -// Stereo sets the format to play stereo audio. +// Stereo sets a synth source to play stereo audio. func Stereo() Option { return func(s Source) Source { s.Channels = 2 return s } } + +// Detune detunes between -1.0 and 1.0, 1.0 representing a half step up. +// Q: What is detuning? A: It's taking the pitch of the audio and adjusting it less than +// a single tone up or down. If you detune too far, you've just made the next pitch, +// but if you detune a little, you get a resonant sound. +func Detune(percent float64) Option { + return func(src Source) Source { + curPitch := src.Pitch + var nextPitch Pitch + if percent > 0 { + nextPitch = curPitch.Up(HalfStep) + } else { + nextPitch = curPitch.Down(HalfStep) + } + rawDelta := float64(int16(curPitch) - int16(nextPitch)) + delta := rawDelta * percent + // TODO: does pitch need to be a float? + src.Pitch = Pitch(float64(curPitch) + delta) + return src + } +} diff --git a/audio/synth/pitch.go b/audio/synth/pitch.go index 7fecbb17..da844d82 100644 --- a/audio/synth/pitch.go +++ b/audio/synth/pitch.go @@ -6,14 +6,13 @@ import ( "github.com/oakmound/oak/v3/audio/pcm" ) -// A Pitch is a helper type for synth functions so -// a user can write A4 instead of a frequency value -// for a desired tone +// A Pitch is a frequency value which represents how fast a wave should oscillate to produce a specific tone. type Pitch uint16 -// Pitch frequencies -// Values taken from http://peabody.sapp.org/class/st2/lab/notehz/ +// Pitch frequencies, taken from http://peabody.sapp.org/class/st2/lab/notehz/ +// These span octave 0 through octave 8, with sharps suffixed 's' and flats suffixed 'b' const ( + // 0 is reserved as representing a 'rest' for the purpose of composition Rest Pitch = 0 C0 Pitch = 16 C0s Pitch = 17 @@ -588,12 +587,6 @@ func (p Pitch) Down(s Step) Pitch { return allPitches[i-int(s)] } -// NoteFromIndex is a utility for pitch converters that for some reason have -// integers representing their notes to get a pitch from said integer -func NoteFromIndex(i int) Pitch { - return allPitches[i] -} - // IsAccidental reports true if this pitch is represented with a single sharp or a flat, usually. func (p Pitch) IsAccidental() bool { _, ok := accidentals[p] @@ -605,26 +598,25 @@ type PitchDetector struct { format pcm.Format - // Will be 0 if unknown - DetectedPitch Pitch - DetectedRawPitch float64 - - // Channel defines which audio channel (0 for mono, 0-1 for stereo) should - // be analyzed. ReadPCM will panic if this value is invalid. If this scares you, - // don't change this value-- the consequence is that a specific channel for stereo - // audio will be analyzed, which won't be a problem unless you're running this on - // Queen's The Prophet's Song - Channel int + // DetectedPitches and DetectedRawPitches store the calculated pitch values as this reader parses data. The length + // of these slices will be equal to this reader's format's channel count. Consumers should not modify these slices. + DetectedPitches []Pitch + DetectedRawPitches []float64 - index int - lastValue float64 - crossedZero bool + indices []int + lastValues []float64 + crossedZero []bool } func NewPitchDetector(r pcm.Reader) *PitchDetector { return &PitchDetector{ - Reader: r, - format: r.PCMFormat(), + Reader: r, + format: r.PCMFormat(), + DetectedPitches: make([]Pitch, r.PCMFormat().Channels), + DetectedRawPitches: make([]float64, r.PCMFormat().Channels), + indices: make([]int, r.PCMFormat().Channels), + lastValues: make([]float64, r.PCMFormat().Channels), + crossedZero: make([]bool, r.PCMFormat().Channels), } } @@ -633,39 +625,37 @@ func (pd *PitchDetector) ReadPCM(b []byte) (n int, err error) { if err != nil { return n, err } - var lastValue float64 var read int sampleSize := pd.format.SampleSize() for len(b[read:]) > sampleSize { - pd.index++ vals, valReadBytes, err := pd.format.SampleFloat(b[read:]) if err != nil { break } read += valReadBytes - // ignore stereo audio; sorry it makes this really complicated - val := vals[pd.Channel] - if lastValue < 0 && val > 0 || val < 0 && lastValue > 0 { - // we've crossed zero - if !pd.crossedZero { - pd.crossedZero = true - } else { - // assuming this is pitched audio (if it isn't we can't give a correct answer), - // pd.index is now the number of samples since the last time this audio - // stream crossed zero. The second last time this audio stream crossed zero defines how - // frequently this audio is cycling-- the speed the audio cycles at defines the pitch - // of the audio in hertz; our pitch constants above are also defined in hertz. - periodLength := pd.index * 2 - samplesPerSecond := pd.format.SampleRate - periodHz := 1 / (float64(periodLength) / float64(samplesPerSecond)) - pd.DetectedRawPitch = periodHz - pd.DetectedPitch = Pitch(periodHz).Round() + for i, val := range vals { + pd.indices[i]++ + if pd.lastValues[i] < 0 && val > 0 || val < 0 && pd.lastValues[i] > 0 { + // we've crossed zero + if !pd.crossedZero[i] { + pd.crossedZero[i] = true + } else { + // assuming this is pitched audio (if it isn't we can't give a correct answer), + // pd.index is now the number of samples since the last time this audio + // stream crossed zero. The second last time this audio stream crossed zero defines how + // frequently this audio is cycling-- the speed the audio cycles at defines the pitch + // of the audio in hertz; our pitch constants above are also defined in hertz. + periodLength := pd.indices[i] * 2 + samplesPerSecond := pd.format.SampleRate + periodHz := 1 / (float64(periodLength) / float64(samplesPerSecond)) + pd.DetectedRawPitches[i] = periodHz + pd.DetectedPitches[i] = Pitch(periodHz).Round() + } + pd.indices[i] = 0 } - pd.index = 0 + pd.lastValues[i] = val } - lastValue = val } - pd.lastValue = lastValue return } @@ -676,17 +666,17 @@ func (pd *PitchDetector) ReadPCM(b []byte) (n int, err error) { // fmt.Println(hz2, int(hz2))) // "C6", 1047 // } // -func (hz Pitch) Round() Pitch { +func (p Pitch) Round() Pitch { // binary search i := sort.Search(len(allPitches)-1, func(i int) bool { - return Pitch(hz) < allPitches[i] + return p < allPitches[i] }) // adjust for near matches // we know hz < allPitches[i] if i == 0 { return allPitches[i] } - if hz-allPitches[i-1] < allPitches[i]-hz { + if p-allPitches[i-1] < allPitches[i]-p { return allPitches[i-1] } return allPitches[i] diff --git a/audio/synth/waves.go b/audio/synth/waves.go index 64b92d58..9e31336b 100644 --- a/audio/synth/waves.go +++ b/audio/synth/waves.go @@ -17,10 +17,10 @@ func phase(freq Pitch, i int, sampleRate uint32) float64 { } // Sin produces a Sin wave -// __ -// -- -- -// / \ -//--__-- --__-- +// __ +// -- -- +// / \ +// --__-- --__-- func (s Source) Sin(opts ...Option) pcm.Reader { return s.Wave(Source.SinWave, opts...) } @@ -37,9 +37,9 @@ func (s Source) Square(opts ...Option) pcm.Reader { // pulse the time up and down will change so that 1/pulse time the wave will // be up. // -// __ __ -// || || -// ____||____||____ +// __ __ +// || || +// ____||____||____ func (s Source) Pulse(pulse float64) func(opts ...Option) pcm.Reader { return func(opts ...Option) pcm.Reader { return s.Wave(PulseWave(pulse), opts...) @@ -58,9 +58,9 @@ func PulseWave(pulse float64) Waveform { // Saw produces a saw wave // -// ^ ^ ^ -// / | / | / -// / |/ |/ +// ^ ^ ^ +// / | / | / +// / |/ |/ func (s Source) Saw(opts ...Option) pcm.Reader { return s.Wave(Source.SawWave, opts...) } @@ -71,9 +71,9 @@ func (s Source) SawWave(idx int) float64 { // Triangle produces a Triangle wave // -// ^ ^ -// / \ / \ -// v v v +// ^ ^ +// / \ / \ +// v v v func (s Source) Triangle(opts ...Option) pcm.Reader { return s.Wave(Source.TriangleWave, opts...) } @@ -87,12 +87,14 @@ func (s Source) TriangleWave(idx int) float64 { return 3*s.Volume - m } +// Noise produces random audio data. func (s Source) Noise(opts ...Option) pcm.Reader { return s.Wave(Source.NoiseWave, opts...) } var _ Waveform = Source.NoiseWave +// NoiseWave returns noise pcm data bounded by this source's volume. func (s Source) NoiseWave(idx int) float64 { return ((rand.Float64() * 2) - 1) * s.Volume } @@ -101,34 +103,16 @@ func (s Source) modPhase(idx int) float64 { return math.Mod(s.Phase(idx), 2*math.Pi) } -// Could have pulse triangle - -type Wave8Reader struct { - Source - lastIndex int - waveFunc func(s Source, idx int) int8 -} - -func (pr *Wave8Reader) ReadPCM(b []byte) (n int, err error) { - bytesPerI8 := int(pr.Channels) - for i := 0; i+bytesPerI8 <= len(b); i += bytesPerI8 { - i8 := pr.waveFunc(pr.Source, pr.lastIndex) - pr.lastIndex++ - for c := 0; c < int(pr.Channels); c++ { - b[i+c] = byte(i8) - } - n += bytesPerI8 - } - return -} - +// A Waveform is a function that can report a point of audio data given some source parameters for generating the audio +// and an index of where in the generated waveform the requested point lies type Waveform func(s Source, idx int) float64 +// Wave converts a waveform function into a pcm.Reader func (s Source) Wave(waveFn Waveform, opts ...Option) pcm.Reader { switch s.Bits { case 8: s.Volume *= math.MaxInt8 - return &Wave8Reader{ + return &wave8Reader{ Source: s.Update(opts...), waveFunc: func(s Source, idx int) int8 { return int8(waveFn(s, idx)) @@ -136,7 +120,7 @@ func (s Source) Wave(waveFn Waveform, opts ...Option) pcm.Reader { } case 32: s.Volume *= math.MaxInt32 - return &Wave32Reader{ + return &wave32Reader{ Source: s.Update(opts...), waveFunc: func(s Source, idx int) int32 { return int32(waveFn(s, idx)) @@ -146,7 +130,7 @@ func (s Source) Wave(waveFn Waveform, opts ...Option) pcm.Reader { fallthrough default: s.Volume *= math.MaxInt16 - return &Wave16Reader{ + return &wave16Reader{ Source: s.Update(opts...), waveFunc: func(s Source, idx int) int16 { return int16(waveFn(s, idx)) @@ -155,6 +139,8 @@ func (s Source) Wave(waveFn Waveform, opts ...Option) pcm.Reader { } } +// MultiWave converts a series of waveform functions into a combined reader, outputting the average +// of all of the source waveforms at any given index func (s Source) MultiWave(waveFns []Waveform, opts ...Option) pcm.Reader { return s.Wave(func(s Source, idx int) float64 { var out float64 @@ -166,13 +152,32 @@ func (s Source) MultiWave(waveFns []Waveform, opts ...Option) pcm.Reader { }, opts...) } -type Wave16Reader struct { +type wave8Reader struct { + Source + lastIndex int + waveFunc func(s Source, idx int) int8 +} + +func (pr *wave8Reader) ReadPCM(b []byte) (n int, err error) { + bytesPerI8 := int(pr.Channels) + for i := 0; i+bytesPerI8 <= len(b); i += bytesPerI8 { + i8 := pr.waveFunc(pr.Source, pr.lastIndex) + pr.lastIndex++ + for c := 0; c < int(pr.Channels); c++ { + b[i+c] = byte(i8) + } + n += bytesPerI8 + } + return +} + +type wave16Reader struct { Source lastIndex int waveFunc func(s Source, idx int) int16 } -func (pr *Wave16Reader) ReadPCM(b []byte) (n int, err error) { +func (pr *wave16Reader) ReadPCM(b []byte) (n int, err error) { bytesPerI16 := int(pr.Channels) * 2 for i := 0; i+bytesPerI16 <= len(b); i += bytesPerI16 { i16 := pr.waveFunc(pr.Source, pr.lastIndex) @@ -186,13 +191,13 @@ func (pr *Wave16Reader) ReadPCM(b []byte) (n int, err error) { return } -type Wave32Reader struct { +type wave32Reader struct { Source lastIndex int waveFunc func(s Source, idx int) int32 } -func (pr *Wave32Reader) ReadPCM(b []byte) (n int, err error) { +func (pr *wave32Reader) ReadPCM(b []byte) (n int, err error) { bytesPerF32 := int(pr.Channels) * 4 for i := 0; i+bytesPerF32 <= len(b); i += bytesPerF32 { i32 := pr.waveFunc(pr.Source, pr.lastIndex) diff --git a/examples/piano/main.go b/examples/piano/main.go index 85f9a9eb..0af325a2 100644 --- a/examples/piano/main.go +++ b/examples/piano/main.go @@ -224,8 +224,8 @@ func main() { render.Draw(monitor) pitchDetector := synth.NewPitchDetector(r) - pt.pitch = &pitchDetector.DetectedPitch - ft.f64 = &pitchDetector.DetectedRawPitch + pt.pitch = &pitchDetector.DetectedPitches[0] + ft.f64 = &pitchDetector.DetectedRawPitches[0] audio.Play(gctx, pitchDetector, func(po *audio.PlayOptions) { po.Destination = monitor From 68c632467a02a8aaf8d0cf169b108a58560cc040 Mon Sep 17 00:00:00 2001 From: Patrick Stephen Date: Sat, 16 Apr 2022 12:56:16 -0500 Subject: [PATCH 15/36] render: enable not importing image loaders and gift via build flags --- entities/entity.go | 8 -------- entities/opts_gen.go | 7 ------- render/decoder.go | 21 ++------------------- render/default_decoders.go | 26 ++++++++++++++++++++++++++ render/mod/gift.go | 18 ++++++++++++++++++ render/mod/mod.go | 17 ----------------- scene/transition.go | 14 -------------- scene/transition_gift.go | 24 ++++++++++++++++++++++++ 8 files changed, 70 insertions(+), 65 deletions(-) create mode 100644 render/default_decoders.go create mode 100644 scene/transition_gift.go diff --git a/entities/entity.go b/entities/entity.go index f6e4f60d..ce28ea84 100644 --- a/entities/entity.go +++ b/entities/entity.go @@ -22,8 +22,6 @@ type Generator struct { Color color.Color Renderable render.Renderable - ScaleRenderable *mod.Resampling - Mod mod.Mod Label collision.Label @@ -243,12 +241,6 @@ func New(ctx *scene.Context, opts ...Option) *Entity { e.Renderable = m.Modify(g.Mod) } - if g.ScaleRenderable != nil { - if m, ok := g.Renderable.(render.Modifiable); ok { - e.Renderable = m.Modify(mod.Resize(int(g.Dimensions[0]), int(g.Dimensions[1]), *g.ScaleRenderable)) - } - } - e.Renderable.SetPos(e.X(), e.Y()) if g.Parent == nil { diff --git a/entities/opts_gen.go b/entities/opts_gen.go index 1be9efbf..b3519ff9 100644 --- a/entities/opts_gen.go +++ b/entities/opts_gen.go @@ -56,13 +56,6 @@ func WithRenderable(v render.Renderable) Option { } } -func WithScaleRenderable(v *mod.Resampling) Option { - return func(s Generator) Generator { - s.ScaleRenderable = v - return s - } -} - func WithMod(v mod.Mod) Option { return func(s Generator) Generator { s.Mod = v diff --git a/render/decoder.go b/render/decoder.go index 81a17755..ad57b7cf 100644 --- a/render/decoder.go +++ b/render/decoder.go @@ -2,14 +2,9 @@ package render import ( "image" - "image/gif" - "image/jpeg" - "image/png" "io" "github.com/oakmound/oak/v3/oakerr" - - "golang.org/x/image/bmp" ) // Decoder functions convert arbitrary readers to images. @@ -22,20 +17,8 @@ type Decoder func(io.Reader) (image.Image, error) type CfgDecoder func(io.Reader) (image.Config, error) var ( - fileDecoders = map[string]Decoder{ - ".jpeg": jpeg.Decode, - ".jpg": jpeg.Decode, - ".gif": gif.Decode, - ".png": png.Decode, - ".bmp": bmp.Decode, - } - cfgDecoders = map[string]CfgDecoder{ - ".jpeg": jpeg.DecodeConfig, - ".jpg": jpeg.DecodeConfig, - ".gif": gif.DecodeConfig, - ".png": png.DecodeConfig, - ".bmp": bmp.DecodeConfig, - } + fileDecoders = map[string]Decoder{} + cfgDecoders = map[string]CfgDecoder{} ) // RegisterDecoder adds a decoder to the set of image decoders diff --git a/render/default_decoders.go b/render/default_decoders.go new file mode 100644 index 00000000..ea0c1ca3 --- /dev/null +++ b/render/default_decoders.go @@ -0,0 +1,26 @@ +//go:build !noimages +// +build !noimages + +package render + +import ( + "image/gif" + "image/jpeg" + "image/png" + + "golang.org/x/image/bmp" +) + +func init() { + // Register standard image decoders. If provided with the build tag 'noimages', this is skipped. + RegisterDecoder(".jpeg", jpeg.Decode) + RegisterDecoder(".jpg", jpeg.Decode) + RegisterDecoder(".gif", gif.Decode) + RegisterDecoder(".png", png.Decode) + RegisterDecoder(".bmp", bmp.Decode) + RegisterCfgDecoder(".jpeg", jpeg.DecodeConfig) + RegisterCfgDecoder(".jpg", jpeg.DecodeConfig) + RegisterCfgDecoder(".gif", gif.DecodeConfig) + RegisterCfgDecoder(".png", png.DecodeConfig) + RegisterCfgDecoder(".bmp", bmp.DecodeConfig) +} diff --git a/render/mod/gift.go b/render/mod/gift.go index 36a20815..6423bb0b 100644 --- a/render/mod/gift.go +++ b/render/mod/gift.go @@ -1,8 +1,12 @@ +//go:build !nogift +// +build !nogift + package mod import ( "image" "image/color" + "math" "github.com/disintegration/gift" ) @@ -124,3 +128,17 @@ var Transpose = GiftTransform(gift.Transpose()) // Transverse flips vertically and rotates 90 degrees counter clockwise. var Transverse = GiftTransform(gift.Transverse()) + +// Scale returns a scaled rgba. +func Scale(xRatio, yRatio float64) Mod { + return func(rgba image.Image) *image.RGBA { + bounds := rgba.Bounds() + w := int(math.Floor(float64(bounds.Max.X) * xRatio)) + h := int(math.Floor(float64(bounds.Max.Y) * yRatio)) + filter := gift.New( + gift.Resize(w, h, gift.CubicResampling)) + dst := image.NewRGBA(filter.Bounds(rgba.Bounds())) + filter.Draw(dst, rgba) + return dst + } +} diff --git a/render/mod/mod.go b/render/mod/mod.go index 1ff484a6..295f3d4f 100644 --- a/render/mod/mod.go +++ b/render/mod/mod.go @@ -3,9 +3,6 @@ package mod import ( "image" "image/color" - "math" - - "github.com/disintegration/gift" ) // A Mod takes an image and returns that image transformed in some way. @@ -44,20 +41,6 @@ func SafeAnd(ms ...Mod) Mod { return And(ms...) } -// Scale returns a scaled rgba. -func Scale(xRatio, yRatio float64) Mod { - return func(rgba image.Image) *image.RGBA { - bounds := rgba.Bounds() - w := int(math.Floor(float64(bounds.Max.X) * xRatio)) - h := int(math.Floor(float64(bounds.Max.Y) * yRatio)) - filter := gift.New( - gift.Resize(w, h, gift.CubicResampling)) - dst := image.NewRGBA(filter.Bounds(rgba.Bounds())) - filter.Draw(dst, rgba) - return dst - } -} - // TrimColor will trim inputs so that any rows or columns where each pixel is // less than or equal to the input color are removed. This will change the dimensions // of the image. diff --git a/scene/transition.go b/scene/transition.go index 94818c1a..c6cf530f 100644 --- a/scene/transition.go +++ b/scene/transition.go @@ -14,20 +14,6 @@ var ( // Transition functions can be set to occur at the end of a scene. type Transition func(*image.RGBA, int) bool -// Fade is a scene transition that fades to black at a given rate for -// a total of 'frames' frames -func Fade(rate float32, frames int) func(*image.RGBA, int) bool { - rate *= -1 - return func(buf *image.RGBA, frame int) bool { - if frame > frames { - return false - } - i := float32(frame) - mod.Brighten(rate * i)(buf) - return true - } -} - // Zoom transitions by performing a simplistic zoom each frame towards some // percentange-based part of the screen. func Zoom(xPerc, yPerc float64, frames int, zoomRate float64) func(*image.RGBA, int) bool { diff --git a/scene/transition_gift.go b/scene/transition_gift.go new file mode 100644 index 00000000..706af4cd --- /dev/null +++ b/scene/transition_gift.go @@ -0,0 +1,24 @@ +//go:build !nogift +// +build !nogift + +package scene + +import ( + "image" + + "github.com/oakmound/oak/v3/render/mod" +) + +// Fade is a scene transition that fades to black at a given rate for +// a total of 'frames' frames +func Fade(rate float32, frames int) func(*image.RGBA, int) bool { + rate *= -1 + return func(buf *image.RGBA, frame int) bool { + if frame > frames { + return false + } + i := float32(frame) + mod.Brighten(rate * i)(buf) + return true + } +} From 3007222fc273724c7153fc767006a054312ca690 Mon Sep 17 00:00:00 2001 From: Patrick Stephen Date: Sat, 16 Apr 2022 13:26:07 -0500 Subject: [PATCH 16/36] scene: add DoEachFrame helper method --- examples/text-demos/color-changing-text-demo/main.go | 4 +--- scene/context.go | 8 ++++++++ scene/transition.go | 8 ++------ shake/shake.go | 2 +- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/examples/text-demos/color-changing-text-demo/main.go b/examples/text-demos/color-changing-text-demo/main.go index 13e7927d..cce2e41c 100644 --- a/examples/text-demos/color-changing-text-demo/main.go +++ b/examples/text-demos/color-changing-text-demo/main.go @@ -7,7 +7,6 @@ import ( "strconv" "github.com/oakmound/oak/v3/alg/range/floatrange" - "github.com/oakmound/oak/v3/event" "image" @@ -63,7 +62,7 @@ func main() { render.Draw(font2.NewText("g", 280, 260), 0) render.Draw(font2.NewText("b", 400, 260), 0) - event.GlobalBind(ctx, event.Enter, func(_ event.EnterPayload) event.Response { + ctx.DoEachFrame(func(){ r = limit.EnforceRange(r + diff.Poll()) g = limit.EnforceRange(g + diff.Poll()) b = limit.EnforceRange(b + diff.Poll()) @@ -75,7 +74,6 @@ func main() { 255, }, ) - return 0 }) }, }) diff --git a/scene/context.go b/scene/context.go index 07c394d7..1485fa1a 100644 --- a/scene/context.go +++ b/scene/context.go @@ -31,3 +31,11 @@ type Context struct { CollisionTree *collision.Tree KeyState *key.State } + +// DoEachFrame is a helper method to call a function on each frame for the duration of this scene. +func (ctx *Context) DoEachFrame(f func()) { + event.GlobalBind(ctx, event.Enter, func(_ event.EnterPayload) event.Response { + f() + return 0 + }) +} diff --git a/scene/transition.go b/scene/transition.go index c6cf530f..8b125ea1 100644 --- a/scene/transition.go +++ b/scene/transition.go @@ -7,22 +7,18 @@ import ( "github.com/oakmound/oak/v3/render/mod" ) -var ( - zeroPoint = image.Point{X: 0, Y: 0} -) - // Transition functions can be set to occur at the end of a scene. type Transition func(*image.RGBA, int) bool // Zoom transitions by performing a simplistic zoom each frame towards some -// percentange-based part of the screen. +// percentage-based part of the screen. func Zoom(xPerc, yPerc float64, frames int, zoomRate float64) func(*image.RGBA, int) bool { return func(buf *image.RGBA, frame int) bool { if frame > frames { return false } z := mod.Zoom(xPerc, yPerc, 1+zoomRate*float64(frame)) - draw.Draw(buf, buf.Bounds(), z(buf), zeroPoint, draw.Src) + draw.Draw(buf, buf.Bounds(), z(buf), image.ZP, draw.Src) return true } } diff --git a/shake/shake.go b/shake/shake.go index 5309de9a..85461755 100644 --- a/shake/shake.go +++ b/shake/shake.go @@ -26,7 +26,7 @@ type Shaker struct { } var ( - // DefaultShaker is the global default shaker, used when ShakeScreen is called. + // DefaultShaker is the global default shaker, used when shake.Screen or shake.Shake are called. DefaultShaker = &Shaker{ Random: false, Magnitude: floatgeom.Point2{3.0, 3.0}, From 4f0c09c70065ef0e8705ed724e44129913272423 Mon Sep 17 00:00:00 2001 From: Patrick Stephen Date: Sat, 16 Apr 2022 19:13:21 -0500 Subject: [PATCH 17/36] alg/range: overhaul to alg/span with generics --- alg/intgeom/rect.go | 86 ++++++++++++++-- alg/range/colorrange/linear.go | 57 ----------- alg/range/colorrange/range.go | 13 --- alg/range/doc.go | 2 - alg/range/floatrange/constant.go | 30 ------ alg/range/floatrange/constant_test.go | 32 ------ alg/range/floatrange/infinite.go | 31 ------ alg/range/floatrange/infinite_test.go | 26 ----- alg/range/floatrange/linear.go | 73 -------------- alg/range/floatrange/linear_test.go | 69 ------------- alg/range/floatrange/range.go | 10 -- alg/range/intrange/constant.go | 30 ------ alg/range/intrange/constant_test.go | 32 ------ alg/range/intrange/infinite.go | 34 ------- alg/range/intrange/infinite_test.go | 26 ----- alg/range/intrange/linear.go | 70 ------------- alg/range/intrange/range.go | 10 -- alg/span/builtin.go | 98 +++++++++++++++++++ .../linear_test.go => span/builtin_test.go} | 41 ++++++-- alg/span/color.go | 57 +++++++++++ .../linear_test.go => span/color_test.go} | 18 ++-- alg/span/doc.go | 2 + alg/{range => span}/internal/random/rand.go | 0 alg/span/span.go | 19 ++++ collision/ray/raycast_test.go | 4 +- collision/tree_test.go | 10 +- examples/clipboard/go.mod | 5 +- examples/clipboard/go.sum | 14 +-- examples/fallback-font/go.mod | 5 +- examples/fallback-font/go.sum | 14 +-- examples/flappy-bird/main.go | 8 +- examples/particle-demo/main.go | 41 ++++---- examples/slide/main.go | 13 ++- examples/svg/go.mod | 5 +- examples/svg/go.sum | 14 +-- .../color-changing-text-demo/main.go | 9 +- .../text-demos/continual-text-demo/main.go | 6 +- go.mod | 2 +- go.sum | 3 +- render/line.go | 6 +- render/particle/colorGenerator.go | 26 ++--- render/particle/color_test.go | 9 +- render/particle/generator.go | 27 ++--- render/particle/gradientGenerator.go | 2 +- render/particle/gradient_test.go | 19 ++-- render/particle/options.go | 21 ++-- render/particle/source_test.go | 19 ++-- render/particle/spriteGenerator.go | 14 +-- render/particle/sprite_test.go | 7 +- render/polygon.go | 4 +- render/sprite_test.go | 9 +- 51 files changed, 432 insertions(+), 750 deletions(-) delete mode 100644 alg/range/colorrange/linear.go delete mode 100644 alg/range/colorrange/range.go delete mode 100644 alg/range/doc.go delete mode 100644 alg/range/floatrange/constant.go delete mode 100644 alg/range/floatrange/constant_test.go delete mode 100644 alg/range/floatrange/infinite.go delete mode 100644 alg/range/floatrange/infinite_test.go delete mode 100644 alg/range/floatrange/linear.go delete mode 100644 alg/range/floatrange/linear_test.go delete mode 100644 alg/range/floatrange/range.go delete mode 100644 alg/range/intrange/constant.go delete mode 100644 alg/range/intrange/constant_test.go delete mode 100644 alg/range/intrange/infinite.go delete mode 100644 alg/range/intrange/infinite_test.go delete mode 100644 alg/range/intrange/linear.go delete mode 100644 alg/range/intrange/range.go create mode 100644 alg/span/builtin.go rename alg/{range/intrange/linear_test.go => span/builtin_test.go} (64%) create mode 100644 alg/span/color.go rename alg/{range/colorrange/linear_test.go => span/color_test.go} (62%) create mode 100644 alg/span/doc.go rename alg/{range => span}/internal/random/rand.go (100%) create mode 100644 alg/span/span.go diff --git a/alg/intgeom/rect.go b/alg/intgeom/rect.go index 1ccac0b9..896bbf2d 100644 --- a/alg/intgeom/rect.go +++ b/alg/intgeom/rect.go @@ -1,5 +1,11 @@ package intgeom +import ( + "math/rand" + + "github.com/oakmound/oak/v3/alg/span" +) + // A Rect2 represents a span from one point in 2D space to another. // If Min is less than max on any axis, it will return undefined results // for methods. @@ -327,18 +333,82 @@ func (r Rect2) Intersects(r2 Rect2) bool { (r2.Max.Y() <= r.Min.Y() || r.Max.Y() <= r2.Min.Y())) } +func (r Rect2) MulConst(i int) Rect2 { + return Rect2{ + r.Min.MulConst(i), + r.Max.MulConst(i), + } +} + +// Poll returns a pseudorandom point from within this rectangle +func (r Rect2) Poll() Point2 { + return Point2{ + r.Min.X() + int(rand.Float64()*float64(r.W())), + r.Min.Y() + int(rand.Float64()*float64(r.H())), + } +} + // Clamp returns a version of the provided point such that it is contained within r. If it was already contained in // r, it will not be changed. func (r Rect2) Clamp(pt Point2) Point2 { - if pt.X() < r.Min[0] { - pt[0] = r.Min[0] - } else if pt.X() > r.Max[0] { - pt[0] = r.Max[0] + for i := 0; i < r.MaxDimensions(); i++ { + if pt[i] < r.Min[i] { + pt[i] = r.Min[i] + } else if pt[i] > r.Max[i] { + pt[i] = r.Max[i] + } } - if pt.Y() < r.Min[1] { - pt[1] = r.Min[1] - } else if pt.Y() > r.Max[1] { - pt[1] = r.Max[1] + return pt +} + +func (r Rect2) Percentile(f float64) Point2 { + return Point2{ + r.Min.X() + int(f*float64(r.W())), + r.Min.Y() + int(f*float64(r.H())), + } +} + +func (r Rect2) MulSpan(f float64) span.Span[Point2] { + return r.MulConst(int(f)) +} + +func (r Rect3) MulConst(i int) Rect3 { + return Rect3{ + r.Min.MulConst(i), + r.Max.MulConst(i), + } +} + +// Poll returns a pseudorandom point from within this rectangle +func (r Rect3) Poll() Point3 { + return Point3{ + r.Min.X() + int(rand.Float64()*float64(r.W())), + r.Min.Y() + int(rand.Float64()*float64(r.H())), + r.Min.Z() + int(rand.Float64()*float64(r.D())), + } +} + +// Clamp returns a version of the provided point such that it is contained within r. If it was already contained in +// r, it will not be changed. +func (r Rect3) Clamp(pt Point3) Point3 { + for i := 0; i < r.MaxDimensions(); i++ { + if pt[i] < r.Min[i] { + pt[i] = r.Min[i] + } else if pt[i] > r.Max[i] { + pt[i] = r.Max[i] + } } return pt } + +func (r Rect3) Percentile(f float64) Point3 { + return Point3{ + r.Min.X() + int(f*float64(r.W())), + r.Min.Y() + int(f*float64(r.H())), + r.Min.Z() + int(f*float64(r.D())), + } +} + +func (r Rect3) MulSpan(f float64) span.Span[Point3] { + return r.MulConst(int(f)) +} diff --git a/alg/range/colorrange/linear.go b/alg/range/colorrange/linear.go deleted file mode 100644 index 5dcc1940..00000000 --- a/alg/range/colorrange/linear.go +++ /dev/null @@ -1,57 +0,0 @@ -package colorrange - -import ( - "image/color" - - "github.com/oakmound/oak/v3/alg/range/intrange" -) - -// linear color ranges return colors on a linear distribution -type linear struct { - r, g, b, a intrange.Range -} - -// NewLinear returns a linear color distribution between min and maxColor -func NewLinear(minColor, maxColor color.Color) Range { - r, g, b, a := minColor.RGBA() - r2, g2, b2, a2 := maxColor.RGBA() - return linear{ - intrange.NewLinear(int(r), int(r2)), - intrange.NewLinear(int(g), int(g2)), - intrange.NewLinear(int(b), int(b2)), - intrange.NewLinear(int(a), int(a2)), - } -} - -// EnforceRange rounds the input color's components so that they fall in the -// given range. -func (l linear) EnforceRange(c color.Color) color.Color { - r3, g3, b3, a3 := c.RGBA() - r4 := l.r.EnforceRange(int(r3)) - g4 := l.g.EnforceRange(int(g3)) - b4 := l.b.EnforceRange(int(b3)) - a4 := l.a.EnforceRange(int(a3)) - return rgbaFromInts(r4, g4, b4, a4) -} - -// Poll returns a randomly chosen color in the bounds of this color range -func (l linear) Poll() color.Color { - r3 := l.r.Poll() - g3 := l.g.Poll() - b3 := l.b.Poll() - a3 := l.a.Poll() - return rgbaFromInts(r3, g3, b3, a3) -} - -// Percentile returns a color f percent along the color range -func (l linear) Percentile(f float64) color.Color { - r3 := l.r.Percentile(f) - g3 := l.g.Percentile(f) - b3 := l.b.Percentile(f) - a3 := l.a.Percentile(f) - return rgbaFromInts(r3, g3, b3, a3) -} - -func rgbaFromInts(r, g, b, a int) color.RGBA { - return color.RGBA{uint8(r / 257), uint8(g / 257), uint8(b / 257), uint8(a / 257)} -} diff --git a/alg/range/colorrange/range.go b/alg/range/colorrange/range.go deleted file mode 100644 index d609a7bd..00000000 --- a/alg/range/colorrange/range.go +++ /dev/null @@ -1,13 +0,0 @@ -// Package colorrange provides distributions that accept and return color.Colors. -package colorrange - -import ( - "image/color" -) - -// Range represents a range of colors -type Range interface { - Poll() color.Color - EnforceRange(color.Color) color.Color - Percentile(f float64) color.Color -} diff --git a/alg/range/doc.go b/alg/range/doc.go deleted file mode 100644 index 4e789fe0..00000000 --- a/alg/range/doc.go +++ /dev/null @@ -1,2 +0,0 @@ -// Package range provides helper constructs to represent ranges of values, to poll from or clamp to -package arange diff --git a/alg/range/floatrange/constant.go b/alg/range/floatrange/constant.go deleted file mode 100644 index a2514a48..00000000 --- a/alg/range/floatrange/constant.go +++ /dev/null @@ -1,30 +0,0 @@ -package floatrange - -// constant is a range that represents some constant float -type constant float64 - -// NewConstant returns a range that will always poll to return f -func NewConstant(f float64) Range { - return constant(f) -} - -// Poll returns the float behind the constant -func (c constant) Poll() float64 { - return float64(c) -} - -// Mult scales the constant by f -func (c constant) Mult(f float64) Range { - c = constant(float64(c) * f) - return c -} - -// EnforceRange returns the float behind the constant -func (c constant) EnforceRange(float64) float64 { - return float64(c) -} - -// Percentile returns the float behind the constant -func (c constant) Percentile(float64) float64 { - return float64(c) -} diff --git a/alg/range/floatrange/constant_test.go b/alg/range/floatrange/constant_test.go deleted file mode 100644 index cfeebc9c..00000000 --- a/alg/range/floatrange/constant_test.go +++ /dev/null @@ -1,32 +0,0 @@ -package floatrange - -import ( - "math/rand" - "testing" - "time" -) - -func TestConstant(t *testing.T) { - rand.Seed(time.Now().Unix()) - const testCount = 100 - const maxInt = 100000 - const minInt = -100000 - for i := 0; i < testCount; i++ { - val := rand.Float64()*(maxInt-minInt) + minInt - cons := NewConstant(val) - if cons.Poll() != val { - t.Fatal("Constant.Poll did not return initialized value") - } - magnitude := rand.Float64() - cons2 := cons.Mult(magnitude) - if cons2.Poll() != float64(val)*magnitude { - t.Fatal("Constant.Mult result did not match expected Poll") - } - if cons.EnforceRange(rand.Float64()*(maxInt-minInt)+minInt) != val { - t.Fatal("Constant.EnforceRange did not return initialized value") - } - if cons.Percentile(rand.Float64()) != val { - t.Fatal("Constant.Percentile did not return initialized value") - } - } -} diff --git a/alg/range/floatrange/infinite.go b/alg/range/floatrange/infinite.go deleted file mode 100644 index 725bf402..00000000 --- a/alg/range/floatrange/infinite.go +++ /dev/null @@ -1,31 +0,0 @@ -package floatrange - -import "math" - -// Infinite is an immutable range that will always return math.MaxFloat64 -type Infinite struct{} - -// NewInfinite returns an infinite. -func NewInfinite() Range { - return Infinite{} -} - -// Poll returns MaxFloat64 on an infinite -func (i Infinite) Poll() float64 { - return math.MaxFloat64 -} - -// Mult returns an infinite from an infinite. -func (i Infinite) Mult(f float64) Range { - return i -} - -// EnforceRange returns math.MaxFloat64 -func (i Infinite) EnforceRange(f float64) float64 { - return math.MaxFloat64 -} - -// Percentile returns the float behind the constant -func (i Infinite) Percentile(float64) float64 { - return math.MaxFloat64 -} diff --git a/alg/range/floatrange/infinite_test.go b/alg/range/floatrange/infinite_test.go deleted file mode 100644 index 0f7e81b2..00000000 --- a/alg/range/floatrange/infinite_test.go +++ /dev/null @@ -1,26 +0,0 @@ -package floatrange - -import ( - "math" - "math/rand" - "testing" - "time" -) - -func TestInfinite(t *testing.T) { - rand.Seed(time.Now().Unix()) - inf := NewInfinite() - if inf.Poll() != math.MaxFloat64 { - t.Fatal("infinite.Poll did not return math.MaxFloat64") - } - inf2 := inf.Mult(rand.Float64()) - if inf2 != inf { - t.Fatal("base infinite did not match multiplied infinite") - } - if inf.EnforceRange(rand.Float64()*10000) != math.MaxFloat64 { - t.Fatal("infinite.EnforceRange did not return math.MaxFloat64") - } - if inf.Percentile(rand.Float64()) != math.MaxFloat64 { - t.Fatal("infinite.Percentile did not return math.MaxFloat64") - } -} diff --git a/alg/range/floatrange/linear.go b/alg/range/floatrange/linear.go deleted file mode 100644 index ce24e1b4..00000000 --- a/alg/range/floatrange/linear.go +++ /dev/null @@ -1,73 +0,0 @@ -package floatrange - -import ( - "math/rand" - - "github.com/oakmound/oak/v3/alg/range/internal/random" -) - -// NewSpread returns a linear range from base-spread to base+spread -func NewSpread(base, spread float64) Range { - if spread == 0 { - return constant(base) - } - return linear{ - Min: base - spread, - Max: base + spread, - rng: random.Rand(), - } -} - -// NewLinear returns a linear range from min to max -func NewLinear(min, max float64) Range { - if max == min { - return constant(min) - } - flipped := false - if max < min { - max, min = min, max - flipped = true - } - return linear{ - Min: min, - Max: max, - rng: random.Rand(), - flipped: flipped, - } -} - -// linear is a range from min to max -type linear struct { - Max, Min float64 - rng *rand.Rand - flipped bool -} - -// Poll on a linear float range returns a float at uniform -// distribution in lfr's range -func (lfr linear) Poll() float64 { - return ((lfr.Max - lfr.Min) * lfr.rng.Float64()) + lfr.Min -} - -// Mult scales a Linear by f -func (lfr linear) Mult(f float64) Range { - lfr.Max *= f - lfr.Min *= f - return lfr -} - -// EnforceRange returns f, if is within the range, or the closest value -// in the range to f. -func (lfr linear) EnforceRange(f float64) float64 { - if f < lfr.Min { - return lfr.Min - } else if f > lfr.Max { - return lfr.Max - } - return f -} - -// Percentile returns the fth percentile value along this range -func (lfr linear) Percentile(f float64) float64 { - return ((lfr.Max - lfr.Min) * f) + lfr.Min -} diff --git a/alg/range/floatrange/linear_test.go b/alg/range/floatrange/linear_test.go deleted file mode 100644 index e881a7b6..00000000 --- a/alg/range/floatrange/linear_test.go +++ /dev/null @@ -1,69 +0,0 @@ -package floatrange - -import ( - "math/rand" - "testing" - "time" -) - -func TestNewLinear_Constant(t *testing.T) { - linear := NewLinear(1, 1) - if _, ok := linear.(constant); !ok { - t.Fatalf("NewLinear with no variance did not create constant") - } -} - -func TestNewSpread_Constant(t *testing.T) { - linear := NewSpread(1, 0) - if _, ok := linear.(constant); !ok { - t.Fatalf("NewSpread with no spread did not create constant") - } -} - -func TestNewSpread(t *testing.T) { - linear := NewSpread(10, -10).(linear) - if linear.flipped { - t.Fatalf("new spread should not produce flipped linear range") - } -} - -func TestLinear(t *testing.T) { - rand.Seed(time.Now().Unix()) - const testCount = 100 - const maxInt = 100000 - const minInt = -100000 - for i := 0; i < testCount; i++ { - min := rand.Float64()*(maxInt-minInt) + minInt - max := rand.Float64()*(maxInt-minInt) + minInt - linear := NewLinear(min, max) - if max < min { - min, max = max, min - } - poll := linear.Poll() - if poll < min || poll > max { - t.Fatal("Linear.Poll did not return a value in its range") - } - magnitude := rand.Float64() - linear2 := linear.Mult(magnitude) - poll2 := linear2.Poll() - if poll2 < float64(min)*magnitude || poll2 > float64(max)*magnitude { - t.Fatal("Linear.Mult result did not match expected Poll") - } - underMin := (rand.Float64()*(maxInt-minInt) + minInt) - (maxInt - minInt) - if linear.EnforceRange(underMin) != min { - t.Fatal("Linear.EnforceRange under min did not return min") - } - overMax := (rand.Float64()*(maxInt-minInt) + minInt) + (maxInt - minInt) - if linear.EnforceRange(overMax) != max { - t.Fatal("Linear.EnforceRange over max did not return max") - } - within := rand.Float64()*(max-min) + min - if linear.EnforceRange(within) != within { - t.Fatal("Linear.EnforceRange within range did not return input") - } - percent := rand.Float64() - if linear.Percentile(percent) != min+float64((max-min))*percent { - t.Fatal("Linear.Percentile did not return percentile value") - } - } -} diff --git a/alg/range/floatrange/range.go b/alg/range/floatrange/range.go deleted file mode 100644 index cafb2ae1..00000000 --- a/alg/range/floatrange/range.go +++ /dev/null @@ -1,10 +0,0 @@ -// Package floatrange provides distributions that accept and return float64s. -package floatrange - -// Range represents a range of floating point numbers -type Range interface { - Poll() float64 - Mult(f float64) Range - EnforceRange(f float64) float64 - Percentile(f float64) float64 -} diff --git a/alg/range/intrange/constant.go b/alg/range/intrange/constant.go deleted file mode 100644 index a0fcdc4c..00000000 --- a/alg/range/intrange/constant.go +++ /dev/null @@ -1,30 +0,0 @@ -package intrange - -// NewConstant returns a range which will always return the input constant -func NewConstant(i int) Range { - return constant(i) -} - -// constant implements Range as a poll -// which always returns the same integer. -type constant int - -// Poll returns c cast to an int -func (c constant) Poll() int { - return int(c) -} - -// Mult returns this range scaled by i -func (c constant) Mult(i float64) Range { - return constant(int(float64(int(c)) * i)) -} - -// EnforceRange on a constant must return the constant -func (c constant) EnforceRange(int) int { - return int(c) -} - -// Percentile can only return the constant itself -func (c constant) Percentile(float64) int { - return int(c) -} diff --git a/alg/range/intrange/constant_test.go b/alg/range/intrange/constant_test.go deleted file mode 100644 index 34c7f9d6..00000000 --- a/alg/range/intrange/constant_test.go +++ /dev/null @@ -1,32 +0,0 @@ -package intrange - -import ( - "math/rand" - "testing" - "time" -) - -func TestConstant(t *testing.T) { - rand.Seed(time.Now().Unix()) - const testCount = 100 - const maxInt = 100000 - const minInt = -100000 - for i := 0; i < testCount; i++ { - val := rand.Intn(maxInt-minInt) + minInt - cons := NewConstant(val) - if cons.Poll() != val { - t.Fatal("Constant.Poll did not return initialized value") - } - magnitude := rand.Float64() - cons2 := cons.Mult(magnitude) - if cons2.Poll() != int(float64(val)*magnitude) { - t.Fatal("Constant.Mult result did not match expected Poll") - } - if cons.EnforceRange(rand.Intn(maxInt)) != val { - t.Fatal("Constant.EnforceRange did not return initialized value") - } - if cons.Percentile(rand.Float64()) != val { - t.Fatal("Constant.Percentile did not return initialized value") - } - } -} diff --git a/alg/range/intrange/infinite.go b/alg/range/intrange/infinite.go deleted file mode 100644 index 7d494e10..00000000 --- a/alg/range/intrange/infinite.go +++ /dev/null @@ -1,34 +0,0 @@ -package intrange - -import ( - "math" -) - -// NewInfinite returns a range which will always return math.MaxInt32 and -// is unchangeable. -func NewInfinite() Range { - return Infinite{} -} - -// Infinite is a immutable range which always polls math.MaxInt32 -type Infinite struct{} - -// Poll returns math.MaxInt32 on Infinites. -func (inf Infinite) Poll() int { - return math.MaxInt32 -} - -// Mult does nothing to Infinites. -func (inf Infinite) Mult(i float64) Range { - return inf -} - -// EnforceRange for an Infinite returns Infinite -func (inf Infinite) EnforceRange(i int) int { - return math.MaxInt32 -} - -// Percentile can only return math.MaxInt32 -func (inf Infinite) Percentile(float64) int { - return math.MaxInt32 -} diff --git a/alg/range/intrange/infinite_test.go b/alg/range/intrange/infinite_test.go deleted file mode 100644 index 1d4eaefc..00000000 --- a/alg/range/intrange/infinite_test.go +++ /dev/null @@ -1,26 +0,0 @@ -package intrange - -import ( - "math" - "math/rand" - "testing" - "time" -) - -func TestInfinite(t *testing.T) { - rand.Seed(time.Now().Unix()) - inf := NewInfinite() - if inf.Poll() != math.MaxInt32 { - t.Fatal("infinite.Poll did not return math.MaxInt32") - } - inf2 := inf.Mult(rand.Float64()) - if inf2 != inf { - t.Fatal("base infinite did not match multiplied infinite") - } - if inf.EnforceRange(rand.Intn(10000)) != math.MaxInt32 { - t.Fatal("infinite.EnforceRange did not return math.MaxInt32") - } - if inf.Percentile(rand.Float64()) != math.MaxInt32 { - t.Fatal("infinite.Percentile did not return math.MaxInt32") - } -} diff --git a/alg/range/intrange/linear.go b/alg/range/intrange/linear.go deleted file mode 100644 index 367e23cd..00000000 --- a/alg/range/intrange/linear.go +++ /dev/null @@ -1,70 +0,0 @@ -package intrange - -import ( - "math/rand" - - "github.com/oakmound/oak/v3/alg/range/internal/random" -) - -// NewLinear returns a linear range between min and max -func NewLinear(min, max int) Range { - if max == min { - return constant(min) - } - flipped := false - if max < min { - max, min = min, max - flipped = true - } - return linear{ - min: min, - max: max, - rng: random.Rand(), - flipped: flipped, - } -} - -// NewSpread returns a linear range from base - s to base + s -func NewSpread(base, spread int) Range { - if spread == 0 { - return constant(base) - } - if spread < 0 { - spread *= -1 - } - return linear{base - spread, base + spread, random.Rand(), false} -} - -// linear polls on a linear scale between a minimum and a maximum -type linear struct { - min, max int - rng *rand.Rand - flipped bool -} - -func (lir linear) Poll() int { - return int(float64(lir.max-lir.min)*lir.rng.Float64()) + lir.min -} - -func (lir linear) Mult(i float64) Range { - lir.max = int(float64(lir.max) * i) - lir.min = int(float64(lir.min) * i) - return lir -} - -func (lir linear) EnforceRange(i int) int { - if i < lir.min { - return lir.min - } else if i > lir.max { - return lir.max - } - return i -} - -func (lir linear) Percentile(f float64) int { - diff := float64(lir.max-lir.min) * f // 0 - 255 * .1 = -25 + 255 = 230 // 255 - 0 * .1 = 25 - if lir.flipped { - return lir.max - int(diff) - } - return lir.min + int(diff) -} diff --git a/alg/range/intrange/range.go b/alg/range/intrange/range.go deleted file mode 100644 index 7cee8427..00000000 --- a/alg/range/intrange/range.go +++ /dev/null @@ -1,10 +0,0 @@ -// Package intrange provides distributions that return ints. -package intrange - -// Range represents a range of integer numbers -type Range interface { - Poll() int - Mult(float64) Range - EnforceRange(int) int - Percentile(float64) int -} diff --git a/alg/span/builtin.go b/alg/span/builtin.go new file mode 100644 index 00000000..8e0666f7 --- /dev/null +++ b/alg/span/builtin.go @@ -0,0 +1,98 @@ +package span + +import ( + "math/rand" + + "github.com/oakmound/oak/v3/alg/span/internal/random" + "golang.org/x/exp/constraints" +) + +// A Spanable must be usable in basic arithmetic-- addition, subtraction, and multiplication. +type Spanable interface { + constraints.Float | constraints.Integer +} + +// NewConstant returns a span where the minimum and maximum are both i. Poll, Percentile, and Clamp will always return i. +func NewConstant[T Spanable](i T) Span[T] { + return constant[T]{i} +} + +type constant[T Spanable] struct { + val T +} + +func (c constant[T]) Poll() T { + return c.val +} + +func (c constant[T]) MulSpan(i float64) Span[T] { + return constant[T]{T(float64(c.val) * i)} +} + +func (c constant[T]) Clamp(T) T { + return c.val +} + +func (c constant[T]) Percentile(float64) T { + return c.val +} + +// NewLinear returns a linear span between min and max. The linearity implies that no point in the span is preferred, +// and Percentile will scale in a constant fashion from min to max. +func NewLinear[T Spanable](min, max T) Span[T] { + if max == min { + return constant[T]{min} + } + flipped := false + if max < min { + max, min = min, max + flipped = true + } + return linear[T]{ + min: min, + max: max, + rng: random.Rand(), + flipped: flipped, + } +} + +// NewSpread returns a linear span from base-spread to base+spread. +func NewSpread[T Spanable](base, spread T) Span[T] { + if spread < 0 { + return NewLinear(base+spread, base-spread) + } + return NewLinear(base-spread, base+spread) +} + +type linear[T Spanable] struct { + min, max T + rng *rand.Rand + flipped bool +} + +func (lir linear[T]) Poll() T { + return T(float64(lir.max-lir.min)*lir.rng.Float64()) + lir.min +} + +func (lir linear[T]) MulSpan(i float64) Span[T] { + lir.max = T(float64(lir.max) * i) + lir.min = T(float64(lir.min) * i) + return lir +} + +func (lir linear[T]) Clamp(i T) T { + if i < lir.min { + return lir.min + } else if i > lir.max { + return lir.max + } + return i +} + +func (lir linear[T]) Percentile(f float64) T { + diff := float64(lir.max-lir.min) * f // 0 - 255 * .1 = -25 + 255 = 230 // 255 - 0 * .1 = 25 + if lir.flipped { + return lir.max - T(diff) + } + return lir.min + T(diff) +} diff --git a/alg/range/intrange/linear_test.go b/alg/span/builtin_test.go similarity index 64% rename from alg/range/intrange/linear_test.go rename to alg/span/builtin_test.go index 20c0fc87..4dda1e49 100644 --- a/alg/range/intrange/linear_test.go +++ b/alg/span/builtin_test.go @@ -1,4 +1,4 @@ -package intrange +package span import ( "math/rand" @@ -8,20 +8,20 @@ import ( func TestNewLinear_Constant(t *testing.T) { linear := NewLinear(1, 1) - if _, ok := linear.(constant); !ok { + if _, ok := linear.(constant[int]); !ok { t.Fatalf("NewLinear with no variance did not create constant") } } func TestNewSpread_Constant(t *testing.T) { linear := NewSpread(1, 0) - if _, ok := linear.(constant); !ok { + if _, ok := linear.(constant[int]); !ok { t.Fatalf("NewSpread with no spread did not create constant") } } func TestNewSpread(t *testing.T) { - linear := NewSpread(10, -10).(linear) + linear := NewSpread[float32](10, -10).(linear[float32]) if linear.flipped { t.Fatalf("new spread should not produce flipped linear range") } @@ -46,21 +46,21 @@ func TestLinear(t *testing.T) { t.Fatal("Linear.Poll did not return a value in its range") } magnitude := rand.Float64() - linear2 := linear.Mult(magnitude) + linear2 := linear.MulSpan(magnitude) poll2 := linear2.Poll() if poll2 < int(float64(min)*magnitude) || poll2 > int(float64(max)*magnitude) { t.Fatal("Linear.Mult result did not match expected Poll") } underMin := (rand.Intn(maxInt-minInt) + minInt) - (maxInt - minInt) - if linear.EnforceRange(underMin) != min { + if linear.Clamp(underMin) != min { t.Fatal("Linear.EnforceRange under min did not return min") } overMax := (rand.Intn(maxInt-minInt) + minInt) + (maxInt - minInt) - if linear.EnforceRange(overMax) != max { + if linear.Clamp(overMax) != max { t.Fatal("Linear.EnforceRange over max did not return max") } within := rand.Intn(max-min) + min - if linear.EnforceRange(within) != within { + if linear.Clamp(within) != within { t.Fatal("Linear.EnforceRange within range did not return input") } percent := rand.Float64() @@ -75,3 +75,28 @@ func TestLinear(t *testing.T) { } } } + +func TestConstant(t *testing.T) { + rand.Seed(time.Now().Unix()) + const testCount = 100 + const maxInt = 100000 + const minInt = -100000 + for i := 0; i < testCount; i++ { + val := rand.Intn(maxInt-minInt) + minInt + cons := NewConstant(val) + if cons.Poll() != val { + t.Fatal("Constant.Poll did not return initialized value") + } + magnitude := rand.Float64() + cons2 := cons.MulSpan(magnitude) + if cons2.Poll() != int(float64(val)*magnitude) { + t.Fatal("Constant.Mult result did not match expected Poll") + } + if cons.Clamp(rand.Intn(maxInt)) != val { + t.Fatal("Constant.EnforceRange did not return initialized value") + } + if cons.Percentile(rand.Float64()) != val { + t.Fatal("Constant.Percentile did not return initialized value") + } + } +} diff --git a/alg/span/color.go b/alg/span/color.go new file mode 100644 index 00000000..0d670059 --- /dev/null +++ b/alg/span/color.go @@ -0,0 +1,57 @@ +package span + +import "image/color" + +type linearColor struct { + r, g, b, a Span[uint32] +} + +// NewLinearColor returns a linear color distribution between min and maxColor +func NewLinearColor(minColor, maxColor color.Color) Span[color.Color] { + r, g, b, a := minColor.RGBA() + r2, g2, b2, a2 := maxColor.RGBA() + return linearColor{ + NewLinear(r, r2), + NewLinear(g, g2), + NewLinear(b, b2), + NewLinear(a, a2), + } +} + +func (l linearColor) Clamp(c color.Color) color.Color { + r3, g3, b3, a3 := c.RGBA() + r4 := l.r.Clamp(r3) + g4 := l.g.Clamp(g3) + b4 := l.b.Clamp(b3) + a4 := l.a.Clamp(a3) + return rgbaFromInts(r4, g4, b4, a4) +} + +func (l linearColor) MulSpan(i float64) Span[color.Color] { + return linearColor{ + l.r.MulSpan(i), + l.g.MulSpan(i), + l.b.MulSpan(i), + l.a.MulSpan(i), + } +} + +func (l linearColor) Poll() color.Color { + r3 := l.r.Poll() + g3 := l.g.Poll() + b3 := l.b.Poll() + a3 := l.a.Poll() + return rgbaFromInts(r3, g3, b3, a3) +} + +func (l linearColor) Percentile(f float64) color.Color { + r3 := l.r.Percentile(f) + g3 := l.g.Percentile(f) + b3 := l.b.Percentile(f) + a3 := l.a.Percentile(f) + return rgbaFromInts(r3, g3, b3, a3) +} + +func rgbaFromInts(r, g, b, a uint32) color.RGBA { + return color.RGBA{uint8(r / 257), uint8(g / 257), uint8(b / 257), uint8(a / 257)} +} diff --git a/alg/range/colorrange/linear_test.go b/alg/span/color_test.go similarity index 62% rename from alg/range/colorrange/linear_test.go rename to alg/span/color_test.go index 561da66c..99ded583 100644 --- a/alg/range/colorrange/linear_test.go +++ b/alg/span/color_test.go @@ -1,4 +1,4 @@ -package colorrange +package span import ( "image/color" @@ -6,8 +6,8 @@ import ( "testing" ) -func TestLinear(t *testing.T) { - rng := NewLinear(color.RGBA{255, 255, 255, 255}, color.RGBA{255, 255, 255, 255}) +func TestLinearColor(t *testing.T) { + rng := NewLinearColor(color.RGBA{255, 255, 255, 255}, color.RGBA{255, 255, 255, 255}) if rng.Poll() != (color.RGBA{255, 255, 255, 255}) { t.Fatal("false linear range did not return only possible value on Poll") } @@ -16,7 +16,7 @@ func TestLinear(t *testing.T) { t.Fatal("false linear range did not return only possible value on Percentile") } } - rng = NewLinear(color.RGBA{0, 0, 0, 255}, color.RGBA{255, 255, 255, 255}) + rng = NewLinearColor(color.RGBA{0, 0, 0, 255}, color.RGBA{255, 255, 255, 255}) for i := 0.0; i < 255; i++ { p := i / 255 uinti := uint8(i) @@ -24,7 +24,7 @@ func TestLinear(t *testing.T) { t.Fatal("linear color range did not return appropriate scaled color, bottom to top") } } - rng = NewLinear(color.RGBA{255, 255, 255, 255}, color.RGBA{0, 0, 0, 255}) + rng = NewLinearColor(color.RGBA{255, 255, 255, 255}, color.RGBA{0, 0, 0, 255}) for i := 255.0; i > 0; i-- { p := (255 - i) / 255 uinti := uint8(i) @@ -32,14 +32,14 @@ func TestLinear(t *testing.T) { t.Fatal("linear color range did not return appropriate scaled color, top to bottom") } } - rng = NewLinear(color.RGBA{125, 125, 125, 125}, color.RGBA{200, 200, 200, 200}) - if rng.EnforceRange(color.RGBA{100, 100, 100, 100}) != (color.RGBA{125, 125, 125, 125}) { + rng = NewLinearColor(color.RGBA{125, 125, 125, 125}, color.RGBA{200, 200, 200, 200}) + if rng.Clamp(color.RGBA{100, 100, 100, 100}) != (color.RGBA{125, 125, 125, 125}) { t.Fatal("linear color range did not enforce minimum color") } - if rng.EnforceRange(color.RGBA{225, 225, 225, 225}) != (color.RGBA{200, 200, 200, 200}) { + if rng.Clamp(color.RGBA{225, 225, 225, 225}) != (color.RGBA{200, 200, 200, 200}) { t.Fatal("linear color range did not enforce maximum color") } - if rng.EnforceRange(color.RGBA{175, 175, 175, 175}) != (color.RGBA{175, 175, 175, 175}) { + if rng.Clamp(color.RGBA{175, 175, 175, 175}) != (color.RGBA{175, 175, 175, 175}) { t.Fatal("linear color range did not pass through value within range") } } diff --git a/alg/span/doc.go b/alg/span/doc.go new file mode 100644 index 00000000..efec8b41 --- /dev/null +++ b/alg/span/doc.go @@ -0,0 +1,2 @@ +// Package span provides helper constructs to represent ranges of values, to poll from or clamp to +package span diff --git a/alg/range/internal/random/rand.go b/alg/span/internal/random/rand.go similarity index 100% rename from alg/range/internal/random/rand.go rename to alg/span/internal/random/rand.go diff --git a/alg/span/span.go b/alg/span/span.go new file mode 100644 index 00000000..b339bee2 --- /dev/null +++ b/alg/span/span.go @@ -0,0 +1,19 @@ +package span + +// A Span represents some enumerable range. +type Span[T any] interface { + // Poll returns a pseudorandom value within this span. + Poll() T + // Clamp, if v lies within the boundary of this span, returns v. + // Otherwise, CLamp returns a modified version of v that is rounded to the closest value + // that does lie within the boundary of this span. + Clamp(v T) T + // Percentile returns the value along this span that is at the provided percentile through the span, + // e.g. providing .5 will return the middle of the span, providing 1 will return the maximum value in + // the span. Providing a value less than 0 or greater than 1 may extend the span by where it would theoretically + // progress, but should not be relied upon unless a given implementation specifies what it will do. If this span + // represents multiple degrees of freedom, this will pin all those degrees to the single provided percent. + Percentile(float64) T + // MulSpan returns this span with its entire range multiplied by the given constant. + MulSpan(float64) Span[T] +} diff --git a/collision/ray/raycast_test.go b/collision/ray/raycast_test.go index 2060d0fc..ce2ae5c2 100644 --- a/collision/ray/raycast_test.go +++ b/collision/ray/raycast_test.go @@ -4,14 +4,14 @@ import ( "testing" "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/alg/range/floatrange" + "github.com/oakmound/oak/v3/alg/span" "github.com/oakmound/oak/v3/collision" ) func TestEmptyRaycasts(t *testing.T) { t.Skip() collision.DefaultTree.Clear() - vRange := floatrange.NewLinear(3, 359) + vRange := span.NewLinear(3.0, 359.0) tests := 100 for i := 0; i < tests; i++ { p1 := floatgeom.Point2{vRange.Poll(), vRange.Poll()} diff --git a/collision/tree_test.go b/collision/tree_test.go index 26f025a9..2f380524 100644 --- a/collision/tree_test.go +++ b/collision/tree_test.go @@ -5,7 +5,7 @@ import ( "testing" "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/alg/range/floatrange" + "github.com/oakmound/oak/v3/alg/span" ) func TestNewTreeInvalidChildren(t *testing.T) { @@ -150,8 +150,8 @@ func randomSpace() *Space { } var ( - xRange = floatrange.NewLinear(0, 10000) - yRange = floatrange.NewLinear(0, 10000) - wRange = floatrange.NewLinear(1, 50) - hRange = floatrange.NewLinear(1, 50) + xRange = span.NewLinear(0.0, 10000.0) + yRange = span.NewLinear(0.0, 10000.0) + wRange = span.NewLinear(1.0, 50.0) + hRange = span.NewLinear(1.0, 50.0) ) diff --git a/examples/clipboard/go.mod b/examples/clipboard/go.mod index e0670ea7..36dd7c92 100644 --- a/examples/clipboard/go.mod +++ b/examples/clipboard/go.mod @@ -12,17 +12,14 @@ require ( github.com/BurntSushi/xgb v0.0.0-20210121224620-deaf085860bc // indirect github.com/BurntSushi/xgbutil v0.0.0-20190907113008-ad855c713046 // indirect github.com/disintegration/gift v1.2.1 // indirect - github.com/eaburns/bit v0.0.0-20131029213740-7bd5cd37375d // indirect - github.com/eaburns/flac v0.0.0-20171003200620-9a6fb92396d1 // indirect github.com/go-gl/glfw/v3.3/glfw v0.0.0-20220320163800-277f93cfa958 // indirect github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect - github.com/hajimehoshi/go-mp3 v0.3.2 // indirect github.com/jfreymuth/pulse v0.1.0 // indirect github.com/oakmound/alsa v0.0.2 // indirect github.com/oakmound/libudev v0.2.1 // indirect github.com/oakmound/w32 v2.1.0+incompatible // indirect github.com/oov/directsound-go v0.0.0-20141101201356-e53e59c700bf // indirect - golang.org/x/exp v0.0.0-20190731235908-ec7cb31e5a56 // indirect + golang.org/x/exp v0.0.0-20220414153411-bcd21879b8fd // indirect golang.org/x/image v0.0.0-20220321031419-a8550c1d254a // indirect golang.org/x/mobile v0.0.0-20220325161704-447654d348e3 // indirect golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect diff --git a/examples/clipboard/go.sum b/examples/clipboard/go.sum index 22b7be7c..31afb773 100644 --- a/examples/clipboard/go.sum +++ b/examples/clipboard/go.sum @@ -9,17 +9,10 @@ github.com/atotto/clipboard v0.1.4 h1:EH0zSVneZPSuFR11BlR9YppQTVDbh5+16AmcJi4g1z github.com/atotto/clipboard v0.1.4/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI= github.com/disintegration/gift v1.2.1 h1:Y005a1X4Z7Uc+0gLpSAsKhWi4qLtsdEcMIbbdvdZ6pc= github.com/disintegration/gift v1.2.1/go.mod h1:Jh2i7f7Q2BM7Ezno3PhfezbR1xpUg9dUg3/RlKGr4HI= -github.com/eaburns/bit v0.0.0-20131029213740-7bd5cd37375d h1:HB5J9+f1xpkYLgWQ/RqEcbp3SEufyOIMYLoyKNKiG7E= -github.com/eaburns/bit v0.0.0-20131029213740-7bd5cd37375d/go.mod h1:CHkHWWZ4kbGY6jEy1+qlitDaCtRgNvCOQdakj/1Yl/Q= -github.com/eaburns/flac v0.0.0-20171003200620-9a6fb92396d1 h1:wl/ggSfTHqAy46hyzw1IlrUYwjqmXYvbJyPdH3rT7YE= -github.com/eaburns/flac v0.0.0-20171003200620-9a6fb92396d1/go.mod h1:frG94byMNy+1CgGrQ25dZ+17tf98EN+OYBQL4Zh612M= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20220320163800-277f93cfa958 h1:TL70PMkdPCt9cRhKTqsm+giRpgrd0IGEj763nNr2VFY= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20220320163800-277f93cfa958/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= -github.com/hajimehoshi/go-mp3 v0.3.2 h1:xSYNE2F3lxtOu9BRjCWHHceg7S91IHfXfXp5+LYQI7s= -github.com/hajimehoshi/go-mp3 v0.3.2/go.mod h1:qMJj/CSDxx6CGHiZeCgbiq2DSUkbK0UbtXShQcnfyMM= -github.com/hajimehoshi/oto v0.6.1/go.mod h1:0QXGEkbuJRohbJaxr7ZQSxnju7hEhseiPx2hrh6raOI= github.com/jfreymuth/pulse v0.1.0 h1:KN38/9hoF9PJvP5DpEVhMRKNuwnJUonc8c9ARorRXUA= github.com/jfreymuth/pulse v0.1.0/go.mod h1:cpYspI6YljhkUf1WLXLLDmeaaPFc3CnGLjDZf9dZ4no= github.com/oakmound/alsa v0.0.2 h1:JbOUckkJqVvhABth7qy2JgAjqsWuBPggyoYOk1L6eK0= @@ -34,15 +27,14 @@ github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190731235908-ec7cb31e5a56 h1:estk1glOnSVeJ9tdEZZc5mAMDZk5lNJNyJ6DvrBkTEU= golang.org/x/exp v0.0.0-20190731235908-ec7cb31e5a56/go.mod h1:JhuoJpWY28nO4Vef9tZUw9qufEGTyX1+7lmHxV5q5G4= +golang.org/x/exp v0.0.0-20220414153411-bcd21879b8fd h1:zVFyTKZN/Q7mNRWSs1GOYnHM9NiFSJ54YVRsD0rNWT4= +golang.org/x/exp v0.0.0-20220414153411-bcd21879b8fd/go.mod h1:lgLbSvA5ygNOMpwM/9anMpWVlVJ7Z+cHWq/eFuinpGE= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20220321031419-a8550c1d254a h1:LnH9RNcpPv5Kzi15lXg42lYMPUf0x8CuPv1YnvBWZAg= golang.org/x/image v0.0.0-20220321031419-a8550c1d254a/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190415191353-3e0bab5405d6/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mobile v0.0.0-20220325161704-447654d348e3 h1:ZDL7hDvJEQEcHVkoZawKmRUgbqn1pOIzb8EinBh5csU= golang.org/x/mobile v0.0.0-20220325161704-447654d348e3/go.mod h1:pe2sM7Uk+2Su1y7u/6Z8KJ24D7lepUjFZbhFOrmDfuQ= golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= @@ -55,9 +47,7 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190429190828-d89cdac9e872/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= diff --git a/examples/fallback-font/go.mod b/examples/fallback-font/go.mod index cb22a8de..9d13c9f9 100644 --- a/examples/fallback-font/go.mod +++ b/examples/fallback-font/go.mod @@ -12,17 +12,14 @@ require ( github.com/BurntSushi/xgb v0.0.0-20210121224620-deaf085860bc // indirect github.com/BurntSushi/xgbutil v0.0.0-20190907113008-ad855c713046 // indirect github.com/disintegration/gift v1.2.1 // indirect - github.com/eaburns/bit v0.0.0-20131029213740-7bd5cd37375d // indirect - github.com/eaburns/flac v0.0.0-20171003200620-9a6fb92396d1 // indirect github.com/go-gl/glfw/v3.3/glfw v0.0.0-20220320163800-277f93cfa958 // indirect github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect - github.com/hajimehoshi/go-mp3 v0.3.2 // indirect github.com/jfreymuth/pulse v0.1.0 // indirect github.com/oakmound/alsa v0.0.2 // indirect github.com/oakmound/libudev v0.2.1 // indirect github.com/oakmound/w32 v2.1.0+incompatible // indirect github.com/oov/directsound-go v0.0.0-20141101201356-e53e59c700bf // indirect - golang.org/x/exp v0.0.0-20190731235908-ec7cb31e5a56 // indirect + golang.org/x/exp v0.0.0-20220414153411-bcd21879b8fd // indirect golang.org/x/image v0.0.0-20220321031419-a8550c1d254a // indirect golang.org/x/mobile v0.0.0-20220325161704-447654d348e3 // indirect golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect diff --git a/examples/fallback-font/go.sum b/examples/fallback-font/go.sum index 5a424fe2..a0a089a6 100644 --- a/examples/fallback-font/go.sum +++ b/examples/fallback-font/go.sum @@ -7,19 +7,12 @@ github.com/BurntSushi/xgbutil v0.0.0-20190907113008-ad855c713046 h1:O/r2Sj+8QcMF github.com/BurntSushi/xgbutil v0.0.0-20190907113008-ad855c713046/go.mod h1:uw9h2sd4WWHOPdJ13MQpwK5qYWKYDumDqxWWIknEQ+k= github.com/disintegration/gift v1.2.1 h1:Y005a1X4Z7Uc+0gLpSAsKhWi4qLtsdEcMIbbdvdZ6pc= github.com/disintegration/gift v1.2.1/go.mod h1:Jh2i7f7Q2BM7Ezno3PhfezbR1xpUg9dUg3/RlKGr4HI= -github.com/eaburns/bit v0.0.0-20131029213740-7bd5cd37375d h1:HB5J9+f1xpkYLgWQ/RqEcbp3SEufyOIMYLoyKNKiG7E= -github.com/eaburns/bit v0.0.0-20131029213740-7bd5cd37375d/go.mod h1:CHkHWWZ4kbGY6jEy1+qlitDaCtRgNvCOQdakj/1Yl/Q= -github.com/eaburns/flac v0.0.0-20171003200620-9a6fb92396d1 h1:wl/ggSfTHqAy46hyzw1IlrUYwjqmXYvbJyPdH3rT7YE= -github.com/eaburns/flac v0.0.0-20171003200620-9a6fb92396d1/go.mod h1:frG94byMNy+1CgGrQ25dZ+17tf98EN+OYBQL4Zh612M= github.com/flopp/go-findfont v0.0.0-20201114153133-e7393a00c15b h1:/wqXgpZNTP8qV1dPEApjJXlDQd5N/F9U/WEvy5SawUI= github.com/flopp/go-findfont v0.0.0-20201114153133-e7393a00c15b/go.mod h1:wKKxRDjD024Rh7VMwoU90i6ikQRCr+JTHB5n4Ejkqvw= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20220320163800-277f93cfa958 h1:TL70PMkdPCt9cRhKTqsm+giRpgrd0IGEj763nNr2VFY= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20220320163800-277f93cfa958/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= -github.com/hajimehoshi/go-mp3 v0.3.2 h1:xSYNE2F3lxtOu9BRjCWHHceg7S91IHfXfXp5+LYQI7s= -github.com/hajimehoshi/go-mp3 v0.3.2/go.mod h1:qMJj/CSDxx6CGHiZeCgbiq2DSUkbK0UbtXShQcnfyMM= -github.com/hajimehoshi/oto v0.6.1/go.mod h1:0QXGEkbuJRohbJaxr7ZQSxnju7hEhseiPx2hrh6raOI= github.com/jfreymuth/pulse v0.1.0 h1:KN38/9hoF9PJvP5DpEVhMRKNuwnJUonc8c9ARorRXUA= github.com/jfreymuth/pulse v0.1.0/go.mod h1:cpYspI6YljhkUf1WLXLLDmeaaPFc3CnGLjDZf9dZ4no= github.com/oakmound/alsa v0.0.2 h1:JbOUckkJqVvhABth7qy2JgAjqsWuBPggyoYOk1L6eK0= @@ -34,15 +27,14 @@ github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190731235908-ec7cb31e5a56 h1:estk1glOnSVeJ9tdEZZc5mAMDZk5lNJNyJ6DvrBkTEU= golang.org/x/exp v0.0.0-20190731235908-ec7cb31e5a56/go.mod h1:JhuoJpWY28nO4Vef9tZUw9qufEGTyX1+7lmHxV5q5G4= +golang.org/x/exp v0.0.0-20220414153411-bcd21879b8fd h1:zVFyTKZN/Q7mNRWSs1GOYnHM9NiFSJ54YVRsD0rNWT4= +golang.org/x/exp v0.0.0-20220414153411-bcd21879b8fd/go.mod h1:lgLbSvA5ygNOMpwM/9anMpWVlVJ7Z+cHWq/eFuinpGE= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20220321031419-a8550c1d254a h1:LnH9RNcpPv5Kzi15lXg42lYMPUf0x8CuPv1YnvBWZAg= golang.org/x/image v0.0.0-20220321031419-a8550c1d254a/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190415191353-3e0bab5405d6/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mobile v0.0.0-20220325161704-447654d348e3 h1:ZDL7hDvJEQEcHVkoZawKmRUgbqn1pOIzb8EinBh5csU= golang.org/x/mobile v0.0.0-20220325161704-447654d348e3/go.mod h1:pe2sM7Uk+2Su1y7u/6Z8KJ24D7lepUjFZbhFOrmDfuQ= golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= @@ -55,9 +47,7 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190429190828-d89cdac9e872/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= diff --git a/examples/flappy-bird/main.go b/examples/flappy-bird/main.go index 3aa814f3..6916b6d0 100644 --- a/examples/flappy-bird/main.go +++ b/examples/flappy-bird/main.go @@ -5,7 +5,7 @@ import ( "time" "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/alg/range/floatrange" + "github.com/oakmound/oak/v3/alg/span" "github.com/oakmound/oak/v3/mouse" oak "github.com/oakmound/oak/v3" @@ -35,7 +35,7 @@ func main() { // 1. Make Player newFlappy(ctx, 90, 140) // 2. Make scrolling repeating pillars - pillarFreq := floatrange.NewLinear(1, 5) + pillarFreq := span.NewLinear(1.0, 5.0) var pillarLoop func() pillarLoop = func() { newPillarPair(ctx) @@ -92,8 +92,8 @@ func newFlappy(ctx *scene.Context, x, y float64) { } var ( - gapPosition = floatrange.NewLinear(10, 370) - gapSpan = floatrange.NewLinear(100, 250) + gapPosition = span.NewLinear(10.0, 370.0) + gapSpan = span.NewLinear(100.0, 250.0) ) func newPillarPair(ctx *scene.Context) { diff --git a/examples/particle-demo/main.go b/examples/particle-demo/main.go index 238f9d87..43782294 100644 --- a/examples/particle-demo/main.go +++ b/examples/particle-demo/main.go @@ -8,8 +8,7 @@ import ( oak "github.com/oakmound/oak/v3" "github.com/oakmound/oak/v3/alg" - "github.com/oakmound/oak/v3/alg/range/floatrange" - "github.com/oakmound/oak/v3/alg/range/intrange" + "github.com/oakmound/oak/v3/alg/span" "github.com/oakmound/oak/v3/debugstream" "github.com/oakmound/oak/v3/event" "github.com/oakmound/oak/v3/mouse" @@ -80,9 +79,9 @@ func main() { return oakerr.UnsupportedFormat{Format: err.Error()}.Error() } if !two { - src.Generator.(pt.Sizeable).SetSize(intrange.NewConstant(f1)) + src.Generator.(pt.Sizeable).SetSize(span.NewConstant(f1)) } else { - src.Generator.(pt.Sizeable).SetSize(intrange.NewLinear(f1, f2)) + src.Generator.(pt.Sizeable).SetSize(span.NewLinear(f1, f2)) } return "" @@ -94,9 +93,9 @@ func main() { return oakerr.UnsupportedFormat{Format: err.Error()}.Error() } if !two { - src.Generator.(pt.Sizeable).SetEndSize(intrange.NewConstant(f1)) + src.Generator.(pt.Sizeable).SetEndSize(span.NewConstant(f1)) } else { - src.Generator.(pt.Sizeable).SetEndSize(intrange.NewLinear(f1, f2)) + src.Generator.(pt.Sizeable).SetEndSize(span.NewLinear(f1, f2)) } return "" }}) @@ -107,9 +106,9 @@ func main() { return oakerr.UnsupportedFormat{Format: err.Error()}.Error() } if !two { - src.Generator.GetBaseGenerator().NewPerFrame = floatrange.NewConstant(npf) + src.Generator.GetBaseGenerator().NewPerFrame = span.NewConstant(npf) } else { - src.Generator.GetBaseGenerator().NewPerFrame = floatrange.NewLinear(npf, npf2) + src.Generator.GetBaseGenerator().NewPerFrame = span.NewLinear(npf, npf2) } return "" }}) @@ -120,9 +119,9 @@ func main() { return oakerr.UnsupportedFormat{Format: err.Error()}.Error() } if !two { - src.Generator.GetBaseGenerator().LifeSpan = floatrange.NewConstant(npf) + src.Generator.GetBaseGenerator().LifeSpan = span.NewConstant(npf) } else { - src.Generator.GetBaseGenerator().LifeSpan = floatrange.NewLinear(npf, npf2) + src.Generator.GetBaseGenerator().LifeSpan = span.NewLinear(npf, npf2) } return "" }}) @@ -133,9 +132,9 @@ func main() { return oakerr.UnsupportedFormat{Format: err.Error()}.Error() } if !two { - src.Generator.GetBaseGenerator().Rotation = floatrange.NewConstant(npf) + src.Generator.GetBaseGenerator().Rotation = span.NewConstant(npf) } else { - src.Generator.GetBaseGenerator().Rotation = floatrange.NewLinear(npf, npf2) + src.Generator.GetBaseGenerator().Rotation = span.NewLinear(npf, npf2) } return "" }}) @@ -146,9 +145,9 @@ func main() { return oakerr.UnsupportedFormat{Format: err.Error()}.Error() } if !two { - src.Generator.GetBaseGenerator().Angle = floatrange.NewConstant(npf * alg.DegToRad) + src.Generator.GetBaseGenerator().Angle = span.NewConstant(npf * alg.DegToRad) } else { - src.Generator.GetBaseGenerator().Angle = floatrange.NewLinear(npf*alg.DegToRad, npf2*alg.DegToRad) + src.Generator.GetBaseGenerator().Angle = span.NewLinear(npf*alg.DegToRad, npf2*alg.DegToRad) } return "" }}) @@ -159,9 +158,9 @@ func main() { return oakerr.UnsupportedFormat{Format: err.Error()}.Error() } if !two { - src.Generator.GetBaseGenerator().Speed = floatrange.NewConstant(npf) + src.Generator.GetBaseGenerator().Speed = span.NewConstant(npf) } else { - src.Generator.GetBaseGenerator().Speed = floatrange.NewLinear(npf, npf2) + src.Generator.GetBaseGenerator().Speed = span.NewLinear(npf, npf2) } return "" }}) @@ -271,11 +270,11 @@ func main() { render.Draw(render.NewDrawFPS(0, nil, 10, 10)) x := 320.0 y := 240.0 - newPf := floatrange.NewLinear(1, 2) - life := floatrange.NewLinear(100, 120) - angle := floatrange.NewLinear(0, 360) - speed := floatrange.NewLinear(1, 5) - size := intrange.NewConstant(1) + newPf := span.NewLinear(1.0, 2.0) + life := span.NewLinear(100.0, 120.0) + angle := span.NewLinear(0.0, 360.0) + speed := span.NewLinear(1.0, 5.0) + size := span.NewConstant(1) layerFn := func(v physics.Vector) int { return 1 } diff --git a/examples/slide/main.go b/examples/slide/main.go index a41ce638..3254f38a 100644 --- a/examples/slide/main.go +++ b/examples/slide/main.go @@ -6,8 +6,7 @@ import ( "image/color" "log" - "github.com/oakmound/oak/v3/alg/range/floatrange" - "github.com/oakmound/oak/v3/alg/range/intrange" + "github.com/oakmound/oak/v3/alg/span" "github.com/oakmound/oak/v3/render/mod" "github.com/oakmound/oak/v3/render/particle" @@ -458,12 +457,12 @@ func addParticles(i int, sslides []*static.Slide) { sslides[i].Append(show.Title("Particles")) sslides[i].OnClick = func() { go particle.NewColorGenerator( - particle.Size(intrange.NewConstant(4)), - particle.EndSize(intrange.NewConstant(7)), - particle.Angle(floatrange.NewLinear(0, 359)), + particle.Size(span.NewConstant(4)), + particle.EndSize(span.NewConstant(7)), + particle.Angle(span.NewLinear(0, 359)), particle.Pos(width/2, height/2), - particle.Speed(floatrange.NewSpread(5, 2)), - particle.NewPerFrame(floatrange.NewSpread(5, 5)), + particle.Speed(span.NewSpread(5, 2)), + particle.NewPerFrame(span.NewSpread(5, 5)), particle.Color( color.RGBA{0, 0, 0, 255}, color.RGBA{0, 0, 0, 0}, color.RGBA{255, 255, 255, 255}, color.RGBA{0, 0, 0, 0}, diff --git a/examples/svg/go.mod b/examples/svg/go.mod index 366c5323..1b5782d2 100644 --- a/examples/svg/go.mod +++ b/examples/svg/go.mod @@ -13,17 +13,14 @@ require ( github.com/BurntSushi/xgb v0.0.0-20210121224620-deaf085860bc // indirect github.com/BurntSushi/xgbutil v0.0.0-20190907113008-ad855c713046 // indirect github.com/disintegration/gift v1.2.1 // indirect - github.com/eaburns/bit v0.0.0-20131029213740-7bd5cd37375d // indirect - github.com/eaburns/flac v0.0.0-20171003200620-9a6fb92396d1 // indirect github.com/go-gl/glfw/v3.3/glfw v0.0.0-20220320163800-277f93cfa958 // indirect github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect - github.com/hajimehoshi/go-mp3 v0.3.2 // indirect github.com/jfreymuth/pulse v0.1.0 // indirect github.com/oakmound/alsa v0.0.2 // indirect github.com/oakmound/libudev v0.2.1 // indirect github.com/oakmound/w32 v2.1.0+incompatible // indirect github.com/oov/directsound-go v0.0.0-20141101201356-e53e59c700bf // indirect - golang.org/x/exp v0.0.0-20190731235908-ec7cb31e5a56 // indirect + golang.org/x/exp v0.0.0-20220414153411-bcd21879b8fd // indirect golang.org/x/image v0.0.0-20220321031419-a8550c1d254a // indirect golang.org/x/mobile v0.0.0-20220325161704-447654d348e3 // indirect golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d // indirect diff --git a/examples/svg/go.sum b/examples/svg/go.sum index 84a67c7d..5f8cb361 100644 --- a/examples/svg/go.sum +++ b/examples/svg/go.sum @@ -7,17 +7,10 @@ github.com/BurntSushi/xgbutil v0.0.0-20190907113008-ad855c713046 h1:O/r2Sj+8QcMF github.com/BurntSushi/xgbutil v0.0.0-20190907113008-ad855c713046/go.mod h1:uw9h2sd4WWHOPdJ13MQpwK5qYWKYDumDqxWWIknEQ+k= github.com/disintegration/gift v1.2.1 h1:Y005a1X4Z7Uc+0gLpSAsKhWi4qLtsdEcMIbbdvdZ6pc= github.com/disintegration/gift v1.2.1/go.mod h1:Jh2i7f7Q2BM7Ezno3PhfezbR1xpUg9dUg3/RlKGr4HI= -github.com/eaburns/bit v0.0.0-20131029213740-7bd5cd37375d h1:HB5J9+f1xpkYLgWQ/RqEcbp3SEufyOIMYLoyKNKiG7E= -github.com/eaburns/bit v0.0.0-20131029213740-7bd5cd37375d/go.mod h1:CHkHWWZ4kbGY6jEy1+qlitDaCtRgNvCOQdakj/1Yl/Q= -github.com/eaburns/flac v0.0.0-20171003200620-9a6fb92396d1 h1:wl/ggSfTHqAy46hyzw1IlrUYwjqmXYvbJyPdH3rT7YE= -github.com/eaburns/flac v0.0.0-20171003200620-9a6fb92396d1/go.mod h1:frG94byMNy+1CgGrQ25dZ+17tf98EN+OYBQL4Zh612M= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20220320163800-277f93cfa958 h1:TL70PMkdPCt9cRhKTqsm+giRpgrd0IGEj763nNr2VFY= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20220320163800-277f93cfa958/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= -github.com/hajimehoshi/go-mp3 v0.3.2 h1:xSYNE2F3lxtOu9BRjCWHHceg7S91IHfXfXp5+LYQI7s= -github.com/hajimehoshi/go-mp3 v0.3.2/go.mod h1:qMJj/CSDxx6CGHiZeCgbiq2DSUkbK0UbtXShQcnfyMM= -github.com/hajimehoshi/oto v0.6.1/go.mod h1:0QXGEkbuJRohbJaxr7ZQSxnju7hEhseiPx2hrh6raOI= github.com/jfreymuth/pulse v0.1.0 h1:KN38/9hoF9PJvP5DpEVhMRKNuwnJUonc8c9ARorRXUA= github.com/jfreymuth/pulse v0.1.0/go.mod h1:cpYspI6YljhkUf1WLXLLDmeaaPFc3CnGLjDZf9dZ4no= github.com/oakmound/alsa v0.0.2 h1:JbOUckkJqVvhABth7qy2JgAjqsWuBPggyoYOk1L6eK0= @@ -36,15 +29,14 @@ github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190731235908-ec7cb31e5a56 h1:estk1glOnSVeJ9tdEZZc5mAMDZk5lNJNyJ6DvrBkTEU= golang.org/x/exp v0.0.0-20190731235908-ec7cb31e5a56/go.mod h1:JhuoJpWY28nO4Vef9tZUw9qufEGTyX1+7lmHxV5q5G4= +golang.org/x/exp v0.0.0-20220414153411-bcd21879b8fd h1:zVFyTKZN/Q7mNRWSs1GOYnHM9NiFSJ54YVRsD0rNWT4= +golang.org/x/exp v0.0.0-20220414153411-bcd21879b8fd/go.mod h1:lgLbSvA5ygNOMpwM/9anMpWVlVJ7Z+cHWq/eFuinpGE= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20220321031419-a8550c1d254a h1:LnH9RNcpPv5Kzi15lXg42lYMPUf0x8CuPv1YnvBWZAg= golang.org/x/image v0.0.0-20220321031419-a8550c1d254a/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190415191353-3e0bab5405d6/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mobile v0.0.0-20220325161704-447654d348e3 h1:ZDL7hDvJEQEcHVkoZawKmRUgbqn1pOIzb8EinBh5csU= golang.org/x/mobile v0.0.0-20220325161704-447654d348e3/go.mod h1:pe2sM7Uk+2Su1y7u/6Z8KJ24D7lepUjFZbhFOrmDfuQ= golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= @@ -58,9 +50,7 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190429190828-d89cdac9e872/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= diff --git a/examples/text-demos/color-changing-text-demo/main.go b/examples/text-demos/color-changing-text-demo/main.go index cce2e41c..6d3425fb 100644 --- a/examples/text-demos/color-changing-text-demo/main.go +++ b/examples/text-demos/color-changing-text-demo/main.go @@ -6,11 +6,10 @@ import ( "path" "strconv" - "github.com/oakmound/oak/v3/alg/range/floatrange" - "image" oak "github.com/oakmound/oak/v3" + "github.com/oakmound/oak/v3/alg/span" "github.com/oakmound/oak/v3/render" "github.com/oakmound/oak/v3/scene" ) @@ -18,8 +17,8 @@ import ( var ( font *render.Font r, g, b float64 - diff = floatrange.NewSpread(0, 10) - limit = floatrange.NewLinear(0, 255) + diff = span.NewSpread(0.0, 10.0) + limit = span.NewLinear(0.0, 255.0) ) type floatStringer struct { @@ -62,7 +61,7 @@ func main() { render.Draw(font2.NewText("g", 280, 260), 0) render.Draw(font2.NewText("b", 400, 260), 0) - ctx.DoEachFrame(func(){ + ctx.DoEachFrame(func() { r = limit.EnforceRange(r + diff.Poll()) g = limit.EnforceRange(g + diff.Poll()) b = limit.EnforceRange(b + diff.Poll()) diff --git a/examples/text-demos/continual-text-demo/main.go b/examples/text-demos/continual-text-demo/main.go index 4799304d..3aba37db 100644 --- a/examples/text-demos/continual-text-demo/main.go +++ b/examples/text-demos/continual-text-demo/main.go @@ -4,7 +4,7 @@ import ( "image/color" "math/rand" - "github.com/oakmound/oak/v3/alg/range/floatrange" + "github.com/oakmound/oak/v3/alg/span" "github.com/oakmound/oak/v3/dlog" "github.com/oakmound/oak/v3/event" @@ -25,8 +25,8 @@ const ( var ( font *render.Font r, g, b float64 - diff = floatrange.NewSpread(0, 10) - limit = floatrange.NewLinear(0, 255) + diff = span.NewSpread(0.0, 10.0) + limit = span.NewLinear(0.0, 255.0) strs []*render.Text ) diff --git a/go.mod b/go.mod index 2b6b03bd..4a4d3f59 100644 --- a/go.mod +++ b/go.mod @@ -16,6 +16,7 @@ require ( github.com/oakmound/libudev v0.2.1 // linux, joystick github.com/oakmound/w32 v2.1.0+incompatible // windows, shiny github.com/oov/directsound-go v0.0.0-20141101201356-e53e59c700bf // windows, audio + golang.org/x/exp v0.0.0-20220414153411-bcd21879b8fd golang.org/x/image v0.0.0-20220321031419-a8550c1d254a golang.org/x/mobile v0.0.0-20220325161704-447654d348e3 golang.org/x/sync v0.0.0-20210220032951-036812b2e83c @@ -24,5 +25,4 @@ require ( require ( github.com/eaburns/bit v0.0.0-20131029213740-7bd5cd37375d // indirect - golang.org/x/exp v0.0.0-20190731235908-ec7cb31e5a56 // indirect ) diff --git a/go.sum b/go.sum index addc030d..4e184703 100644 --- a/go.sum +++ b/go.sum @@ -35,8 +35,9 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190731235908-ec7cb31e5a56 h1:estk1glOnSVeJ9tdEZZc5mAMDZk5lNJNyJ6DvrBkTEU= golang.org/x/exp v0.0.0-20190731235908-ec7cb31e5a56/go.mod h1:JhuoJpWY28nO4Vef9tZUw9qufEGTyX1+7lmHxV5q5G4= +golang.org/x/exp v0.0.0-20220414153411-bcd21879b8fd h1:zVFyTKZN/Q7mNRWSs1GOYnHM9NiFSJ54YVRsD0rNWT4= +golang.org/x/exp v0.0.0-20220414153411-bcd21879b8fd/go.mod h1:lgLbSvA5ygNOMpwM/9anMpWVlVJ7Z+cHWq/eFuinpGE= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20220321031419-a8550c1d254a h1:LnH9RNcpPv5Kzi15lXg42lYMPUf0x8CuPv1YnvBWZAg= diff --git a/render/line.go b/render/line.go index 09c8e217..accb0483 100644 --- a/render/line.go +++ b/render/line.go @@ -5,7 +5,7 @@ import ( "image/color" "math" - "github.com/oakmound/oak/v3/alg/range/colorrange" + "github.com/oakmound/oak/v3/alg/span" ) // Todo: @@ -30,7 +30,7 @@ func NewThickLine(x1, y1, x2, y2 float64, c color.Color, thickness int) *Sprite // NewGradientLine returns a Line that has some value of thickness along with a start and end color func NewGradientLine(x1, y1, x2, y2 float64, c1, c2 color.Color, thickness int) *Sprite { - colorer := colorrange.NewLinear(c1, c2).Percentile + colorer := span.NewLinearColor(c1, c2).Percentile return NewColoredLine(x1, y1, x2, y2, colorer, thickness) } @@ -57,7 +57,7 @@ func DrawThickLine(rgba *image.RGBA, x1, y1, x2, y2 int, c color.Color, thicknes //DrawGradientLine acts like DrawThickLine but also applies a gradient to the line func DrawGradientLine(rgba *image.RGBA, x1, y1, x2, y2 int, c1, c2 color.Color, thickness int) { - colorer := colorrange.NewLinear(c1, c2).Percentile + colorer := span.NewLinearColor(c1, c2).Percentile DrawLineColored(rgba, x1, y1, x2, y2, thickness, colorer) } diff --git a/render/particle/colorGenerator.go b/render/particle/colorGenerator.go index 4b22ceeb..cf5f9d2b 100644 --- a/render/particle/colorGenerator.go +++ b/render/particle/colorGenerator.go @@ -6,7 +6,7 @@ import ( "github.com/oakmound/oak/v3/alg" "github.com/oakmound/oak/v3/shape" - "github.com/oakmound/oak/v3/alg/range/intrange" + "github.com/oakmound/oak/v3/alg/span" ) // A ColorGenerator generates ColorParticles @@ -15,8 +15,8 @@ type ColorGenerator struct { StartColor, StartColorRand color.Color EndColor, EndColorRand color.Color // The size, in pixel radius, of spawned particles - Size intrange.Range - EndSize intrange.Range + Size span.Span[int] + EndSize span.Span[int] // // Some sort of particle type, for rendering triangles or squares or circles... Shape shape.Shape @@ -40,8 +40,8 @@ func (cg *ColorGenerator) setDefaults() { cg.StartColorRand = color.RGBA{0, 0, 0, 0} cg.EndColor = color.RGBA{0, 0, 0, 0} cg.EndColorRand = color.RGBA{0, 0, 0, 0} - cg.Size = intrange.NewConstant(1) - cg.EndSize = intrange.NewConstant(1) + cg.Size = span.NewConstant(1) + cg.EndSize = span.NewConstant(1) cg.Shape = shape.Square } @@ -49,7 +49,7 @@ func (cg *ColorGenerator) setDefaults() { func (cg *ColorGenerator) Generate(layer int) *Source { // Convert rotation from degrees to radians if cg.Rotation != nil { - cg.Rotation = cg.Rotation.Mult(alg.DegToRad) + cg.Rotation = cg.Rotation.MulSpan(alg.DegToRad) } return NewDefaultSource(cg, layer) } @@ -66,7 +66,7 @@ func (cg *ColorGenerator) GenerateParticle(bp *baseParticle) Particle { } // GetParticleSize on a color generator returns that the particles -// are per-particle specificially sized +// are per-particle specifically sized func (cg *ColorGenerator) GetParticleSize() (w float64, h float64, perParticle bool) { return 0, 0, true } @@ -92,12 +92,12 @@ func (cg *ColorGenerator) SetEndColor(ec, ecr color.Color) { // A Sizeable is a generator that can have some size set to it type Sizeable interface { - SetSize(i intrange.Range) - SetEndSize(i intrange.Range) + SetSize(i span.Span[int]) + SetEndSize(i span.Span[int]) } // Size is an option to set a Sizeable size -func Size(i intrange.Range) func(Generator) { +func Size(i span.Span[int]) func(Generator) { return func(g Generator) { if g2, ok := g.(Sizeable); ok { g2.SetSize(i) @@ -106,7 +106,7 @@ func Size(i intrange.Range) func(Generator) { } // EndSize sets the end size of a Sizeable -func EndSize(i intrange.Range) func(Generator) { +func EndSize(i span.Span[int]) func(Generator) { return func(g Generator) { if g2, ok := g.(Sizeable); ok { g2.SetEndSize(i) @@ -115,12 +115,12 @@ func EndSize(i intrange.Range) func(Generator) { } // SetSize satisfies Sizeable -func (cg *ColorGenerator) SetSize(i intrange.Range) { +func (cg *ColorGenerator) SetSize(i span.Span[int]) { cg.Size = i } // SetEndSize stasfies Sizeable -func (cg *ColorGenerator) SetEndSize(i intrange.Range) { +func (cg *ColorGenerator) SetEndSize(i span.Span[int]) { cg.EndSize = i } diff --git a/render/particle/color_test.go b/render/particle/color_test.go index 0ad2dcde..e4cf0101 100644 --- a/render/particle/color_test.go +++ b/render/particle/color_test.go @@ -5,18 +5,17 @@ import ( "image/color" "testing" - "github.com/oakmound/oak/v3/alg/range/floatrange" - "github.com/oakmound/oak/v3/alg/range/intrange" + "github.com/oakmound/oak/v3/alg/span" "github.com/oakmound/oak/v3/render" "github.com/oakmound/oak/v3/shape" ) func TestColorParticle(t *testing.T) { g := NewColorGenerator( - Rotation(floatrange.NewConstant(1)), + Rotation(span.NewConstant(1.0)), Color(color.RGBA{255, 0, 0, 255}, color.RGBA{255, 0, 0, 255}, color.RGBA{255, 0, 0, 255}, color.RGBA{255, 0, 0, 255}), - Size(intrange.NewConstant(5)), - EndSize(intrange.NewConstant(10)), + Size(span.NewConstant(5)), + EndSize(span.NewConstant(10)), Shape(shape.Heart), ) src := g.Generate(0) diff --git a/render/particle/generator.go b/render/particle/generator.go index 53299897..39cc89c5 100644 --- a/render/particle/generator.go +++ b/render/particle/generator.go @@ -1,14 +1,15 @@ package particle import ( - "github.com/oakmound/oak/v3/alg/range/floatrange" - "github.com/oakmound/oak/v3/alg/range/intrange" + "math" + + "github.com/oakmound/oak/v3/alg/span" "github.com/oakmound/oak/v3/physics" ) var ( // Inf represents Infinite duration - Inf = intrange.NewInfinite() + Inf = span.NewConstant(math.MaxInt32) ) // A Generator holds settings for generating particles @@ -33,14 +34,14 @@ type BaseGenerator struct { // to something along the lines of 'new per 30 frames', // or allow low fractional values to be meaningful, // so that more fine-tuned particle generation speeds are possible. - NewPerFrame floatrange.Range + NewPerFrame span.Span[float64] // The number of frames each particle should persist // before being removed. - LifeSpan floatrange.Range + LifeSpan span.Span[float64] // 0 - between quadrant 1 and 4 // 90 - between quadrant 2 and 1 - Angle floatrange.Range - Speed floatrange.Range + Angle span.Span[float64] + Speed span.Span[float64] Spread physics.Vector // Duration in milliseconds for the particle source. // After this many milliseconds have passed, it will @@ -48,9 +49,9 @@ type BaseGenerator struct { // not be removed until their individual lifespans run // out. // A duration of -1 represents never stopping. - Duration intrange.Range + Duration span.Span[int] // Rotational acceleration, to change angle over time - Rotation floatrange.Range + Rotation span.Span[float64] // Gravity X() and Gravity Y() represent particle acceleration per frame. Gravity physics.Vector SpeedDecay physics.Vector @@ -67,10 +68,10 @@ func (bg *BaseGenerator) GetBaseGenerator() *BaseGenerator { func (bg *BaseGenerator) setDefaults() { *bg = BaseGenerator{ Vector: physics.NewVector(0, 0), - NewPerFrame: floatrange.NewConstant(1), - LifeSpan: floatrange.NewConstant(60), - Angle: floatrange.NewConstant(0), - Speed: floatrange.NewConstant(1), + NewPerFrame: span.NewConstant(1.0), + LifeSpan: span.NewConstant(60.0), + Angle: span.NewConstant(0.0), + Speed: span.NewConstant(1.0), Spread: physics.NewVector(0, 0), Duration: Inf, Rotation: nil, diff --git a/render/particle/gradientGenerator.go b/render/particle/gradientGenerator.go index 405e3cac..79e09d5d 100644 --- a/render/particle/gradientGenerator.go +++ b/render/particle/gradientGenerator.go @@ -43,7 +43,7 @@ func (gg *GradientGenerator) setDefaults() { func (gg *GradientGenerator) Generate(layer int) *Source { // Convert rotation from degrees to radians if gg.Rotation != nil { - gg.Rotation = gg.Rotation.Mult(alg.DegToRad) + gg.Rotation = gg.Rotation.MulSpan(alg.DegToRad) } return NewDefaultSource(gg, layer) } diff --git a/render/particle/gradient_test.go b/render/particle/gradient_test.go index 244d9aa3..f5fb88c0 100644 --- a/render/particle/gradient_test.go +++ b/render/particle/gradient_test.go @@ -5,8 +5,7 @@ import ( "image/color" "testing" - "github.com/oakmound/oak/v3/alg/range/floatrange" - "github.com/oakmound/oak/v3/alg/range/intrange" + "github.com/oakmound/oak/v3/alg/span" "github.com/oakmound/oak/v3/physics" "github.com/oakmound/oak/v3/render" "github.com/oakmound/oak/v3/shape" @@ -14,22 +13,22 @@ import ( func TestGradientParticle(t *testing.T) { g := NewGradientGenerator( - Rotation(floatrange.NewConstant(1)), + Rotation(span.NewConstant(1.0)), Color(color.RGBA{255, 0, 0, 255}, color.RGBA{255, 0, 0, 255}, color.RGBA{255, 0, 0, 255}, color.RGBA{255, 0, 0, 255}), Color2(color.RGBA{255, 0, 0, 255}, color.RGBA{255, 0, 0, 255}, color.RGBA{255, 0, 0, 255}, color.RGBA{255, 0, 0, 255}), - Size(intrange.NewConstant(5)), - EndSize(intrange.NewConstant(10)), + Size(span.NewConstant(5)), + EndSize(span.NewConstant(10)), Shape(shape.Heart), Progress(render.HorizontalProgress), And( - NewPerFrame(floatrange.NewConstant(20)), + NewPerFrame(span.NewConstant(20.0)), ), Pos(20, 20), - LifeSpan(floatrange.NewConstant(10)), - Angle(floatrange.NewConstant(0)), - Speed(floatrange.NewConstant(0)), + LifeSpan(span.NewConstant(10.0)), + Angle(span.NewConstant(0.0)), + Speed(span.NewConstant(0.0)), Spread(10, 10), - Duration(intrange.NewConstant(10)), + Duration(span.NewConstant(10)), Gravity(10, 10), SpeedDecay(1, 1), End(func(_ Particle) {}), diff --git a/render/particle/options.go b/render/particle/options.go index 3b53f59e..a0115727 100644 --- a/render/particle/options.go +++ b/render/particle/options.go @@ -1,9 +1,10 @@ package particle import ( + "math" + "github.com/oakmound/oak/v3/alg" - "github.com/oakmound/oak/v3/alg/range/floatrange" - "github.com/oakmound/oak/v3/alg/range/intrange" + "github.com/oakmound/oak/v3/alg/span" "github.com/oakmound/oak/v3/physics" ) @@ -18,7 +19,7 @@ func And(as ...func(Generator)) func(Generator) { } // NewPerFrame sets how many particles should be produced per frame -func NewPerFrame(npf floatrange.Range) func(Generator) { +func NewPerFrame(npf span.Span[float64]) func(Generator) { return func(g Generator) { g.GetBaseGenerator().NewPerFrame = npf } @@ -32,7 +33,7 @@ func Pos(x, y float64) func(Generator) { } // LifeSpan sets how long a particle should last before dying -func LifeSpan(ls floatrange.Range) func(Generator) { +func LifeSpan(ls span.Span[float64]) func(Generator) { return func(g Generator) { g.GetBaseGenerator().LifeSpan = ls } @@ -41,19 +42,19 @@ func LifeSpan(ls floatrange.Range) func(Generator) { // InfiniteLifeSpan will set particles to never die over time. func InfiniteLifeSpan() func(Generator) { return func(g Generator) { - g.GetBaseGenerator().LifeSpan = floatrange.NewInfinite() + g.GetBaseGenerator().LifeSpan = span.NewConstant(math.MaxFloat64) } } // Angle sets the initial angle of a particle in degrees -func Angle(a floatrange.Range) func(Generator) { +func Angle(a span.Span[float64]) func(Generator) { return func(g Generator) { - g.GetBaseGenerator().Angle = a.Mult(alg.DegToRad) + g.GetBaseGenerator().Angle = a.MulSpan(alg.DegToRad) } } // Speed sets the initial speed of a particle -func Speed(s floatrange.Range) func(Generator) { +func Speed(s span.Span[float64]) func(Generator) { return func(g Generator) { g.GetBaseGenerator().Speed = s } @@ -67,14 +68,14 @@ func Spread(x, y float64) func(Generator) { } // Duration sets how long a generator should produce particles for -func Duration(i intrange.Range) func(Generator) { +func Duration(i span.Span[int]) func(Generator) { return func(g Generator) { g.GetBaseGenerator().Duration = i } } // Rotation rotates particles by a variable amount per frame -func Rotation(a floatrange.Range) func(Generator) { +func Rotation(a span.Span[float64]) func(Generator) { return func(g Generator) { g.GetBaseGenerator().Rotation = a } diff --git a/render/particle/source_test.go b/render/particle/source_test.go index 728d68d5..70dd4970 100644 --- a/render/particle/source_test.go +++ b/render/particle/source_test.go @@ -4,8 +4,7 @@ import ( "image/color" "testing" - "github.com/oakmound/oak/v3/alg/range/floatrange" - "github.com/oakmound/oak/v3/alg/range/intrange" + "github.com/oakmound/oak/v3/alg/span" "github.com/oakmound/oak/v3/event" "github.com/oakmound/oak/v3/physics" "github.com/oakmound/oak/v3/render" @@ -14,25 +13,25 @@ import ( func TestSource(t *testing.T) { g := NewGradientGenerator( - Rotation(floatrange.NewConstant(1)), + Rotation(span.NewConstant(1.0)), Color(color.RGBA{255, 0, 0, 255}, color.RGBA{255, 0, 0, 255}, color.RGBA{255, 0, 0, 255}, color.RGBA{255, 0, 0, 255}), Color2(color.RGBA{255, 0, 0, 255}, color.RGBA{255, 0, 0, 255}, color.RGBA{255, 0, 0, 255}, color.RGBA{255, 0, 0, 255}), - Size(intrange.NewConstant(5)), - EndSize(intrange.NewConstant(10)), + Size(span.NewConstant(5)), + EndSize(span.NewConstant(10)), Shape(shape.Heart), Progress(render.HorizontalProgress), And( - NewPerFrame(floatrange.NewConstant(200)), + NewPerFrame(span.NewConstant(200.0)), ), Pos(20, 20), - LifeSpan(floatrange.NewConstant(10)), + LifeSpan(span.NewConstant(10.0)), Limit(2047), - Angle(floatrange.NewConstant(0)), - Speed(floatrange.NewConstant(0)), + Angle(span.NewConstant(0.0)), + Speed(span.NewConstant(0.0)), Spread(10, 10), - Duration(intrange.NewConstant(10)), + Duration(span.NewConstant(10)), Gravity(10, 10), SpeedDecay(1, 1), End(func(_ Particle) {}), diff --git a/render/particle/spriteGenerator.go b/render/particle/spriteGenerator.go index 111b6102..9c5a5cd4 100644 --- a/render/particle/spriteGenerator.go +++ b/render/particle/spriteGenerator.go @@ -1,7 +1,7 @@ package particle import ( - "github.com/oakmound/oak/v3/alg/range/floatrange" + "github.com/oakmound/oak/v3/alg/span" "github.com/oakmound/oak/v3/alg" "github.com/oakmound/oak/v3/render" @@ -10,7 +10,7 @@ import ( // A SpriteGenerator generate SpriteParticles type SpriteGenerator struct { BaseGenerator - SpriteRotation floatrange.Range + SpriteRotation span.Span[float64] Base *render.Sprite } @@ -28,14 +28,14 @@ func NewSpriteGenerator(options ...func(Generator)) Generator { func (sg *SpriteGenerator) setDefaults() { sg.BaseGenerator.setDefaults() - sg.SpriteRotation = floatrange.NewConstant(0) + sg.SpriteRotation = span.NewConstant(0.0) } // Generate creates a source using this generator func (sg *SpriteGenerator) Generate(layer int) *Source { // Convert rotation from degrees to radians if sg.Rotation != nil { - sg.Rotation = sg.Rotation.Mult(alg.DegToRad) + sg.Rotation = sg.Rotation.MulSpan(alg.DegToRad) } return NewDefaultSource(sg, layer) } @@ -51,7 +51,7 @@ func (sg *SpriteGenerator) GenerateParticle(bp *baseParticle) Particle { // A Sprited can have a sprite set to it type Sprited interface { SetSprite(*render.Sprite) - SetSpriteRotation(f floatrange.Range) + SetSpriteRotation(f span.Span[float64]) } // Sprite sets a Sprited's sprite @@ -68,14 +68,14 @@ func (sg *SpriteGenerator) SetSprite(s *render.Sprite) { } // SpriteRotation sets a Sprited's rotation -func SpriteRotation(f floatrange.Range) func(Generator) { +func SpriteRotation(f span.Span[float64]) func(Generator) { return func(g Generator) { g.(Sprited).SetSpriteRotation(f) } } // SetSpriteRotation satisfied Sprited for SpriteGenerators -func (sg *SpriteGenerator) SetSpriteRotation(f floatrange.Range) { +func (sg *SpriteGenerator) SetSpriteRotation(f span.Span[float64]) { sg.SpriteRotation = f } diff --git a/render/particle/sprite_test.go b/render/particle/sprite_test.go index e03940d5..ad878f9a 100644 --- a/render/particle/sprite_test.go +++ b/render/particle/sprite_test.go @@ -5,8 +5,7 @@ import ( "image/color" "testing" - "github.com/oakmound/oak/v3/alg/range/floatrange" - + "github.com/oakmound/oak/v3/alg/span" "github.com/oakmound/oak/v3/render" ) @@ -14,8 +13,8 @@ func TestSpriteParticle(t *testing.T) { s := render.NewColorBox(10, 10, color.RGBA{255, 0, 0, 255}) g := NewSpriteGenerator( Sprite(s), - Rotation(floatrange.NewConstant(1)), - SpriteRotation(floatrange.NewConstant(1)), + Rotation(span.NewConstant(1.0)), + SpriteRotation(span.NewConstant(1.0)), ) src := g.Generate(0) src.addParticles() diff --git a/render/polygon.go b/render/polygon.go index c2086a18..9418c44c 100644 --- a/render/polygon.go +++ b/render/polygon.go @@ -6,7 +6,7 @@ import ( "math" "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/alg/range/colorrange" + "github.com/oakmound/oak/v3/alg/span" ) // A Polygon is a renderable that is represented by a set of in order points @@ -45,7 +45,7 @@ func (pg *Polygon) GetThickOutline(c color.Color, thickness int) *CompositeM { // GetGradientOutline returns a set of lines of the given color along this polygon's outline, // at the given thickness, ranging from c1 to c2 in color func (pg *Polygon) GetGradientOutline(c1, c2 color.Color, thickness int) *CompositeM { - return pg.GetColoredOutline(colorrange.NewLinear(c1, c2).Percentile, thickness) + return pg.GetColoredOutline(span.NewLinearColor(c1, c2).Percentile, thickness) } // GetColoredOutline returns a set of lines of the given color along this polygon's outline diff --git a/render/sprite_test.go b/render/sprite_test.go index d6abed87..b56f9245 100644 --- a/render/sprite_test.go +++ b/render/sprite_test.go @@ -6,8 +6,7 @@ import ( "reflect" "testing" - "github.com/oakmound/oak/v3/alg/range/colorrange" - "github.com/oakmound/oak/v3/alg/range/intrange" + "github.com/oakmound/oak/v3/alg/span" "github.com/oakmound/oak/v3/render/mod" ) @@ -15,9 +14,9 @@ var ( // this is excessive for a lot of tests // but it takes away some decision making // and could reveal problems that probably aren't there - widths = intrange.NewLinear(1, 10) - heights = intrange.NewLinear(1, 10) - colors = colorrange.NewLinear(color.RGBA{0, 0, 0, 0}, color.RGBA{255, 255, 255, 255}) + widths = span.NewLinear(1, 10) + heights = span.NewLinear(1, 10) + colors = span.NewLinearColor(color.RGBA{0, 0, 0, 0}, color.RGBA{255, 255, 255, 255}) ) const ( From 2ab25639d701c82b5826617238437597f68f5074 Mon Sep 17 00:00:00 2001 From: Patrick Stephen Date: Sat, 16 Apr 2022 19:55:50 -0500 Subject: [PATCH 18/36] scene: embed key state into context --- debugstream/scopeHelper_test.go | 8 ++------ debugtools/mouse.go | 2 +- event/bus_test.go | 2 +- scene/context.go | 8 +++----- scene/transition.go | 2 +- scene/transition_gift.go | 2 +- sceneLoop.go | 2 +- 7 files changed, 10 insertions(+), 16 deletions(-) diff --git a/debugstream/scopeHelper_test.go b/debugstream/scopeHelper_test.go index 62ed8485..91268fd5 100644 --- a/debugstream/scopeHelper_test.go +++ b/debugstream/scopeHelper_test.go @@ -45,12 +45,8 @@ func (f *fakeWindow) MoveWindow(x, y, w, h int) error { return nil } -func (f *fakeWindow) Width() int { - return 1 -} - -func (f *fakeWindow) Height() int { - return 1 +func (f *fakeWindow) Bounds() intgeom.Point2 { + return intgeom.Point2{1, 1} } func (f *fakeWindow) Viewport() intgeom.Point2 { diff --git a/debugtools/mouse.go b/debugtools/mouse.go index 2c8aae56..9f36e1fe 100644 --- a/debugtools/mouse.go +++ b/debugtools/mouse.go @@ -12,7 +12,7 @@ import ( // key is held down at the time. If 0 is given, it will always be printed func DebugMouseRelease(ctx *scene.Context, k key.Code) { event.GlobalBind(ctx, mouse.Release, func(mev *mouse.Event) event.Response { - if k == 0 || ctx.KeyState.IsDown(k) { + if k == 0 || ctx.IsDown(k) { dlog.Info(mev) } return 0 diff --git a/event/bus_test.go b/event/bus_test.go index 8b227ddb..5567c809 100644 --- a/event/bus_test.go +++ b/event/bus_test.go @@ -90,7 +90,7 @@ func TestBus_EnterLoop(t *testing.T) { }) <-b1.Bound cancel := event.EnterLoop(b, 50*time.Millisecond) - time.Sleep(1 * time.Second) + time.Sleep(1*time.Second + 15*time.Millisecond) cancel() if calls != 20 { t.Fatal(expectedError("calls", 20, calls)) diff --git a/scene/context.go b/scene/context.go index 1485fa1a..5932017e 100644 --- a/scene/context.go +++ b/scene/context.go @@ -13,23 +13,21 @@ import ( // the draw stack, event bus, known event callers, collision trees, keyboard state, // and a reference to the OS window itself. When a scene ends, modifications made // to these structures will be reset, excluding window modifications. -// TODO oak v4: consider embedding these system objects on the context to change -// ctx.DrawStack.Draw to ctx.Draw and ctx.Handler.Bind to ctx.Bind type Context struct { // This context will be canceled when the scene ends context.Context - *event.CallerMap - event.Handler PreviousScene string SceneInput interface{} Window Window + *event.CallerMap + event.Handler *render.DrawStack + *key.State MouseTree *collision.Tree CollisionTree *collision.Tree - KeyState *key.State } // DoEachFrame is a helper method to call a function on each frame for the duration of this scene. diff --git a/scene/transition.go b/scene/transition.go index 8b125ea1..4e251023 100644 --- a/scene/transition.go +++ b/scene/transition.go @@ -12,7 +12,7 @@ type Transition func(*image.RGBA, int) bool // Zoom transitions by performing a simplistic zoom each frame towards some // percentage-based part of the screen. -func Zoom(xPerc, yPerc float64, frames int, zoomRate float64) func(*image.RGBA, int) bool { +func Zoom(xPerc, yPerc float64, frames int, zoomRate float64) Transition { return func(buf *image.RGBA, frame int) bool { if frame > frames { return false diff --git a/scene/transition_gift.go b/scene/transition_gift.go index 706af4cd..e8aee858 100644 --- a/scene/transition_gift.go +++ b/scene/transition_gift.go @@ -11,7 +11,7 @@ import ( // Fade is a scene transition that fades to black at a given rate for // a total of 'frames' frames -func Fade(rate float32, frames int) func(*image.RGBA, int) bool { +func Fade(rate float32, frames int) Transition { rate *= -1 return func(buf *image.RGBA, frame int) bool { if frame > frames { diff --git a/sceneLoop.go b/sceneLoop.go index 958b0946..5afe3a7d 100644 --- a/sceneLoop.go +++ b/sceneLoop.go @@ -85,7 +85,7 @@ func (w *Window) sceneLoop(first string, trackingInputs, batchLoad bool) { MouseTree: w.MouseTree, CollisionTree: w.CollisionTree, Window: w, - KeyState: &w.State, + State: &w.State, }) w.transitionCh <- struct{}{} }() From b512f3f26e99d5edc585c75fbfc6f7b2168ac401 Mon Sep 17 00:00:00 2001 From: Patrick Stephen Date: Sat, 16 Apr 2022 19:59:00 -0500 Subject: [PATCH 19/36] entities: remove keystate from TopDown checks --- entities/move.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/entities/move.go b/entities/move.go index f7345eb0..ce69d976 100644 --- a/entities/move.go +++ b/entities/move.go @@ -19,16 +19,16 @@ func Arrows(mvr *Entity) { // TopDown moves the given mover based on its speed as the given keys are pressed func TopDown(mvr *Entity, up, down, left, right key.Code) { mvr.Delta = floatgeom.Point2{} - if mvr.ctx.KeyState.IsDown(up) { + if mvr.ctx.IsDown(up) { mvr.Delta[1] -= mvr.Speed[1] } - if mvr.ctx.KeyState.IsDown(down) { + if mvr.ctx.IsDown(down) { mvr.Delta[1] += mvr.Speed[1] } - if mvr.ctx.KeyState.IsDown(left) { + if mvr.ctx.IsDown(left) { mvr.Delta[0] -= mvr.Speed[0] } - if mvr.ctx.KeyState.IsDown(right) { + if mvr.ctx.IsDown(right) { mvr.Delta[0] += mvr.Speed[0] } mvr.ShiftDelta() From a3bf684123a284320bf2e1b60eb9c679251c3a26 Mon Sep 17 00:00:00 2001 From: Patrick Stephen Date: Sat, 16 Apr 2022 20:03:31 -0500 Subject: [PATCH 20/36] oak: add span to test coverage script --- test_coverage.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/test_coverage.sh b/test_coverage.sh index 06aa1ff3..a0b230ca 100755 --- a/test_coverage.sh +++ b/test_coverage.sh @@ -18,6 +18,11 @@ if [ -f profile.out ]; then cat profile.out >> coverage.txt rm profile.out fi +go test -coverprofile=profile.out -covermode=atomic ./alg/span +if [ -f profile.out ]; then + cat profile.out >> coverage.txt + rm profile.out +fi go test -coverprofile=profile.out -covermode=atomic ./collision if [ -f profile.out ]; then cat profile.out >> coverage.txt From 863a876881144925e59c914c2cb0d06a3167fc76 Mon Sep 17 00:00:00 2001 From: Patrick Stephen Date: Sat, 16 Apr 2022 20:05:00 -0500 Subject: [PATCH 21/36] examples/slide: use floating point spans --- examples/slide/main.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/slide/main.go b/examples/slide/main.go index 3254f38a..49efccf1 100644 --- a/examples/slide/main.go +++ b/examples/slide/main.go @@ -459,10 +459,10 @@ func addParticles(i int, sslides []*static.Slide) { go particle.NewColorGenerator( particle.Size(span.NewConstant(4)), particle.EndSize(span.NewConstant(7)), - particle.Angle(span.NewLinear(0, 359)), + particle.Angle(span.NewLinear(0.0, 359.0)), particle.Pos(width/2, height/2), - particle.Speed(span.NewSpread(5, 2)), - particle.NewPerFrame(span.NewSpread(5, 5)), + particle.Speed(span.NewSpread(5.0, 2.0)), + particle.NewPerFrame(span.NewSpread(5.0, 5.0)), particle.Color( color.RGBA{0, 0, 0, 255}, color.RGBA{0, 0, 0, 0}, color.RGBA{255, 255, 255, 255}, color.RGBA{0, 0, 0, 0}, From 5b31b05f70a7e690c635803d25e14264394201cf Mon Sep 17 00:00:00 2001 From: Patrick Stephen Date: Sat, 16 Apr 2022 20:11:26 -0500 Subject: [PATCH 22/36] examples: rename EnforceRange to Clamp --- alg/span/builtin_test.go | 8 ++++---- examples/text-demos/color-changing-text-demo/main.go | 6 +++--- examples/text-demos/continual-text-demo/main.go | 6 +++--- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/alg/span/builtin_test.go b/alg/span/builtin_test.go index 4dda1e49..ecb5be1e 100644 --- a/alg/span/builtin_test.go +++ b/alg/span/builtin_test.go @@ -53,15 +53,15 @@ func TestLinear(t *testing.T) { } underMin := (rand.Intn(maxInt-minInt) + minInt) - (maxInt - minInt) if linear.Clamp(underMin) != min { - t.Fatal("Linear.EnforceRange under min did not return min") + t.Fatal("Linear.Clamp under min did not return min") } overMax := (rand.Intn(maxInt-minInt) + minInt) + (maxInt - minInt) if linear.Clamp(overMax) != max { - t.Fatal("Linear.EnforceRange over max did not return max") + t.Fatal("Linear.Clamp over max did not return max") } within := rand.Intn(max-min) + min if linear.Clamp(within) != within { - t.Fatal("Linear.EnforceRange within range did not return input") + t.Fatal("Linear.Clamp within range did not return input") } percent := rand.Float64() if !flipped { @@ -93,7 +93,7 @@ func TestConstant(t *testing.T) { t.Fatal("Constant.Mult result did not match expected Poll") } if cons.Clamp(rand.Intn(maxInt)) != val { - t.Fatal("Constant.EnforceRange did not return initialized value") + t.Fatal("Constant.Clamp did not return initialized value") } if cons.Percentile(rand.Float64()) != val { t.Fatal("Constant.Percentile did not return initialized value") diff --git a/examples/text-demos/color-changing-text-demo/main.go b/examples/text-demos/color-changing-text-demo/main.go index 6d3425fb..4b76cf6f 100644 --- a/examples/text-demos/color-changing-text-demo/main.go +++ b/examples/text-demos/color-changing-text-demo/main.go @@ -62,9 +62,9 @@ func main() { render.Draw(font2.NewText("b", 400, 260), 0) ctx.DoEachFrame(func() { - r = limit.EnforceRange(r + diff.Poll()) - g = limit.EnforceRange(g + diff.Poll()) - b = limit.EnforceRange(b + diff.Poll()) + r = limit.Clamp(r + diff.Poll()) + g = limit.Clamp(g + diff.Poll()) + b = limit.Clamp(b + diff.Poll()) font.Drawer.Src = image.NewUniform( color.RGBA{ uint8(r), diff --git a/examples/text-demos/continual-text-demo/main.go b/examples/text-demos/continual-text-demo/main.go index 3aba37db..66f309c8 100644 --- a/examples/text-demos/continual-text-demo/main.go +++ b/examples/text-demos/continual-text-demo/main.go @@ -63,9 +63,9 @@ func main() { } event.GlobalBind(ctx, event.Enter, func(_ event.EnterPayload) event.Response { - r = limit.EnforceRange(r + diff.Poll()) - g = limit.EnforceRange(g + diff.Poll()) - b = limit.EnforceRange(b + diff.Poll()) + r = limit.Clamp(r + diff.Poll()) + g = limit.Clamp(g + diff.Poll()) + b = limit.Clamp(b + diff.Poll()) font.Drawer.Src = image.NewUniform( color.RGBA{ uint8(r), From f1ebdf38267a4d9b927acc8a00450e9988d528d2 Mon Sep 17 00:00:00 2001 From: Patrick Stephen Date: Sat, 16 Apr 2022 20:35:43 -0500 Subject: [PATCH 23/36] fileutil: expand test coverage --- fileutil/open.go | 5 +- fileutil/open_test.go | 104 +++++++++++++++++++++++++++++++----------- 2 files changed, 80 insertions(+), 29 deletions(-) diff --git a/fileutil/open.go b/fileutil/open.go index 02140f32..7a155271 100644 --- a/fileutil/open.go +++ b/fileutil/open.go @@ -1,7 +1,6 @@ package fileutil import ( - "bytes" "io" "io/fs" "os" @@ -29,11 +28,11 @@ func Open(file string) (io.ReadCloser, error) { fixedPath := fixWindowsPath(file) f, readErr := FS.Open(fixedPath) if readErr != nil && OSFallback { - byt, err := os.ReadFile(file) + osFile, err := os.Open(file) if err != nil { return nil, err } - return io.NopCloser(bytes.NewReader(byt)), nil + return osFile, nil } return f, readErr } diff --git a/fileutil/open_test.go b/fileutil/open_test.go index 5472a371..c1e48974 100644 --- a/fileutil/open_test.go +++ b/fileutil/open_test.go @@ -2,7 +2,9 @@ package fileutil import ( "embed" + "errors" "io" + "os" "testing" ) @@ -10,36 +12,86 @@ import ( var testfs embed.FS func TestOpen(t *testing.T) { - FS = testfs - f, err := Open("testdata/test.txt") - if err != nil { - t.Fatalf("open failed: %v", err) - } - _, err = io.ReadAll(f) - if err != nil { - t.Fatalf("read all failed: %v", err) - } - err = f.Close() - if err != nil { - t.Fatalf("close failed: %v", err) - } + t.Run("Basic", func(t *testing.T) { + FS = testfs + f, err := Open("testdata/test.txt") + if err != nil { + t.Fatalf("open failed: %v", err) + } + _, err = io.ReadAll(f) + if err != nil { + t.Fatalf("read all failed: %v", err) + } + err = f.Close() + if err != nil { + t.Fatalf("close failed: %v", err) + } + }) + t.Run("NotFound", func(t *testing.T) { + FS = testfs + _, err := Open("testdata/notfound.txt") + perr := &os.PathError{} + if !errors.As(err, &perr) { + t.Fatalf("expected path error: %v", err) + } + }) + t.Run("OSFallback", func(t *testing.T) { + FS = testfs + f, err := os.CreateTemp(".", "test") + if err != nil { + t.Fatalf("failed to create temp file: %v", err) + } + defer os.Remove(f.Name()) + f.Close() + f2, err := Open(f.Name()) + if err != nil { + t.Fatalf("open failed: %v", err) + } + f2.Close() + }) } func TestReadFile(t *testing.T) { - FS = testfs - _, err := ReadFile("testdata/test.txt") - if err != nil { - t.Fatalf("read all failed: %v", err) - } + t.Run("Basic", func(t *testing.T) { + FS = testfs + _, err := ReadFile("testdata/test.txt") + if err != nil { + t.Fatalf("read all failed: %v", err) + } + }) + t.Run("NotFound", func(t *testing.T) { + FS = testfs + _, err := ReadFile("testdata/notfound.txt") + perr := &os.PathError{} + if !errors.As(err, &perr) { + t.Fatalf("expected path error: %v", err) + } + }) } func TestReadDir(t *testing.T) { - FS = testfs - ds, err := ReadDir("testdata") - if err != nil { - t.Fatalf("read dir failed: %v", err) - } - if len(ds) != 1 { - t.Fatalf("read dir had %v elements, expected 1", len(ds)) - } + t.Run("Basic", func(t *testing.T) { + FS = testfs + ds, err := ReadDir("testdata") + if err != nil { + t.Fatalf("read dir failed: %v", err) + } + if len(ds) != 1 { + t.Fatalf("read dir had %v elements, expected 1", len(ds)) + } + }) + t.Run("NoWindowsPaths", func(t *testing.T) { + FixWindowsPaths = false + defer func() { + FixWindowsPaths = true + }() + FS = testfs + ds, err := ReadDir("testdata") + if err != nil { + t.Fatalf("read dir failed: %v", err) + } + if len(ds) != 1 { + t.Fatalf("read dir had %v elements, expected 1", len(ds)) + } + }) } From f625c00521e288181508f703eba2964b1d07cac0 Mon Sep 17 00:00:00 2001 From: Patrick Stephen Date: Sat, 16 Apr 2022 20:42:06 -0500 Subject: [PATCH 24/36] mouse: add coverage for new event converters --- mouse/events_test.go | 67 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 mouse/events_test.go diff --git a/mouse/events_test.go b/mouse/events_test.go new file mode 100644 index 00000000..08cdaa36 --- /dev/null +++ b/mouse/events_test.go @@ -0,0 +1,67 @@ +package mouse + +import ( + "testing" + + "github.com/oakmound/oak/v3/event" +) + +func TestEventOn(t *testing.T) { + t.Run("AllEvents", func(t *testing.T) { + if ev2, ok := EventOn(Press); !ok || ev2 != PressOn { + t.Error("Press was not matched to PressOn") + } + if ev2, ok := EventOn(Release); !ok || ev2 != ReleaseOn { + t.Error("Release was not matched to ReleaseOn") + } + if ev2, ok := EventOn(ScrollDown); !ok || ev2 != ScrollDownOn { + t.Error("ScrollDown was not matched to ScrollDownOn") + } + if ev2, ok := EventOn(ScrollUp); !ok || ev2 != ScrollUpOn { + t.Error("ScrollUp was not matched to ScrollUpOn") + } + if ev2, ok := EventOn(Click); !ok || ev2 != ClickOn { + t.Error("Click was not matched to ClickOn") + } + if ev2, ok := EventOn(Drag); !ok || ev2 != DragOn { + t.Error("Drag was not matched to DragOn") + } + }) + t.Run("Unknown", func(t *testing.T) { + ev := event.RegisterEvent[*Event]() + _, ok := EventOn(ev) + if ok { + t.Error("EventOn should have returned false for an unknown event") + } + }) +} + +func TestEventRelative(t *testing.T) { + t.Run("AllEvents", func(t *testing.T) { + if ev2, ok := EventRelative(PressOn); !ok || ev2 != RelativePressOn { + t.Error("PressOn was not matched to RelativePressOn") + } + if ev2, ok := EventRelative(ReleaseOn); !ok || ev2 != RelativeReleaseOn { + t.Error("ReleaseOn was not matched to RelativeReleaseOn") + } + if ev2, ok := EventRelative(ScrollDownOn); !ok || ev2 != RelativeScrollDownOn { + t.Error("ScrollDownOn was not matched to RelativeScrollDownOn") + } + if ev2, ok := EventRelative(ScrollUpOn); !ok || ev2 != RelativeScrollUpOn { + t.Error("ScrollUpOn was not matched to RelativeScrollUpOn") + } + if ev2, ok := EventRelative(ClickOn); !ok || ev2 != RelativeClickOn { + t.Error("ClickOn was not matched to RelativeClickOn") + } + if ev2, ok := EventRelative(DragOn); !ok || ev2 != RelativeDragOn { + t.Error("DragOn was not matched to RelativeDragOn") + } + }) + t.Run("Unknown", func(t *testing.T) { + ev := event.RegisterEvent[*Event]() + _, ok := EventRelative(ev) + if ok { + t.Error("EventRelative should have returned false for an unknown event") + } + }) +} From 32f3d91b70cd256c7055b58ec80247149d9c03af Mon Sep 17 00:00:00 2001 From: Patrick Stephen Date: Sun, 17 Apr 2022 07:51:41 -0500 Subject: [PATCH 25/36] alg/intgeom: test span methods for rects --- alg/intgeom/rect.go | 10 +++++++ alg/intgeom/rect_test.go | 64 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+) diff --git a/alg/intgeom/rect.go b/alg/intgeom/rect.go index 896bbf2d..03fa8a03 100644 --- a/alg/intgeom/rect.go +++ b/alg/intgeom/rect.go @@ -333,6 +333,7 @@ func (r Rect2) Intersects(r2 Rect2) bool { (r2.Max.Y() <= r.Min.Y() || r.Max.Y() <= r2.Min.Y())) } +// MulConst multiplies the boundary points of this rectangle by i. func (r Rect2) MulConst(i int) Rect2 { return Rect2{ r.Min.MulConst(i), @@ -361,6 +362,9 @@ func (r Rect2) Clamp(pt Point2) Point2 { return pt } +// Percentile returns a point within this rectangle along the vector from the top left to the bottom right of the +// rectangle, where for example, 0.0 will be r.Min, 1.0 will be r.Max, and 2.0 will be project the vector beyond r +// and return r.Min + {r.W()*2, r.H()*2} func (r Rect2) Percentile(f float64) Point2 { return Point2{ r.Min.X() + int(f*float64(r.W())), @@ -368,10 +372,12 @@ func (r Rect2) Percentile(f float64) Point2 { } } +// MulSpan returns this rectangle as a Point2 Span after multiplying the boundary points of the rectangle by f. func (r Rect2) MulSpan(f float64) span.Span[Point2] { return r.MulConst(int(f)) } +// MulConst multiplies the boundary points of this rectangle by i. func (r Rect3) MulConst(i int) Rect3 { return Rect3{ r.Min.MulConst(i), @@ -401,6 +407,9 @@ func (r Rect3) Clamp(pt Point3) Point3 { return pt } +// Percentile returns a point within this rectangle along the vector from the top left to the bottom right of the +// rectangle, where for example, 0.0 will be r.Min, 1.0 will be r.Max, and 2.0 will be project the vector beyond r +// and return r.Min + {r.W()*2, r.H()*2, r.D()*2} func (r Rect3) Percentile(f float64) Point3 { return Point3{ r.Min.X() + int(f*float64(r.W())), @@ -409,6 +418,7 @@ func (r Rect3) Percentile(f float64) Point3 { } } +// MulConst multiplies the boundary points of this rectangle by i. func (r Rect3) MulSpan(f float64) span.Span[Point3] { return r.MulConst(int(f)) } diff --git a/alg/intgeom/rect_test.go b/alg/intgeom/rect_test.go index b6e12326..b3753f89 100644 --- a/alg/intgeom/rect_test.go +++ b/alg/intgeom/rect_test.go @@ -239,3 +239,67 @@ func TestRect3GreaterOf(t *testing.T) { } } } + +func TestRect2Span(t *testing.T) { + t.Run("Basic", func(t *testing.T) { + r := NewRect2WH(1, 1, 9, 9) + p1 := r.Percentile(1.0) + if p1 != r.Max { + t.Errorf("Percentile(1.0) did not return max point: got %v expected %v", p1, r.Max) + } + p2 := r.Percentile(0.0) + if p2 != r.Min { + t.Errorf("Percentile(0.0) did not return min point: got %v expected %v", p2, r.Min) + } + const pollTries = 100 + for i := 0; i < pollTries; i++ { + if !r.Contains(r.Poll()) { + t.Fatalf("polled point did not lie within the creating rectangle") + } + } + p3 := r.Clamp(Point2{0, 5}) + if p3 != (Point2{1, 5}) { + t.Errorf("Clamp(0,5) did not return {1,5}: got %v", p3) + } + p4 := r.Clamp(Point2{2, 11}) + if p4 != (Point2{2, 10}) { + t.Errorf("Clamp(2,11) did not return {2,10}: got %v", p4) + } + r2 := r.MulSpan(4) + if r2 != NewRect2(4, 4, 40, 40) { + t.Errorf("MulSpan did not return {4,4,40,40}: got %v", r2) + } + }) +} + +func TestRect3Span(t *testing.T) { + t.Run("Basic", func(t *testing.T) { + r := NewRect3WH(1, 1, 1, 9, 9, 9) + p1 := r.Percentile(1.0) + if p1 != r.Max { + t.Errorf("Percentile(1.0) did not return max point: got %v expected %v", p1, r.Max) + } + p2 := r.Percentile(0.0) + if p2 != r.Min { + t.Errorf("Percentile(0.0) did not return min point: got %v expected %v", p2, r.Min) + } + const pollTries = 100 + for i := 0; i < pollTries; i++ { + if !r.Contains(r.Poll()) { + t.Fatalf("polled point did not lie within the creating rectangle") + } + } + p3 := r.Clamp(Point3{0, -1, 5}) + if p3 != (Point3{1, 1, 5}) { + t.Errorf("Clamp(0,-1,5) did not return {1,1,5}: got %v", p3) + } + p4 := r.Clamp(Point3{20, 2, 11}) + if p4 != (Point3{10, 2, 10}) { + t.Errorf("Clamp(20, 2,11) did not return {10,2,10}: got %v", p4) + } + r2 := r.MulSpan(4) + if r2 != NewRect3(4, 4, 4, 40, 40, 40) { + t.Errorf("MulSpan did not return {4,4,4,40,40,40}: got %v", r2) + } + }) +} From bea9363887a002656fa03b682c0b8a7110b4bf54 Mon Sep 17 00:00:00 2001 From: Patrick Stephen Date: Sun, 17 Apr 2022 10:24:45 -0500 Subject: [PATCH 26/36] oak: update core package tests --- default.go | 6 ------ default_test.go | 32 +++++++++++++++++++++++++++++ dlog/default.go | 4 +++- drawLoop.go | 6 +----- init.go | 29 +++++++++++++++++++++----- init_test.go | 38 +++++++++++++++++++++++++++++++++++ inputLoop_test.go | 9 +++++---- inputTracker.go | 3 ++- inputTracker_test.go | 20 ++++++++---------- lifecycle.go | 7 ++++++- render/draw.go | 3 +-- sceneLoop.go | 45 +++++++++-------------------------------- scene_test.go | 35 ++++++++++++++++++++++++++++++++ screenFilter.go | 9 ++++----- screenFilter_test.go | 18 +++++++++++++++++ screenshot.go | 8 ++------ viewport.go | 14 +++++-------- viewport_test.go | 48 ++++++++++++++++++++++---------------------- window.go | 47 ++++++++++++++++--------------------------- window_test.go | 31 ++++++++++++++++++++++++++++ 20 files changed, 266 insertions(+), 146 deletions(-) create mode 100644 default_test.go create mode 100644 init_test.go create mode 100644 screenFilter_test.go diff --git a/default.go b/default.go index 1e26d20a..12167627 100644 --- a/default.go +++ b/default.go @@ -97,12 +97,6 @@ func SetColorBackground(img image.Image) { defaultWindow.SetColorBackground(img) } -// GetBackgroundImage calls GetBackgroundImage on the default window. -func GetBackgroundImage() image.Image { - initDefaultWindow() - return defaultWindow.GetBackgroundImage() -} - // Bounds returns the default window's boundary. func Bounds() intgeom.Point2 { initDefaultWindow() diff --git a/default_test.go b/default_test.go new file mode 100644 index 00000000..4ad932d9 --- /dev/null +++ b/default_test.go @@ -0,0 +1,32 @@ +package oak + +import ( + "testing" + + "github.com/oakmound/oak/v3/alg/intgeom" + "github.com/oakmound/oak/v3/key" + "github.com/oakmound/oak/v3/render" + "github.com/oakmound/oak/v3/scene" +) + +func TestDefaultFunctions(t *testing.T) { + t.Run("SuperficialCoverage", func(t *testing.T) { + IsDown(key.A) + IsHeld(key.A) + AddScene("test", scene.Scene{ + Start: func(ctx *scene.Context) { + ScreenShot() + ctx.Window.Quit() + }, + }) + SetViewportBounds(intgeom.NewRect2(0, 0, 1, 1)) + SetViewport(intgeom.Point2{}) + ShiftViewport(intgeom.Point2{}) + UpdateViewSize(10, 10) + Bounds() + SetLoadingRenderable(render.EmptyRenderable()) + SetColorBackground(nil) + SetBackground(render.EmptyRenderable()) + Init("test") + }) +} diff --git a/dlog/default.go b/dlog/default.go index e3e2a666..5e59a781 100644 --- a/dlog/default.go +++ b/dlog/default.go @@ -109,7 +109,9 @@ func (l *logger) SetFilter(filter func(string) bool) { // will be printed. func (l *logger) SetLogLevel(level Level) error { if level < NONE || level > VERBOSE { - return oakerr.InvalidInput{} + return oakerr.InvalidInput{ + InputName: "level", + } } l.debugLevel = level return nil diff --git a/drawLoop.go b/drawLoop.go index 3d108bfe..23ff333e 100644 --- a/drawLoop.go +++ b/drawLoop.go @@ -57,8 +57,6 @@ func (w *Window) drawLoop() { loadingSelectUnlimited: for { select { - case <-w.ParentContext.Done(): - return case <-w.quitCh: return case <-w.drawCh: @@ -92,8 +90,6 @@ func (w *Window) drawLoop() { loadingSelect: for { select { - case <-w.ParentContext.Done(): - return case <-w.quitCh: return case <-w.drawCh: @@ -115,7 +111,7 @@ func (w *Window) drawLoop() { } func (w *Window) publish() { - w.prePublish(w, w.windowTextures[w.bufferIdx]) + w.prePublish(w.winBuffers[w.bufferIdx].RGBA()) w.windowTextures[w.bufferIdx].Upload(zeroPoint, w.winBuffers[w.bufferIdx], w.winBuffers[w.bufferIdx].Bounds()) w.Window.Scale(w.windowRect, w.windowTextures[w.bufferIdx], w.windowTextures[w.bufferIdx].Bounds(), draw.Src) w.Window.Publish() diff --git a/init.go b/init.go index f8fd4b56..4197d570 100644 --- a/init.go +++ b/init.go @@ -10,6 +10,7 @@ import ( "github.com/oakmound/oak/v3/dlog" "github.com/oakmound/oak/v3/oakerr" + "github.com/oakmound/oak/v3/scene" "github.com/oakmound/oak/v3/timing" ) @@ -38,10 +39,8 @@ func (w *Window) Init(firstScene string, configOptions ...ConfigOption) error { dlog.SetFilter(func(msg string) bool { return strings.Contains(msg, w.config.Debug.Filter) }) - err = dlog.SetLogLevel(lvl) - if err != nil { - return err - } + // This error cannot happen as it would surface in Parse above + _ = dlog.SetLogLevel(lvl) err = oakerr.SetLanguageString(w.config.Language) if err != nil { return err @@ -70,7 +69,27 @@ func (w *Window) Init(firstScene string, configOptions ...ConfigOption) error { overrideInit(w) - go w.sceneLoop(firstScene, w.config.TrackInputChanges, w.config.BatchLoad) + err = w.SceneMap.AddScene(oakLoadingScene, scene.Scene{ + Start: func(ctx *scene.Context) { + if w.config.BatchLoad { + go func() { + w.loadAssets(w.config.Assets.ImagePath, w.config.Assets.AudioPath) + w.endLoad() + }() + } else { + go w.endLoad() + } + }, + End: func() (string, *scene.Result) { + return w.firstScene, &scene.Result{ + NextSceneInput: w.FirstSceneInput, + } + }, + }) + if err != nil { + return err + } + go w.sceneLoop(firstScene, w.config.TrackInputChanges) if w.config.EnableDebugConsole { go w.debugConsole(os.Stdin, os.Stdout) } diff --git a/init_test.go b/init_test.go new file mode 100644 index 00000000..bc9bdb6e --- /dev/null +++ b/init_test.go @@ -0,0 +1,38 @@ +package oak + +import ( + "fmt" + "testing" +) + +func TestInitFailures(t *testing.T) { + t.Run("BadConfig", func(t *testing.T) { + c1 := NewWindow() + err := c1.Init("", func(c Config) (Config, error) { + return c, fmt.Errorf("whoops") + }) + if err == nil { + t.Fatal("expected error to cascade down from init") + } + }) + t.Run("ParseDebugLevel", func(t *testing.T) { + c1 := NewWindow() + err := c1.Init("", func(c Config) (Config, error) { + c.Debug.Level = "bogus" + return c, nil + }) + if err == nil { + t.Fatal("expected error parsing debug level") + } + }) + t.Run("SetLanguageString", func(t *testing.T) { + c1 := NewWindow() + err := c1.Init("", func(c Config) (Config, error) { + c.Language = "bogus" + return c, nil + }) + if err == nil { + t.Fatal("expected error parsing language string") + } + }) +} diff --git a/inputLoop_test.go b/inputLoop_test.go index 8ef6703b..3ca71e0a 100644 --- a/inputLoop_test.go +++ b/inputLoop_test.go @@ -5,24 +5,25 @@ import ( "time" "github.com/oakmound/oak/v3/event" - okey "github.com/oakmound/oak/v3/key" "golang.org/x/mobile/event/key" + "golang.org/x/mobile/event/mouse" ) func TestInputLoop(t *testing.T) { c1 := blankScene(t) c1.SetLogicHandler(event.NewBus(nil)) - c1.Window.Send(okey.Event{ + c1.Window.Send(key.Event{ Direction: key.DirPress, Code: key.Code0, }) - c1.Window.Send(okey.Event{ + c1.Window.Send(key.Event{ Direction: key.DirNone, Code: key.Code0, }) - c1.Window.Send(okey.Event{ + c1.Window.Send(key.Event{ Direction: key.DirRelease, Code: key.Code0, }) + c1.Window.Send(mouse.Event{}) time.Sleep(2 * time.Second) } diff --git a/inputTracker.go b/inputTracker.go index f4dd6fc3..2f6cabc7 100644 --- a/inputTracker.go +++ b/inputTracker.go @@ -18,7 +18,8 @@ var trackingJoystickChange = event.RegisterEvent[struct{}]() // The following constants define valid types of input sent via the InputChange event. const ( - InputKeyboard InputType = iota + InputNone InputType = iota + InputKeyboard InputMouse InputJoystick ) diff --git a/inputTracker_test.go b/inputTracker_test.go index 322374e9..f3e590c8 100644 --- a/inputTracker_test.go +++ b/inputTracker_test.go @@ -11,6 +11,8 @@ import ( ) func TestTrackInputChanges(t *testing.T) { + inputChangeFailed := make(chan bool) + c1 := NewWindow() c1.SetLogicHandler(event.NewBus(event.NewCallerMap())) c1.AddScene("1", scene.Scene{}) @@ -21,35 +23,29 @@ func TestTrackInputChanges(t *testing.T) { time.Sleep(2 * time.Second) expectedType := new(InputType) *expectedType = InputKeyboard - failed := false event.GlobalBind(c1.eventHandler, InputChange, func(mode InputType) event.Response { - if mode != *expectedType { - failed = true - } + inputChangeFailed <- mode != *expectedType return 0 }) c1.TriggerKeyDown(key.Event{}) - time.Sleep(2 * time.Second) - if failed { + if <-inputChangeFailed { t.Fatalf("keyboard change failed") } *expectedType = InputJoystick event.TriggerOn(c1.eventHandler, trackingJoystickChange, struct{}{}) - time.Sleep(2 * time.Second) - if failed { + if <-inputChangeFailed { t.Fatalf("joystick change failed") } + c1.mostRecentInput = int32(InputJoystick) *expectedType = InputMouse c1.TriggerMouseEvent(mouse.Event{EventType: mouse.Press}) - time.Sleep(2 * time.Second) - if failed { + if <-inputChangeFailed { t.Fatalf("mouse change failed") } *expectedType = InputKeyboard c1.mostRecentInput = int32(InputJoystick) c1.TriggerKeyDown(key.Event{}) - time.Sleep(2 * time.Second) - if failed { + if <-inputChangeFailed { t.Fatalf("keyboard change failed") } } diff --git a/lifecycle.go b/lifecycle.go index 7df9106a..c668a0c7 100644 --- a/lifecycle.go +++ b/lifecycle.go @@ -102,10 +102,15 @@ func (w *Window) ChangeWindow(width, height int) error { return nil } -// UpdateViewSize updates the size of this window's viewport. +// UpdateViewSize updates the size of this window's viewport. If the window has yet +// to be initialized, it will update ScreenWidth and ScreenHeight, and then exit. func (w *Window) UpdateViewSize(width, height int) error { w.ScreenWidth = width w.ScreenHeight = height + // this is being called before Init + if w.screenControl == nil { + return nil + } for i := 0; i < bufferCount; i++ { newBuffer, err := w.screenControl.NewImage(image.Point{width, height}) if err != nil { diff --git a/render/draw.go b/render/draw.go index 81287f14..17648e53 100644 --- a/render/draw.go +++ b/render/draw.go @@ -10,8 +10,7 @@ var ( emptyRenderable = NewColorBox(1, 1, color.RGBA{0, 0, 0, 0}) ) -// EmptyRenderable returns a minimal, 1-width and height pseudo-nil -// Renderable (and Modifiable) +// EmptyRenderable returns a minimal, 1-width and height pseudo-nil Renderable func EmptyRenderable() Modifiable { return emptyRenderable.Copy() } diff --git a/sceneLoop.go b/sceneLoop.go index 5afe3a7d..9a41eeaa 100644 --- a/sceneLoop.go +++ b/sceneLoop.go @@ -15,29 +15,7 @@ import ( // for preloading assets const oakLoadingScene = "oak:loading" -func (w *Window) sceneLoop(first string, trackingInputs, batchLoad bool) { - err := w.SceneMap.AddScene(oakLoadingScene, scene.Scene{ - Start: func(ctx *scene.Context) { - if batchLoad { - go func() { - w.loadAssets(w.config.Assets.ImagePath, w.config.Assets.AudioPath) - w.endLoad() - }() - } else { - go w.endLoad() - } - }, - End: func() (string, *scene.Result) { - return w.firstScene, &scene.Result{ - NextSceneInput: w.FirstSceneInput, - } - }, - }) - if err != nil { - go w.exitWithError(err) - return - } - +func (w *Window) sceneLoop(first string, trackingInputs bool) { var prevScene string result := new(scene.Result) @@ -91,7 +69,6 @@ func (w *Window) sceneLoop(first string, trackingInputs, batchLoad bool) { }() w.sceneTransition(result) - // Post transition, begin loading animation w.drawCh <- struct{}{} <-w.transitionCh @@ -99,21 +76,19 @@ func (w *Window) sceneLoop(first string, trackingInputs, batchLoad bool) { w.drawCh <- struct{}{} dlog.Info(dlog.SceneLooping) - cont := true enterCancel := event.EnterLoop(w.eventHandler, timing.FPSToFrameDelay(w.FrameRate)) - nextSceneOverride := "" - for cont { - select { - case <-w.ParentContext.Done(): - case <-w.quitCh: - cancel() - return - case nextSceneOverride = <-w.skipSceneCh: - cont = false - } + select { + case <-w.ParentContext.Done(): + w.Quit() + cancel() + return + case <-w.quitCh: + cancel() + return + case nextSceneOverride = <-w.skipSceneCh: } cancel() dlog.Info(dlog.SceneEnding, w.SceneMap.CurrentScene) diff --git a/scene_test.go b/scene_test.go index c92b7431..7937ed32 100644 --- a/scene_test.go +++ b/scene_test.go @@ -1,8 +1,11 @@ package oak import ( + "context" + "errors" "testing" + "github.com/oakmound/oak/v3/oakerr" "github.com/oakmound/oak/v3/scene" ) @@ -25,3 +28,35 @@ func TestSceneTransition(t *testing.T) { }) c1.Init("1") } + +func TestLoadingSceneClaimed(t *testing.T) { + c1 := NewWindow() + c1.AddScene(oakLoadingScene, scene.Scene{}) + err := c1.Init("1") + var wantErr oakerr.ExistingElement + if !errors.As(err, &wantErr) { + t.Fatalf("expected existing element error, got %v", err) + } +} + +func TestSceneGoTo(t *testing.T) { + c1 := NewWindow() + var cancel func() + c1.ParentContext, cancel = context.WithCancel(c1.ParentContext) + c1.AddScene("1", scene.Scene{ + Start: func(context *scene.Context) { + context.Window.GoToScene("good") + }, + End: func() (nextScene string, result *scene.Result) { + return "bad", &scene.Result{ + Transition: scene.Fade(1, 10), + } + }, + }) + c1.AddScene("good", scene.Scene{ + Start: func(ctx *scene.Context) { + cancel() + }, + }) + c1.Init("1") +} diff --git a/screenFilter.go b/screenFilter.go index 0e7dfb7a..a86d9449 100644 --- a/screenFilter.go +++ b/screenFilter.go @@ -1,10 +1,9 @@ package oak import ( + "image" "image/color" - "github.com/oakmound/oak/v3/shiny/screen" - "github.com/oakmound/oak/v3/render/mod" ) @@ -16,13 +15,13 @@ func (w *Window) SetPalette(palette color.Palette) { // SetDrawFilter will filter the screen by the given modification function prior // to publishing the screen's rgba to be displayed. func (w *Window) SetDrawFilter(screenFilter mod.Filter) { - w.prePublish = func(w *Window, tx screen.Texture) { - screenFilter(w.winBuffers[w.bufferIdx].RGBA()) + w.prePublish = func(buf *image.RGBA) { + screenFilter(buf) } } // ClearScreenFilter resets the draw function to no longer filter the screen before // publishing it to the window. func (w *Window) ClearScreenFilter() { - w.prePublish = func(*Window, screen.Texture) {} + w.prePublish = func(buf *image.RGBA) {} } diff --git a/screenFilter_test.go b/screenFilter_test.go new file mode 100644 index 00000000..d8d96992 --- /dev/null +++ b/screenFilter_test.go @@ -0,0 +1,18 @@ +package oak + +import ( + "image" + "image/color" + "testing" +) + +func TestScreenFilter(t *testing.T) { + c1 := NewWindow() + blackAndWhite := color.Palette{ + color.RGBA{0, 0, 0, 255}, + color.RGBA{255, 255, 255, 255}, + } + c1.SetPalette(blackAndWhite) + buf := image.NewRGBA(image.Rect(0, 0, 1, 1)) + c1.prePublish(buf) +} diff --git a/screenshot.go b/screenshot.go index 32105885..f0ca1b55 100644 --- a/screenshot.go +++ b/screenshot.go @@ -6,8 +6,6 @@ import ( "image/draw" "image/gif" "time" - - "github.com/oakmound/oak/v3/shiny/screen" ) // ScreenShot takes a snap shot of the window's image content. @@ -17,9 +15,8 @@ func (w *Window) ScreenShot() *image.RGBA { shotCh := make(chan *image.RGBA) // We need to take the shot when the screen is not being redrawn // We know the screen has everything drawn on it when it is published - w.prePublish = func(w *Window, tx screen.Texture) { + w.prePublish = func(rgba *image.RGBA) { // Copy the buffer - rgba := w.winBuffers[w.bufferIdx].RGBA() bds := rgba.Bounds() copy := image.NewRGBA(bds) for x := bds.Min.X; x < bds.Max.X; x++ { @@ -39,9 +36,8 @@ func (w *Window) gifShot() *image.Paletted { shotCh := make(chan *image.Paletted) // We need to take the shot when the screen is not being redrawn // We know the screen has everything drawn on it when it is published - w.prePublish = func(w *Window, tx screen.Texture) { + w.prePublish = func(rgba *image.RGBA) { // Copy the buffer - rgba := w.winBuffers[w.bufferIdx].RGBA() bds := rgba.Bounds() copy := image.NewPaletted(bds, palette.Plan9) draw.Draw(copy, bds, rgba, zeroPoint, draw.Src) diff --git a/viewport.go b/viewport.go index 615f737b..503e4148 100644 --- a/viewport.go +++ b/viewport.go @@ -39,8 +39,11 @@ func (w *Window) SetViewport(pt intgeom.Point2) { event.TriggerOn(w.eventHandler, ViewportUpdate, w.viewPos) } -// GetViewportBounds reports what bounds the viewport has been set to, if any. -func (w *Window) GetViewportBounds() (rect intgeom.Rect2, ok bool) { +// ViewportBounds returns the boundary of this window's viewport, or the rectangle +// that the viewport is not allowed to exit as it moves around. It often represents +// the total size of the world within a given scene. If bounds are not enforced, ok will +// be false. +func (w *Window) ViewportBounds() (rect intgeom.Rect2, ok bool) { return w.viewBounds, w.useViewBounds } @@ -73,10 +76,3 @@ func (w *Window) SetViewportBounds(rect intgeom.Rect2) { func (w *Window) Viewport() intgeom.Point2 { return w.viewPos } - -// ViewportBounds returns the boundary of this window's viewport, or the rectangle -// that the viewport is not allowed to exit as it moves around. It often represents -// the total size of the world within a given scene. -func (w *Window) ViewportBounds() intgeom.Rect2 { - return w.viewBounds -} diff --git a/viewport_test.go b/viewport_test.go index 49b3725f..d46baeba 100644 --- a/viewport_test.go +++ b/viewport_test.go @@ -21,46 +21,46 @@ func TestViewport(t *testing.T) { } go c1.Init("blank") time.Sleep(2 * time.Second) - if (c1.viewPos) != (intgeom.Point2{0, 0}) { - t.Fatalf("expected %v got %v", c1.viewPos, intgeom.Point2{0, 0}) + if (c1.Viewport()) != (intgeom.Point2{0, 0}) { + t.Fatalf("expected %v got %v", c1.Viewport(), intgeom.Point2{0, 0}) } c1.SetViewport(intgeom.Point2{5, 5}) - if (c1.viewPos) != (intgeom.Point2{5, 5}) { - t.Fatalf("expected %v got %v", c1.viewPos, intgeom.Point2{5, 5}) + if (c1.Viewport()) != (intgeom.Point2{5, 5}) { + t.Fatalf("expected %v got %v", c1.Viewport(), intgeom.Point2{5, 5}) } - _, ok := c1.GetViewportBounds() + _, ok := c1.ViewportBounds() if ok { t.Fatalf("viewport bounds should not be set on scene start") } c1.SetViewportBounds(intgeom.NewRect2(0, 0, 4, 4)) - if (c1.viewPos) != (intgeom.Point2{5, 5}) { - t.Fatalf("expected %v got %v", c1.viewPos, intgeom.Point2{5, 5}) + if (c1.Viewport()) != (intgeom.Point2{5, 5}) { + t.Fatalf("expected %v got %v", c1.Viewport(), intgeom.Point2{5, 5}) } c1.SetViewport(intgeom.Point2{-1, -1}) - if (c1.viewPos) != (intgeom.Point2{0, 0}) { - t.Fatalf("expected %v got %v", c1.viewPos, intgeom.Point2{0, 0}) + if (c1.Viewport()) != (intgeom.Point2{0, 0}) { + t.Fatalf("expected %v got %v", c1.Viewport(), intgeom.Point2{0, 0}) } c1.SetViewport(intgeom.Point2{6, 6}) - if (c1.viewPos) != (intgeom.Point2{0, 0}) { - t.Fatalf("expected %v got %v", c1.viewPos, intgeom.Point2{0, 0}) + if (c1.Viewport()) != (intgeom.Point2{0, 0}) { + t.Fatalf("expected %v got %v", c1.Viewport(), intgeom.Point2{0, 0}) } c1.SetViewportBounds(intgeom.NewRect2(0, 0, 1000, 1000)) c1.SetViewport(intgeom.Point2{20, 20}) - if (c1.viewPos) != (intgeom.Point2{20, 20}) { - t.Fatalf("expected %v got %v", c1.viewPos, intgeom.Point2{20, 20}) + if (c1.Viewport()) != (intgeom.Point2{20, 20}) { + t.Fatalf("expected %v got %v", c1.Viewport(), intgeom.Point2{20, 20}) } c1.ShiftViewport(intgeom.Point2{-1, -1}) - if (c1.viewPos) != (intgeom.Point2{19, 19}) { - t.Fatalf("expected %v got %v", c1.viewPos, intgeom.Point2{19, 19}) + if (c1.Viewport()) != (intgeom.Point2{19, 19}) { + t.Fatalf("expected %v got %v", c1.Viewport(), intgeom.Point2{19, 19}) } c1.SetViewportBounds(intgeom.NewRect2(21, 21, 2000, 2000)) - if (c1.viewPos) != (intgeom.Point2{21, 21}) { - t.Fatalf("expected %v got %v", c1.viewPos, intgeom.Point2{21, 21}) + if (c1.Viewport()) != (intgeom.Point2{21, 21}) { + t.Fatalf("expected %v got %v", c1.Viewport(), intgeom.Point2{21, 21}) } c1.SetViewport(intgeom.Point2{1000, 1000}) c1.SetViewportBounds(intgeom.NewRect2(0, 0, 900, 900)) - bds, ok := c1.GetViewportBounds() + bds, ok := c1.ViewportBounds() if !ok { t.Fatalf("viewport bounds were not enabled") } @@ -68,11 +68,11 @@ func TestViewport(t *testing.T) { t.Fatalf("viewport bounds were not set: expected %v got %v", intgeom.NewRect2(0, 0, 900, 900), bds) } mx := intgeom.Point2{900, 900} - if (c1.viewPos) != mx.Sub(c1.Bounds()) { - t.Fatalf("expected %v got %v", c1.viewPos, mx.Sub(c1.Bounds())) + if (c1.Viewport()) != mx.Sub(c1.Bounds()) { + t.Fatalf("expected %v got %v", c1.Viewport(), mx.Sub(c1.Bounds())) } c1.RemoveViewportBounds() - _, ok = c1.GetViewportBounds() + _, ok = c1.ViewportBounds() if ok { t.Fatalf("viewport bounds were enabled after clear") } @@ -82,11 +82,11 @@ func TestViewport(t *testing.T) { sleep() - if (c1.viewPos) != (intgeom.Point2{0, 0}) { - t.Fatalf("expected %v got %v", c1.viewPos, intgeom.Point2{0, 0}) + if (c1.Viewport()) != (intgeom.Point2{0, 0}) { + t.Fatalf("expected %v got %v", c1.Viewport(), intgeom.Point2{0, 0}) } - _, ok = c1.GetViewportBounds() + _, ok = c1.ViewportBounds() if ok { t.Fatalf("viewport bounds should not be set on scene start") } diff --git a/window.go b/window.go index aff1a54c..79901c10 100644 --- a/window.go +++ b/window.go @@ -130,7 +130,7 @@ type Window struct { Driver Driver // prePublish is a function called each draw frame prior to publishing frames to the OS - prePublish func(w *Window, tx screen.Texture) + prePublish func(*image.RGBA) // LoadingR is a renderable that is displayed during loading screens. LoadingR render.Renderable @@ -161,8 +161,6 @@ type Window struct { FirstSceneInput interface{} - commands map[string]func([]string) - ControllerID int32 config Config @@ -186,30 +184,27 @@ var ( // NewWindow creates a window with default settings. func NewWindow() *Window { - c := &Window{ + return &Window{ State: key.NewState(), transitionCh: make(chan struct{}), skipSceneCh: make(chan string), quitCh: make(chan struct{}), drawCh: make(chan struct{}), betweenDrawCh: make(chan func()), + SceneMap: scene.NewMap(), + Driver: driver.Main, + prePublish: func(*image.RGBA) {}, + bkgFn: func() image.Image { + return image.Black + }, + eventHandler: event.DefaultBus, + MouseTree: mouse.DefaultTree, + CollisionTree: collision.DefaultTree, + CallerMap: event.DefaultCallerMap, + DrawStack: render.GlobalDrawStack, + ControllerID: atomic.AddInt32(nextControllerID, 1), + ParentContext: context.Background(), } - - c.SceneMap = scene.NewMap() - c.Driver = driver.Main - c.prePublish = func(*Window, screen.Texture) {} - c.bkgFn = func() image.Image { - return image.Black - } - c.eventHandler = event.DefaultBus - c.MouseTree = mouse.DefaultTree - c.CollisionTree = collision.DefaultTree - c.CallerMap = event.DefaultCallerMap - c.DrawStack = render.GlobalDrawStack - c.commands = make(map[string]func([]string)) - c.ControllerID = atomic.AddInt32(nextControllerID, 1) - c.ParentContext = context.Background() - return c } // Propagate triggers direct mouse events on entities which are clicked @@ -288,7 +283,7 @@ func (w *Window) SetBackground(b Background) { } } -// SetColorBackground sets this window's background to be a standar image.Image, +// SetColorBackground sets this window's background to be a standard image.Image, // commonly a uniform color. func (w *Window) SetColorBackground(img image.Image) { w.bkgFn = func() image.Image { @@ -309,9 +304,7 @@ func (w *Window) SetLogicHandler(h event.Handler) { // NextScene causes this window to immediately end the current scene. func (w *Window) NextScene() { - go func() { - w.skipSceneCh <- "" - }() + w.GoToScene("") } // GoToScene causes this window to skip directly to the given scene. @@ -326,12 +319,6 @@ func (w *Window) InFocus() bool { return w.inFocus } -// CollisionTrees helps access the mouse and collision trees from the controller. -// These trees together detail how a controller can drive mouse and entity interactions. -func (w *Window) CollisionTrees() (mouseTree, collisionTree *collision.Tree) { - return w.MouseTree, w.CollisionTree -} - // EventHandler returns this window's event handler. func (w *Window) EventHandler() event.Handler { return w.eventHandler diff --git a/window_test.go b/window_test.go index cdd02d7b..133d36db 100644 --- a/window_test.go +++ b/window_test.go @@ -1,12 +1,15 @@ package oak import ( + "image" + "os" "testing" "time" "github.com/oakmound/oak/v3/collision" "github.com/oakmound/oak/v3/event" "github.com/oakmound/oak/v3/mouse" + "github.com/oakmound/oak/v3/render" ) func TestMouseClicks(t *testing.T) { @@ -91,3 +94,31 @@ func TestPropagate(t *testing.T) { case <-ch: } } + +func TestWindowGetters(t *testing.T) { + c1 := NewWindow() + c1.debugConsole(os.Stdin, os.Stdout) + if c1.InFocus() { + t.Errorf("new windows should not be in focus") + } + if c1.EventHandler() != event.DefaultBus { + t.Errorf("new windows should have the default event bus") + } + if c1.GetBackgroundImage() != image.Black { + t.Errorf("new windows should have a black background") + } + c1.SetColorBackground(image.White) + if c1.GetBackgroundImage() != image.White { + t.Errorf("set color background failed") + } + rend := render.EmptyRenderable() + c1.SetLoadingRenderable(rend) + if c1.LoadingR != rend { + t.Errorf("Set loading renderable failed") + } + c1.SetBackground(rend) + r, g, b, a := c1.bkgFn().At(0, 0).RGBA() + if r != 0 || g != 0 || b != 0 || a != 0 { + t.Errorf("background was not set to empty renderable") + } +} From a205f3569dca685005d7fd7c866f32f7d0bcfc5c Mon Sep 17 00:00:00 2001 From: Patrick Stephen Date: Sun, 17 Apr 2022 11:22:45 -0500 Subject: [PATCH 27/36] examples/slide/show: replace usage of GetBackgroundImage --- examples/slide/show/slide.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/slide/show/slide.go b/examples/slide/show/slide.go index 6a536c29..a3762747 100644 --- a/examples/slide/show/slide.go +++ b/examples/slide/show/slide.go @@ -100,7 +100,7 @@ func Start(width, height int, slides ...Slide) { oak.AddScene("slide"+strconv.Itoa(len(slides)), scene.Scene{ Start: func(ctx *scene.Context) { - oldBackground = oak.GetBackgroundImage() + oldBackground = ctx.Window.(*oak.Window).GetBackgroundImage() oak.SetColorBackground(image.NewUniform(color.RGBA{0, 0, 0, 255})) wbds := ctx.Window.Bounds() render.Draw( From a58e0eeb632e8d11240c1b352ed15c829d1ea2e2 Mon Sep 17 00:00:00 2001 From: Patrick Stephen Date: Sun, 17 Apr 2022 11:23:09 -0500 Subject: [PATCH 28/36] render: add font test coverage --- render/font_test.go | 137 ++++++++++++++++++++++ render/testdata/assets/fonts/seguiemj.ttf | Bin 0 -> 2072388 bytes 2 files changed, 137 insertions(+) create mode 100644 render/testdata/assets/fonts/seguiemj.ttf diff --git a/render/font_test.go b/render/font_test.go index 625c3117..ae229400 100644 --- a/render/font_test.go +++ b/render/font_test.go @@ -57,6 +57,37 @@ func TestFontGenerator_validate(t *testing.T) { } } +func TestFontGenerator_Generate_Failure(t *testing.T) { + t.Run("BadRawFile", func(t *testing.T) { + fg := FontGenerator{ + RawFile: []byte("notafontfile"), + Color: image.NewUniform(color.RGBA{255, 0, 0, 255}), + FontOptions: FontOptions{ + Size: 13.0, + DPI: 44.0, + }, + } + _, err := fg.Generate() + if err == nil { + t.Fatalf("generate should have failed") + } + }) + t.Run("BadLoadFont", func(t *testing.T) { + fg := FontGenerator{ + File: "file that does not exist", + Color: image.NewUniform(color.RGBA{255, 0, 0, 255}), + FontOptions: FontOptions{ + Size: 13.0, + DPI: 44.0, + }, + } + _, err := fg.Generate() + if err == nil { + t.Fatalf("generate should have failed") + } + }) +} + func TestFontGenerator_Generate_Success(t *testing.T) { fg := FontGenerator{ File: "testdata/assets/fonts/luxisr.ttf", @@ -71,3 +102,109 @@ func TestFontGenerator_Generate_Success(t *testing.T) { t.Fatalf("generate failed: %v", err) } } + +func TestFont_Height(t *testing.T) { + ht := rand.Float64() * 10 + fg := FontGenerator{ + File: "testdata/assets/fonts/luxisr.ttf", + Color: image.NewUniform(color.RGBA{255, 0, 0, 255}), + FontOptions: FontOptions{ + Size: ht, + DPI: 44.0, + }, + } + f, err := fg.Generate() + if err != nil { + t.Fatalf("generate failed: %v", err) + } + if f.Height() != ht { + t.Fatalf("size did not match height: got %v expected %v", f.Height(), ht) + } +} + +func TestFont_RegenerateWith(t *testing.T) { + fg := FontGenerator{ + File: "testdata/assets/fonts/luxisr.ttf", + Color: image.NewUniform(color.RGBA{255, 0, 0, 255}), + FontOptions: FontOptions{ + Size: 13.0, + DPI: 44.0, + }, + } + f, err := fg.Generate() + if err != nil { + t.Fatalf("generate failed: %v", err) + } + f2, err := f.RegenerateWith(func(fg FontGenerator) FontGenerator { + fg.Size = 100 + return fg + }) + if err != nil { + t.Fatalf("regenerate failed: %v", err) + } + if f2.Height() != 100 { + t.Fatalf("size did not match height: got %v expected %v", f.Height(), 100) + } +} + +func TestCache_LoadFont(t *testing.T) { + t.Run("NotExists", func(t *testing.T) { + c := NewCache() + _, err := c.LoadFont("bogusfilepath") + if err == nil { + t.Fatal("expected error loading bad file") + } + }) + t.Run("NotFontFile", func(t *testing.T) { + c := NewCache() + _, err := c.LoadFont("testdata/assets/images/devfile.pdn") + if err == nil { + t.Fatal("expected error loading non-font") + } + }) + t.Run("GetCached", func(t *testing.T) { + c := NewCache() + _, err := c.LoadFont("testdata/assets/fonts/luxisr.ttf") + if err != nil { + t.Fatal("failed to load font into cache") + } + _, err = c.GetFont("luxisr.ttf") + if err != nil { + t.Fatalf("failed to get cached font: %v", err) + } + }) + t.Run("GetUncached", func(t *testing.T) { + c := NewCache() + _, err := c.GetFont("luxisr.ttf") + if err == nil { + t.Fatalf("expected error getting uncached font") + } + }) +} + +func TestFont_Fallback(t *testing.T) { + fg := FontGenerator{ + File: "testdata/assets/fonts/luxisr.ttf", + Color: image.NewUniform(color.RGBA{255, 0, 0, 255}), + FontOptions: FontOptions{ + Size: 13.0, + DPI: 44.0, + }, + } + f, err := fg.Generate() + if err != nil { + t.Fatalf("generate failed: %v", err) + } + + fg.File = "testdata/assets/fonts/seguiemj.ttf" + emjfont, err := fg.Generate() + if err != nil { + t.Fatalf("generate failed: %v", err) + } + + f.Fallbacks = append(f.Fallbacks, emjfont) + + f.MeasureString("a😀b😃c😄d😁e本") + txt := f.NewText("a😀b😃c😄d😁e本", 0, 0) + txt.Draw(image.NewRGBA(image.Rect(0, 0, 200, 200)), 0, 0) +} diff --git a/render/testdata/assets/fonts/seguiemj.ttf b/render/testdata/assets/fonts/seguiemj.ttf new file mode 100644 index 0000000000000000000000000000000000000000..77497bf76cfb09b8bdbba41f5dc1009113c2b12b GIT binary patch literal 2072388 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

1*~(>7{-o@s631km;qz4cmcE!=Bq4Nf&Ip2 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�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

5r~zC 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

= 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�tB8P9920-bJ<^tyid5 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

=lrPvZ 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

x6P0;%|_t^CQ1Z^K3JR{Npj&RFeuO>DHoru@O3 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 F^nGsd2uA?~(@ZAkYT?N5uxT@?lA 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%0AfDNg@ZU*Go^T$>1nF_5rSutC6 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 QdGf6|zZBPwq31gNFLyI-Gynhq literal 0 HcmV?d00001 From fe8c1c68b0e1a5e826c194501bbea5609afed1e6 Mon Sep 17 00:00:00 2001 From: Patrick Stephen Date: Sun, 17 Apr 2022 11:31:15 -0500 Subject: [PATCH 29/36] render: expand test coverage --- render/cache_test.go | 10 ++++++++++ render/drawStack_test.go | 4 ++++ render/noopStackable_test.go | 1 + 3 files changed, 15 insertions(+) diff --git a/render/cache_test.go b/render/cache_test.go index 2782c4a3..c194eed0 100644 --- a/render/cache_test.go +++ b/render/cache_test.go @@ -17,4 +17,14 @@ func TestCache_Clear(t *testing.T) { if err == nil { t.Fatal("get jeremy should have failed post-Clear") } + file = "testdata/assets/fonts/luxisr.ttf" + _, err = LoadFont(file) + if err != nil { + t.Fatalf("load luxisr should have succeeded: %v", err) + } + DefaultCache.Clear(file) + _, err = GetFont(file) + if err == nil { + t.Fatal("get luxisr should have failed post-Clear") + } } diff --git a/render/drawStack_test.go b/render/drawStack_test.go index 8ff14adc..0ecb6e09 100644 --- a/render/drawStack_test.go +++ b/render/drawStack_test.go @@ -26,6 +26,10 @@ func TestDrawStack(t *testing.T) { if len(GlobalDrawStack.as) != 1 { t.Fatalf("global draw stack did not have one length after pop") } + cp := GlobalDrawStack.Copy() + if len(cp.toPush) != len(GlobalDrawStack.toPush) { + t.Fatalf("copy failed to copy push length") + } } func TestDrawStack_Draw(t *testing.T) { diff --git a/render/noopStackable_test.go b/render/noopStackable_test.go index 5357c611..ceb8ebe9 100644 --- a/render/noopStackable_test.go +++ b/render/noopStackable_test.go @@ -20,4 +20,5 @@ func TestNoopStackable(t *testing.T) { if noop2 != noop { t.Fatalf("expected equal noop stackables") } + noop.Clear() } From 8e93c59a1908998a92fae7a232ccc8b390548d6c Mon Sep 17 00:00:00 2001 From: Patrick Stephen Date: Sun, 17 Apr 2022 11:34:59 -0500 Subject: [PATCH 30/36] oak: add driver config setting coverage --- config_test.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config_test.go b/config_test.go index 426feb57..9a313d77 100644 --- a/config_test.go +++ b/config_test.go @@ -5,6 +5,8 @@ import ( "os" "path/filepath" "testing" + + "github.com/oakmound/oak/v3/shiny/screen" ) func TestDefaultConfigFileMatchesEmptyConfig(t *testing.T) { @@ -115,6 +117,7 @@ func TestConfig_overwriteFrom(t *testing.T) { BatchLoadOptions: BatchLoadOptions{ MaxImageFileSize: 10000, }, + Driver: func(f func(screen.Screen)) { panic("fake") }, } c1 := Config{} c1.overwriteFrom(c2) From c32fae7a83cc3b3896562f1b59962cc7b4ce15e0 Mon Sep 17 00:00:00 2001 From: Patrick Stephen Date: Sun, 17 Apr 2022 18:57:26 -0500 Subject: [PATCH 31/36] oak: add mouse propagastion stoppage test --- window_test.go | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/window_test.go b/window_test.go index 133d36db..b29d0cb7 100644 --- a/window_test.go +++ b/window_test.go @@ -6,6 +6,7 @@ import ( "testing" "time" + "github.com/oakmound/oak/v3/alg/floatgeom" "github.com/oakmound/oak/v3/collision" "github.com/oakmound/oak/v3/event" "github.com/oakmound/oak/v3/mouse" @@ -95,6 +96,66 @@ func TestPropagate(t *testing.T) { } } +func TestPropagate_StopPropagation(t *testing.T) { + c1 := NewWindow() + c1.eventHandler = event.NewBus(event.NewCallerMap()) + c1.MouseTree = collision.NewTree() + + e1 := ent{} + e1.CallerID = c1.eventHandler.GetCallerMap().Register(e1) + e2 := ent{} + e2.CallerID = c1.eventHandler.GetCallerMap().Register(e2) + + s1 := collision.NewSpace(10, 10, 10, 10, e1.CallerID) + s1.SetZLayer(10) + c1.MouseTree.Insert(s1) + s2 := collision.NewSpace(10, 10, 10, 10, e2.CallerID) + s2.SetZLayer(1) + c1.MouseTree.Insert(s2) + var failed bool + <-event.Bind(c1.eventHandler, mouse.PressOn, e1, func(_ ent, ev *mouse.Event) event.Response { + ev.StopPropagation = true + return 0 + }).Bound + <-event.Bind(c1.eventHandler, mouse.PressOn, e2, func(_ ent, ev *mouse.Event) event.Response { + failed = true + return 0 + }).Bound + <-event.Bind(c1.eventHandler, mouse.ClickOn, e1, func(_ ent, ev *mouse.Event) event.Response { + ev.StopPropagation = true + return 0 + }).Bound + <-event.Bind(c1.eventHandler, mouse.ClickOn, e2, func(_ ent, ev *mouse.Event) event.Response { + failed = true + return 0 + }).Bound + <-event.Bind(c1.eventHandler, mouse.RelativeClickOn, e1, func(_ ent, ev *mouse.Event) event.Response { + ev.StopPropagation = true + return 0 + }).Bound + <-event.Bind(c1.eventHandler, mouse.RelativeClickOn , e2, func(_ ent, ev *mouse.Event) event.Response { + failed = true + return 0 + }).Bound + c1.TriggerMouseEvent(mouse.Event{ + Point2: floatgeom.Point2{ + 15, 15, + }, + Button: mouse.ButtonLeft, + EventType: mouse.Press, + }) + c1.TriggerMouseEvent(mouse.Event{ + Point2: floatgeom.Point2{ + 15, 15, + }, + Button: mouse.ButtonLeft, + EventType: mouse.Release, + }) + if failed { + t.Fatal("stop propagation failed") + } +} + func TestWindowGetters(t *testing.T) { c1 := NewWindow() c1.debugConsole(os.Stdin, os.Stdout) From 53c2f793a3969b7a6591044d890d7fe05c875002 Mon Sep 17 00:00:00 2001 From: Patrick Stephen Date: Sun, 17 Apr 2022 19:09:08 -0500 Subject: [PATCH 32/36] oak: expand general test coverage --- alg/span/color_test.go | 11 +++++++++++ init_test.go | 8 ++++++++ inputTracker_test.go | 3 +++ loading.go | 5 +---- shape/bezier.go | 10 ---------- 5 files changed, 23 insertions(+), 14 deletions(-) diff --git a/alg/span/color_test.go b/alg/span/color_test.go index 99ded583..3b712cda 100644 --- a/alg/span/color_test.go +++ b/alg/span/color_test.go @@ -42,4 +42,15 @@ func TestLinearColor(t *testing.T) { if rng.Clamp(color.RGBA{175, 175, 175, 175}) != (color.RGBA{175, 175, 175, 175}) { t.Fatal("linear color range did not pass through value within range") } + + rng = rng.MulSpan(1.1) + if rng.Clamp(color.RGBA{100, 100, 100, 100}) != (color.RGBA{137, 137, 137, 137}) { + t.Fatal("linear color range did not enforce minimum color") + } + if rng.Clamp(color.RGBA{225, 225, 225, 225}) != (color.RGBA{220, 220, 220, 220}) { + t.Fatal("linear color range did not enforce maximum color") + } + if rng.Clamp(color.RGBA{175, 175, 175, 175}) != (color.RGBA{175, 175, 175, 175}) { + t.Fatal("linear color range did not pass through value within range") + } } diff --git a/init_test.go b/init_test.go index bc9bdb6e..48135ded 100644 --- a/init_test.go +++ b/init_test.go @@ -36,3 +36,11 @@ func TestInitFailures(t *testing.T) { } }) } + +func TestInitDebugConsole(t *testing.T) { + c1 := NewWindow() + c1.Init("bad", func(c Config) (Config, error) { + c.EnableDebugConsole = true + return c, nil + }) +} diff --git a/inputTracker_test.go b/inputTracker_test.go index f3e590c8..db1bc232 100644 --- a/inputTracker_test.go +++ b/inputTracker_test.go @@ -48,4 +48,7 @@ func TestTrackInputChanges(t *testing.T) { if <-inputChangeFailed { t.Fatalf("keyboard change failed") } + if c1.MostRecentInput() != InputKeyboard { + t.Fatalf("most recent input getter failed") + } } diff --git a/loading.go b/loading.go index 70c68e8c..67c9a422 100644 --- a/loading.go +++ b/loading.go @@ -27,11 +27,8 @@ func (w *Window) loadAssets(imageDir, audioDir string) { } else { err = audio.BatchLoad(audioDir) } - if err != nil { - return err - } dlog.Verb("Done Loading Audio") - return nil + return err }) dlog.ErrorCheck(eg.Wait()) } diff --git a/shape/bezier.go b/shape/bezier.go index c7cce062..b8fb18e3 100644 --- a/shape/bezier.go +++ b/shape/bezier.go @@ -64,13 +64,3 @@ type BezierPoint floatgeom.Point2 func (bp BezierPoint) Pos(float64) (x, y float64) { return bp[0], bp[1] } - -// X returns bp's value on the X axis. -func (bp BezierPoint) X() float64 { - return bp[0] -} - -// Y returns bp's value on the Y axis. -func (bp BezierPoint) Y() float64 { - return bp[1] -} From e69d5dfc2cf6bbeac06b2e84f424521bd6f07b74 Mon Sep 17 00:00:00 2001 From: Patrick Stephen Date: Mon, 18 Apr 2022 07:13:14 -0500 Subject: [PATCH 33/36] examples/bezier: remove point.X() and point.Y() --- examples/bezier/main.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/bezier/main.go b/examples/bezier/main.go index eca12490..770f9b57 100644 --- a/examples/bezier/main.go +++ b/examples/bezier/main.go @@ -97,7 +97,7 @@ func bezierDrawRec(b shape.Bezier, list *render.CompositeM, alpha uint8) { bezierDrawRec(bzn.Right, list, uint8(float64(alpha)*.5)) case shape.BezierPoint: sp := render.NewColorBox(5, 5, color.RGBA{255, 255, 255, 255}) - sp.SetPos(bzn.X()-2, bzn.Y()-2) + sp.SetPos(bzn[0]-2, bzn[1]-2) list.Append(sp) } } From 3c73dd9a4432c5ecac3f0ccae4578ea2969e3cb8 Mon Sep 17 00:00:00 2001 From: Patrick Stephen Date: Sat, 23 Apr 2022 10:40:46 -0500 Subject: [PATCH 34/36] event: add persistent binding methods to Handler --- event/bind.go | 7 ++++--- event/handler.go | 2 ++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/event/bind.go b/event/bind.go index 4e66fc38..4c0b7fea 100644 --- a/event/bind.go +++ b/event/bind.go @@ -46,8 +46,9 @@ type BindID int64 // UnsafeBind registers a callback function to be called whenever the provided event is triggered // against this bus. The binding is concurrently bound, and therefore may not be immediately -// available to be triggered. When Reset is called on a Bus, all prior bindings are unbound. This -// call is 'unsafe' because UnsafeBindables use bare interface{} types. +// available to be triggered. When Reset is called on a Bus, all prior bindings are unbound and any +// concurrent calls to UnsafeBind will not take effect. This call is 'unsafe' because UnsafeBindables +// use bare interface{} types. func (bus *Bus) UnsafeBind(eventID UnsafeEventID, callerID CallerID, fn UnsafeBindable) Binding { expectedResetCount := bus.resetCount bindID := BindID(atomic.AddInt64(bus.nextBindID, 1)) @@ -73,7 +74,7 @@ func (bus *Bus) UnsafeBind(eventID UnsafeEventID, callerID CallerID, fn UnsafeBi } } -// PersistentBind acts like UnsafeBind, but cause Bind to be called with these inputs after a Bus is Reset, i.e. +// PersistentBind calls UnsafeBind, and causes UnsafeBind to be called with these inputs when a Bus is Reset, i.e. // persisting the binding through bus resets. Unbinding this will not stop it from being rebound on the next // Bus Reset-- ClearPersistentBindings will. If called concurrently during a bus Reset, the request may not be // bound until the next bus Reset. diff --git a/event/handler.go b/event/handler.go index 5537121d..6a28fd03 100644 --- a/event/handler.go +++ b/event/handler.go @@ -16,4 +16,6 @@ type Handler interface { UnbindAllFrom(CallerID) <-chan struct{} SetCallerMap(*CallerMap) GetCallerMap() *CallerMap + PersistentBind(eventID UnsafeEventID, callerID CallerID, fn UnsafeBindable) Binding + ClearPersistentBindings() } From 21f1006c2b306a9a19b241ab641fd2eea19d341d Mon Sep 17 00:00:00 2001 From: Patrick Stephen Date: Sat, 23 Apr 2022 10:50:30 -0500 Subject: [PATCH 35/36] oak: bump v3 -> v4 --- README.md | 28 +++++++++---------- alg/floatgeom/point.go | 2 +- alg/floatgeom/point_test.go | 2 +- alg/floatgeom/polygon.go | 2 +- alg/intgeom/point.go | 2 +- alg/intgeom/point_test.go | 2 +- alg/intgeom/rect.go | 2 +- alg/span/builtin.go | 2 +- audio/fade.go | 2 +- audio/file_cache.go | 2 +- audio/file_load.go | 10 +++---- audio/format/dls/dls.go | 2 +- audio/format/flac/flac.go | 4 +-- audio/format/mp3/mp3.go | 4 +-- audio/format/register.go | 2 +- audio/format/wav/wav.go | 4 +-- audio/init_darwin.go | 4 +-- audio/init_linux.go | 4 +-- audio/internal/dsound/dsound.go | 4 +-- audio/play.go | 2 +- audio/play_test.go | 8 +++--- audio/reader.go | 3 +- audio/synth/filter_test.go | 2 +- audio/synth/pitch.go | 2 +- audio/synth/source.go | 2 +- audio/synth/waves.go | 2 +- audio/writer.go | 2 +- audio/writer_alsa.go | 2 +- audio/writer_dsound.go | 6 ++-- audio/writer_js.go | 2 +- audio/writer_other.go | 2 +- audio/writer_pulse.go | 2 +- collision/attachSpace.go | 4 +-- collision/attachSpace_test.go | 4 +-- collision/filter.go | 2 +- collision/geom.go | 2 +- collision/onCollision.go | 2 +- collision/onCollision_test.go | 2 +- collision/point.go | 2 +- collision/ray/castFilter.go | 4 +-- collision/ray/castLimit.go | 4 +-- collision/ray/caster.go | 4 +-- collision/ray/caster_test.go | 4 +-- collision/ray/coneCaster.go | 6 ++-- collision/ray/coneCaster_test.go | 6 ++-- collision/ray/raycast_test.go | 6 ++-- collision/rtree.go | 2 +- collision/rtree_test.go | 2 +- collision/space.go | 6 ++-- collision/space_test.go | 4 +-- collision/tree.go | 4 +-- collision/tree_test.go | 4 +-- config.go | 4 +-- config_test.go | 2 +- debugstream/commands.go | 2 +- debugstream/defaultcommands.go | 2 +- debugstream/scopeHelper.go | 18 ++++++------ debugstream/scopeHelper_test.go | 10 +++---- debugtools/inputviz/joystick.go | 16 +++++------ debugtools/inputviz/keyboard.go | 10 +++---- debugtools/inputviz/mouse.go | 10 +++---- debugtools/mouse.go | 10 +++---- debugtools/renderable.go | 2 +- debugtools/tree.go | 6 ++-- default.go | 10 +++---- default_test.go | 8 +++--- dlog/default.go | 2 +- dlog/default_test.go | 2 +- dlog/dlog_test.go | 2 +- dlog/levels.go | 2 +- dlog/levels_test.go | 2 +- dlog/strings.go | 2 +- driver.go | 2 +- entities/entity.go | 14 +++++----- entities/move.go | 6 ++-- entities/opts_gen.go | 10 +++---- entities/x/btn/button.go | 18 ++++++------ entities/x/btn/grid/grid.go | 6 ++-- entities/x/btn/grid/option.go | 4 +-- entities/x/btn/option.go | 16 +++++------ entities/x/btn/textOptions.go | 2 +- event/bind.go | 2 +- event/bind_test.go | 2 +- event/bus_test.go | 2 +- event/caller_test.go | 2 +- event/response_test.go | 2 +- event/trigger_test.go | 2 +- examples/bezier/main.go | 14 +++++----- examples/blank/main.go | 6 ++-- examples/click-propagation/main.go | 12 ++++---- examples/clipboard/go.mod | 4 +-- examples/clipboard/main.go | 16 +++++------ examples/collision-demo/main.go | 18 ++++++------ examples/custom-cursor/main.go | 10 +++---- examples/error-scene/main.go | 6 ++-- examples/fallback-font/go.mod | 4 +-- examples/fallback-font/main.go | 6 ++-- examples/flappy-bird/main.go | 22 +++++++-------- examples/joystick-viz/main.go | 14 +++++----- examples/keyboard-viz/main.go | 12 ++++---- examples/mouse-viz/main.go | 8 +++--- examples/multi-window/main.go | 10 +++---- examples/particle-demo/main.go | 24 ++++++++-------- examples/piano/main.go | 24 ++++++++-------- examples/platformer/main.go | 14 +++++----- examples/pong/main.go | 16 +++++------ examples/radar-demo/main.go | 18 ++++++------ examples/radar-demo/radar/radar.go | 2 +- examples/rooms/main.go | 14 +++++----- examples/screenopts/main.go | 10 +++---- examples/slide/main.go | 18 ++++++------ examples/slide/show/fonts.go | 2 +- examples/slide/show/helpers.go | 4 +-- examples/slide/show/slide.go | 12 ++++---- examples/slide/show/static/basicSlide.go | 12 ++++---- examples/sprite-demo/main.go | 12 ++++---- examples/svg/go.mod | 4 +-- examples/svg/main.go | 6 ++-- .../color-changing-text-demo/main.go | 8 +++--- .../text-demos/continual-text-demo/main.go | 12 ++++---- examples/titlescreen-demo/main.go | 14 +++++----- examples/top-down-shooter/main.go | 28 +++++++++---------- examples/zooming/main.go | 12 ++++---- go.mod | 2 +- init.go | 8 +++--- init_override_js.go | 6 ++-- inputLoop.go | 12 ++++---- inputLoop_test.go | 2 +- inputTracker.go | 10 +++---- inputTracker_test.go | 8 +++--- joystick/driver_darwin.go | 10 +++---- joystick/driver_js.go | 22 +++++++-------- joystick/driver_linux.go | 8 +++--- joystick/driver_other.go | 2 +- joystick/driver_windows.go | 4 +-- joystick/joystick.go | 4 +-- key/events.go | 2 +- lifecycle.go | 6 ++-- loading.go | 8 +++--- loading_test.go | 2 +- mouse/default.go | 2 +- mouse/default_test.go | 2 +- mouse/event.go | 6 ++-- mouse/event_test.go | 2 +- mouse/events.go | 2 +- mouse/events_test.go | 2 +- mouse/mouse.go | 2 +- mouse/onCollision.go | 4 +-- mouse/onCollision_test.go | 6 ++-- physics/force.go | 2 +- physics/vector.go | 2 +- physics/vector_test.go | 2 +- render/bachload_test.go | 2 +- render/batchload.go | 8 +++--- render/bezier.go | 6 ++-- render/bezier_test.go | 2 +- render/cache.go | 2 +- render/colorbox.go | 2 +- render/compositeM.go | 4 +-- render/compositeM_test.go | 4 +-- render/compositeR.go | 4 +-- render/compositeR_test.go | 4 +-- render/curve.go | 4 +-- render/decoder.go | 2 +- render/drawHeap.go | 2 +- render/drawHeap_test.go | 2 +- render/drawStack.go | 4 +-- render/drawStack_test.go | 2 +- render/font.go | 6 ++-- render/font_test.go | 2 +- render/fps.go | 2 +- render/interfaceFeatures.go | 2 +- render/layered.go | 2 +- render/line.go | 2 +- render/loadsheet.go | 4 +-- render/loadsheet_test.go | 4 +-- render/loadsprite.go | 4 +-- render/logicfps.go | 4 +-- render/logicfps_test.go | 2 +- render/mod/cut.go | 6 ++-- render/mod/highlight.go | 2 +- render/mod/mod_test.go | 2 +- render/modifiable.go | 2 +- render/noopStackable.go | 2 +- render/noopStackable_test.go | 2 +- render/particle/allocator.go | 2 +- render/particle/allocator_test.go | 2 +- render/particle/collisionParticle.go | 2 +- render/particle/collision_test.go | 2 +- render/particle/collisonGenerator.go | 4 +-- render/particle/colorGenerator.go | 6 ++-- render/particle/colorParticle.go | 4 +-- render/particle/color_test.go | 6 ++-- render/particle/generator.go | 4 +-- render/particle/gradientGenerator.go | 4 +-- render/particle/gradientParticle.go | 2 +- render/particle/gradient_test.go | 8 +++--- render/particle/math.go | 2 +- render/particle/options.go | 6 ++-- render/particle/particle.go | 4 +-- render/particle/particle_test.go | 2 +- render/particle/shape.go | 2 +- render/particle/source.go | 6 ++-- render/particle/source_test.go | 10 +++---- render/particle/spriteGenerator.go | 6 ++-- render/particle/spriteParticle.go | 4 +-- render/particle/sprite_test.go | 4 +-- render/polygon.go | 4 +-- render/polygon_test.go | 2 +- render/renderable.go | 2 +- render/reverting.go | 4 +-- render/reverting_test.go | 2 +- render/sequence.go | 6 ++-- render/sequence_test.go | 4 +-- render/sheet.go | 2 +- render/sheet_test.go | 4 +-- render/sprite.go | 2 +- render/sprite_test.go | 4 +-- render/switch.go | 8 +++--- render/switch_test.go | 4 +-- render/text.go | 2 +- scene.go | 4 +-- scene/context.go | 8 +++--- scene/context_desktop.go | 2 +- scene/context_other.go | 2 +- scene/delay.go | 2 +- scene/delay_test.go | 2 +- scene/example_test.go | 2 +- scene/map.go | 2 +- scene/map_test.go | 2 +- scene/scene.go | 4 +-- scene/transition.go | 2 +- scene/transition_gift.go | 2 +- sceneLoop.go | 12 ++++---- sceneLoop_test.go | 2 +- scene_test.go | 4 +-- screenFilter.go | 2 +- screenshot_test.go | 2 +- shake/shake.go | 8 +++--- shape/bezier.go | 4 +-- shape/bezier_test.go | 2 +- shape/condense.go | 2 +- shape/condense_test.go | 2 +- shape/holes.go | 2 +- shape/holes_test.go | 2 +- shape/in.go | 2 +- shape/outline.go | 2 +- shape/points.go | 2 +- shape/points_test.go | 2 +- shape/rect.go | 2 +- shape/shape.go | 2 +- shiny/driver/androiddriver/main.go | 2 +- shiny/driver/androiddriver/screen.go | 4 +-- shiny/driver/androiddriver/texture.go | 2 +- shiny/driver/driver.go | 2 +- shiny/driver/driver_android.go | 4 +-- shiny/driver/driver_fallback.go | 6 ++-- shiny/driver/driver_js.go | 4 +-- shiny/driver/driver_noop.go | 4 +-- shiny/driver/driver_windows.go | 4 +-- shiny/driver/driver_x11.go | 5 ++-- shiny/driver/internal/drawer/drawer.go | 2 +- shiny/driver/internal/errscreen/errscreen.go | 2 +- shiny/driver/internal/win32/win32.go | 2 +- shiny/driver/jsdriver/screen.go | 2 +- shiny/driver/jsdriver/texture.go | 2 +- shiny/driver/jsdriver/window.go | 4 +-- .../mtldriver/internal/appkit/appkit.go | 2 +- shiny/driver/mtldriver/mtldriver.go | 8 +++--- shiny/driver/mtldriver/screen.go | 2 +- shiny/driver/mtldriver/texture.go | 2 +- shiny/driver/mtldriver/window.go | 6 ++-- shiny/driver/mtldriver/window_amd64.go | 4 +-- shiny/driver/mtldriver/window_arm64.go | 4 +-- shiny/driver/mtldriver_darwin.go | 4 +-- shiny/driver/noop/noop.go | 4 +-- shiny/driver/windriver/buffer.go | 5 ++-- shiny/driver/windriver/other.go | 5 ++-- shiny/driver/windriver/screen.go | 4 +-- shiny/driver/windriver/texture.go | 5 ++-- shiny/driver/windriver/window.go | 8 +++--- shiny/driver/windriver/windraw.go | 3 +- shiny/driver/windriver/windriver.go | 7 +++-- shiny/driver/x11driver/buffer.go | 2 +- shiny/driver/x11driver/screen.go | 4 +-- shiny/driver/x11driver/texture.go | 2 +- shiny/driver/x11driver/window.go | 12 ++++---- shiny/driver/x11driver/x11driver.go | 4 +-- shiny/screen/screen.go | 4 +-- viewport.go | 4 +-- viewport_test.go | 4 +-- window.go | 22 +++++++-------- window/window.go | 4 +-- window_test.go | 12 ++++---- 294 files changed, 762 insertions(+), 757 deletions(-) diff --git a/README.md b/README.md index 43c6944a..8af2618a 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ ## A Pure Go game engine -[![Go Reference](https://pkg.go.dev/badge/github.com/oakmound/oak/v3.svg)](https://pkg.go.dev/github.com/oakmound/oak/v3) +[![Go Reference](https://pkg.go.dev/badge/github.com/oakmound/oak/v4.svg)](https://pkg.go.dev/github.com/oakmound/oak/v4) [![Code Coverage](https://codecov.io/gh/oakmound/oak/branch/develop/graph/badge.svg)](https://codecov.io/gh/oakmound/oak) [![Mentioned in Awesome Go](https://awesome.re/mentioned-badge-flat.svg)](https://github.com/avelino/awesome-go) @@ -24,14 +24,14 @@ ## Installation -`go get -u github.com/oakmound/oak/v3` +`go get -u github.com/oakmound/oak/v4` ## Features and Systems 1. Window Management - Windows and key events forked from [shiny](https://pkg.go.dev/golang.org/x/exp/shiny) - Support for multiple windows running at the same time -1. [Image Rendering](https://pkg.go.dev/github.com/oakmound/oak/v3/render) +1. [Image Rendering](https://pkg.go.dev/github.com/oakmound/oak/v4/render) - Manipulation - `render.Modifiable` interface - Integrated with optimized image manipulation via [gift](https://github.com/disintegration/gift) @@ -40,18 +40,18 @@ - Primitive builders, `ColorBox`, `Line`, `Bezier` - History-tracking `Reverting` - Primarily 2D -1. [Particle System](https://pkg.go.dev/github.com/oakmound/oak/v3/render/particle) -1. [Mouse Handling](https://pkg.go.dev/github.com/oakmound/oak/v3/mouse) -1. [Joystick Support](https://pkg.go.dev/github.com/oakmound/oak/v3/joystick) -1. [Audio Support](https://pkg.go.dev/github.com/oakmound/oak/v3/audio) -1. [Collision](https://pkg.go.dev/github.com/oakmound/oak/v3/collision) +1. [Particle System](https://pkg.go.dev/github.com/oakmound/oak/v4/render/particle) +1. [Mouse Handling](https://pkg.go.dev/github.com/oakmound/oak/v4/mouse) +1. [Joystick Support](https://pkg.go.dev/github.com/oakmound/oak/v4/joystick) +1. [Audio Support](https://pkg.go.dev/github.com/oakmound/oak/v4/audio) +1. [Collision](https://pkg.go.dev/github.com/oakmound/oak/v4/collision) - Collision R-Tree forked from [rtreego](https://github.com/dhconnelly/rtreego) - - [2D Raycasting](https://pkg.go.dev/github.com/oakmound/oak/v3/collision/ray) + - [2D Raycasting](https://pkg.go.dev/github.com/oakmound/oak/v4/collision/ray) - Collision Spaces - Attachable to Objects - Auto React to collisions through events -1. [2D Physics System](https://pkg.go.dev/github.com/oakmound/oak/v3/physics) -1. [Event Handler](https://pkg.go.dev/github.com/oakmound/oak/v3/event) +1. [2D Physics System](https://pkg.go.dev/github.com/oakmound/oak/v4/physics) +1. [Event Handler](https://pkg.go.dev/github.com/oakmound/oak/v4/event) ## Support @@ -65,8 +65,8 @@ This is an example of the most basic oak program: package main import ( - "github.com/oakmound/oak/v3" - "github.com/oakmound/oak/v3/scene" + "github.com/oakmound/oak/v4" + "github.com/oakmound/oak/v4/scene" ) func main() { @@ -79,7 +79,7 @@ func main() { } ``` -See below or the [examples](examples) folder for longer demos, [godoc](https://pkg.go.dev/github.com/oakmound/oak/v3) for reference documentation, and the [wiki](https://github.com/oakmound/oak/wiki) for more guided tutorials and walkthroughs. +See below or the [examples](examples) folder for longer demos, [godoc](https://pkg.go.dev/github.com/oakmound/oak/v4) for reference documentation, and the [wiki](https://github.com/oakmound/oak/wiki) for more guided tutorials and walkthroughs. ## Examples diff --git a/alg/floatgeom/point.go b/alg/floatgeom/point.go index 7335f1ea..2edda851 100644 --- a/alg/floatgeom/point.go +++ b/alg/floatgeom/point.go @@ -3,7 +3,7 @@ package floatgeom import ( "math" - "github.com/oakmound/oak/v3/alg" + "github.com/oakmound/oak/v4/alg" ) // Point2 represents a 2D point on a plane. diff --git a/alg/floatgeom/point_test.go b/alg/floatgeom/point_test.go index 49617207..a0b0c976 100644 --- a/alg/floatgeom/point_test.go +++ b/alg/floatgeom/point_test.go @@ -6,7 +6,7 @@ import ( "testing" "time" - "github.com/oakmound/oak/v3/alg" + "github.com/oakmound/oak/v4/alg" ) func Seed() { diff --git a/alg/floatgeom/polygon.go b/alg/floatgeom/polygon.go index 92ccca3a..a257dcf9 100644 --- a/alg/floatgeom/polygon.go +++ b/alg/floatgeom/polygon.go @@ -1,7 +1,7 @@ package floatgeom import ( - "github.com/oakmound/oak/v3/alg" + "github.com/oakmound/oak/v4/alg" ) // A Polygon2 is a series of points in 2D space. diff --git a/alg/intgeom/point.go b/alg/intgeom/point.go index d8038baf..d95c07dc 100644 --- a/alg/intgeom/point.go +++ b/alg/intgeom/point.go @@ -3,7 +3,7 @@ package intgeom import ( "math" - "github.com/oakmound/oak/v3/alg" + "github.com/oakmound/oak/v4/alg" ) // Point2 represents a 2D point in space. diff --git a/alg/intgeom/point_test.go b/alg/intgeom/point_test.go index 6e28860d..a9869f40 100644 --- a/alg/intgeom/point_test.go +++ b/alg/intgeom/point_test.go @@ -6,7 +6,7 @@ import ( "testing" "time" - "github.com/oakmound/oak/v3/alg" + "github.com/oakmound/oak/v4/alg" ) func Seed() { diff --git a/alg/intgeom/rect.go b/alg/intgeom/rect.go index 03fa8a03..43d0cd98 100644 --- a/alg/intgeom/rect.go +++ b/alg/intgeom/rect.go @@ -3,7 +3,7 @@ package intgeom import ( "math/rand" - "github.com/oakmound/oak/v3/alg/span" + "github.com/oakmound/oak/v4/alg/span" ) // A Rect2 represents a span from one point in 2D space to another. diff --git a/alg/span/builtin.go b/alg/span/builtin.go index 8e0666f7..b82ecd61 100644 --- a/alg/span/builtin.go +++ b/alg/span/builtin.go @@ -3,7 +3,7 @@ package span import ( "math/rand" - "github.com/oakmound/oak/v3/alg/span/internal/random" + "github.com/oakmound/oak/v4/alg/span/internal/random" "golang.org/x/exp/constraints" ) diff --git a/audio/fade.go b/audio/fade.go index b4e14df6..8311653a 100644 --- a/audio/fade.go +++ b/audio/fade.go @@ -3,7 +3,7 @@ package audio import ( "time" - "github.com/oakmound/oak/v3/audio/pcm" + "github.com/oakmound/oak/v4/audio/pcm" ) // FadeIn wraps a reader such that it will linearly fades in over the given duration. diff --git a/audio/file_cache.go b/audio/file_cache.go index 229b98f2..a6a021c5 100644 --- a/audio/file_cache.go +++ b/audio/file_cache.go @@ -4,7 +4,7 @@ import ( "path/filepath" "sync" - "github.com/oakmound/oak/v3/audio/pcm" + "github.com/oakmound/oak/v4/audio/pcm" ) // DefaultCache is the receiver for package level loading operations. diff --git a/audio/file_load.go b/audio/file_load.go index 0c1a8e94..640dedf5 100644 --- a/audio/file_load.go +++ b/audio/file_load.go @@ -6,11 +6,11 @@ import ( "golang.org/x/sync/errgroup" - "github.com/oakmound/oak/v3/audio/format" - "github.com/oakmound/oak/v3/audio/pcm" - "github.com/oakmound/oak/v3/dlog" - "github.com/oakmound/oak/v3/fileutil" - "github.com/oakmound/oak/v3/oakerr" + "github.com/oakmound/oak/v4/audio/format" + "github.com/oakmound/oak/v4/audio/pcm" + "github.com/oakmound/oak/v4/dlog" + "github.com/oakmound/oak/v4/fileutil" + "github.com/oakmound/oak/v4/oakerr" ) // Get will read cached audio data from Load, or error if the given diff --git a/audio/format/dls/dls.go b/audio/format/dls/dls.go index ed9fa9b4..28961920 100644 --- a/audio/format/dls/dls.go +++ b/audio/format/dls/dls.go @@ -1,7 +1,7 @@ // Package dls contains data structures for DLS (.dls) file types. package dls -import "github.com/oakmound/oak/v3/audio/format/riff" +import "github.com/oakmound/oak/v4/audio/format/riff" // The DLS is the major struct we care about in this package // DLS files contain instrument and wave sample information, and diff --git a/audio/format/flac/flac.go b/audio/format/flac/flac.go index 7db92455..d7899942 100644 --- a/audio/format/flac/flac.go +++ b/audio/format/flac/flac.go @@ -14,8 +14,8 @@ import ( "io" "github.com/eaburns/flac" - "github.com/oakmound/oak/v3/audio/format" - "github.com/oakmound/oak/v3/audio/pcm" + "github.com/oakmound/oak/v4/audio/format" + "github.com/oakmound/oak/v4/audio/pcm" ) func init() { diff --git a/audio/format/mp3/mp3.go b/audio/format/mp3/mp3.go index 7a6bdf30..14fb6ad7 100644 --- a/audio/format/mp3/mp3.go +++ b/audio/format/mp3/mp3.go @@ -11,8 +11,8 @@ package mp3 import ( "io" - "github.com/oakmound/oak/v3/audio/format" - "github.com/oakmound/oak/v3/audio/pcm" + "github.com/oakmound/oak/v4/audio/format" + "github.com/oakmound/oak/v4/audio/pcm" "github.com/hajimehoshi/go-mp3" ) diff --git a/audio/format/register.go b/audio/format/register.go index c2dabbc5..1059030b 100644 --- a/audio/format/register.go +++ b/audio/format/register.go @@ -5,7 +5,7 @@ import ( "io" "sync" - "github.com/oakmound/oak/v3/audio/pcm" + "github.com/oakmound/oak/v4/audio/pcm" ) // A Loader can parse the data from an io.Reader and convert it into PCM encoded audio data with diff --git a/audio/format/wav/wav.go b/audio/format/wav/wav.go index c66e953d..e3168c59 100644 --- a/audio/format/wav/wav.go +++ b/audio/format/wav/wav.go @@ -13,8 +13,8 @@ import ( "encoding/binary" - "github.com/oakmound/oak/v3/audio/format" - "github.com/oakmound/oak/v3/audio/pcm" + "github.com/oakmound/oak/v4/audio/format" + "github.com/oakmound/oak/v4/audio/pcm" ) func init() { diff --git a/audio/init_darwin.go b/audio/init_darwin.go index cd4c922b..6b8512f9 100644 --- a/audio/init_darwin.go +++ b/audio/init_darwin.go @@ -6,8 +6,8 @@ import ( "fmt" "github.com/jfreymuth/pulse" - "github.com/oakmound/oak/v3/oakerr" - "github.com/oakmound/oak/v3/audio/pcm" + "github.com/oakmound/oak/v4/audio/pcm" + "github.com/oakmound/oak/v4/oakerr" ) func initOS(driver Driver) error { diff --git a/audio/init_linux.go b/audio/init_linux.go index 33646b18..4c562495 100644 --- a/audio/init_linux.go +++ b/audio/init_linux.go @@ -7,8 +7,8 @@ import ( "os" "github.com/jfreymuth/pulse" - "github.com/oakmound/oak/v3/audio/pcm" - "github.com/oakmound/oak/v3/oakerr" + "github.com/oakmound/oak/v4/audio/pcm" + "github.com/oakmound/oak/v4/oakerr" ) func initOS(driver Driver) error { diff --git a/audio/internal/dsound/dsound.go b/audio/internal/dsound/dsound.go index 0064033e..1295a2da 100644 --- a/audio/internal/dsound/dsound.go +++ b/audio/internal/dsound/dsound.go @@ -7,8 +7,8 @@ import ( "sync" "syscall" - "github.com/oakmound/oak/v3/dlog" - "github.com/oakmound/oak/v3/oakerr" + "github.com/oakmound/oak/v4/dlog" + "github.com/oakmound/oak/v4/oakerr" "github.com/oov/directsound-go/dsound" ) diff --git a/audio/play.go b/audio/play.go index 90baf501..cbcd299a 100644 --- a/audio/play.go +++ b/audio/play.go @@ -8,7 +8,7 @@ import ( "io" "time" - "github.com/oakmound/oak/v3/audio/pcm" + "github.com/oakmound/oak/v4/audio/pcm" ) // WriterBufferLengthInSeconds defines how much data os-level writers provided by this package will rotate through diff --git a/audio/play_test.go b/audio/play_test.go index 5042f82e..e6939421 100644 --- a/audio/play_test.go +++ b/audio/play_test.go @@ -9,10 +9,10 @@ import ( "testing" "time" - "github.com/oakmound/oak/v3/audio" - "github.com/oakmound/oak/v3/audio/format/wav" - "github.com/oakmound/oak/v3/audio/pcm" - "github.com/oakmound/oak/v3/audio/synth" + "github.com/oakmound/oak/v4/audio" + "github.com/oakmound/oak/v4/audio/format/wav" + "github.com/oakmound/oak/v4/audio/pcm" + "github.com/oakmound/oak/v4/audio/synth" ) func TestMain(m *testing.M) { diff --git a/audio/reader.go b/audio/reader.go index 12b777a5..ac460b31 100644 --- a/audio/reader.go +++ b/audio/reader.go @@ -4,7 +4,7 @@ import ( "errors" "io" - "github.com/oakmound/oak/v3/audio/pcm" + "github.com/oakmound/oak/v4/audio/pcm" ) var _ pcm.Reader = &LoopingReader{} @@ -127,4 +127,3 @@ func ReadAtLeast(r pcm.Reader, buf []byte, min int) (n int, err error) { } return } - diff --git a/audio/synth/filter_test.go b/audio/synth/filter_test.go index ef078d3f..d760d921 100644 --- a/audio/synth/filter_test.go +++ b/audio/synth/filter_test.go @@ -6,7 +6,7 @@ import ( "testing" "time" - "github.com/oakmound/oak/v3/audio" + "github.com/oakmound/oak/v4/audio" ) func TestMain(m *testing.M) { diff --git a/audio/synth/pitch.go b/audio/synth/pitch.go index da844d82..fbafa528 100644 --- a/audio/synth/pitch.go +++ b/audio/synth/pitch.go @@ -3,7 +3,7 @@ package synth import ( "sort" - "github.com/oakmound/oak/v3/audio/pcm" + "github.com/oakmound/oak/v4/audio/pcm" ) // A Pitch is a frequency value which represents how fast a wave should oscillate to produce a specific tone. diff --git a/audio/synth/source.go b/audio/synth/source.go index 2c643486..48ec4948 100644 --- a/audio/synth/source.go +++ b/audio/synth/source.go @@ -3,7 +3,7 @@ package synth import ( "time" - "github.com/oakmound/oak/v3/audio/pcm" + "github.com/oakmound/oak/v4/audio/pcm" ) // A Source stores necessary information for generating waveform data diff --git a/audio/synth/waves.go b/audio/synth/waves.go index 9e31336b..45695163 100644 --- a/audio/synth/waves.go +++ b/audio/synth/waves.go @@ -5,7 +5,7 @@ import ( "math" "math/rand" - "github.com/oakmound/oak/v3/audio/pcm" + "github.com/oakmound/oak/v4/audio/pcm" ) // Wave functions take a set of options and return an audio diff --git a/audio/writer.go b/audio/writer.go index 2af11c4c..07d07013 100644 --- a/audio/writer.go +++ b/audio/writer.go @@ -1,7 +1,7 @@ package audio import ( - "github.com/oakmound/oak/v3/audio/pcm" + "github.com/oakmound/oak/v4/audio/pcm" ) // NewWriter returns a writer which can accept audio streamed matching the given format diff --git a/audio/writer_alsa.go b/audio/writer_alsa.go index aeebbe2a..f26257a0 100644 --- a/audio/writer_alsa.go +++ b/audio/writer_alsa.go @@ -9,7 +9,7 @@ import ( "sync" "github.com/oakmound/alsa" - "github.com/oakmound/oak/v3/audio/pcm" + "github.com/oakmound/oak/v4/audio/pcm" ) func newALSAWriter(f pcm.Format) (pcm.Writer, error) { diff --git a/audio/writer_dsound.go b/audio/writer_dsound.go index cf28decf..348d9d2a 100644 --- a/audio/writer_dsound.go +++ b/audio/writer_dsound.go @@ -7,9 +7,9 @@ import ( "io" "sync" - intdsound "github.com/oakmound/oak/v3/audio/internal/dsound" - "github.com/oakmound/oak/v3/audio/pcm" - "github.com/oakmound/oak/v3/oakerr" + intdsound "github.com/oakmound/oak/v4/audio/internal/dsound" + "github.com/oakmound/oak/v4/audio/pcm" + "github.com/oakmound/oak/v4/oakerr" "github.com/oov/directsound-go/dsound" ) diff --git a/audio/writer_js.go b/audio/writer_js.go index cc7d6ef5..17cc428c 100644 --- a/audio/writer_js.go +++ b/audio/writer_js.go @@ -9,7 +9,7 @@ import ( "sync/atomic" "syscall/js" - "github.com/oakmound/oak/v3/oakerr" + "github.com/oakmound/oak/v4/oakerr" ) func initOS() error { diff --git a/audio/writer_other.go b/audio/writer_other.go index 70b53202..b38e8d24 100644 --- a/audio/writer_other.go +++ b/audio/writer_other.go @@ -2,7 +2,7 @@ package audio -import "github.com/oakmound/oak/v3/oakerr" +import "github.com/oakmound/oak/v4/oakerr" func initOS(driver Driver) error { return oakerr.UnsupportedPlatform{ diff --git a/audio/writer_pulse.go b/audio/writer_pulse.go index fc892648..490b9e42 100644 --- a/audio/writer_pulse.go +++ b/audio/writer_pulse.go @@ -11,7 +11,7 @@ import ( "github.com/jfreymuth/pulse" "github.com/jfreymuth/pulse/proto" - "github.com/oakmound/oak/v3/audio/pcm" + "github.com/oakmound/oak/v4/audio/pcm" ) // This mutex may be unneeded diff --git a/collision/attachSpace.go b/collision/attachSpace.go index e1a7a9e3..4955ea25 100644 --- a/collision/attachSpace.go +++ b/collision/attachSpace.go @@ -3,8 +3,8 @@ package collision import ( "errors" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/physics" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/physics" ) // An AttachSpace is a composable struct that provides attachment diff --git a/collision/attachSpace_test.go b/collision/attachSpace_test.go index 34eeb965..22a83a09 100644 --- a/collision/attachSpace_test.go +++ b/collision/attachSpace_test.go @@ -5,8 +5,8 @@ import ( "testing" "time" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/physics" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/physics" ) type aspace struct { diff --git a/collision/filter.go b/collision/filter.go index d0be173e..60beebf4 100644 --- a/collision/filter.go +++ b/collision/filter.go @@ -1,6 +1,6 @@ package collision -import "github.com/oakmound/oak/v3/event" +import "github.com/oakmound/oak/v4/event" // A Filter will take a set of collision spaces // and return the subset that match some requirement diff --git a/collision/geom.go b/collision/geom.go index 62901050..7a39ca2a 100644 --- a/collision/geom.go +++ b/collision/geom.go @@ -7,7 +7,7 @@ package collision import ( "math" - "github.com/oakmound/oak/v3/alg/floatgeom" + "github.com/oakmound/oak/v4/alg/floatgeom" ) // minDist computes the square of the distance from a point to a rectangle. diff --git a/collision/onCollision.go b/collision/onCollision.go index 8c82aacc..bd4782da 100644 --- a/collision/onCollision.go +++ b/collision/onCollision.go @@ -3,7 +3,7 @@ package collision import ( "errors" - "github.com/oakmound/oak/v3/event" + "github.com/oakmound/oak/v4/event" ) // A Phase is a struct that other structs who want to use PhaseCollision diff --git a/collision/onCollision_test.go b/collision/onCollision_test.go index 110036d5..838e6b16 100644 --- a/collision/onCollision_test.go +++ b/collision/onCollision_test.go @@ -4,7 +4,7 @@ import ( "testing" "time" - "github.com/oakmound/oak/v3/event" + "github.com/oakmound/oak/v4/event" ) type cphase struct { diff --git a/collision/point.go b/collision/point.go index 168110da..b165d183 100644 --- a/collision/point.go +++ b/collision/point.go @@ -1,6 +1,6 @@ package collision -import "github.com/oakmound/oak/v3/alg/floatgeom" +import "github.com/oakmound/oak/v4/alg/floatgeom" // A Point is a specific point where // collision occurred and a zone to identify diff --git a/collision/ray/castFilter.go b/collision/ray/castFilter.go index 71ba7d7b..6f41a22e 100644 --- a/collision/ray/castFilter.go +++ b/collision/ray/castFilter.go @@ -1,8 +1,8 @@ package ray import ( - "github.com/oakmound/oak/v3/collision" - "github.com/oakmound/oak/v3/event" + "github.com/oakmound/oak/v4/collision" + "github.com/oakmound/oak/v4/event" ) // A CastFilter is a function that can be applied to a Caster diff --git a/collision/ray/castLimit.go b/collision/ray/castLimit.go index 46bc245d..583249e4 100644 --- a/collision/ray/castLimit.go +++ b/collision/ray/castLimit.go @@ -1,8 +1,8 @@ package ray import ( - "github.com/oakmound/oak/v3/collision" - "github.com/oakmound/oak/v3/event" + "github.com/oakmound/oak/v4/collision" + "github.com/oakmound/oak/v4/event" ) // A CastLimit is a function that can be applied to diff --git a/collision/ray/caster.go b/collision/ray/caster.go index 90adcd5b..5d2ae1ac 100644 --- a/collision/ray/caster.go +++ b/collision/ray/caster.go @@ -3,8 +3,8 @@ package ray import ( "math" - "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/collision" + "github.com/oakmound/oak/v4/alg/floatgeom" + "github.com/oakmound/oak/v4/collision" ) var ( diff --git a/collision/ray/caster_test.go b/collision/ray/caster_test.go index c8e7fd00..25e9384c 100644 --- a/collision/ray/caster_test.go +++ b/collision/ray/caster_test.go @@ -4,8 +4,8 @@ import ( "reflect" "testing" - "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/collision" + "github.com/oakmound/oak/v4/alg/floatgeom" + "github.com/oakmound/oak/v4/collision" ) func TestCasterScene(t *testing.T) { diff --git a/collision/ray/coneCaster.go b/collision/ray/coneCaster.go index 2f935cd1..db7108a0 100644 --- a/collision/ray/coneCaster.go +++ b/collision/ray/coneCaster.go @@ -1,9 +1,9 @@ package ray import ( - "github.com/oakmound/oak/v3/alg" - "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/collision" + "github.com/oakmound/oak/v4/alg" + "github.com/oakmound/oak/v4/alg/floatgeom" + "github.com/oakmound/oak/v4/collision" ) var ( diff --git a/collision/ray/coneCaster_test.go b/collision/ray/coneCaster_test.go index 2a73765b..b7d84ca3 100644 --- a/collision/ray/coneCaster_test.go +++ b/collision/ray/coneCaster_test.go @@ -7,9 +7,9 @@ import ( "testing" "time" - "github.com/oakmound/oak/v3/alg" - "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/collision" + "github.com/oakmound/oak/v4/alg" + "github.com/oakmound/oak/v4/alg/floatgeom" + "github.com/oakmound/oak/v4/collision" ) func TestConeCasterSettings(t *testing.T) { diff --git a/collision/ray/raycast_test.go b/collision/ray/raycast_test.go index ce2ae5c2..a1eae541 100644 --- a/collision/ray/raycast_test.go +++ b/collision/ray/raycast_test.go @@ -3,9 +3,9 @@ package ray import ( "testing" - "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/alg/span" - "github.com/oakmound/oak/v3/collision" + "github.com/oakmound/oak/v4/alg/floatgeom" + "github.com/oakmound/oak/v4/alg/span" + "github.com/oakmound/oak/v4/collision" ) func TestEmptyRaycasts(t *testing.T) { diff --git a/collision/rtree.go b/collision/rtree.go index 836ade53..d8e3a5d5 100644 --- a/collision/rtree.go +++ b/collision/rtree.go @@ -8,7 +8,7 @@ import ( "math" "sort" - "github.com/oakmound/oak/v3/alg/floatgeom" + "github.com/oakmound/oak/v4/alg/floatgeom" ) // Rtree represents an R-tree, a balanced search tree for storing and querying diff --git a/collision/rtree_test.go b/collision/rtree_test.go index e2ab9662..76dd50aa 100644 --- a/collision/rtree_test.go +++ b/collision/rtree_test.go @@ -10,7 +10,7 @@ import ( "strings" "testing" - "github.com/oakmound/oak/v3/alg/floatgeom" + "github.com/oakmound/oak/v4/alg/floatgeom" ) var ( diff --git a/collision/space.go b/collision/space.go index c217ac48..7634abdc 100644 --- a/collision/space.go +++ b/collision/space.go @@ -1,9 +1,9 @@ package collision import ( - "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/physics" + "github.com/oakmound/oak/v4/alg/floatgeom" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/physics" ) // ID Types constant diff --git a/collision/space_test.go b/collision/space_test.go index 8c41e398..3a4fe14b 100644 --- a/collision/space_test.go +++ b/collision/space_test.go @@ -3,9 +3,9 @@ package collision import ( "testing" - "github.com/oakmound/oak/v3/alg/floatgeom" + "github.com/oakmound/oak/v4/alg/floatgeom" - "github.com/oakmound/oak/v3/physics" + "github.com/oakmound/oak/v4/physics" ) func TestSpaceFuncs(t *testing.T) { diff --git a/collision/tree.go b/collision/tree.go index e32cd5b4..70069a5a 100644 --- a/collision/tree.go +++ b/collision/tree.go @@ -4,8 +4,8 @@ import ( "errors" "sync" - "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/oakerr" + "github.com/oakmound/oak/v4/alg/floatgeom" + "github.com/oakmound/oak/v4/oakerr" ) // A Tree provides a space for managing collisions between rectangles diff --git a/collision/tree_test.go b/collision/tree_test.go index 2f380524..8795ec8e 100644 --- a/collision/tree_test.go +++ b/collision/tree_test.go @@ -4,8 +4,8 @@ import ( "math/rand" "testing" - "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/alg/span" + "github.com/oakmound/oak/v4/alg/floatgeom" + "github.com/oakmound/oak/v4/alg/span" ) func TestNewTreeInvalidChildren(t *testing.T) { diff --git a/config.go b/config.go index 2f994689..d6a43b41 100644 --- a/config.go +++ b/config.go @@ -4,8 +4,8 @@ import ( "encoding/json" "io" - "github.com/oakmound/oak/v3/fileutil" - "github.com/oakmound/oak/v3/shiny/driver" + "github.com/oakmound/oak/v4/fileutil" + "github.com/oakmound/oak/v4/shiny/driver" ) // A Config defines the settings oak accepts on initialization. Some of these settings may be ignored depending diff --git a/config_test.go b/config_test.go index 9a313d77..527da619 100644 --- a/config_test.go +++ b/config_test.go @@ -6,7 +6,7 @@ import ( "path/filepath" "testing" - "github.com/oakmound/oak/v3/shiny/screen" + "github.com/oakmound/oak/v4/shiny/screen" ) func TestDefaultConfigFileMatchesEmptyConfig(t *testing.T) { diff --git a/debugstream/commands.go b/debugstream/commands.go index 8ca6e69a..c37fd31f 100644 --- a/debugstream/commands.go +++ b/debugstream/commands.go @@ -10,7 +10,7 @@ import ( "strings" "sync" - "github.com/oakmound/oak/v3/oakerr" + "github.com/oakmound/oak/v4/oakerr" ) // ScopedCommands for the debug stream commands. diff --git a/debugstream/defaultcommands.go b/debugstream/defaultcommands.go index d3c7dd8e..b189b731 100644 --- a/debugstream/defaultcommands.go +++ b/debugstream/defaultcommands.go @@ -5,7 +5,7 @@ import ( "io" "sync" - "github.com/oakmound/oak/v3/window" + "github.com/oakmound/oak/v4/window" ) var ( diff --git a/debugstream/scopeHelper.go b/debugstream/scopeHelper.go index fd689ee3..0dd9a6dd 100644 --- a/debugstream/scopeHelper.go +++ b/debugstream/scopeHelper.go @@ -5,15 +5,15 @@ import ( "strconv" "strings" - "github.com/oakmound/oak/v3/collision" - "github.com/oakmound/oak/v3/debugtools" - "github.com/oakmound/oak/v3/dlog" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/mouse" - "github.com/oakmound/oak/v3/oakerr" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/render/mod" - "github.com/oakmound/oak/v3/window" + "github.com/oakmound/oak/v4/collision" + "github.com/oakmound/oak/v4/debugtools" + "github.com/oakmound/oak/v4/dlog" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/mouse" + "github.com/oakmound/oak/v4/oakerr" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/render/mod" + "github.com/oakmound/oak/v4/window" ) // AddDefaultsForScope for debugging. diff --git a/debugstream/scopeHelper_test.go b/debugstream/scopeHelper_test.go index 91268fd5..955589a1 100644 --- a/debugstream/scopeHelper_test.go +++ b/debugstream/scopeHelper_test.go @@ -6,11 +6,11 @@ import ( "testing" "time" - "github.com/oakmound/oak/v3/alg/intgeom" - "github.com/oakmound/oak/v3/debugtools" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/window" + "github.com/oakmound/oak/v4/alg/intgeom" + "github.com/oakmound/oak/v4/debugtools" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/window" ) type fakeWindow struct { diff --git a/debugtools/inputviz/joystick.go b/debugtools/inputviz/joystick.go index a1c0c16f..ec2e382f 100644 --- a/debugtools/inputviz/joystick.go +++ b/debugtools/inputviz/joystick.go @@ -9,14 +9,14 @@ import ( "math" "time" - "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/dlog" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/joystick" - "github.com/oakmound/oak/v3/key" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/render/mod" - "github.com/oakmound/oak/v3/scene" + "github.com/oakmound/oak/v4/alg/floatgeom" + "github.com/oakmound/oak/v4/dlog" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/joystick" + "github.com/oakmound/oak/v4/key" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/render/mod" + "github.com/oakmound/oak/v4/scene" ) //go:embed controllerOutline.png diff --git a/debugtools/inputviz/keyboard.go b/debugtools/inputviz/keyboard.go index d259dd69..165271f7 100644 --- a/debugtools/inputviz/keyboard.go +++ b/debugtools/inputviz/keyboard.go @@ -3,11 +3,11 @@ package inputviz import ( "image/color" - "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/key" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/scene" + "github.com/oakmound/oak/v4/alg/floatgeom" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/key" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/scene" ) type KeyboardLayout interface { diff --git a/debugtools/inputviz/mouse.go b/debugtools/inputviz/mouse.go index 350c4ebf..65c81310 100644 --- a/debugtools/inputviz/mouse.go +++ b/debugtools/inputviz/mouse.go @@ -7,11 +7,11 @@ import ( "sync" "time" - "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/mouse" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/scene" + "github.com/oakmound/oak/v4/alg/floatgeom" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/mouse" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/scene" ) type Mouse struct { diff --git a/debugtools/mouse.go b/debugtools/mouse.go index 9f36e1fe..eb8391ac 100644 --- a/debugtools/mouse.go +++ b/debugtools/mouse.go @@ -1,11 +1,11 @@ package debugtools import ( - "github.com/oakmound/oak/v3/dlog" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/key" - "github.com/oakmound/oak/v3/mouse" - "github.com/oakmound/oak/v3/scene" + "github.com/oakmound/oak/v4/dlog" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/key" + "github.com/oakmound/oak/v4/mouse" + "github.com/oakmound/oak/v4/scene" ) // DebugMouseRelease will print the position and button pressed of the mouse when the mouse is released, if the given diff --git a/debugtools/renderable.go b/debugtools/renderable.go index cdf18499..02371cd1 100644 --- a/debugtools/renderable.go +++ b/debugtools/renderable.go @@ -1,7 +1,7 @@ package debugtools import ( - "github.com/oakmound/oak/v3/render" + "github.com/oakmound/oak/v4/render" "golang.org/x/sync/syncmap" ) diff --git a/debugtools/tree.go b/debugtools/tree.go index a48c8658..7340eeba 100644 --- a/debugtools/tree.go +++ b/debugtools/tree.go @@ -4,10 +4,10 @@ import ( "image/color" "image/draw" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/scene" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/scene" - "github.com/oakmound/oak/v3/collision" + "github.com/oakmound/oak/v4/collision" ) // NewRTree creates a wrapper around a tree that supports coloring the spaces diff --git a/default.go b/default.go index 12167627..4b14c2f0 100644 --- a/default.go +++ b/default.go @@ -5,11 +5,11 @@ import ( "sync" "time" - "github.com/oakmound/oak/v3/alg/intgeom" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/key" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/scene" + "github.com/oakmound/oak/v4/alg/intgeom" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/key" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/scene" ) var defaultWindow *Window diff --git a/default_test.go b/default_test.go index 4ad932d9..00a9feb4 100644 --- a/default_test.go +++ b/default_test.go @@ -3,10 +3,10 @@ package oak import ( "testing" - "github.com/oakmound/oak/v3/alg/intgeom" - "github.com/oakmound/oak/v3/key" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/scene" + "github.com/oakmound/oak/v4/alg/intgeom" + "github.com/oakmound/oak/v4/key" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/scene" ) func TestDefaultFunctions(t *testing.T) { diff --git a/dlog/default.go b/dlog/default.go index 5e59a781..bd042a1e 100644 --- a/dlog/default.go +++ b/dlog/default.go @@ -10,7 +10,7 @@ import ( "strings" "sync" - "github.com/oakmound/oak/v3/oakerr" + "github.com/oakmound/oak/v4/oakerr" ) var ( diff --git a/dlog/default_test.go b/dlog/default_test.go index 8d938658..8ad57f21 100644 --- a/dlog/default_test.go +++ b/dlog/default_test.go @@ -5,7 +5,7 @@ import ( "strings" "testing" - "github.com/oakmound/oak/v3/dlog" + "github.com/oakmound/oak/v4/dlog" ) func TestLogger(t *testing.T) { diff --git a/dlog/dlog_test.go b/dlog/dlog_test.go index 4ca38f1a..5791d1ff 100644 --- a/dlog/dlog_test.go +++ b/dlog/dlog_test.go @@ -6,7 +6,7 @@ import ( "os" "testing" - "github.com/oakmound/oak/v3/dlog" + "github.com/oakmound/oak/v4/dlog" ) func TestErrorCheck(t *testing.T) { diff --git a/dlog/levels.go b/dlog/levels.go index 01559a89..dde2c489 100644 --- a/dlog/levels.go +++ b/dlog/levels.go @@ -3,7 +3,7 @@ package dlog import ( "strings" - "github.com/oakmound/oak/v3/oakerr" + "github.com/oakmound/oak/v4/oakerr" ) // Level represents the levels a debug message can have diff --git a/dlog/levels_test.go b/dlog/levels_test.go index bd3cb585..95923ecf 100644 --- a/dlog/levels_test.go +++ b/dlog/levels_test.go @@ -3,7 +3,7 @@ package dlog_test import ( "testing" - "github.com/oakmound/oak/v3/dlog" + "github.com/oakmound/oak/v4/dlog" ) func TestLevelsString(t *testing.T) { diff --git a/dlog/strings.go b/dlog/strings.go index f0c19433..ee65f911 100644 --- a/dlog/strings.go +++ b/dlog/strings.go @@ -1,6 +1,6 @@ package dlog -import "github.com/oakmound/oak/v3/oakerr" +import "github.com/oakmound/oak/v4/oakerr" type logCode int diff --git a/driver.go b/driver.go index 87f04f3c..94ff3afa 100644 --- a/driver.go +++ b/driver.go @@ -1,7 +1,7 @@ package oak import ( - "github.com/oakmound/oak/v3/shiny/screen" + "github.com/oakmound/oak/v4/shiny/screen" ) // A Driver is a function which can take in our lifecycle function diff --git a/entities/entity.go b/entities/entity.go index ce28ea84..02e14106 100644 --- a/entities/entity.go +++ b/entities/entity.go @@ -3,13 +3,13 @@ package entities import ( "image/color" - "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/collision" - "github.com/oakmound/oak/v3/dlog" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/render/mod" - "github.com/oakmound/oak/v3/scene" + "github.com/oakmound/oak/v4/alg/floatgeom" + "github.com/oakmound/oak/v4/collision" + "github.com/oakmound/oak/v4/dlog" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/render/mod" + "github.com/oakmound/oak/v4/scene" ) type Generator struct { diff --git a/entities/move.go b/entities/move.go index ce69d976..05b71c2b 100644 --- a/entities/move.go +++ b/entities/move.go @@ -1,9 +1,9 @@ package entities import ( - "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/alg/intgeom" - "github.com/oakmound/oak/v3/key" + "github.com/oakmound/oak/v4/alg/floatgeom" + "github.com/oakmound/oak/v4/alg/intgeom" + "github.com/oakmound/oak/v4/key" ) // WASD moves the given mover based on its speed as W,A,S, and D are pressed diff --git a/entities/opts_gen.go b/entities/opts_gen.go index b3519ff9..4be0dbfe 100644 --- a/entities/opts_gen.go +++ b/entities/opts_gen.go @@ -5,11 +5,11 @@ package entities import ( "image/color" - "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/collision" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/render/mod" + "github.com/oakmound/oak/v4/alg/floatgeom" + "github.com/oakmound/oak/v4/collision" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/render/mod" ) type Option func(Generator) Generator diff --git a/entities/x/btn/button.go b/entities/x/btn/button.go index 460aa762..5f8b34a2 100644 --- a/entities/x/btn/button.go +++ b/entities/x/btn/button.go @@ -4,15 +4,15 @@ import ( "fmt" "image/color" - "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/collision" - "github.com/oakmound/oak/v3/entities" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/mouse" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/render/mod" - "github.com/oakmound/oak/v3/scene" - "github.com/oakmound/oak/v3/shape" + "github.com/oakmound/oak/v4/alg/floatgeom" + "github.com/oakmound/oak/v4/collision" + "github.com/oakmound/oak/v4/entities" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/mouse" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/render/mod" + "github.com/oakmound/oak/v4/scene" + "github.com/oakmound/oak/v4/shape" ) // A Generator defines the variables used to create buttons from optional arguments diff --git a/entities/x/btn/grid/grid.go b/entities/x/btn/grid/grid.go index 87cefc28..1a83c008 100644 --- a/entities/x/btn/grid/grid.go +++ b/entities/x/btn/grid/grid.go @@ -2,9 +2,9 @@ package grid import ( - "github.com/oakmound/oak/v3/entities" - "github.com/oakmound/oak/v3/entities/x/btn" - "github.com/oakmound/oak/v3/scene" + "github.com/oakmound/oak/v4/entities" + "github.com/oakmound/oak/v4/entities/x/btn" + "github.com/oakmound/oak/v4/scene" ) // A Grid is a 2D slice of entities diff --git a/entities/x/btn/grid/option.go b/entities/x/btn/grid/option.go index 47b02609..d044f5f0 100644 --- a/entities/x/btn/grid/option.go +++ b/entities/x/btn/grid/option.go @@ -1,8 +1,8 @@ package grid import ( - "github.com/oakmound/oak/v3/dlog" - "github.com/oakmound/oak/v3/entities/x/btn" + "github.com/oakmound/oak/v4/dlog" + "github.com/oakmound/oak/v4/entities/x/btn" ) // An Option modifies a generator prior to grid generation diff --git a/entities/x/btn/option.go b/entities/x/btn/option.go index 4d846ad6..97e8e440 100644 --- a/entities/x/btn/option.go +++ b/entities/x/btn/option.go @@ -3,14 +3,14 @@ package btn import ( "image/color" - "github.com/oakmound/oak/v3/collision" - "github.com/oakmound/oak/v3/entities" - "github.com/oakmound/oak/v3/mouse" - "github.com/oakmound/oak/v3/scene" - - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/render/mod" + "github.com/oakmound/oak/v4/collision" + "github.com/oakmound/oak/v4/entities" + "github.com/oakmound/oak/v4/mouse" + "github.com/oakmound/oak/v4/scene" + + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/render/mod" ) // And combines a variadic number of options diff --git a/entities/x/btn/textOptions.go b/entities/x/btn/textOptions.go index e48e2683..c8ba4bfa 100644 --- a/entities/x/btn/textOptions.go +++ b/entities/x/btn/textOptions.go @@ -3,7 +3,7 @@ package btn import ( "fmt" - "github.com/oakmound/oak/v3/render" + "github.com/oakmound/oak/v4/render" ) //Text sets the text of the button to be generated diff --git a/event/bind.go b/event/bind.go index 4c0b7fea..9e8276d2 100644 --- a/event/bind.go +++ b/event/bind.go @@ -3,7 +3,7 @@ package event import ( "sync/atomic" - "github.com/oakmound/oak/v3/dlog" + "github.com/oakmound/oak/v4/dlog" ) // Q: Why do Bind / Unbind / etc not immediately take effect? diff --git a/event/bind_test.go b/event/bind_test.go index 4fe1d942..12d0414e 100644 --- a/event/bind_test.go +++ b/event/bind_test.go @@ -4,7 +4,7 @@ import ( "sync/atomic" "testing" - "github.com/oakmound/oak/v3/event" + "github.com/oakmound/oak/v4/event" ) func TestBus_UnsafeBind(t *testing.T) { diff --git a/event/bus_test.go b/event/bus_test.go index 5567c809..31441f7f 100644 --- a/event/bus_test.go +++ b/event/bus_test.go @@ -6,7 +6,7 @@ import ( "testing" "time" - "github.com/oakmound/oak/v3/event" + "github.com/oakmound/oak/v4/event" ) func TestNewBus(t *testing.T) { diff --git a/event/caller_test.go b/event/caller_test.go index 10707660..4011981a 100644 --- a/event/caller_test.go +++ b/event/caller_test.go @@ -4,7 +4,7 @@ import ( "math/rand" "testing" - "github.com/oakmound/oak/v3/event" + "github.com/oakmound/oak/v4/event" ) func TestCallerID_CID(t *testing.T) { diff --git a/event/response_test.go b/event/response_test.go index 7064e353..4d3616ec 100644 --- a/event/response_test.go +++ b/event/response_test.go @@ -5,7 +5,7 @@ import ( "testing" "time" - "github.com/oakmound/oak/v3/event" + "github.com/oakmound/oak/v4/event" ) func TestBindingResponses(t *testing.T) { diff --git a/event/trigger_test.go b/event/trigger_test.go index 2dae1215..aa233564 100644 --- a/event/trigger_test.go +++ b/event/trigger_test.go @@ -7,7 +7,7 @@ import ( "testing" "time" - "github.com/oakmound/oak/v3/event" + "github.com/oakmound/oak/v4/event" ) func TestMain(m *testing.M) { diff --git a/examples/bezier/main.go b/examples/bezier/main.go index 770f9b57..7abe6ebe 100644 --- a/examples/bezier/main.go +++ b/examples/bezier/main.go @@ -5,13 +5,13 @@ import ( "image/color" "strconv" - oak "github.com/oakmound/oak/v3" - "github.com/oakmound/oak/v3/debugstream" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/mouse" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/scene" - "github.com/oakmound/oak/v3/shape" + oak "github.com/oakmound/oak/v4" + "github.com/oakmound/oak/v4/debugstream" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/mouse" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/scene" + "github.com/oakmound/oak/v4/shape" ) var ( diff --git a/examples/blank/main.go b/examples/blank/main.go index 9e9fceee..6de09b14 100644 --- a/examples/blank/main.go +++ b/examples/blank/main.go @@ -5,9 +5,9 @@ import ( "net/http" _ "net/http/pprof" - "github.com/oakmound/oak/v3" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/scene" + "github.com/oakmound/oak/v4" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/scene" ) // This example is a blank, default scene with a pprof server. Useful for diff --git a/examples/click-propagation/main.go b/examples/click-propagation/main.go index fb9b6e73..973c3095 100644 --- a/examples/click-propagation/main.go +++ b/examples/click-propagation/main.go @@ -6,12 +6,12 @@ import ( "image/color" "image/draw" - "github.com/oakmound/oak/v3" - "github.com/oakmound/oak/v3/collision" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/mouse" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/scene" + "github.com/oakmound/oak/v4" + "github.com/oakmound/oak/v4/collision" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/mouse" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/scene" ) // This example demonstrates the use of the Propagated boolean on diff --git a/examples/clipboard/go.mod b/examples/clipboard/go.mod index 36dd7c92..ea009487 100644 --- a/examples/clipboard/go.mod +++ b/examples/clipboard/go.mod @@ -4,7 +4,7 @@ go 1.18 require ( github.com/atotto/clipboard v0.1.4 - github.com/oakmound/oak/v3 v3.0.0-alpha.1 + github.com/oakmound/oak/v4 v3.0.0-alpha.1 ) require ( @@ -26,4 +26,4 @@ require ( golang.org/x/sys v0.0.0-20220403205710-6acee93ad0eb // indirect ) -replace github.com/oakmound/oak/v3 => ../.. +replace github.com/oakmound/oak/v4 => ../.. diff --git a/examples/clipboard/main.go b/examples/clipboard/main.go index fbd31d67..07751f20 100644 --- a/examples/clipboard/main.go +++ b/examples/clipboard/main.go @@ -4,14 +4,14 @@ import ( "fmt" "github.com/atotto/clipboard" - "github.com/oakmound/oak/v3" - "github.com/oakmound/oak/v3/entities" - "github.com/oakmound/oak/v3/entities/x/btn" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/key" - "github.com/oakmound/oak/v3/mouse" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/scene" + "github.com/oakmound/oak/v4" + "github.com/oakmound/oak/v4/entities" + "github.com/oakmound/oak/v4/entities/x/btn" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/key" + "github.com/oakmound/oak/v4/mouse" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/scene" ) func main() { diff --git a/examples/collision-demo/main.go b/examples/collision-demo/main.go index 809ea868..30998bfb 100644 --- a/examples/collision-demo/main.go +++ b/examples/collision-demo/main.go @@ -4,15 +4,15 @@ import ( "image/color" "time" - "github.com/oakmound/oak/v3" - "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/collision" - "github.com/oakmound/oak/v3/entities" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/key" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/scene" - "github.com/oakmound/oak/v3/shake" + "github.com/oakmound/oak/v4" + "github.com/oakmound/oak/v4/alg/floatgeom" + "github.com/oakmound/oak/v4/collision" + "github.com/oakmound/oak/v4/entities" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/key" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/scene" + "github.com/oakmound/oak/v4/shake" ) const ( diff --git a/examples/custom-cursor/main.go b/examples/custom-cursor/main.go index a7d391a9..d9ed51bf 100644 --- a/examples/custom-cursor/main.go +++ b/examples/custom-cursor/main.go @@ -4,11 +4,11 @@ import ( "fmt" "image/color" - oak "github.com/oakmound/oak/v3" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/mouse" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/scene" + oak "github.com/oakmound/oak/v4" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/mouse" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/scene" ) func main() { diff --git a/examples/error-scene/main.go b/examples/error-scene/main.go index 02de8666..a188ec48 100644 --- a/examples/error-scene/main.go +++ b/examples/error-scene/main.go @@ -1,9 +1,9 @@ package main import ( - "github.com/oakmound/oak/v3" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/scene" + "github.com/oakmound/oak/v4" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/scene" ) func main() { diff --git a/examples/fallback-font/go.mod b/examples/fallback-font/go.mod index 9d13c9f9..3a304a64 100644 --- a/examples/fallback-font/go.mod +++ b/examples/fallback-font/go.mod @@ -4,7 +4,7 @@ go 1.18 require ( github.com/flopp/go-findfont v0.0.0-20201114153133-e7393a00c15b - github.com/oakmound/oak/v3 v3.0.0-alpha.1 + github.com/oakmound/oak/v4 v3.0.0-alpha.1 ) require ( @@ -26,4 +26,4 @@ require ( golang.org/x/sys v0.0.0-20220403205710-6acee93ad0eb // indirect ) -replace github.com/oakmound/oak/v3 => ../.. +replace github.com/oakmound/oak/v4 => ../.. diff --git a/examples/fallback-font/main.go b/examples/fallback-font/main.go index c32b8d26..cc8e5e1d 100644 --- a/examples/fallback-font/main.go +++ b/examples/fallback-font/main.go @@ -7,9 +7,9 @@ import ( "image" findfont "github.com/flopp/go-findfont" - oak "github.com/oakmound/oak/v3" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/scene" + oak "github.com/oakmound/oak/v4" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/scene" ) func main() { diff --git a/examples/flappy-bird/main.go b/examples/flappy-bird/main.go index 6916b6d0..2cde1e34 100644 --- a/examples/flappy-bird/main.go +++ b/examples/flappy-bird/main.go @@ -4,17 +4,17 @@ import ( "image/color" "time" - "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/alg/span" - "github.com/oakmound/oak/v3/mouse" - - oak "github.com/oakmound/oak/v3" - "github.com/oakmound/oak/v3/collision" - "github.com/oakmound/oak/v3/entities" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/key" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/scene" + "github.com/oakmound/oak/v4/alg/floatgeom" + "github.com/oakmound/oak/v4/alg/span" + "github.com/oakmound/oak/v4/mouse" + + oak "github.com/oakmound/oak/v4" + "github.com/oakmound/oak/v4/collision" + "github.com/oakmound/oak/v4/entities" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/key" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/scene" ) var ( diff --git a/examples/joystick-viz/main.go b/examples/joystick-viz/main.go index f25deb5e..33edc802 100644 --- a/examples/joystick-viz/main.go +++ b/examples/joystick-viz/main.go @@ -4,15 +4,15 @@ import ( "fmt" "time" - "github.com/oakmound/oak/v3/debugtools/inputviz" - "github.com/oakmound/oak/v3/render" + "github.com/oakmound/oak/v4/debugtools/inputviz" + "github.com/oakmound/oak/v4/render" - "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/event" + "github.com/oakmound/oak/v4/alg/floatgeom" + "github.com/oakmound/oak/v4/event" - oak "github.com/oakmound/oak/v3" - "github.com/oakmound/oak/v3/joystick" - "github.com/oakmound/oak/v3/scene" + oak "github.com/oakmound/oak/v4" + "github.com/oakmound/oak/v4/joystick" + "github.com/oakmound/oak/v4/scene" ) func main() { diff --git a/examples/keyboard-viz/main.go b/examples/keyboard-viz/main.go index ab227996..332b316b 100644 --- a/examples/keyboard-viz/main.go +++ b/examples/keyboard-viz/main.go @@ -5,12 +5,12 @@ import ( "image" "image/color" - "github.com/oakmound/oak/v3" - "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/debugtools/inputviz" - "github.com/oakmound/oak/v3/dlog" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/scene" + "github.com/oakmound/oak/v4" + "github.com/oakmound/oak/v4/alg/floatgeom" + "github.com/oakmound/oak/v4/debugtools/inputviz" + "github.com/oakmound/oak/v4/dlog" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/scene" ) func main() { diff --git a/examples/mouse-viz/main.go b/examples/mouse-viz/main.go index 39e8f471..6c0871b5 100644 --- a/examples/mouse-viz/main.go +++ b/examples/mouse-viz/main.go @@ -1,10 +1,10 @@ package main import ( - "github.com/oakmound/oak/v3" - "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/debugtools/inputviz" - "github.com/oakmound/oak/v3/scene" + "github.com/oakmound/oak/v4" + "github.com/oakmound/oak/v4/alg/floatgeom" + "github.com/oakmound/oak/v4/debugtools/inputviz" + "github.com/oakmound/oak/v4/scene" ) func main() { diff --git a/examples/multi-window/main.go b/examples/multi-window/main.go index 120e0840..c263786e 100644 --- a/examples/multi-window/main.go +++ b/examples/multi-window/main.go @@ -4,11 +4,11 @@ import ( "fmt" "image/color" - "github.com/oakmound/oak/v3" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/mouse" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/scene" + "github.com/oakmound/oak/v4" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/mouse" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/scene" ) func main() { diff --git a/examples/particle-demo/main.go b/examples/particle-demo/main.go index 43782294..d74096ad 100644 --- a/examples/particle-demo/main.go +++ b/examples/particle-demo/main.go @@ -6,18 +6,18 @@ import ( "log" "strconv" - oak "github.com/oakmound/oak/v3" - "github.com/oakmound/oak/v3/alg" - "github.com/oakmound/oak/v3/alg/span" - "github.com/oakmound/oak/v3/debugstream" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/mouse" - "github.com/oakmound/oak/v3/oakerr" - "github.com/oakmound/oak/v3/physics" - "github.com/oakmound/oak/v3/render" - pt "github.com/oakmound/oak/v3/render/particle" - "github.com/oakmound/oak/v3/scene" - "github.com/oakmound/oak/v3/shape" + oak "github.com/oakmound/oak/v4" + "github.com/oakmound/oak/v4/alg" + "github.com/oakmound/oak/v4/alg/span" + "github.com/oakmound/oak/v4/debugstream" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/mouse" + "github.com/oakmound/oak/v4/oakerr" + "github.com/oakmound/oak/v4/physics" + "github.com/oakmound/oak/v4/render" + pt "github.com/oakmound/oak/v4/render/particle" + "github.com/oakmound/oak/v4/scene" + "github.com/oakmound/oak/v4/shape" ) var ( diff --git a/examples/piano/main.go b/examples/piano/main.go index 0af325a2..e746151f 100644 --- a/examples/piano/main.go +++ b/examples/piano/main.go @@ -11,18 +11,18 @@ import ( "sync" "time" - "github.com/oakmound/oak/v3" - "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/audio" - "github.com/oakmound/oak/v3/audio/pcm" - "github.com/oakmound/oak/v3/audio/synth" - "github.com/oakmound/oak/v3/dlog" - "github.com/oakmound/oak/v3/entities" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/key" - "github.com/oakmound/oak/v3/mouse" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/scene" + "github.com/oakmound/oak/v4" + "github.com/oakmound/oak/v4/alg/floatgeom" + "github.com/oakmound/oak/v4/audio" + "github.com/oakmound/oak/v4/audio/pcm" + "github.com/oakmound/oak/v4/audio/synth" + "github.com/oakmound/oak/v4/dlog" + "github.com/oakmound/oak/v4/entities" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/key" + "github.com/oakmound/oak/v4/mouse" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/scene" ) const ( diff --git a/examples/platformer/main.go b/examples/platformer/main.go index 4d88a73d..ce5b056c 100644 --- a/examples/platformer/main.go +++ b/examples/platformer/main.go @@ -4,16 +4,16 @@ import ( "image/color" "math" - "github.com/oakmound/oak/v3/alg/floatgeom" + "github.com/oakmound/oak/v4/alg/floatgeom" - "github.com/oakmound/oak/v3/collision" + "github.com/oakmound/oak/v4/collision" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/key" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/key" - oak "github.com/oakmound/oak/v3" - "github.com/oakmound/oak/v3/entities" - "github.com/oakmound/oak/v3/scene" + oak "github.com/oakmound/oak/v4" + "github.com/oakmound/oak/v4/entities" + "github.com/oakmound/oak/v4/scene" ) const ( diff --git a/examples/pong/main.go b/examples/pong/main.go index c84af099..b67aa0fb 100644 --- a/examples/pong/main.go +++ b/examples/pong/main.go @@ -5,14 +5,14 @@ import ( "math" "math/rand" - oak "github.com/oakmound/oak/v3" - "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/collision" - "github.com/oakmound/oak/v3/entities" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/key" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/scene" + oak "github.com/oakmound/oak/v4" + "github.com/oakmound/oak/v4/alg/floatgeom" + "github.com/oakmound/oak/v4/collision" + "github.com/oakmound/oak/v4/entities" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/key" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/scene" ) var ( diff --git a/examples/radar-demo/main.go b/examples/radar-demo/main.go index 89112e00..7d157255 100644 --- a/examples/radar-demo/main.go +++ b/examples/radar-demo/main.go @@ -5,15 +5,15 @@ import ( "math" "math/rand" - "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/alg/intgeom" - - oak "github.com/oakmound/oak/v3" - "github.com/oakmound/oak/v3/entities" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/examples/radar-demo/radar" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/scene" + "github.com/oakmound/oak/v4/alg/floatgeom" + "github.com/oakmound/oak/v4/alg/intgeom" + + oak "github.com/oakmound/oak/v4" + "github.com/oakmound/oak/v4/entities" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/examples/radar-demo/radar" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/scene" ) const ( diff --git a/examples/radar-demo/radar/radar.go b/examples/radar-demo/radar/radar.go index f755369c..58ce0b44 100644 --- a/examples/radar-demo/radar/radar.go +++ b/examples/radar-demo/radar/radar.go @@ -5,7 +5,7 @@ import ( "image/color" "image/draw" - "github.com/oakmound/oak/v3/render" + "github.com/oakmound/oak/v4/render" ) // Point is a utility function for location diff --git a/examples/rooms/main.go b/examples/rooms/main.go index 6e1354b6..9fea3120 100644 --- a/examples/rooms/main.go +++ b/examples/rooms/main.go @@ -4,13 +4,13 @@ import ( "image/color" "math/rand" - "github.com/oakmound/oak/v3" - "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/alg/intgeom" - "github.com/oakmound/oak/v3/entities" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/scene" + "github.com/oakmound/oak/v4" + "github.com/oakmound/oak/v4/alg/floatgeom" + "github.com/oakmound/oak/v4/alg/intgeom" + "github.com/oakmound/oak/v4/entities" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/scene" ) // Rooms exercises shifting the camera in a zelda-esque fashion, diff --git a/examples/screenopts/main.go b/examples/screenopts/main.go index 5ce3e691..5418277a 100644 --- a/examples/screenopts/main.go +++ b/examples/screenopts/main.go @@ -7,11 +7,11 @@ import ( "math/rand" "strconv" - oak "github.com/oakmound/oak/v3" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/key" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/scene" + oak "github.com/oakmound/oak/v4" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/key" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/scene" ) func main() { diff --git a/examples/slide/main.go b/examples/slide/main.go index 49efccf1..c273bef5 100644 --- a/examples/slide/main.go +++ b/examples/slide/main.go @@ -6,15 +6,15 @@ import ( "image/color" "log" - "github.com/oakmound/oak/v3/alg/span" - "github.com/oakmound/oak/v3/render/mod" - "github.com/oakmound/oak/v3/render/particle" - - oak "github.com/oakmound/oak/v3" - "github.com/oakmound/oak/v3/examples/slide/show" - "github.com/oakmound/oak/v3/examples/slide/show/static" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/shape" + "github.com/oakmound/oak/v4/alg/span" + "github.com/oakmound/oak/v4/render/mod" + "github.com/oakmound/oak/v4/render/particle" + + oak "github.com/oakmound/oak/v4" + "github.com/oakmound/oak/v4/examples/slide/show" + "github.com/oakmound/oak/v4/examples/slide/show/static" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/shape" "golang.org/x/image/colornames" ) diff --git a/examples/slide/show/fonts.go b/examples/slide/show/fonts.go index 53e95c5a..67d10308 100644 --- a/examples/slide/show/fonts.go +++ b/examples/slide/show/fonts.go @@ -5,7 +5,7 @@ import ( "image/color" "path" - "github.com/oakmound/oak/v3/render" + "github.com/oakmound/oak/v4/render" ) func InitFonts() (err error) { diff --git a/examples/slide/show/helpers.go b/examples/slide/show/helpers.go index e15c6201..33ebedb1 100644 --- a/examples/slide/show/helpers.go +++ b/examples/slide/show/helpers.go @@ -5,9 +5,9 @@ import ( "path/filepath" "strings" - "github.com/oakmound/oak/v3/render/mod" + "github.com/oakmound/oak/v4/render/mod" - "github.com/oakmound/oak/v3/render" + "github.com/oakmound/oak/v4/render" ) var ( diff --git a/examples/slide/show/slide.go b/examples/slide/show/slide.go index a3762747..e0258bf5 100644 --- a/examples/slide/show/slide.go +++ b/examples/slide/show/slide.go @@ -6,12 +6,12 @@ import ( "image/color" "strconv" - oak "github.com/oakmound/oak/v3" - "github.com/oakmound/oak/v3/debugstream" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/key" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/scene" + oak "github.com/oakmound/oak/v4" + "github.com/oakmound/oak/v4/debugstream" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/key" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/scene" ) type Slide interface { diff --git a/examples/slide/show/static/basicSlide.go b/examples/slide/show/static/basicSlide.go index 3b2d01ce..81728f45 100644 --- a/examples/slide/show/static/basicSlide.go +++ b/examples/slide/show/static/basicSlide.go @@ -4,12 +4,12 @@ import ( "fmt" "os" - oak "github.com/oakmound/oak/v3" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/key" - "github.com/oakmound/oak/v3/mouse" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/scene" + oak "github.com/oakmound/oak/v4" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/key" + "github.com/oakmound/oak/v4/mouse" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/scene" ) type Slide struct { diff --git a/examples/sprite-demo/main.go b/examples/sprite-demo/main.go index b607a412..cbd7bff2 100644 --- a/examples/sprite-demo/main.go +++ b/examples/sprite-demo/main.go @@ -7,12 +7,12 @@ import ( "math/rand" "path/filepath" - oak "github.com/oakmound/oak/v3" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/key" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/render/mod" - "github.com/oakmound/oak/v3/scene" + oak "github.com/oakmound/oak/v4" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/key" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/render/mod" + "github.com/oakmound/oak/v4/scene" ) const ( diff --git a/examples/svg/go.mod b/examples/svg/go.mod index 1b5782d2..8de5eeb6 100644 --- a/examples/svg/go.mod +++ b/examples/svg/go.mod @@ -3,7 +3,7 @@ module github.com/oakmound/oak/examples/svg go 1.18 require ( - github.com/oakmound/oak/v3 v3.0.0-alpha.1 + github.com/oakmound/oak/v4 v3.0.0-alpha.1 github.com/srwiley/oksvg v0.0.0-20210320200257-875f767ac39a github.com/srwiley/rasterx v0.0.0-20200120212402-85cb7272f5e9 ) @@ -29,4 +29,4 @@ require ( golang.org/x/text v0.3.6 // indirect ) -replace github.com/oakmound/oak/v3 => ../.. +replace github.com/oakmound/oak/v4 => ../.. diff --git a/examples/svg/main.go b/examples/svg/main.go index ceae36bd..b55a284d 100644 --- a/examples/svg/main.go +++ b/examples/svg/main.go @@ -6,9 +6,9 @@ import ( "fmt" "image" - "github.com/oakmound/oak/v3" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/scene" + "github.com/oakmound/oak/v4" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/scene" "github.com/srwiley/oksvg" "github.com/srwiley/rasterx" ) diff --git a/examples/text-demos/color-changing-text-demo/main.go b/examples/text-demos/color-changing-text-demo/main.go index 4b76cf6f..84121b4e 100644 --- a/examples/text-demos/color-changing-text-demo/main.go +++ b/examples/text-demos/color-changing-text-demo/main.go @@ -8,10 +8,10 @@ import ( "image" - oak "github.com/oakmound/oak/v3" - "github.com/oakmound/oak/v3/alg/span" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/scene" + oak "github.com/oakmound/oak/v4" + "github.com/oakmound/oak/v4/alg/span" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/scene" ) var ( diff --git a/examples/text-demos/continual-text-demo/main.go b/examples/text-demos/continual-text-demo/main.go index 66f309c8..927f1bbf 100644 --- a/examples/text-demos/continual-text-demo/main.go +++ b/examples/text-demos/continual-text-demo/main.go @@ -4,15 +4,15 @@ import ( "image/color" "math/rand" - "github.com/oakmound/oak/v3/alg/span" - "github.com/oakmound/oak/v3/dlog" - "github.com/oakmound/oak/v3/event" + "github.com/oakmound/oak/v4/alg/span" + "github.com/oakmound/oak/v4/dlog" + "github.com/oakmound/oak/v4/event" "image" - oak "github.com/oakmound/oak/v3" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/scene" + oak "github.com/oakmound/oak/v4" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/scene" ) // ~60 fps draw rate with these examples in testing diff --git a/examples/titlescreen-demo/main.go b/examples/titlescreen-demo/main.go index 1bb2fa6c..f3d45228 100644 --- a/examples/titlescreen-demo/main.go +++ b/examples/titlescreen-demo/main.go @@ -3,13 +3,13 @@ package main import ( "image/color" - oak "github.com/oakmound/oak/v3" - "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/entities" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/key" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/scene" + oak "github.com/oakmound/oak/v4" + "github.com/oakmound/oak/v4/alg/floatgeom" + "github.com/oakmound/oak/v4/entities" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/key" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/scene" ) // Axes are the plural of axis diff --git a/examples/top-down-shooter/main.go b/examples/top-down-shooter/main.go index e5c6c818..2f021cc2 100644 --- a/examples/top-down-shooter/main.go +++ b/examples/top-down-shooter/main.go @@ -6,20 +6,20 @@ import ( "math/rand" "time" - "github.com/oakmound/oak/v3/render/mod" - - oak "github.com/oakmound/oak/v3" - "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/alg/intgeom" - "github.com/oakmound/oak/v3/collision" - "github.com/oakmound/oak/v3/collision/ray" - "github.com/oakmound/oak/v3/dlog" - "github.com/oakmound/oak/v3/entities" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/key" - "github.com/oakmound/oak/v3/mouse" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/scene" + "github.com/oakmound/oak/v4/render/mod" + + oak "github.com/oakmound/oak/v4" + "github.com/oakmound/oak/v4/alg/floatgeom" + "github.com/oakmound/oak/v4/alg/intgeom" + "github.com/oakmound/oak/v4/collision" + "github.com/oakmound/oak/v4/collision/ray" + "github.com/oakmound/oak/v4/dlog" + "github.com/oakmound/oak/v4/entities" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/key" + "github.com/oakmound/oak/v4/mouse" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/scene" ) const ( diff --git a/examples/zooming/main.go b/examples/zooming/main.go index b28f831d..19bee5d0 100644 --- a/examples/zooming/main.go +++ b/examples/zooming/main.go @@ -6,12 +6,12 @@ import ( "image/draw" "path/filepath" - oak "github.com/oakmound/oak/v3" - "github.com/oakmound/oak/v3/dlog" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/key" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/scene" + oak "github.com/oakmound/oak/v4" + "github.com/oakmound/oak/v4/dlog" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/key" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/scene" ) var ( diff --git a/go.mod b/go.mod index 4a4d3f59..4d60493d 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/oakmound/oak/v3 +module github.com/oakmound/oak/v4 go 1.18 diff --git a/init.go b/init.go index 4197d570..f9a09dd1 100644 --- a/init.go +++ b/init.go @@ -8,10 +8,10 @@ import ( "strings" "time" - "github.com/oakmound/oak/v3/dlog" - "github.com/oakmound/oak/v3/oakerr" - "github.com/oakmound/oak/v3/scene" - "github.com/oakmound/oak/v3/timing" + "github.com/oakmound/oak/v4/dlog" + "github.com/oakmound/oak/v4/oakerr" + "github.com/oakmound/oak/v4/scene" + "github.com/oakmound/oak/v4/timing" ) var ( diff --git a/init_override_js.go b/init_override_js.go index 1df10f17..3bfae168 100644 --- a/init_override_js.go +++ b/init_override_js.go @@ -4,7 +4,7 @@ package oak import ( - "github.com/oakmound/oak/v3/dlog" + "github.com/oakmound/oak/v4/dlog" "syscall/js" ) @@ -15,11 +15,11 @@ func overrideInit(w *Window) { } if w.config.EnableDebugConsole { dlog.Info("Debug console is not supported in JS") - w.config.EnableDebugConsole = false + w.config.EnableDebugConsole = false } if w.config.UnlimitedDrawFrameRate { dlog.Info("Unlimited draw frame rate is not supported in JS") - w.config.UnlimitedDrawFrameRate = false + w.config.UnlimitedDrawFrameRate = false } w.animationFrame = make(chan struct{}) js.Global().Call("requestAnimationFrame", js.FuncOf(w.requestFrame)) diff --git a/inputLoop.go b/inputLoop.go index 575ce2b5..6137c188 100644 --- a/inputLoop.go +++ b/inputLoop.go @@ -1,13 +1,13 @@ package oak import ( - "github.com/oakmound/oak/v3/alg/intgeom" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/timing" + "github.com/oakmound/oak/v4/alg/intgeom" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/timing" - "github.com/oakmound/oak/v3/dlog" - okey "github.com/oakmound/oak/v3/key" - omouse "github.com/oakmound/oak/v3/mouse" + "github.com/oakmound/oak/v4/dlog" + okey "github.com/oakmound/oak/v4/key" + omouse "github.com/oakmound/oak/v4/mouse" "golang.org/x/mobile/event/key" "golang.org/x/mobile/event/lifecycle" "golang.org/x/mobile/event/mouse" diff --git a/inputLoop_test.go b/inputLoop_test.go index 3ca71e0a..2ac6d92b 100644 --- a/inputLoop_test.go +++ b/inputLoop_test.go @@ -4,7 +4,7 @@ import ( "testing" "time" - "github.com/oakmound/oak/v3/event" + "github.com/oakmound/oak/v4/event" "golang.org/x/mobile/event/key" "golang.org/x/mobile/event/mouse" ) diff --git a/inputTracker.go b/inputTracker.go index 2f6cabc7..5ee79c1c 100644 --- a/inputTracker.go +++ b/inputTracker.go @@ -4,11 +4,11 @@ import ( "sync/atomic" "time" - "github.com/oakmound/oak/v3/dlog" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/joystick" - "github.com/oakmound/oak/v3/key" - "github.com/oakmound/oak/v3/mouse" + "github.com/oakmound/oak/v4/dlog" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/joystick" + "github.com/oakmound/oak/v4/key" + "github.com/oakmound/oak/v4/mouse" ) // InputType expresses some form of input to the engine to represent a player diff --git a/inputTracker_test.go b/inputTracker_test.go index db1bc232..a3fd31b7 100644 --- a/inputTracker_test.go +++ b/inputTracker_test.go @@ -4,10 +4,10 @@ import ( "testing" "time" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/key" - "github.com/oakmound/oak/v3/mouse" - "github.com/oakmound/oak/v3/scene" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/key" + "github.com/oakmound/oak/v4/mouse" + "github.com/oakmound/oak/v4/scene" ) func TestTrackInputChanges(t *testing.T) { diff --git a/joystick/driver_darwin.go b/joystick/driver_darwin.go index 396d1ceb..5bcb09ad 100644 --- a/joystick/driver_darwin.go +++ b/joystick/driver_darwin.go @@ -1,6 +1,6 @@ package joystick -import "github.com/oakmound/oak/v3/oakerr" +import "github.com/oakmound/oak/v4/oakerr" func osinit() error { return nil @@ -14,19 +14,19 @@ type osJoystick struct { } func (j *Joystick) prepare() error { - return oakerr.UnsupportedPlatform{Operation:"joystick"} + return oakerr.UnsupportedPlatform{Operation: "joystick"} } func (j *Joystick) getState() (*State, error) { - return nil, oakerr.UnsupportedPlatform{Operation:"joystick"} + return nil, oakerr.UnsupportedPlatform{Operation: "joystick"} } func (j *Joystick) vibrate(left, right uint16) error { - return oakerr.UnsupportedPlatform{Operation:"joystick"} + return oakerr.UnsupportedPlatform{Operation: "joystick"} } func (j *Joystick) close() error { - return oakerr.UnsupportedPlatform{Operation:"joystick"} + return oakerr.UnsupportedPlatform{Operation: "joystick"} } func getJoysticks() []*Joystick { diff --git a/joystick/driver_js.go b/joystick/driver_js.go index eb36b4e0..063c8ec5 100644 --- a/joystick/driver_js.go +++ b/joystick/driver_js.go @@ -1,17 +1,17 @@ package joystick import ( + "errors" "reflect" "syscall/js" - "errors" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/oakerr" - "github.com/oakmound/oak/v3/timing" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/oakerr" + "github.com/oakmound/oak/v4/timing" ) -func osinit() error { - // TODO: listen to joystick connected and joystick disconnected? We'd still need to +func osinit() error { + // TODO: listen to joystick connected and joystick disconnected? We'd still need to // list from getGamepads every frame, it seems, to get new button presses. return nil } @@ -63,19 +63,19 @@ type jsGamepadState struct { connected bool // osID string // index int - mapping string + mapping string } type jsButton struct { - value float64 + value float64 //touched bool pressed bool } type osJoystick struct { - cache State - jsState jsGamepadState - newJSState jsGamepadState + cache State + jsState jsGamepadState + newJSState jsGamepadState newButtons map[string]bool } diff --git a/joystick/driver_linux.go b/joystick/driver_linux.go index 4aed3e51..67e11c41 100644 --- a/joystick/driver_linux.go +++ b/joystick/driver_linux.go @@ -7,10 +7,10 @@ import ( "strconv" "sync" - "github.com/oakmound/oak/v3/dlog" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/oakerr" - "github.com/oakmound/oak/v3/timing" + "github.com/oakmound/oak/v4/dlog" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/oakerr" + "github.com/oakmound/oak/v4/timing" "encoding/binary" "path" diff --git a/joystick/driver_other.go b/joystick/driver_other.go index 34d4f06d..4f2abe8f 100644 --- a/joystick/driver_other.go +++ b/joystick/driver_other.go @@ -3,7 +3,7 @@ package joystick -import "github.com/oakmound/oak/v3/oakerr" +import "github.com/oakmound/oak/v4/oakerr" func newOsJoystick() osJoystick { return osJoystick{} diff --git a/joystick/driver_windows.go b/joystick/driver_windows.go index 7d64b1c6..4485699c 100644 --- a/joystick/driver_windows.go +++ b/joystick/driver_windows.go @@ -3,8 +3,8 @@ package joystick import ( "sync" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/timing" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/timing" "github.com/oakmound/w32" ) diff --git a/joystick/joystick.go b/joystick/joystick.go index e2f12513..856381b7 100644 --- a/joystick/joystick.go +++ b/joystick/joystick.go @@ -7,8 +7,8 @@ import ( "sync" "time" - "github.com/oakmound/oak/v3/dlog" - "github.com/oakmound/oak/v3/event" + "github.com/oakmound/oak/v4/dlog" + "github.com/oakmound/oak/v4/event" ) type Input string diff --git a/key/events.go b/key/events.go index cfbd06f6..143261f2 100644 --- a/key/events.go +++ b/key/events.go @@ -3,7 +3,7 @@ package key import ( "sync" - "github.com/oakmound/oak/v3/event" + "github.com/oakmound/oak/v4/event" "golang.org/x/mobile/event/key" ) diff --git a/lifecycle.go b/lifecycle.go index c668a0c7..b202e8d8 100644 --- a/lifecycle.go +++ b/lifecycle.go @@ -4,11 +4,11 @@ import ( "image" "image/draw" - "github.com/oakmound/oak/v3/alg" - "github.com/oakmound/oak/v3/debugstream" + "github.com/oakmound/oak/v4/alg" + "github.com/oakmound/oak/v4/debugstream" "golang.org/x/mobile/event/lifecycle" - "github.com/oakmound/oak/v3/shiny/screen" + "github.com/oakmound/oak/v4/shiny/screen" ) func (w *Window) lifecycleLoop(s screen.Screen) { diff --git a/loading.go b/loading.go index 67c9a422..e0d75271 100644 --- a/loading.go +++ b/loading.go @@ -3,10 +3,10 @@ package oak import ( "io/fs" - "github.com/oakmound/oak/v3/audio" - "github.com/oakmound/oak/v3/dlog" - "github.com/oakmound/oak/v3/fileutil" - "github.com/oakmound/oak/v3/render" + "github.com/oakmound/oak/v4/audio" + "github.com/oakmound/oak/v4/dlog" + "github.com/oakmound/oak/v4/fileutil" + "github.com/oakmound/oak/v4/render" "golang.org/x/sync/errgroup" ) diff --git a/loading_test.go b/loading_test.go index 3d03e82b..ba242a69 100644 --- a/loading_test.go +++ b/loading_test.go @@ -4,7 +4,7 @@ import ( "os" "testing" - "github.com/oakmound/oak/v3/scene" + "github.com/oakmound/oak/v4/scene" ) func TestBatchLoad_HappyPath(t *testing.T) { diff --git a/mouse/default.go b/mouse/default.go index 0200513f..afda470e 100644 --- a/mouse/default.go +++ b/mouse/default.go @@ -1,6 +1,6 @@ package mouse -import "github.com/oakmound/oak/v3/collision" +import "github.com/oakmound/oak/v4/collision" // DefaultTree is a collision tree intended to be used by default if no other // is instantiated. Methods on a collision tree are duplicated as functions diff --git a/mouse/default_test.go b/mouse/default_test.go index d44fa0d9..64684588 100644 --- a/mouse/default_test.go +++ b/mouse/default_test.go @@ -3,7 +3,7 @@ package mouse import ( "testing" - "github.com/oakmound/oak/v3/collision" + "github.com/oakmound/oak/v4/collision" ) func TestDefaultFunctions(t *testing.T) { diff --git a/mouse/event.go b/mouse/event.go index b17cbf06..7ffd5309 100644 --- a/mouse/event.go +++ b/mouse/event.go @@ -1,9 +1,9 @@ package mouse import ( - "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/collision" - "github.com/oakmound/oak/v3/event" + "github.com/oakmound/oak/v4/alg/floatgeom" + "github.com/oakmound/oak/v4/collision" + "github.com/oakmound/oak/v4/event" ) var ( diff --git a/mouse/event_test.go b/mouse/event_test.go index e77c2f37..97df2d0c 100644 --- a/mouse/event_test.go +++ b/mouse/event_test.go @@ -3,7 +3,7 @@ package mouse import ( "testing" - "github.com/oakmound/oak/v3/collision" + "github.com/oakmound/oak/v4/collision" ) func TestEventConversions(t *testing.T) { diff --git a/mouse/events.go b/mouse/events.go index 8ed4832f..628e4926 100644 --- a/mouse/events.go +++ b/mouse/events.go @@ -1,6 +1,6 @@ package mouse -import "github.com/oakmound/oak/v3/event" +import "github.com/oakmound/oak/v4/event" var ( // Press is triggered when a mouse key is pressed down diff --git a/mouse/events_test.go b/mouse/events_test.go index 08cdaa36..112b328b 100644 --- a/mouse/events_test.go +++ b/mouse/events_test.go @@ -3,7 +3,7 @@ package mouse import ( "testing" - "github.com/oakmound/oak/v3/event" + "github.com/oakmound/oak/v4/event" ) func TestEventOn(t *testing.T) { diff --git a/mouse/mouse.go b/mouse/mouse.go index 5caa8498..a6f93cb3 100644 --- a/mouse/mouse.go +++ b/mouse/mouse.go @@ -1,7 +1,7 @@ package mouse import ( - "github.com/oakmound/oak/v3/event" + "github.com/oakmound/oak/v4/event" "golang.org/x/mobile/event/mouse" ) diff --git a/mouse/onCollision.go b/mouse/onCollision.go index 7c77abaf..36fbb469 100644 --- a/mouse/onCollision.go +++ b/mouse/onCollision.go @@ -3,8 +3,8 @@ package mouse import ( "errors" - "github.com/oakmound/oak/v3/collision" - "github.com/oakmound/oak/v3/event" + "github.com/oakmound/oak/v4/collision" + "github.com/oakmound/oak/v4/event" ) // CollisionPhase is a component that can be placed into another struct to diff --git a/mouse/onCollision_test.go b/mouse/onCollision_test.go index 12fe61a5..2c4fdd89 100644 --- a/mouse/onCollision_test.go +++ b/mouse/onCollision_test.go @@ -4,9 +4,9 @@ import ( "testing" "time" - "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/collision" - "github.com/oakmound/oak/v3/event" + "github.com/oakmound/oak/v4/alg/floatgeom" + "github.com/oakmound/oak/v4/collision" + "github.com/oakmound/oak/v4/event" ) type cphase struct { diff --git a/physics/force.go b/physics/force.go index a0b8f2f7..de316caf 100644 --- a/physics/force.go +++ b/physics/force.go @@ -1,7 +1,7 @@ package physics import ( - "github.com/oakmound/oak/v3/oakerr" + "github.com/oakmound/oak/v4/oakerr" ) const frozen = -64 diff --git a/physics/vector.go b/physics/vector.go index a19a55e7..b36a225e 100644 --- a/physics/vector.go +++ b/physics/vector.go @@ -3,7 +3,7 @@ package physics import ( "math" - "github.com/oakmound/oak/v3/alg" + "github.com/oakmound/oak/v4/alg" ) // A Vector is a two-dimensional point or vector used throughout oak diff --git a/physics/vector_test.go b/physics/vector_test.go index 2ad81e81..cb727dbb 100644 --- a/physics/vector_test.go +++ b/physics/vector_test.go @@ -3,7 +3,7 @@ package physics import ( "testing" - "github.com/oakmound/oak/v3/alg" + "github.com/oakmound/oak/v4/alg" ) func TestVectorFuncs(t *testing.T) { diff --git a/render/bachload_test.go b/render/bachload_test.go index 09e4697c..2d67bf2e 100644 --- a/render/bachload_test.go +++ b/render/bachload_test.go @@ -4,7 +4,7 @@ import ( "errors" "testing" - "github.com/oakmound/oak/v3/oakerr" + "github.com/oakmound/oak/v4/oakerr" ) func TestBlankBatchLoad_BadBaseFolder(t *testing.T) { diff --git a/render/batchload.go b/render/batchload.go index 27f8165b..8400de4c 100644 --- a/render/batchload.go +++ b/render/batchload.go @@ -8,10 +8,10 @@ import ( "strconv" "sync" - "github.com/oakmound/oak/v3/alg/intgeom" - "github.com/oakmound/oak/v3/dlog" - "github.com/oakmound/oak/v3/fileutil" - "github.com/oakmound/oak/v3/oakerr" + "github.com/oakmound/oak/v4/alg/intgeom" + "github.com/oakmound/oak/v4/dlog" + "github.com/oakmound/oak/v4/fileutil" + "github.com/oakmound/oak/v4/oakerr" ) // BatchLoad loads subdirectories from the given base folder and imports all files, diff --git a/render/bezier.go b/render/bezier.go index 1e0c3974..49ce88ec 100644 --- a/render/bezier.go +++ b/render/bezier.go @@ -4,9 +4,9 @@ import ( "image" "image/color" - "github.com/oakmound/oak/v3/alg" - "github.com/oakmound/oak/v3/alg/intgeom" - "github.com/oakmound/oak/v3/shape" + "github.com/oakmound/oak/v4/alg" + "github.com/oakmound/oak/v4/alg/intgeom" + "github.com/oakmound/oak/v4/shape" ) // BezierLine converts a bezier into a line sprite. diff --git a/render/bezier_test.go b/render/bezier_test.go index 8172c12a..4daa242b 100644 --- a/render/bezier_test.go +++ b/render/bezier_test.go @@ -4,7 +4,7 @@ import ( "image/color" "testing" - "github.com/oakmound/oak/v3/shape" + "github.com/oakmound/oak/v4/shape" ) func TestSimpleBezierLine(t *testing.T) { diff --git a/render/cache.go b/render/cache.go index d3bca480..7a1a2e32 100644 --- a/render/cache.go +++ b/render/cache.go @@ -5,7 +5,7 @@ import ( "sync" "github.com/golang/freetype/truetype" - "github.com/oakmound/oak/v3/alg/intgeom" + "github.com/oakmound/oak/v4/alg/intgeom" ) // DefaultCache is the receiver for package level sprites, sheets, and font loading operations. diff --git a/render/colorbox.go b/render/colorbox.go index 4eac32a5..b496b5b3 100644 --- a/render/colorbox.go +++ b/render/colorbox.go @@ -5,7 +5,7 @@ import ( "image/color" "image/draw" - "github.com/oakmound/oak/v3/alg/intgeom" + "github.com/oakmound/oak/v4/alg/intgeom" ) // NewColorBox returns a Sprite full of a given color with the given dimensions diff --git a/render/compositeM.go b/render/compositeM.go index 0438f006..17ec5c9d 100644 --- a/render/compositeM.go +++ b/render/compositeM.go @@ -4,8 +4,8 @@ import ( "image" "image/draw" - "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/render/mod" + "github.com/oakmound/oak/v4/alg/floatgeom" + "github.com/oakmound/oak/v4/render/mod" ) // CompositeM Types display all of their parts at the same time, diff --git a/render/compositeM_test.go b/render/compositeM_test.go index ee8c827d..a8001dc5 100644 --- a/render/compositeM_test.go +++ b/render/compositeM_test.go @@ -6,8 +6,8 @@ import ( "reflect" "testing" - "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/render/mod" + "github.com/oakmound/oak/v4/alg/floatgeom" + "github.com/oakmound/oak/v4/render/mod" ) func TestComposite(t *testing.T) { diff --git a/render/compositeR.go b/render/compositeR.go index 3c63cf77..ba9220c1 100644 --- a/render/compositeR.go +++ b/render/compositeR.go @@ -5,8 +5,8 @@ import ( "image/draw" "sync" - "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/alg/intgeom" + "github.com/oakmound/oak/v4/alg/floatgeom" + "github.com/oakmound/oak/v4/alg/intgeom" ) // A CompositeR is equivalent to a CompositeM for Renderables instead of diff --git a/render/compositeR_test.go b/render/compositeR_test.go index 3beb08fd..20cdf0b0 100644 --- a/render/compositeR_test.go +++ b/render/compositeR_test.go @@ -6,8 +6,8 @@ import ( "reflect" "testing" - "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/alg/intgeom" + "github.com/oakmound/oak/v4/alg/floatgeom" + "github.com/oakmound/oak/v4/alg/intgeom" ) func TestCompositeR(t *testing.T) { diff --git a/render/curve.go b/render/curve.go index 8406113c..8fe72c8b 100644 --- a/render/curve.go +++ b/render/curve.go @@ -5,8 +5,8 @@ import ( "image/color" "math" - "github.com/oakmound/oak/v3/alg" - "github.com/oakmound/oak/v3/alg/floatgeom" + "github.com/oakmound/oak/v4/alg" + "github.com/oakmound/oak/v4/alg/floatgeom" ) // NewCircle creates a sprite and draws a circle onto it diff --git a/render/decoder.go b/render/decoder.go index ad57b7cf..b93ce20f 100644 --- a/render/decoder.go +++ b/render/decoder.go @@ -4,7 +4,7 @@ import ( "image" "io" - "github.com/oakmound/oak/v3/oakerr" + "github.com/oakmound/oak/v4/oakerr" ) // Decoder functions convert arbitrary readers to images. diff --git a/render/drawHeap.go b/render/drawHeap.go index 23cf4ec5..da56eb61 100644 --- a/render/drawHeap.go +++ b/render/drawHeap.go @@ -4,7 +4,7 @@ import ( "image/draw" "sync" - "github.com/oakmound/oak/v3/alg/intgeom" + "github.com/oakmound/oak/v4/alg/intgeom" ) // A RenderableHeap manages a set of renderables to be drawn in explicit layered diff --git a/render/drawHeap_test.go b/render/drawHeap_test.go index 6012e5fb..dd981726 100644 --- a/render/drawHeap_test.go +++ b/render/drawHeap_test.go @@ -5,7 +5,7 @@ import ( "image/color" "testing" - "github.com/oakmound/oak/v3/alg/intgeom" + "github.com/oakmound/oak/v4/alg/intgeom" ) const heapLoops = 2000 diff --git a/render/drawStack.go b/render/drawStack.go index dd268c89..2b3188c5 100644 --- a/render/drawStack.go +++ b/render/drawStack.go @@ -3,8 +3,8 @@ package render import ( "image/draw" - "github.com/oakmound/oak/v3/alg/intgeom" - "github.com/oakmound/oak/v3/oakerr" + "github.com/oakmound/oak/v4/alg/intgeom" + "github.com/oakmound/oak/v4/oakerr" ) var ( diff --git a/render/drawStack_test.go b/render/drawStack_test.go index 0ecb6e09..9da7c7fb 100644 --- a/render/drawStack_test.go +++ b/render/drawStack_test.go @@ -6,7 +6,7 @@ import ( "reflect" "testing" - "github.com/oakmound/oak/v3/alg/intgeom" + "github.com/oakmound/oak/v4/alg/intgeom" ) func TestDrawStack(t *testing.T) { diff --git a/render/font.go b/render/font.go index cbaf84f1..a95dd7cf 100644 --- a/render/font.go +++ b/render/font.go @@ -12,9 +12,9 @@ import ( "golang.org/x/image/font" "golang.org/x/image/math/fixed" - "github.com/oakmound/oak/v3/alg/intgeom" - "github.com/oakmound/oak/v3/fileutil" - "github.com/oakmound/oak/v3/oakerr" + "github.com/oakmound/oak/v4/alg/intgeom" + "github.com/oakmound/oak/v4/fileutil" + "github.com/oakmound/oak/v4/oakerr" ) var ( diff --git a/render/font_test.go b/render/font_test.go index ae229400..12f86913 100644 --- a/render/font_test.go +++ b/render/font_test.go @@ -7,7 +7,7 @@ import ( "math/rand" "testing" - "github.com/oakmound/oak/v3/oakerr" + "github.com/oakmound/oak/v4/oakerr" "golang.org/x/image/colornames" ) diff --git a/render/fps.go b/render/fps.go index 9b10a0a4..d7992b25 100644 --- a/render/fps.go +++ b/render/fps.go @@ -4,7 +4,7 @@ import ( "image/draw" "time" - "github.com/oakmound/oak/v3/timing" + "github.com/oakmound/oak/v4/timing" ) const ( diff --git a/render/interfaceFeatures.go b/render/interfaceFeatures.go index 1b8a8dfc..803a88d4 100644 --- a/render/interfaceFeatures.go +++ b/render/interfaceFeatures.go @@ -1,6 +1,6 @@ package render -import "github.com/oakmound/oak/v3/event" +import "github.com/oakmound/oak/v4/event" // NonStatic types are not always static. If something is not NonStatic, // it is equivalent to having IsStatic always return true. diff --git a/render/layered.go b/render/layered.go index 97031f8a..2c2024db 100644 --- a/render/layered.go +++ b/render/layered.go @@ -1,7 +1,7 @@ package render import ( - "github.com/oakmound/oak/v3/physics" + "github.com/oakmound/oak/v4/physics" ) const ( diff --git a/render/line.go b/render/line.go index accb0483..f37ba9d8 100644 --- a/render/line.go +++ b/render/line.go @@ -5,7 +5,7 @@ import ( "image/color" "math" - "github.com/oakmound/oak/v3/alg/span" + "github.com/oakmound/oak/v4/alg/span" ) // Todo: diff --git a/render/loadsheet.go b/render/loadsheet.go index cd513dc4..1db88a37 100644 --- a/render/loadsheet.go +++ b/render/loadsheet.go @@ -4,8 +4,8 @@ import ( "image" "path/filepath" - "github.com/oakmound/oak/v3/alg/intgeom" - "github.com/oakmound/oak/v3/oakerr" + "github.com/oakmound/oak/v4/alg/intgeom" + "github.com/oakmound/oak/v4/oakerr" ) // LoadSheet loads a file in some directory with sheets of (w,h) sized sprites. diff --git a/render/loadsheet_test.go b/render/loadsheet_test.go index 8d9e05f2..1a079522 100644 --- a/render/loadsheet_test.go +++ b/render/loadsheet_test.go @@ -6,8 +6,8 @@ import ( "path/filepath" "testing" - "github.com/oakmound/oak/v3/alg/intgeom" - "github.com/oakmound/oak/v3/oakerr" + "github.com/oakmound/oak/v4/alg/intgeom" + "github.com/oakmound/oak/v4/oakerr" ) var ( diff --git a/render/loadsprite.go b/render/loadsprite.go index 21c38be7..34172bc8 100644 --- a/render/loadsprite.go +++ b/render/loadsprite.go @@ -8,8 +8,8 @@ import ( "path/filepath" "strings" - "github.com/oakmound/oak/v3/fileutil" - "github.com/oakmound/oak/v3/oakerr" + "github.com/oakmound/oak/v4/fileutil" + "github.com/oakmound/oak/v4/oakerr" ) func loadSpriteNoCache(file string, maxFileSize int64) (*image.RGBA, error) { diff --git a/render/logicfps.go b/render/logicfps.go index edce75c1..f6dd71ac 100644 --- a/render/logicfps.go +++ b/render/logicfps.go @@ -3,8 +3,8 @@ package render import ( "time" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/timing" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/timing" ) // LogicFPS is a Stackable that will draw the logical fps onto the screen when a part diff --git a/render/logicfps_test.go b/render/logicfps_test.go index 62e908fa..981c2c71 100644 --- a/render/logicfps_test.go +++ b/render/logicfps_test.go @@ -4,7 +4,7 @@ import ( "image" "testing" - "github.com/oakmound/oak/v3/event" + "github.com/oakmound/oak/v4/event" ) func TestLogicFPS(t *testing.T) { diff --git a/render/mod/cut.go b/render/mod/cut.go index 8d1f01fc..4363fc78 100644 --- a/render/mod/cut.go +++ b/render/mod/cut.go @@ -4,9 +4,9 @@ import ( "image" "image/color" - "github.com/oakmound/oak/v3/alg" - "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/shape" + "github.com/oakmound/oak/v4/alg" + "github.com/oakmound/oak/v4/alg/floatgeom" + "github.com/oakmound/oak/v4/shape" ) // CutRound rounds the edges of the Modifiable with Bezier curves. diff --git a/render/mod/highlight.go b/render/mod/highlight.go index 15ea5f30..d02939f6 100644 --- a/render/mod/highlight.go +++ b/render/mod/highlight.go @@ -4,7 +4,7 @@ import ( "image" "image/color" - "github.com/oakmound/oak/v3/alg/intgeom" + "github.com/oakmound/oak/v4/alg/intgeom" ) func HighlightOff(c color.Color, thickness, xOff, yOff int) Mod { diff --git a/render/mod/mod_test.go b/render/mod/mod_test.go index f41848a2..ec2795df 100644 --- a/render/mod/mod_test.go +++ b/render/mod/mod_test.go @@ -7,7 +7,7 @@ import ( "testing" "github.com/disintegration/gift" - "github.com/oakmound/oak/v3/shape" + "github.com/oakmound/oak/v4/shape" ) func TestComposedModifications(t *testing.T) { diff --git a/render/modifiable.go b/render/modifiable.go index 4446fd65..46ab9684 100644 --- a/render/modifiable.go +++ b/render/modifiable.go @@ -3,7 +3,7 @@ package render import ( "image" - "github.com/oakmound/oak/v3/render/mod" + "github.com/oakmound/oak/v4/render/mod" ) // A Modifiable is a Renderable that has functions to change its diff --git a/render/noopStackable.go b/render/noopStackable.go index ad695ccb..de665c50 100644 --- a/render/noopStackable.go +++ b/render/noopStackable.go @@ -3,7 +3,7 @@ package render import ( "image/draw" - "github.com/oakmound/oak/v3/alg/intgeom" + "github.com/oakmound/oak/v4/alg/intgeom" ) // NoopStackable is a Stackable element where all methods are no-ops. diff --git a/render/noopStackable_test.go b/render/noopStackable_test.go index ceb8ebe9..d986adcb 100644 --- a/render/noopStackable_test.go +++ b/render/noopStackable_test.go @@ -3,7 +3,7 @@ package render import ( "testing" - "github.com/oakmound/oak/v3/alg/intgeom" + "github.com/oakmound/oak/v4/alg/intgeom" ) func TestNoopStackable(t *testing.T) { diff --git a/render/particle/allocator.go b/render/particle/allocator.go index 83706c5d..13a7f9aa 100644 --- a/render/particle/allocator.go +++ b/render/particle/allocator.go @@ -1,7 +1,7 @@ package particle import ( - "github.com/oakmound/oak/v3/event" + "github.com/oakmound/oak/v4/event" ) const ( diff --git a/render/particle/allocator_test.go b/render/particle/allocator_test.go index bbf04497..546d1567 100644 --- a/render/particle/allocator_test.go +++ b/render/particle/allocator_test.go @@ -3,7 +3,7 @@ package particle import ( "testing" - "github.com/oakmound/oak/v3/event" + "github.com/oakmound/oak/v4/event" ) func TestAllocate(t *testing.T) { diff --git a/render/particle/collisionParticle.go b/render/particle/collisionParticle.go index c88371ed..a8d534ba 100644 --- a/render/particle/collisionParticle.go +++ b/render/particle/collisionParticle.go @@ -3,7 +3,7 @@ package particle import ( "image/draw" - "github.com/oakmound/oak/v3/collision" + "github.com/oakmound/oak/v4/collision" ) // A CollisionParticle is a wrapper around other particles that also diff --git a/render/particle/collision_test.go b/render/particle/collision_test.go index 40d2dba9..a1b3a71a 100644 --- a/render/particle/collision_test.go +++ b/render/particle/collision_test.go @@ -4,7 +4,7 @@ import ( "image" "testing" - "github.com/oakmound/oak/v3/collision" + "github.com/oakmound/oak/v4/collision" ) func TestCollisionParticle(t *testing.T) { diff --git a/render/particle/collisonGenerator.go b/render/particle/collisonGenerator.go index f4d269f5..4e2d4460 100644 --- a/render/particle/collisonGenerator.go +++ b/render/particle/collisonGenerator.go @@ -1,8 +1,8 @@ package particle import ( - "github.com/oakmound/oak/v3/collision" - "github.com/oakmound/oak/v3/event" + "github.com/oakmound/oak/v4/collision" + "github.com/oakmound/oak/v4/event" ) // A CollisionGenerator generates collision particles diff --git a/render/particle/colorGenerator.go b/render/particle/colorGenerator.go index cf5f9d2b..a7478ba4 100644 --- a/render/particle/colorGenerator.go +++ b/render/particle/colorGenerator.go @@ -3,10 +3,10 @@ package particle import ( "image/color" - "github.com/oakmound/oak/v3/alg" - "github.com/oakmound/oak/v3/shape" + "github.com/oakmound/oak/v4/alg" + "github.com/oakmound/oak/v4/shape" - "github.com/oakmound/oak/v3/alg/span" + "github.com/oakmound/oak/v4/alg/span" ) // A ColorGenerator generates ColorParticles diff --git a/render/particle/colorParticle.go b/render/particle/colorParticle.go index 2c6e7a68..6fcb7220 100644 --- a/render/particle/colorParticle.go +++ b/render/particle/colorParticle.go @@ -4,8 +4,8 @@ import ( "image/color" "image/draw" - "github.com/oakmound/oak/v3/physics" - "github.com/oakmound/oak/v3/render" + "github.com/oakmound/oak/v4/physics" + "github.com/oakmound/oak/v4/render" ) // A ColorParticle is a particle with a defined color and size diff --git a/render/particle/color_test.go b/render/particle/color_test.go index e4cf0101..9c3275f5 100644 --- a/render/particle/color_test.go +++ b/render/particle/color_test.go @@ -5,9 +5,9 @@ import ( "image/color" "testing" - "github.com/oakmound/oak/v3/alg/span" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/shape" + "github.com/oakmound/oak/v4/alg/span" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/shape" ) func TestColorParticle(t *testing.T) { diff --git a/render/particle/generator.go b/render/particle/generator.go index 39cc89c5..ffb84c57 100644 --- a/render/particle/generator.go +++ b/render/particle/generator.go @@ -3,8 +3,8 @@ package particle import ( "math" - "github.com/oakmound/oak/v3/alg/span" - "github.com/oakmound/oak/v3/physics" + "github.com/oakmound/oak/v4/alg/span" + "github.com/oakmound/oak/v4/physics" ) var ( diff --git a/render/particle/gradientGenerator.go b/render/particle/gradientGenerator.go index 79e09d5d..eb221518 100644 --- a/render/particle/gradientGenerator.go +++ b/render/particle/gradientGenerator.go @@ -3,8 +3,8 @@ package particle import ( "image/color" - "github.com/oakmound/oak/v3/alg" - "github.com/oakmound/oak/v3/render" + "github.com/oakmound/oak/v4/alg" + "github.com/oakmound/oak/v4/render" ) // A GradientGenerator is a ColorGenerator with a patterned gradient diff --git a/render/particle/gradientParticle.go b/render/particle/gradientParticle.go index 47b1fd5f..a1e51a25 100644 --- a/render/particle/gradientParticle.go +++ b/render/particle/gradientParticle.go @@ -4,7 +4,7 @@ import ( "image/color" "image/draw" - "github.com/oakmound/oak/v3/render" + "github.com/oakmound/oak/v4/render" ) // A GradientParticle has a gradient from one color to another diff --git a/render/particle/gradient_test.go b/render/particle/gradient_test.go index f5fb88c0..1fd70431 100644 --- a/render/particle/gradient_test.go +++ b/render/particle/gradient_test.go @@ -5,10 +5,10 @@ import ( "image/color" "testing" - "github.com/oakmound/oak/v3/alg/span" - "github.com/oakmound/oak/v3/physics" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/shape" + "github.com/oakmound/oak/v4/alg/span" + "github.com/oakmound/oak/v4/physics" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/shape" ) func TestGradientParticle(t *testing.T) { diff --git a/render/particle/math.go b/render/particle/math.go index 80fc2be6..d890368d 100644 --- a/render/particle/math.go +++ b/render/particle/math.go @@ -5,7 +5,7 @@ import ( "math" "math/rand" - "github.com/oakmound/oak/v3/alg" + "github.com/oakmound/oak/v4/alg" ) // floatFromSpread returns a random value between diff --git a/render/particle/options.go b/render/particle/options.go index a0115727..d822f134 100644 --- a/render/particle/options.go +++ b/render/particle/options.go @@ -3,9 +3,9 @@ package particle import ( "math" - "github.com/oakmound/oak/v3/alg" - "github.com/oakmound/oak/v3/alg/span" - "github.com/oakmound/oak/v3/physics" + "github.com/oakmound/oak/v4/alg" + "github.com/oakmound/oak/v4/alg/span" + "github.com/oakmound/oak/v4/physics" ) // And chains together particle options into a single option diff --git a/render/particle/particle.go b/render/particle/particle.go index 91f6c571..a089026c 100644 --- a/render/particle/particle.go +++ b/render/particle/particle.go @@ -5,8 +5,8 @@ package particle import ( "image/draw" - "github.com/oakmound/oak/v3/physics" - "github.com/oakmound/oak/v3/render" + "github.com/oakmound/oak/v4/physics" + "github.com/oakmound/oak/v4/render" ) // A Particle is a renderable that is spawned by a generator, usually very fast, diff --git a/render/particle/particle_test.go b/render/particle/particle_test.go index 748f9fbc..578b2033 100644 --- a/render/particle/particle_test.go +++ b/render/particle/particle_test.go @@ -3,7 +3,7 @@ package particle import ( "testing" - "github.com/oakmound/oak/v3/render" + "github.com/oakmound/oak/v4/render" ) func TestParticle(t *testing.T) { diff --git a/render/particle/shape.go b/render/particle/shape.go index 3121d705..e1317275 100644 --- a/render/particle/shape.go +++ b/render/particle/shape.go @@ -1,6 +1,6 @@ package particle -import "github.com/oakmound/oak/v3/shape" +import "github.com/oakmound/oak/v4/shape" // Shapeable generators can have the Shape option called on them type Shapeable interface { diff --git a/render/particle/source.go b/render/particle/source.go index 9a3c089e..601e6cd7 100644 --- a/render/particle/source.go +++ b/render/particle/source.go @@ -4,9 +4,9 @@ import ( "math" "time" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/physics" - "github.com/oakmound/oak/v3/render" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/physics" + "github.com/oakmound/oak/v4/render" ) const ( diff --git a/render/particle/source_test.go b/render/particle/source_test.go index 70dd4970..01f1fc13 100644 --- a/render/particle/source_test.go +++ b/render/particle/source_test.go @@ -4,11 +4,11 @@ import ( "image/color" "testing" - "github.com/oakmound/oak/v3/alg/span" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/physics" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/shape" + "github.com/oakmound/oak/v4/alg/span" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/physics" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/shape" ) func TestSource(t *testing.T) { diff --git a/render/particle/spriteGenerator.go b/render/particle/spriteGenerator.go index 9c5a5cd4..b91856b9 100644 --- a/render/particle/spriteGenerator.go +++ b/render/particle/spriteGenerator.go @@ -1,10 +1,10 @@ package particle import ( - "github.com/oakmound/oak/v3/alg/span" + "github.com/oakmound/oak/v4/alg/span" - "github.com/oakmound/oak/v3/alg" - "github.com/oakmound/oak/v3/render" + "github.com/oakmound/oak/v4/alg" + "github.com/oakmound/oak/v4/render" ) // A SpriteGenerator generate SpriteParticles diff --git a/render/particle/spriteParticle.go b/render/particle/spriteParticle.go index 317ba791..84682f53 100644 --- a/render/particle/spriteParticle.go +++ b/render/particle/spriteParticle.go @@ -3,8 +3,8 @@ package particle import ( "image/draw" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/render/mod" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/render/mod" ) // A SpriteParticle is a particle that has an amount of sprite rotation diff --git a/render/particle/sprite_test.go b/render/particle/sprite_test.go index ad878f9a..bf6e67ed 100644 --- a/render/particle/sprite_test.go +++ b/render/particle/sprite_test.go @@ -5,8 +5,8 @@ import ( "image/color" "testing" - "github.com/oakmound/oak/v3/alg/span" - "github.com/oakmound/oak/v3/render" + "github.com/oakmound/oak/v4/alg/span" + "github.com/oakmound/oak/v4/render" ) func TestSpriteParticle(t *testing.T) { diff --git a/render/polygon.go b/render/polygon.go index 9418c44c..e1908da4 100644 --- a/render/polygon.go +++ b/render/polygon.go @@ -5,8 +5,8 @@ import ( "image/color" "math" - "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/alg/span" + "github.com/oakmound/oak/v4/alg/floatgeom" + "github.com/oakmound/oak/v4/alg/span" ) // A Polygon is a renderable that is represented by a set of in order points diff --git a/render/polygon_test.go b/render/polygon_test.go index 9a705abc..7ae4709f 100644 --- a/render/polygon_test.go +++ b/render/polygon_test.go @@ -4,7 +4,7 @@ import ( "image/color" "testing" - "github.com/oakmound/oak/v3/alg/floatgeom" + "github.com/oakmound/oak/v4/alg/floatgeom" ) func TestContains(t *testing.T) { diff --git a/render/renderable.go b/render/renderable.go index 5a56e19f..ce2c3fee 100644 --- a/render/renderable.go +++ b/render/renderable.go @@ -3,7 +3,7 @@ package render import ( "image/draw" - "github.com/oakmound/oak/v3/physics" + "github.com/oakmound/oak/v4/physics" ) // A Renderable is anything which can diff --git a/render/reverting.go b/render/reverting.go index bafa6d68..3b38162d 100644 --- a/render/reverting.go +++ b/render/reverting.go @@ -1,8 +1,8 @@ package render import ( - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/render/mod" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/render/mod" ) // The Reverting structure lets modifications be made to a Modifiable and then diff --git a/render/reverting_test.go b/render/reverting_test.go index 49cae688..e8a64497 100644 --- a/render/reverting_test.go +++ b/render/reverting_test.go @@ -6,7 +6,7 @@ import ( "reflect" "testing" - "github.com/oakmound/oak/v3/render/mod" + "github.com/oakmound/oak/v4/render/mod" ) var ( diff --git a/render/sequence.go b/render/sequence.go index 0ce1afad..9fd3c5c5 100644 --- a/render/sequence.go +++ b/render/sequence.go @@ -5,9 +5,9 @@ import ( "image/draw" "time" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/render/mod" - "github.com/oakmound/oak/v3/timing" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/render/mod" + "github.com/oakmound/oak/v4/timing" ) // A Sequence is a series of modifiables drawn as an animation. It is more diff --git a/render/sequence_test.go b/render/sequence_test.go index 45b56f29..5fe92ebf 100644 --- a/render/sequence_test.go +++ b/render/sequence_test.go @@ -8,8 +8,8 @@ import ( "testing" "time" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/render/mod" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/render/mod" ) type Dummy struct { diff --git a/render/sheet.go b/render/sheet.go index 7818c075..c537eaad 100644 --- a/render/sheet.go +++ b/render/sheet.go @@ -3,7 +3,7 @@ package render import ( "image" - "github.com/oakmound/oak/v3/oakerr" + "github.com/oakmound/oak/v4/oakerr" ) // Sheet is a 2D array of image rgbas diff --git a/render/sheet_test.go b/render/sheet_test.go index 5b279b21..8f9f8dcf 100644 --- a/render/sheet_test.go +++ b/render/sheet_test.go @@ -5,8 +5,8 @@ import ( "os" "testing" - "github.com/oakmound/oak/v3/alg/intgeom" - "github.com/oakmound/oak/v3/fileutil" + "github.com/oakmound/oak/v4/alg/intgeom" + "github.com/oakmound/oak/v4/fileutil" ) //go:embed testdata/assets/* diff --git a/render/sprite.go b/render/sprite.go index 91409abf..df041be7 100644 --- a/render/sprite.go +++ b/render/sprite.go @@ -5,7 +5,7 @@ import ( "image/color" "image/draw" - "github.com/oakmound/oak/v3/render/mod" + "github.com/oakmound/oak/v4/render/mod" ) // A Sprite is a basic wrapper around image data and a point. The most basic Renderable. diff --git a/render/sprite_test.go b/render/sprite_test.go index b56f9245..2bb1dbfe 100644 --- a/render/sprite_test.go +++ b/render/sprite_test.go @@ -6,8 +6,8 @@ import ( "reflect" "testing" - "github.com/oakmound/oak/v3/alg/span" - "github.com/oakmound/oak/v3/render/mod" + "github.com/oakmound/oak/v4/alg/span" + "github.com/oakmound/oak/v4/render/mod" ) var ( diff --git a/render/switch.go b/render/switch.go index e493bc8a..6a38aa53 100644 --- a/render/switch.go +++ b/render/switch.go @@ -5,10 +5,10 @@ import ( "image/draw" "sync" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/oakerr" - "github.com/oakmound/oak/v3/physics" - "github.com/oakmound/oak/v3/render/mod" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/oakerr" + "github.com/oakmound/oak/v4/physics" + "github.com/oakmound/oak/v4/render/mod" ) // The Switch type is intended for use to easily swap between multiple diff --git a/render/switch_test.go b/render/switch_test.go index e9ff6585..ca286ab8 100644 --- a/render/switch_test.go +++ b/render/switch_test.go @@ -6,8 +6,8 @@ import ( "reflect" "testing" - "github.com/oakmound/oak/v3/physics" - "github.com/oakmound/oak/v3/render/mod" + "github.com/oakmound/oak/v4/physics" + "github.com/oakmound/oak/v4/render/mod" ) func TestCompoundFuncs(t *testing.T) { diff --git a/render/text.go b/render/text.go index 9b3a00d8..88131260 100644 --- a/render/text.go +++ b/render/text.go @@ -5,7 +5,7 @@ import ( "image/draw" "strconv" - "github.com/oakmound/oak/v3/alg" + "github.com/oakmound/oak/v4/alg" "golang.org/x/image/math/fixed" ) diff --git a/scene.go b/scene.go index e11bb276..a6ce44e8 100644 --- a/scene.go +++ b/scene.go @@ -3,8 +3,8 @@ package oak import ( "time" - "github.com/oakmound/oak/v3/scene" - "github.com/oakmound/oak/v3/timing" + "github.com/oakmound/oak/v4/scene" + "github.com/oakmound/oak/v4/timing" ) // AddScene is shorthand for w.SceneMap.AddScene diff --git a/scene/context.go b/scene/context.go index 5932017e..ef337127 100644 --- a/scene/context.go +++ b/scene/context.go @@ -3,10 +3,10 @@ package scene import ( "context" - "github.com/oakmound/oak/v3/collision" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/key" - "github.com/oakmound/oak/v3/render" + "github.com/oakmound/oak/v4/collision" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/key" + "github.com/oakmound/oak/v4/render" ) // A Context contains all transient engine components used in a scene, including diff --git a/scene/context_desktop.go b/scene/context_desktop.go index 6f624c35..7777bdb6 100644 --- a/scene/context_desktop.go +++ b/scene/context_desktop.go @@ -3,6 +3,6 @@ package scene -import "github.com/oakmound/oak/v3/window" +import "github.com/oakmound/oak/v4/window" type Window = window.Window diff --git a/scene/context_other.go b/scene/context_other.go index 2572c27a..153661f3 100644 --- a/scene/context_other.go +++ b/scene/context_other.go @@ -3,6 +3,6 @@ package scene -import "github.com/oakmound/oak/v3/window" +import "github.com/oakmound/oak/v4/window" type Window = window.App diff --git a/scene/delay.go b/scene/delay.go index 524418c8..fd6682ea 100644 --- a/scene/delay.go +++ b/scene/delay.go @@ -4,7 +4,7 @@ import ( "context" "time" - "github.com/oakmound/oak/v3/render" + "github.com/oakmound/oak/v4/render" ) // DoAfter will execute the given function after some duration. When the scene diff --git a/scene/delay_test.go b/scene/delay_test.go index 96b48aed..518e9326 100644 --- a/scene/delay_test.go +++ b/scene/delay_test.go @@ -6,7 +6,7 @@ import ( "testing" "time" - "github.com/oakmound/oak/v3/render" + "github.com/oakmound/oak/v4/render" ) func TestDoAfterCancels(t *testing.T) { diff --git a/scene/example_test.go b/scene/example_test.go index a75894fc..dbeeb830 100644 --- a/scene/example_test.go +++ b/scene/example_test.go @@ -3,7 +3,7 @@ package scene_test import ( "fmt" - "github.com/oakmound/oak/v3/scene" + "github.com/oakmound/oak/v4/scene" ) func ExampleMap_GetCurrent() { diff --git a/scene/map.go b/scene/map.go index 35dc7b88..346f6463 100644 --- a/scene/map.go +++ b/scene/map.go @@ -3,7 +3,7 @@ package scene import ( "sync" - "github.com/oakmound/oak/v3/oakerr" + "github.com/oakmound/oak/v4/oakerr" ) // A Map lets scenes be accessed via associated names. diff --git a/scene/map_test.go b/scene/map_test.go index 3678c1b0..bf029400 100644 --- a/scene/map_test.go +++ b/scene/map_test.go @@ -5,7 +5,7 @@ import ( "image" "testing" - "github.com/oakmound/oak/v3/oakerr" + "github.com/oakmound/oak/v4/oakerr" ) func TestMap(t *testing.T) { diff --git a/scene/scene.go b/scene/scene.go index d73a8693..93554e3f 100644 --- a/scene/scene.go +++ b/scene/scene.go @@ -1,8 +1,8 @@ package scene import ( - "github.com/oakmound/oak/v3/dlog" - "github.com/oakmound/oak/v3/oakerr" + "github.com/oakmound/oak/v4/dlog" + "github.com/oakmound/oak/v4/oakerr" ) // A Scene is a set of functions defining what needs to happen when a scene diff --git a/scene/transition.go b/scene/transition.go index 4e251023..03bf73a3 100644 --- a/scene/transition.go +++ b/scene/transition.go @@ -4,7 +4,7 @@ import ( "image" "image/draw" - "github.com/oakmound/oak/v3/render/mod" + "github.com/oakmound/oak/v4/render/mod" ) // Transition functions can be set to occur at the end of a scene. diff --git a/scene/transition_gift.go b/scene/transition_gift.go index e8aee858..3c58631d 100644 --- a/scene/transition_gift.go +++ b/scene/transition_gift.go @@ -6,7 +6,7 @@ package scene import ( "image" - "github.com/oakmound/oak/v3/render/mod" + "github.com/oakmound/oak/v4/render/mod" ) // Fade is a scene transition that fades to black at a given rate for diff --git a/sceneLoop.go b/sceneLoop.go index 9a41eeaa..3fc9fc74 100644 --- a/sceneLoop.go +++ b/sceneLoop.go @@ -3,12 +3,12 @@ package oak import ( "context" - "github.com/oakmound/oak/v3/alg/intgeom" - "github.com/oakmound/oak/v3/dlog" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/oakerr" - "github.com/oakmound/oak/v3/scene" - "github.com/oakmound/oak/v3/timing" + "github.com/oakmound/oak/v4/alg/intgeom" + "github.com/oakmound/oak/v4/dlog" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/oakerr" + "github.com/oakmound/oak/v4/scene" + "github.com/oakmound/oak/v4/timing" ) // the oak loading scene is a reserved scene diff --git a/sceneLoop_test.go b/sceneLoop_test.go index fb48c25b..89d6e8b0 100644 --- a/sceneLoop_test.go +++ b/sceneLoop_test.go @@ -4,7 +4,7 @@ import ( "testing" "time" - "github.com/oakmound/oak/v3/scene" + "github.com/oakmound/oak/v4/scene" ) func TestSceneLoopUnknownScene(t *testing.T) { diff --git a/scene_test.go b/scene_test.go index 7937ed32..5b6f205d 100644 --- a/scene_test.go +++ b/scene_test.go @@ -5,8 +5,8 @@ import ( "errors" "testing" - "github.com/oakmound/oak/v3/oakerr" - "github.com/oakmound/oak/v3/scene" + "github.com/oakmound/oak/v4/oakerr" + "github.com/oakmound/oak/v4/scene" ) func TestSceneTransition(t *testing.T) { diff --git a/screenFilter.go b/screenFilter.go index a86d9449..b9789432 100644 --- a/screenFilter.go +++ b/screenFilter.go @@ -4,7 +4,7 @@ import ( "image" "image/color" - "github.com/oakmound/oak/v3/render/mod" + "github.com/oakmound/oak/v4/render/mod" ) // SetPalette tells oak to conform the screen to the input color palette before drawing. diff --git a/screenshot_test.go b/screenshot_test.go index 7c38ae9d..412c6b08 100644 --- a/screenshot_test.go +++ b/screenshot_test.go @@ -7,7 +7,7 @@ import ( "testing" "time" - "github.com/oakmound/oak/v3/scene" + "github.com/oakmound/oak/v4/scene" ) func blankScene(t *testing.T) *Window { diff --git a/shake/shake.go b/shake/shake.go index 85461755..b03b89e0 100644 --- a/shake/shake.go +++ b/shake/shake.go @@ -6,10 +6,10 @@ import ( "math/rand" "time" - "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/alg/intgeom" - "github.com/oakmound/oak/v3/scene" - "github.com/oakmound/oak/v3/window" + "github.com/oakmound/oak/v4/alg/floatgeom" + "github.com/oakmound/oak/v4/alg/intgeom" + "github.com/oakmound/oak/v4/scene" + "github.com/oakmound/oak/v4/window" ) // A Shaker knows how to shake something by a (or up to a) given magnitude. diff --git a/shape/bezier.go b/shape/bezier.go index b8fb18e3..30b44c8a 100644 --- a/shape/bezier.go +++ b/shape/bezier.go @@ -1,8 +1,8 @@ package shape import ( - "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/oakerr" + "github.com/oakmound/oak/v4/alg/floatgeom" + "github.com/oakmound/oak/v4/oakerr" ) // BezierCurve will form a Bezier on the given coordinates, expected in (x,y) diff --git a/shape/bezier_test.go b/shape/bezier_test.go index 6fb9cec3..d5b16a73 100644 --- a/shape/bezier_test.go +++ b/shape/bezier_test.go @@ -6,7 +6,7 @@ import ( "testing" "time" - "github.com/oakmound/oak/v3/oakerr" + "github.com/oakmound/oak/v4/oakerr" ) const randTestCt = 100 diff --git a/shape/condense.go b/shape/condense.go index 1d55a782..f9fd8aaf 100644 --- a/shape/condense.go +++ b/shape/condense.go @@ -1,6 +1,6 @@ package shape -import "github.com/oakmound/oak/v3/alg/intgeom" +import "github.com/oakmound/oak/v4/alg/intgeom" // Condense finds a set of rectangles that covers the shape. // Used to return a minimal set of rectangles in an appropriate time. diff --git a/shape/condense_test.go b/shape/condense_test.go index 0564b2f3..25bf2101 100644 --- a/shape/condense_test.go +++ b/shape/condense_test.go @@ -5,7 +5,7 @@ import ( "sort" "testing" - "github.com/oakmound/oak/v3/alg/intgeom" + "github.com/oakmound/oak/v4/alg/intgeom" ) func TestCondense(t *testing.T) { diff --git a/shape/holes.go b/shape/holes.go index 33629a28..805b5741 100644 --- a/shape/holes.go +++ b/shape/holes.go @@ -1,7 +1,7 @@ package shape import ( - "github.com/oakmound/oak/v3/alg/intgeom" + "github.com/oakmound/oak/v4/alg/intgeom" ) // GetHoles finds sets of points which are not In this shape that diff --git a/shape/holes_test.go b/shape/holes_test.go index 8d36c804..9c6d6cb5 100644 --- a/shape/holes_test.go +++ b/shape/holes_test.go @@ -3,7 +3,7 @@ package shape import ( "testing" - "github.com/oakmound/oak/v3/alg/intgeom" + "github.com/oakmound/oak/v4/alg/intgeom" ) func TestHoles(t *testing.T) { diff --git a/shape/in.go b/shape/in.go index caee4df8..f5658f53 100644 --- a/shape/in.go +++ b/shape/in.go @@ -3,7 +3,7 @@ package shape import ( "math" - "github.com/oakmound/oak/v3/alg/intgeom" + "github.com/oakmound/oak/v4/alg/intgeom" ) // In functions return whether the given coordinate lies diff --git a/shape/outline.go b/shape/outline.go index 4bbde964..c884b6f0 100644 --- a/shape/outline.go +++ b/shape/outline.go @@ -4,7 +4,7 @@ import ( "errors" "math" - "github.com/oakmound/oak/v3/alg/intgeom" + "github.com/oakmound/oak/v4/alg/intgeom" ) const ( diff --git a/shape/points.go b/shape/points.go index bccea8e8..1e31a377 100644 --- a/shape/points.go +++ b/shape/points.go @@ -1,7 +1,7 @@ package shape import ( - "github.com/oakmound/oak/v3/alg/intgeom" + "github.com/oakmound/oak/v4/alg/intgeom" ) // Points is a shape defined by a set of points. diff --git a/shape/points_test.go b/shape/points_test.go index c9afc875..b72e50d2 100644 --- a/shape/points_test.go +++ b/shape/points_test.go @@ -3,7 +3,7 @@ package shape import ( "testing" - "github.com/oakmound/oak/v3/alg/intgeom" + "github.com/oakmound/oak/v4/alg/intgeom" ) var ( diff --git a/shape/rect.go b/shape/rect.go index f2110fa7..17b56e40 100644 --- a/shape/rect.go +++ b/shape/rect.go @@ -1,7 +1,7 @@ package shape import ( - "github.com/oakmound/oak/v3/alg/intgeom" + "github.com/oakmound/oak/v4/alg/intgeom" ) // A Rect is a function that returns a 2d boolean array diff --git a/shape/shape.go b/shape/shape.go index 706d5403..4c9de64b 100644 --- a/shape/shape.go +++ b/shape/shape.go @@ -1,6 +1,6 @@ package shape -import "github.com/oakmound/oak/v3/alg/intgeom" +import "github.com/oakmound/oak/v4/alg/intgeom" // A Shape represents a rectangle of width/height size // where for each x,y coordinate, either that value lies diff --git a/shiny/driver/androiddriver/main.go b/shiny/driver/androiddriver/main.go index 20b9a5d9..597ffa93 100644 --- a/shiny/driver/androiddriver/main.go +++ b/shiny/driver/androiddriver/main.go @@ -6,7 +6,7 @@ package androiddriver import ( "sync" - "github.com/oakmound/oak/v3/shiny/screen" + "github.com/oakmound/oak/v4/shiny/screen" "golang.org/x/mobile/app" "golang.org/x/mobile/event/lifecycle" diff --git a/shiny/driver/androiddriver/screen.go b/shiny/driver/androiddriver/screen.go index c14175a0..fe1bfb56 100644 --- a/shiny/driver/androiddriver/screen.go +++ b/shiny/driver/androiddriver/screen.go @@ -7,8 +7,8 @@ package androiddriver import ( "image" - "github.com/oakmound/oak/v3/shiny/driver/internal/event" - "github.com/oakmound/oak/v3/shiny/screen" + "github.com/oakmound/oak/v4/shiny/driver/internal/event" + "github.com/oakmound/oak/v4/shiny/screen" "golang.org/x/image/draw" "golang.org/x/mobile/app" "golang.org/x/mobile/event/size" diff --git a/shiny/driver/androiddriver/texture.go b/shiny/driver/androiddriver/texture.go index 10ecc4d9..6056eae0 100644 --- a/shiny/driver/androiddriver/texture.go +++ b/shiny/driver/androiddriver/texture.go @@ -8,7 +8,7 @@ import ( "image/color" "image/draw" - "github.com/oakmound/oak/v3/shiny/screen" + "github.com/oakmound/oak/v4/shiny/screen" ) type textureImpl struct { diff --git a/shiny/driver/driver.go b/shiny/driver/driver.go index bf00ed1b..7b74b4a7 100644 --- a/shiny/driver/driver.go +++ b/shiny/driver/driver.go @@ -11,7 +11,7 @@ package driver // or OpenGL library. import ( - "github.com/oakmound/oak/v3/shiny/screen" + "github.com/oakmound/oak/v4/shiny/screen" ) // Main is called by the program's main function to run the graphical diff --git a/shiny/driver/driver_android.go b/shiny/driver/driver_android.go index 87e049b0..2431fe9d 100644 --- a/shiny/driver/driver_android.go +++ b/shiny/driver/driver_android.go @@ -10,8 +10,8 @@ package driver import ( - "github.com/oakmound/oak/v3/shiny/driver/androiddriver" - "github.com/oakmound/oak/v3/shiny/screen" + "github.com/oakmound/oak/v4/shiny/driver/androiddriver" + "github.com/oakmound/oak/v4/shiny/screen" ) func main(f func(screen.Screen)) { diff --git a/shiny/driver/driver_fallback.go b/shiny/driver/driver_fallback.go index 9150c08f..c9462f59 100644 --- a/shiny/driver/driver_fallback.go +++ b/shiny/driver/driver_fallback.go @@ -10,12 +10,12 @@ package driver import ( "errors" - "github.com/oakmound/oak/v3/shiny/driver/internal/errscreen" - "github.com/oakmound/oak/v3/shiny/screen" + "github.com/oakmound/oak/v4/shiny/driver/internal/errscreen" + "github.com/oakmound/oak/v4/shiny/screen" ) func main(f func(screen.Screen)) { f(errscreen.Stub(errors.New("no driver for accessing a screen"))) } -type Window = struct{} \ No newline at end of file +type Window = struct{} diff --git a/shiny/driver/driver_js.go b/shiny/driver/driver_js.go index 02240422..1f4808a4 100644 --- a/shiny/driver/driver_js.go +++ b/shiny/driver/driver_js.go @@ -4,8 +4,8 @@ package driver import ( - "github.com/oakmound/oak/v3/shiny/driver/jsdriver" - "github.com/oakmound/oak/v3/shiny/screen" + "github.com/oakmound/oak/v4/shiny/driver/jsdriver" + "github.com/oakmound/oak/v4/shiny/screen" ) func main(f func(screen.Screen)) { diff --git a/shiny/driver/driver_noop.go b/shiny/driver/driver_noop.go index db3a2a94..1a5cf8c1 100644 --- a/shiny/driver/driver_noop.go +++ b/shiny/driver/driver_noop.go @@ -4,8 +4,8 @@ package driver import ( - "github.com/oakmound/oak/v3/shiny/driver/noop" - "github.com/oakmound/oak/v3/shiny/screen" + "github.com/oakmound/oak/v4/shiny/driver/noop" + "github.com/oakmound/oak/v4/shiny/screen" ) func main(f func(screen.Screen)) { diff --git a/shiny/driver/driver_windows.go b/shiny/driver/driver_windows.go index 128a37a5..6c855053 100644 --- a/shiny/driver/driver_windows.go +++ b/shiny/driver/driver_windows.go @@ -8,8 +8,8 @@ package driver import ( - "github.com/oakmound/oak/v3/shiny/driver/windriver" - "github.com/oakmound/oak/v3/shiny/screen" + "github.com/oakmound/oak/v4/shiny/driver/windriver" + "github.com/oakmound/oak/v4/shiny/screen" ) func main(f func(screen.Screen)) { diff --git a/shiny/driver/driver_x11.go b/shiny/driver/driver_x11.go index 693bdaee..cfdad0b2 100644 --- a/shiny/driver/driver_x11.go +++ b/shiny/driver/driver_x11.go @@ -2,14 +2,15 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +//go:build ((linux && !android) || dragonfly || openbsd) && !nooswindow // +build linux,!android dragonfly openbsd // +build !nooswindow package driver import ( - "github.com/oakmound/oak/v3/shiny/driver/x11driver" - "github.com/oakmound/oak/v3/shiny/screen" + "github.com/oakmound/oak/v4/shiny/driver/x11driver" + "github.com/oakmound/oak/v4/shiny/screen" ) func main(f func(screen.Screen)) { diff --git a/shiny/driver/internal/drawer/drawer.go b/shiny/driver/internal/drawer/drawer.go index c9bd4d21..75094b5d 100644 --- a/shiny/driver/internal/drawer/drawer.go +++ b/shiny/driver/internal/drawer/drawer.go @@ -9,7 +9,7 @@ import ( "image" "image/draw" - "github.com/oakmound/oak/v3/shiny/screen" + "github.com/oakmound/oak/v4/shiny/screen" "golang.org/x/image/math/f64" ) diff --git a/shiny/driver/internal/errscreen/errscreen.go b/shiny/driver/internal/errscreen/errscreen.go index 333a4835..612de6ea 100644 --- a/shiny/driver/internal/errscreen/errscreen.go +++ b/shiny/driver/internal/errscreen/errscreen.go @@ -8,7 +8,7 @@ package errscreen import ( "image" - "github.com/oakmound/oak/v3/shiny/screen" + "github.com/oakmound/oak/v4/shiny/screen" ) // Stub returns a Screen whose methods all return the given error. diff --git a/shiny/driver/internal/win32/win32.go b/shiny/driver/internal/win32/win32.go index 8cd3dc7a..ebf1ffb3 100644 --- a/shiny/driver/internal/win32/win32.go +++ b/shiny/driver/internal/win32/win32.go @@ -20,7 +20,7 @@ import ( "syscall" "unsafe" - "github.com/oakmound/oak/v3/shiny/screen" + "github.com/oakmound/oak/v4/shiny/screen" "golang.org/x/mobile/event/key" "golang.org/x/mobile/event/lifecycle" "golang.org/x/mobile/event/mouse" diff --git a/shiny/driver/jsdriver/screen.go b/shiny/driver/jsdriver/screen.go index ba082f56..70472f30 100644 --- a/shiny/driver/jsdriver/screen.go +++ b/shiny/driver/jsdriver/screen.go @@ -9,7 +9,7 @@ import ( "image" "syscall/js" - "github.com/oakmound/oak/v3/shiny/screen" + "github.com/oakmound/oak/v4/shiny/screen" "golang.org/x/mobile/event/key" "golang.org/x/mobile/event/mouse" ) diff --git a/shiny/driver/jsdriver/texture.go b/shiny/driver/jsdriver/texture.go index 2dc94061..c9e8f801 100644 --- a/shiny/driver/jsdriver/texture.go +++ b/shiny/driver/jsdriver/texture.go @@ -8,7 +8,7 @@ import ( "image/color" "image/draw" - "github.com/oakmound/oak/v3/shiny/screen" + "github.com/oakmound/oak/v4/shiny/screen" ) type textureImpl struct { diff --git a/shiny/driver/jsdriver/window.go b/shiny/driver/jsdriver/window.go index 78389d8a..c6af3cd0 100644 --- a/shiny/driver/jsdriver/window.go +++ b/shiny/driver/jsdriver/window.go @@ -8,8 +8,8 @@ import ( "image/draw" "syscall/js" - "github.com/oakmound/oak/v3/shiny/driver/internal/event" - "github.com/oakmound/oak/v3/shiny/screen" + "github.com/oakmound/oak/v4/shiny/driver/internal/event" + "github.com/oakmound/oak/v4/shiny/screen" "golang.org/x/mobile/event/key" "golang.org/x/mobile/event/mouse" ) diff --git a/shiny/driver/mtldriver/internal/appkit/appkit.go b/shiny/driver/mtldriver/internal/appkit/appkit.go index 4a408bab..93515791 100644 --- a/shiny/driver/mtldriver/internal/appkit/appkit.go +++ b/shiny/driver/mtldriver/internal/appkit/appkit.go @@ -18,7 +18,7 @@ package appkit import ( "unsafe" - "github.com/oakmound/oak/v3/shiny/driver/mtldriver/internal/coreanim" + "github.com/oakmound/oak/v4/shiny/driver/mtldriver/internal/coreanim" ) /* diff --git a/shiny/driver/mtldriver/mtldriver.go b/shiny/driver/mtldriver/mtldriver.go index 93cd724e..b866eb2a 100644 --- a/shiny/driver/mtldriver/mtldriver.go +++ b/shiny/driver/mtldriver/mtldriver.go @@ -21,10 +21,10 @@ import ( "dmitri.shuralyov.com/gpu/mtl" "github.com/go-gl/glfw/v3.3/glfw" - "github.com/oakmound/oak/v3/shiny/driver/internal/errscreen" - "github.com/oakmound/oak/v3/shiny/driver/mtldriver/internal/appkit" - "github.com/oakmound/oak/v3/shiny/driver/mtldriver/internal/coreanim" - "github.com/oakmound/oak/v3/shiny/screen" + "github.com/oakmound/oak/v4/shiny/driver/internal/errscreen" + "github.com/oakmound/oak/v4/shiny/driver/mtldriver/internal/appkit" + "github.com/oakmound/oak/v4/shiny/driver/mtldriver/internal/coreanim" + "github.com/oakmound/oak/v4/shiny/screen" "golang.org/x/mobile/event/key" "golang.org/x/mobile/event/mouse" "golang.org/x/mobile/event/paint" diff --git a/shiny/driver/mtldriver/screen.go b/shiny/driver/mtldriver/screen.go index f269f3a3..86b6101b 100644 --- a/shiny/driver/mtldriver/screen.go +++ b/shiny/driver/mtldriver/screen.go @@ -11,7 +11,7 @@ import ( "image" "github.com/go-gl/glfw/v3.3/glfw" - "github.com/oakmound/oak/v3/shiny/screen" + "github.com/oakmound/oak/v4/shiny/screen" ) // screenImpl implements screen.Screen. diff --git a/shiny/driver/mtldriver/texture.go b/shiny/driver/mtldriver/texture.go index 7f6179ce..32f94225 100644 --- a/shiny/driver/mtldriver/texture.go +++ b/shiny/driver/mtldriver/texture.go @@ -11,7 +11,7 @@ import ( "image" "image/color" - "github.com/oakmound/oak/v3/shiny/screen" + "github.com/oakmound/oak/v4/shiny/screen" "golang.org/x/image/draw" ) diff --git a/shiny/driver/mtldriver/window.go b/shiny/driver/mtldriver/window.go index 11ecfc39..2f26dde5 100644 --- a/shiny/driver/mtldriver/window.go +++ b/shiny/driver/mtldriver/window.go @@ -13,9 +13,9 @@ import ( "dmitri.shuralyov.com/gpu/mtl" "github.com/go-gl/glfw/v3.3/glfw" - "github.com/oakmound/oak/v3/shiny/driver/internal/event" - "github.com/oakmound/oak/v3/shiny/driver/internal/lifecycler" - "github.com/oakmound/oak/v3/shiny/driver/mtldriver/internal/coreanim" + "github.com/oakmound/oak/v4/shiny/driver/internal/event" + "github.com/oakmound/oak/v4/shiny/driver/internal/lifecycler" + "github.com/oakmound/oak/v4/shiny/driver/mtldriver/internal/coreanim" "golang.org/x/mobile/event/size" ) diff --git a/shiny/driver/mtldriver/window_amd64.go b/shiny/driver/mtldriver/window_amd64.go index ba06d764..9e6e0f9d 100644 --- a/shiny/driver/mtldriver/window_amd64.go +++ b/shiny/driver/mtldriver/window_amd64.go @@ -6,8 +6,8 @@ package mtldriver import ( "image" - "github.com/oakmound/oak/v3/shiny/driver/internal/drawer" - "github.com/oakmound/oak/v3/shiny/screen" + "github.com/oakmound/oak/v4/shiny/driver/internal/drawer" + "github.com/oakmound/oak/v4/shiny/screen" "golang.org/x/image/draw" "golang.org/x/image/math/f64" ) diff --git a/shiny/driver/mtldriver/window_arm64.go b/shiny/driver/mtldriver/window_arm64.go index cf64640f..56c242c3 100644 --- a/shiny/driver/mtldriver/window_arm64.go +++ b/shiny/driver/mtldriver/window_arm64.go @@ -6,8 +6,8 @@ package mtldriver import ( "image" - "github.com/oakmound/oak/v3/shiny/driver/internal/drawer" - "github.com/oakmound/oak/v3/shiny/screen" + "github.com/oakmound/oak/v4/shiny/driver/internal/drawer" + "github.com/oakmound/oak/v4/shiny/screen" "golang.org/x/image/draw" "golang.org/x/image/math/f64" ) diff --git a/shiny/driver/mtldriver_darwin.go b/shiny/driver/mtldriver_darwin.go index 9d933d67..46a12f20 100644 --- a/shiny/driver/mtldriver_darwin.go +++ b/shiny/driver/mtldriver_darwin.go @@ -14,8 +14,8 @@ import ( "regexp" "strconv" - "github.com/oakmound/oak/v3/shiny/driver/mtldriver" - "github.com/oakmound/oak/v3/shiny/screen" + "github.com/oakmound/oak/v4/shiny/driver/mtldriver" + "github.com/oakmound/oak/v4/shiny/screen" ) func main(f func(screen.Screen)) { diff --git a/shiny/driver/noop/noop.go b/shiny/driver/noop/noop.go index 9f0f127a..521de1b3 100644 --- a/shiny/driver/noop/noop.go +++ b/shiny/driver/noop/noop.go @@ -6,8 +6,8 @@ import ( "image/color" "image/draw" - "github.com/oakmound/oak/v3/shiny/driver/internal/event" - "github.com/oakmound/oak/v3/shiny/screen" + "github.com/oakmound/oak/v4/shiny/driver/internal/event" + "github.com/oakmound/oak/v4/shiny/screen" ) func Main(f func(screen.Screen)) { diff --git a/shiny/driver/windriver/buffer.go b/shiny/driver/windriver/buffer.go index a5cea54e..4fc6aa23 100644 --- a/shiny/driver/windriver/buffer.go +++ b/shiny/driver/windriver/buffer.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +//go:build windows // +build windows package windriver @@ -12,8 +13,8 @@ import ( "sync" "syscall" - "github.com/oakmound/oak/v3/shiny/driver/internal/swizzle" - "github.com/oakmound/oak/v3/shiny/driver/internal/win32" + "github.com/oakmound/oak/v4/shiny/driver/internal/swizzle" + "github.com/oakmound/oak/v4/shiny/driver/internal/win32" ) type bufferImpl struct { diff --git a/shiny/driver/windriver/other.go b/shiny/driver/windriver/other.go index 72e8c2e2..2197033d 100644 --- a/shiny/driver/windriver/other.go +++ b/shiny/driver/windriver/other.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +//go:build !windows // +build !windows package windriver @@ -10,8 +11,8 @@ import ( "fmt" "runtime" - "github.com/oakmound/oak/v3/shiny/driver/internal/errscreen" - "github.com/oakmound/oak/v3/shiny/screen" + "github.com/oakmound/oak/v4/shiny/driver/internal/errscreen" + "github.com/oakmound/oak/v4/shiny/screen" ) // Main is called by the program's main function to run the graphical diff --git a/shiny/driver/windriver/screen.go b/shiny/driver/windriver/screen.go index 4f9ca956..0e916055 100644 --- a/shiny/driver/windriver/screen.go +++ b/shiny/driver/windriver/screen.go @@ -12,8 +12,8 @@ import ( "image" "unsafe" - "github.com/oakmound/oak/v3/shiny/driver/internal/win32" - "github.com/oakmound/oak/v3/shiny/screen" + "github.com/oakmound/oak/v4/shiny/driver/internal/win32" + "github.com/oakmound/oak/v4/shiny/screen" ) type screenImpl struct { diff --git a/shiny/driver/windriver/texture.go b/shiny/driver/windriver/texture.go index 727e17d4..36edce5b 100644 --- a/shiny/driver/windriver/texture.go +++ b/shiny/driver/windriver/texture.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +//go:build windows // +build windows package windriver @@ -15,8 +16,8 @@ import ( "syscall" "unsafe" - "github.com/oakmound/oak/v3/shiny/driver/internal/win32" - "github.com/oakmound/oak/v3/shiny/screen" + "github.com/oakmound/oak/v4/shiny/driver/internal/win32" + "github.com/oakmound/oak/v4/shiny/screen" ) type textureImpl struct { diff --git a/shiny/driver/windriver/window.go b/shiny/driver/windriver/window.go index 8297d1fb..a864882f 100644 --- a/shiny/driver/windriver/window.go +++ b/shiny/driver/windriver/window.go @@ -24,10 +24,10 @@ import ( "syscall" "unsafe" - "github.com/oakmound/oak/v3/shiny/driver/internal/drawer" - "github.com/oakmound/oak/v3/shiny/driver/internal/event" - "github.com/oakmound/oak/v3/shiny/driver/internal/win32" - "github.com/oakmound/oak/v3/shiny/screen" + "github.com/oakmound/oak/v4/shiny/driver/internal/drawer" + "github.com/oakmound/oak/v4/shiny/driver/internal/event" + "github.com/oakmound/oak/v4/shiny/driver/internal/win32" + "github.com/oakmound/oak/v4/shiny/screen" "golang.org/x/image/math/f64" "golang.org/x/mobile/event/key" "golang.org/x/mobile/event/lifecycle" diff --git a/shiny/driver/windriver/windraw.go b/shiny/driver/windriver/windraw.go index a412bf7b..8d7f1ca2 100644 --- a/shiny/driver/windriver/windraw.go +++ b/shiny/driver/windriver/windraw.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +//go:build windows // +build windows package windriver @@ -14,7 +15,7 @@ import ( "syscall" "unsafe" - "github.com/oakmound/oak/v3/shiny/driver/internal/win32" + "github.com/oakmound/oak/v4/shiny/driver/internal/win32" ) func mkbitmap(size image.Point) (syscall.Handle, *byte, error) { diff --git a/shiny/driver/windriver/windriver.go b/shiny/driver/windriver/windriver.go index 5e29e862..cf339cd9 100644 --- a/shiny/driver/windriver/windriver.go +++ b/shiny/driver/windriver/windriver.go @@ -2,14 +2,15 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +//go:build windows // +build windows package windriver import ( - "github.com/oakmound/oak/v3/shiny/driver/internal/errscreen" - "github.com/oakmound/oak/v3/shiny/driver/internal/win32" - "github.com/oakmound/oak/v3/shiny/screen" + "github.com/oakmound/oak/v4/shiny/driver/internal/errscreen" + "github.com/oakmound/oak/v4/shiny/driver/internal/win32" + "github.com/oakmound/oak/v4/shiny/screen" ) // Main is called by the program's main function to run the graphical diff --git a/shiny/driver/x11driver/buffer.go b/shiny/driver/x11driver/buffer.go index 603d0003..4cb09e37 100644 --- a/shiny/driver/x11driver/buffer.go +++ b/shiny/driver/x11driver/buffer.go @@ -17,7 +17,7 @@ import ( "github.com/BurntSushi/xgb/shm" "github.com/BurntSushi/xgb/xproto" - "github.com/oakmound/oak/v3/shiny/driver/internal/swizzle" + "github.com/oakmound/oak/v4/shiny/driver/internal/swizzle" ) type bufferImpl struct { diff --git a/shiny/driver/x11driver/screen.go b/shiny/driver/x11driver/screen.go index ab55b5d6..56d5c448 100644 --- a/shiny/driver/x11driver/screen.go +++ b/shiny/driver/x11driver/screen.go @@ -21,8 +21,8 @@ import ( "github.com/BurntSushi/xgb/shm" "github.com/BurntSushi/xgb/xproto" - "github.com/oakmound/oak/v3/shiny/driver/internal/x11key" - "github.com/oakmound/oak/v3/shiny/screen" + "github.com/oakmound/oak/v4/shiny/driver/internal/x11key" + "github.com/oakmound/oak/v4/shiny/screen" "golang.org/x/image/math/f64" "golang.org/x/mobile/event/key" "golang.org/x/mobile/event/mouse" diff --git a/shiny/driver/x11driver/texture.go b/shiny/driver/x11driver/texture.go index 31d52391..5c753a6f 100644 --- a/shiny/driver/x11driver/texture.go +++ b/shiny/driver/x11driver/texture.go @@ -14,7 +14,7 @@ import ( "github.com/BurntSushi/xgb/render" "github.com/BurntSushi/xgb/xproto" - "github.com/oakmound/oak/v3/shiny/screen" + "github.com/oakmound/oak/v4/shiny/screen" "golang.org/x/image/math/f64" ) diff --git a/shiny/driver/x11driver/window.go b/shiny/driver/x11driver/window.go index cede7306..4756e917 100644 --- a/shiny/driver/x11driver/window.go +++ b/shiny/driver/x11driver/window.go @@ -16,12 +16,12 @@ import ( "github.com/BurntSushi/xgb/render" "github.com/BurntSushi/xgb/xproto" - "github.com/oakmound/oak/v3/shiny/driver/internal/drawer" - "github.com/oakmound/oak/v3/shiny/driver/internal/event" - "github.com/oakmound/oak/v3/shiny/driver/internal/lifecycler" - "github.com/oakmound/oak/v3/shiny/driver/internal/x11" - "github.com/oakmound/oak/v3/shiny/driver/internal/x11key" - "github.com/oakmound/oak/v3/shiny/screen" + "github.com/oakmound/oak/v4/shiny/driver/internal/drawer" + "github.com/oakmound/oak/v4/shiny/driver/internal/event" + "github.com/oakmound/oak/v4/shiny/driver/internal/lifecycler" + "github.com/oakmound/oak/v4/shiny/driver/internal/x11" + "github.com/oakmound/oak/v4/shiny/driver/internal/x11key" + "github.com/oakmound/oak/v4/shiny/screen" "golang.org/x/image/math/f64" "golang.org/x/mobile/event/key" "golang.org/x/mobile/event/mouse" diff --git a/shiny/driver/x11driver/x11driver.go b/shiny/driver/x11driver/x11driver.go index fa1f63db..ac7614f9 100644 --- a/shiny/driver/x11driver/x11driver.go +++ b/shiny/driver/x11driver/x11driver.go @@ -19,8 +19,8 @@ import ( "github.com/BurntSushi/xgbutil" "github.com/BurntSushi/xgbutil/xevent" - "github.com/oakmound/oak/v3/shiny/driver/internal/errscreen" - "github.com/oakmound/oak/v3/shiny/screen" + "github.com/oakmound/oak/v4/shiny/driver/internal/errscreen" + "github.com/oakmound/oak/v4/shiny/screen" ) // Main is called by the program's main function to run the graphical diff --git a/shiny/screen/screen.go b/shiny/screen/screen.go index af1eb646..417bfe47 100644 --- a/shiny/screen/screen.go +++ b/shiny/screen/screen.go @@ -15,8 +15,8 @@ // package main // // import ( -// "github.com/oakmound/oak/v3/shiny/driver" -// "github.com/oakmound/oak/v3/shiny/screen" +// "github.com/oakmound/oak/v4/shiny/driver" +// "github.com/oakmound/oak/v4/shiny/screen" // "golang.org/x/mobile/event/lifecycle" // ) // diff --git a/viewport.go b/viewport.go index 503e4148..b405f474 100644 --- a/viewport.go +++ b/viewport.go @@ -1,8 +1,8 @@ package oak import ( - "github.com/oakmound/oak/v3/alg/intgeom" - "github.com/oakmound/oak/v3/event" + "github.com/oakmound/oak/v4/alg/intgeom" + "github.com/oakmound/oak/v4/event" ) type Viewport struct { diff --git a/viewport_test.go b/viewport_test.go index d46baeba..7f44f1ed 100644 --- a/viewport_test.go +++ b/viewport_test.go @@ -4,8 +4,8 @@ import ( "testing" "time" - "github.com/oakmound/oak/v3/alg/intgeom" - "github.com/oakmound/oak/v3/scene" + "github.com/oakmound/oak/v4/alg/intgeom" + "github.com/oakmound/oak/v4/scene" ) func sleep() { diff --git a/window.go b/window.go index 79901c10..57e1d4b7 100644 --- a/window.go +++ b/window.go @@ -20,17 +20,17 @@ import ( "sync/atomic" "time" - "github.com/oakmound/oak/v3/alg/intgeom" - "github.com/oakmound/oak/v3/collision" - "github.com/oakmound/oak/v3/debugstream" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/key" - "github.com/oakmound/oak/v3/mouse" - "github.com/oakmound/oak/v3/render" - "github.com/oakmound/oak/v3/scene" - "github.com/oakmound/oak/v3/shiny/driver" - "github.com/oakmound/oak/v3/shiny/screen" - "github.com/oakmound/oak/v3/window" + "github.com/oakmound/oak/v4/alg/intgeom" + "github.com/oakmound/oak/v4/collision" + "github.com/oakmound/oak/v4/debugstream" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/key" + "github.com/oakmound/oak/v4/mouse" + "github.com/oakmound/oak/v4/render" + "github.com/oakmound/oak/v4/scene" + "github.com/oakmound/oak/v4/shiny/driver" + "github.com/oakmound/oak/v4/shiny/screen" + "github.com/oakmound/oak/v4/window" ) var _ window.App = &Window{} diff --git a/window/window.go b/window/window.go index 95a087f9..6b512db5 100644 --- a/window/window.go +++ b/window/window.go @@ -4,8 +4,8 @@ package window import ( "image" - "github.com/oakmound/oak/v3/alg/intgeom" - "github.com/oakmound/oak/v3/event" + "github.com/oakmound/oak/v4/alg/intgeom" + "github.com/oakmound/oak/v4/event" ) // Window is an interface of methods on an oak.Window available on platforms which have distinct app windows diff --git a/window_test.go b/window_test.go index b29d0cb7..cd61f47b 100644 --- a/window_test.go +++ b/window_test.go @@ -6,11 +6,11 @@ import ( "testing" "time" - "github.com/oakmound/oak/v3/alg/floatgeom" - "github.com/oakmound/oak/v3/collision" - "github.com/oakmound/oak/v3/event" - "github.com/oakmound/oak/v3/mouse" - "github.com/oakmound/oak/v3/render" + "github.com/oakmound/oak/v4/alg/floatgeom" + "github.com/oakmound/oak/v4/collision" + "github.com/oakmound/oak/v4/event" + "github.com/oakmound/oak/v4/mouse" + "github.com/oakmound/oak/v4/render" ) func TestMouseClicks(t *testing.T) { @@ -133,7 +133,7 @@ func TestPropagate_StopPropagation(t *testing.T) { ev.StopPropagation = true return 0 }).Bound - <-event.Bind(c1.eventHandler, mouse.RelativeClickOn , e2, func(_ ent, ev *mouse.Event) event.Response { + <-event.Bind(c1.eventHandler, mouse.RelativeClickOn, e2, func(_ ent, ev *mouse.Event) event.Response { failed = true return 0 }).Bound From 121dabcb155bbd8243075d8ca80b71cecc5f75f7 Mon Sep 17 00:00:00 2001 From: Patrick Stephen Date: Sat, 23 Apr 2022 11:27:16 -0500 Subject: [PATCH 36/36] examples: bump to oak v4 --- examples/clipboard/go.mod | 2 +- examples/fallback-font/go.mod | 2 +- examples/svg/go.mod | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/clipboard/go.mod b/examples/clipboard/go.mod index ea009487..1f6ce691 100644 --- a/examples/clipboard/go.mod +++ b/examples/clipboard/go.mod @@ -4,7 +4,7 @@ go 1.18 require ( github.com/atotto/clipboard v0.1.4 - github.com/oakmound/oak/v4 v3.0.0-alpha.1 + github.com/oakmound/oak/v4 v4.0.0-alpha.1 ) require ( diff --git a/examples/fallback-font/go.mod b/examples/fallback-font/go.mod index 3a304a64..a3506b83 100644 --- a/examples/fallback-font/go.mod +++ b/examples/fallback-font/go.mod @@ -4,7 +4,7 @@ go 1.18 require ( github.com/flopp/go-findfont v0.0.0-20201114153133-e7393a00c15b - github.com/oakmound/oak/v4 v3.0.0-alpha.1 + github.com/oakmound/oak/v4 v4.0.0-alpha.1 ) require ( diff --git a/examples/svg/go.mod b/examples/svg/go.mod index 8de5eeb6..530c3c91 100644 --- a/examples/svg/go.mod +++ b/examples/svg/go.mod @@ -3,7 +3,7 @@ module github.com/oakmound/oak/examples/svg go 1.18 require ( - github.com/oakmound/oak/v4 v3.0.0-alpha.1 + github.com/oakmound/oak/v4 v4.0.0-alpha.1 github.com/srwiley/oksvg v0.0.0-20210320200257-875f767ac39a github.com/srwiley/rasterx v0.0.0-20200120212402-85cb7272f5e9 )

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 z zup-+6m!WX|3$1HMln2V9hQ2EhR%`h~6!?orB}85>xj+eRn~nH{aZ|yS<{N~Ni-@0%ZfyJ)q zYoHKb4=tCil>3YFft6TFE!}e~rky#iq~5C@uy!?bw{{3NxM$38X;ZvNE3rSj`2!>V zqGa(SO6|m{<0}M{sn{X3lID_P3LJZ%-b8N%vgLerwoi$#mNdTl6M7T!a!LHwY4ii{ zFm>+feT%wP`*Ji%AxXlP)7Y-tYB3FFUT6IVK}0@gQNdz%{q2$qzsG%lGRIf_jtpu ziWO4^2{uu|Pm|*}|Cc?Bdc*aDgM;d_!GnYNzwXubIKtn*9ndPyJ#g;e;7_QApFf!W z(~hWGpbK$3|D&t?lEEqp1TL`R5ssdEN=> z<`0m$;!V7d%mc_)3_>Z=V~niF5mk+{wP~si@^8@eQ+f7hK}{J<#v(j#BitXLz2E{z zET+jY6OrL~{B=~e^C`!fRZSn9I|FU7o5xW@R$jhxhXR5;w-^k8dDc1dtD@L%pb7~7 zNb68ijbObLX2}?xjK{LldE>@VQ@Ojeeqz{Fwjqf;eBoETn`gt}PM`_UTpXq0Do7HaYCFsLz?8!6~Rv!sd#m$z_>+ zty?c#S5;D5l-XBQ6?D>P2-ndEsfXWc+>!Q;t0J zQ}1Y)(;7?*<86q3{2VlW8`;tV|@AQhd-1UF(mg7+}J#T9c@)Th)hM8$~J zAw(^%VvE08qi3*NBe?rV!P-A~nE&B@t<7ohVusHn295)q5tIU6ZF2FoT8ng8*tO~A za@Amp#4GJXFNP}O;X&xa&Oax!&jL%hijZ(!Bq9)Q(7!1hFnX{yBHTckxSBy>$^VH& zF;EFRNt12pX=+ZkV))>eCrh$e9;&J`2?w?@apzUXE<#-I=~2+yP_l7cP@P*?;xys8 zdf@|Z>*B(5Nk~R?oX;k_qMh0GTP@{f#pSY1ZmftT0)xT_1x{b#Mug+LZ08wY??ue6 z;bz`G1u=MfvcBYD?tp~2DTW?|@PN%Q3yFIx�+iTFqcDrQFTd!N=+z9&Z#M!SPP4 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