Skip to content

Commit

Permalink
linting
Browse files Browse the repository at this point in the history
  • Loading branch information
gucio321 committed Jan 8, 2025
1 parent eaf02ea commit b753ede
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 3 deletions.
17 changes: 14 additions & 3 deletions Backend.go
Original file line number Diff line number Diff line change
@@ -1,20 +1,24 @@
package giu

import (
"fmt"

"github.com/AllenDang/cimgui-go/backend"
"github.com/AllenDang/cimgui-go/backend/glfwbackend"
)

// sometimes we need to tell what we mean ;-)
// good example is:
// FlagsNotResizable in giu,
// but cimgui-go has only FlagsResizable. So SetFlags(Resizable, 0)
// but cimgui-go has only FlagsResizable. So SetFlags(Resizable, 0).
type flagValue[T ~int] struct {
flag T
value int
}

// GIUBackend is an abstraction layer between cimgui-go's Backends.
//
//nolint:revive // this name is OK
type GIUBackend backend.Backend[MasterWindowFlags]

var _ GIUBackend = &GLFWBackend{}
Expand All @@ -25,23 +29,30 @@ type GLFWBackend struct {
*glfwbackend.GLFWBackend
}

// NewGLFWBackend creates a new instance of GLFWBackend.
func NewGLFWBackend() *GLFWBackend {
return &GLFWBackend{
GLFWBackend: glfwbackend.NewGLFWBackend(),
}
}

func (b *GLFWBackend) SetInputMode(mode MasterWindowFlags, value MasterWindowFlags) {
// SetInputMode implements backend.Backend interface.
func (b *GLFWBackend) SetInputMode(mode, _ MasterWindowFlags) {
flag := b.parseFlag(mode)
b.GLFWBackend.SetInputMode(flag.flag, glfwbackend.GLFWWindowFlags(flag.value))
}

// SetSwapInterval implements backend.Backend interface.
func (b *GLFWBackend) SetSwapInterval(interval MasterWindowFlags) error {
intervalV := b.parseFlag(interval).flag
b.GLFWBackend.SetSwapInterval(intervalV)
if err := b.GLFWBackend.SetSwapInterval(intervalV); err != nil {
return fmt.Errorf("giu.GLFWBackend got error while SwapInterval: %w", err)
}

return nil
}

// SetWindowFlags implements backend.Backend interface.
func (b *GLFWBackend) SetWindowFlags(flags MasterWindowFlags, _ int) {
flag := b.parseFlag(flags)
b.GLFWBackend.SetWindowFlags(flag.flag, flag.value)
Expand Down
1 change: 1 addition & 0 deletions MasterWindow.go
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ func NewMasterWindow(title string, width, height int, flags MasterWindowFlags) *
currentBackend.SetBeforeRenderHook(mw.beforeRender)
currentBackend.SetAfterRenderHook(mw.afterRender)
currentBackend.SetBeforeDestroyContextHook(mw.beforeDestroy)

for f := MasterWindowFlagsNotResizable; f <= MasterWindowFlagsHidden; f <<= 1 {
if f&flags != 0 {
currentBackend.SetWindowFlags(f, 0) // 0 because it is not used anyway (flag values are determined by giu
Expand Down

0 comments on commit b753ede

Please sign in to comment.