From b0733e9a0c4affc441aa9a69ee0fe29ee332ae1e Mon Sep 17 00:00:00 2001 From: bloeys Date: Fri, 3 Feb 2023 02:34:49 +0400 Subject: [PATCH] Upgrade to latest nmage(v0.16.2)+icon+readme --- README.md | 11 +++++++ editor.go | 2 +- go.mod | 12 ++++---- go.sum | 23 +++++++-------- main.go | 62 +++++++++++++++++----------------------- rsrc_windows_386.syso | Bin 0 -> 35064 bytes rsrc_windows_amd64.syso | Bin 0 -> 35064 bytes 7 files changed, 54 insertions(+), 56 deletions(-) create mode 100755 rsrc_windows_386.syso create mode 100755 rsrc_windows_amd64.syso diff --git a/README.md b/README.md index 63cf85c..950db63 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,14 @@ # gopad Notepad in Golang and using nMage and ImGUI. + +## Developer Details + +### Hide Console on Windows + +Running the executable on windows opens a terminal as well. To hide that we build with: `go build -ldflags -H=windowsgui .` + +### Program Icon + +`*.syso` files are used by `go build` on Windows to add information to the executable that Windows can read, such as version and icon. +We use `github.com/tc-hib/go-winres` to generate these via the command: `go-winres simply --icon gopad-icon.ico --manifest gui` diff --git a/editor.go b/editor.go index a58ee35..6015fe1 100755 --- a/editor.go +++ b/editor.go @@ -335,7 +335,7 @@ func getCharIndexFromCursor(l *Line, cursorGridX int) int { return -1 } -//TODO: The offset chars must be how many grid cols between cursor col and the nearest non-tab char. +// TODO: The offset chars must be how many grid cols between cursor col and the nearest non-tab char. func getTabs(l *Line, gridPosX int) (tabCount, charsToOffsetBy int) { charIndex := getCharIndexFromCursor(l, gridPosX) diff --git a/go.mod b/go.mod index a33eb96..cad15b0 100755 --- a/go.mod +++ b/go.mod @@ -1,15 +1,15 @@ module github.com/bloeys/gopad -go 1.17 +go 1.18 require ( - github.com/bloeys/nmage v0.0.10 - github.com/inkyblackness/imgui-go/v4 v4.4.0 - github.com/veandco/go-sdl2 v0.4.14 + github.com/bloeys/nmage v0.16.2 + github.com/inkyblackness/imgui-go/v4 v4.6.0 + github.com/veandco/go-sdl2 v0.4.25 ) require ( - github.com/bloeys/assimp-go v0.4.2 // indirect - github.com/bloeys/gglm v0.3.1 // indirect + github.com/bloeys/assimp-go v0.4.4 // indirect + github.com/bloeys/gglm v0.43.0 // indirect github.com/go-gl/gl v0.0.0-20211210172815-726fda9656d6 // indirect ) diff --git a/go.sum b/go.sum index 7e11ded..93abea8 100755 --- a/go.sum +++ b/go.sum @@ -1,22 +1,19 @@ -github.com/bloeys/assimp-go v0.4.2 h1:ArVK74BCFcTO/rCGj2NgZG9xtbjnJdEn5npIeJx1Z04= -github.com/bloeys/assimp-go v0.4.2/go.mod h1:my3yRxT7CfOztmvi+0svmwbaqw0KFrxaHxncoyaEIP0= -github.com/bloeys/gglm v0.3.1 h1:Sy9upW7SBsBfDXrSmEhid3aQ+7J7itej+upwcxOnPMQ= -github.com/bloeys/gglm v0.3.1/go.mod h1:qwJQ0WzV191wAMwlGicbfbChbKoSedMk7gFFX6GnyOk= -github.com/bloeys/nmage v0.0.10 h1:6Ryl3qjEbXxeIL+9BnBxOrGaW9mKObyY/JbRYkR8ogQ= -github.com/bloeys/nmage v0.0.10/go.mod h1:4h2tKtMvk9ab8r/+rem4QonPXEBTho6VWvpCMm0M6iM= +github.com/bloeys/assimp-go v0.4.4 h1:Yn5e/RpE0Oes0YMBy8O7KkwAO4R/RpgrZPJCt08dVIU= +github.com/bloeys/assimp-go v0.4.4/go.mod h1:my3yRxT7CfOztmvi+0svmwbaqw0KFrxaHxncoyaEIP0= +github.com/bloeys/gglm v0.43.0 h1:ZpOghR3PHfpkigTDh+FqxLsF0gN8CD6s/bWoei6LyxI= +github.com/bloeys/gglm v0.43.0/go.mod h1:qwJQ0WzV191wAMwlGicbfbChbKoSedMk7gFFX6GnyOk= +github.com/bloeys/nmage v0.16.2 h1:fuCaMrGW5ev4sRS0E70bv3Y++C84RMItFTBSq4/+Tfc= +github.com/bloeys/nmage v0.16.2/go.mod h1:Z9pqkadzLYP+HUnV11lsomfxIzcpzLX3Yp5YCqiICUM= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/go-gl/gl v0.0.0-20211025173605-bda47ffaa784/go.mod h1:9YTyiznxEY1fVinfM7RvRcjRHbw2xLBJ3AAGIT0I4Nw= github.com/go-gl/gl v0.0.0-20211210172815-726fda9656d6 h1:zDw5v7qm4yH7N8C8uWd+8Ii9rROdgWxQuGoJ9WDXxfk= github.com/go-gl/gl v0.0.0-20211210172815-726fda9656d6/go.mod h1:9YTyiznxEY1fVinfM7RvRcjRHbw2xLBJ3AAGIT0I4Nw= -github.com/inkyblackness/imgui-go/v4 v4.3.0/go.mod h1:g8SAGtOYUP7rYaOB2AsVKCEHmPMDmJKgt4z6d+flhb0= -github.com/inkyblackness/imgui-go/v4 v4.4.0 h1:jY32Xl18aRwTBXaDfyefCmPDxJOtGM8kGfu/kMNJpbE= -github.com/inkyblackness/imgui-go/v4 v4.4.0/go.mod h1:g8SAGtOYUP7rYaOB2AsVKCEHmPMDmJKgt4z6d+flhb0= +github.com/inkyblackness/imgui-go/v4 v4.6.0 h1:ShcnXEYl80+xREGBY9OpGWePA6FfJChY9Varsm+3jjE= +github.com/inkyblackness/imgui-go/v4 v4.6.0/go.mod h1:g8SAGtOYUP7rYaOB2AsVKCEHmPMDmJKgt4z6d+flhb0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/veandco/go-sdl2 v0.4.10/go.mod h1:OROqMhHD43nT4/i9crJukyVecjPNYYuCofep6SNiAjY= -github.com/veandco/go-sdl2 v0.4.14 h1:ShagETHJG8NCWVn9rwfZ9WLIaN4c2maw3gfFH+9DlOg= -github.com/veandco/go-sdl2 v0.4.14/go.mod h1:OROqMhHD43nT4/i9crJukyVecjPNYYuCofep6SNiAjY= +github.com/veandco/go-sdl2 v0.4.25 h1:J5ac3KKOccp/0xGJA1PaNYKPUcZm19IxhDGs8lJofPI= +github.com/veandco/go-sdl2 v0.4.25/go.mod h1:OROqMhHD43nT4/i9crJukyVecjPNYYuCofep6SNiAjY= diff --git a/main.go b/main.go index dd9f63f..8b82776 100755 --- a/main.go +++ b/main.go @@ -22,7 +22,6 @@ type Gopad struct { Win *engine.Window mainFont imgui.Font ImGUIInfo nmageimgui.ImguiInfo - Quitting bool mainMenuBarHeight float32 sidebarWidthFactor float32 @@ -46,8 +45,6 @@ type Gopad struct { winHeight float32 } -var () - func main() { chdirErr := os.Chdir(filepath.Dir(os.Args[0])) @@ -80,8 +77,23 @@ func main() { newRunes: []rune{}, } + // Init runs within an imgui frame, but imgui frames do NOT allow adding fonts, + // so we do it here + g.LoadFonts() + // engine.SetVSync(true) - engine.Run(&g) + engine.Run(&g, g.Win, g.ImGUIInfo) +} + +func (g *Gopad) LoadFonts() { + + fConfig := imgui.NewFontConfig() + fConfig.SetOversampleH(2) + fConfig.SetOversampleV(2) + + g.mainFont = g.ImGUIInfo.AddFontTTF("./res/fonts/courier-prime.regular.ttf", settings.FontSize, &fConfig, nil) + + fConfig.Delete() } func (g *Gopad) Init() { @@ -89,14 +101,6 @@ func (g *Gopad) Init() { g.Win.SDLWin.SetTitle("Gopad") g.Win.EventCallbacks = append(g.Win.EventCallbacks, g.handleWindowEvents) - //Setup font - fConfig := imgui.NewFontConfig() - defer fConfig.Delete() - - fConfig.SetOversampleH(2) - fConfig.SetOversampleV(2) - g.mainFont = g.ImGUIInfo.AddFontTTF("./res/fonts/courier-prime.regular.ttf", settings.FontSize, &fConfig, nil) - //Sidebar g.CurrDirContents = getDirContents(g.CurrDir) @@ -122,9 +126,8 @@ func (g *Gopad) Init() { } g.activeEditor = len(g.editors) - 1 -} -func (g *Gopad) Start() { + // Prepare editors imgui.PushFont(g.mainFont) for i := 0; i < len(g.editors); i++ { e := &g.editors[i] @@ -150,14 +153,6 @@ func (g *Gopad) handleWindowEvents(event sdl.Event) { } } -func (g *Gopad) FrameStart() { - - if g.editorToClose > -1 { - g.closeEditor(g.editorToClose) - g.editorToClose = -1 - } -} - func (g *Gopad) closeEditor(eIndex int) { g.editors = append(g.editors[:eIndex], g.editors[eIndex+1:]...) @@ -172,7 +167,14 @@ func (g *Gopad) closeEditor(eIndex int) { func (g *Gopad) Update() { if input.IsQuitClicked() { - g.Quitting = true + engine.Quit() + return + } + + // Close editors if needed + if g.editorToClose > -1 { + g.closeEditor(g.editorToClose) + g.editorToClose = -1 } if g.haveErr { @@ -448,19 +450,7 @@ func (g *Gopad) FrameEnd() { g.newRunes = []rune{} } -func (g *Gopad) ShouldRun() bool { - return !g.Quitting -} - -func (g *Gopad) GetWindow() *engine.Window { - return g.Win -} - -func (g *Gopad) GetImGUI() nmageimgui.ImguiInfo { - return g.ImGUIInfo -} - -func (g *Gopad) Deinit() { +func (g *Gopad) DeInit() { g.Win.Destroy() } diff --git a/rsrc_windows_386.syso b/rsrc_windows_386.syso new file mode 100755 index 0000000000000000000000000000000000000000..a0e48414b6031690a07767d5aba131beb66f4a70 GIT binary patch literal 35064 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 literal 0 HcmV?d00001 diff --git a/rsrc_windows_amd64.syso b/rsrc_windows_amd64.syso new file mode 100755 index 0000000000000000000000000000000000000000..75cae12d9cbca81da00a0207814f287a5672dedd GIT binary patch literal 35064 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 jsqF5h>~1@|+s*E7WOr|8cf}}