From ceda79cffba64eb57d593871c215bb91d3f5a7bc Mon Sep 17 00:00:00 2001 From: bloeys Date: Fri, 25 Feb 2022 09:13:40 +0400 Subject: [PATCH] Starting custom editor window --- editor.go | 189 +++++++++++++++++++++++++++++++++++++++++++ gopad-icon.ico | Bin 25337 -> 33143 bytes gopad-logo.png | Bin 99877 -> 34602 bytes main.go | 79 +++++------------- settings/settings.go | 8 ++ 5 files changed, 216 insertions(+), 60 deletions(-) create mode 100755 editor.go mode change 100644 => 100755 main.go create mode 100755 settings/settings.go diff --git a/editor.go b/editor.go new file mode 100755 index 0000000..983115d --- /dev/null +++ b/editor.go @@ -0,0 +1,189 @@ +package main + +import ( + "os" + "path/filepath" + + "github.com/bloeys/gopad/settings" + "github.com/inkyblackness/imgui-go/v4" +) + +const ( + linesPerNode int = 100 +) + +type Line struct { + chars []rune +} + +type LinesNode struct { + Lines [linesPerNode]Line + Next *LinesNode +} + +type Editor struct { + FileName string + FilePath string + FileContents string + + CursorX int + CursorY int + + SelectionStart int + SelectionLength int + + IsModified bool + + LinesHead *LinesNode + LineCount int +} + +func (e *Editor) SetCursorPos(x, y int) { + e.CursorX = x + e.CursorY = y +} + +func (e *Editor) Render(drawStartPos, winSize *imgui.Vec2) { + + e.CursorY = clampInt(e.CursorY, 0, e.LineCount) + e.CursorX = clampInt(e.CursorX, 0, e.GetLineCharCount(e.CursorY)) + + //Draw window + imgui.SetNextWindowPos(*drawStartPos) + imgui.SetNextWindowSize(*winSize) + imgui.BeginV("editorText", nil, imgui.WindowFlagsNoCollapse|imgui.WindowFlagsNoDecoration|imgui.WindowFlagsNoMove) + + imgui.PushStyleColor(imgui.StyleColorFrameBg, settings.EditorBgColor) + imgui.PushStyleColor(imgui.StyleColorTextSelectedBg, settings.TextSelectionColor) + + //Add padding to text + drawStartPos.X += 10 + drawStartPos.Y += 10 + + //Draw lines + lineHeight := imgui.TextLineHeightWithSpacing() + linesToDraw := int(winSize.Y / lineHeight) + println("Lines to draw:", linesToDraw) + + dl := imgui.WindowDrawList() + for i := 0; i < linesToDraw; i++ { + dl.AddText(*drawStartPos, imgui.PackedColorFromVec4(imgui.Vec4{X: 1, Y: 1, Z: 1, W: 1}), string(e.GetLine(e.CursorY+i).chars)) + drawStartPos.Y += lineHeight + } +} + +func (e *Editor) GetLine(lineNum int) *Line { + + if lineNum > e.LineCount { + return &Line{ + chars: []rune{}, + } + } + + curr := e.LinesHead + + //Advance to correct node + nodeNum := lineNum / linesPerNode + lineNum -= nodeNum * linesPerNode + for nodeNum > 0 { + curr = curr.Next + nodeNum-- + } + + return &curr.Lines[lineNum] +} + +func (e *Editor) GetLineCharCount(lineNum int) int { + + curr := e.LinesHead + + //Advance to correct node + nodeNum := lineNum / linesPerNode + lineNum -= nodeNum * linesPerNode + for nodeNum > 0 { + curr = curr.Next + nodeNum-- + } + + return len(curr.Lines[lineNum].chars) +} + +func ParseLines(fileContents string) (*LinesNode, int) { + + head := NewLineNode() + + lineCount := 0 + start := 0 + end := 0 + currLine := 0 + currNode := head + for i := 0; i < len(fileContents); i++ { + + if fileContents[i] != '\n' { + end++ + continue + } + + lineCount++ + currNode.Lines[currLine].chars = []rune(fileContents[start:end]) + + end++ + start = end + currLine++ + if currLine == linesPerNode { + currLine = 0 + currNode.Next = NewLineNode() + currNode = currNode.Next + } + } + + return head, lineCount +} + +func NewLineNode() *LinesNode { + + n := LinesNode{} + for i := 0; i < len(n.Lines); i++ { + n.Lines[i].chars = []rune{} + } + + return &n +} + +func clampInt(x, min, max int) int { + + if x > max { + return max + } + + if x < min { + return min + } + + return x +} + +func NewScratchEditor() *Editor { + + e := &Editor{ + FileName: "**scratch**", + LinesHead: NewLineNode(), + } + return e +} + +func NewEditor(fPath string) *Editor { + + b, err := os.ReadFile(fPath) + if err != nil { + panic(err) + } + + e := &Editor{ + FileName: filepath.Base(fPath), + FilePath: fPath, + FileContents: string(b), + } + e.LinesHead, e.LineCount = ParseLines(e.FileContents) + return e +} diff --git a/gopad-icon.ico b/gopad-icon.ico index f4b8d8817663938ea27816a6632e336f6ab18a41..e98097edb0cad4d5f26c6f5101b7b9babf8741a3 100755 GIT binary patch literal 33143 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 literal 25337 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 Qn8g+m6c>m&r)K+q0IH{M8vpdiM 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