Delete raylib_utils, update todo

This commit is contained in:
Krzosa Karol
2024-08-08 06:07:58 +02:00
parent 6d66986b5b
commit 38afbe8816
2 changed files with 34 additions and 67 deletions

View File

@@ -1,47 +0,0 @@
Rectangle ToRectangle(Rect2 r) {
Rectangle result = {r.min.x, r.min.y, r.max.x - r.min.x, r.max.y - r.min.y};
return result;
}
Rectangle ToRectangle(Rect2I r) {
Rectangle result = {(float)r.min.x, (float)r.min.y, (float)(r.max.x - r.min.x), (float)(r.max.y - r.min.y)};
return result;
}
Rect2I GetScreenRect() {
Rect2I result = {0, 0, GetRenderWidth(), GetRenderHeight()};
return result;
}
Rect2 GetScreenRectF() {
Rect2 result = {0, 0, (float)GetRenderWidth(), (float)GetRenderHeight()};
return result;
}
Int GetCharSpacing(Font font, Int font_size, Int spacing) {
int index = GetGlyphIndex(font, '_');
Int textOffsetX = 0;
if (font.glyphs[index].advanceX == 0) textOffsetX += ((Int)font.recs[index].width + spacing);
else textOffsetX += ((Int)font.glyphs[index].advanceX + spacing);
return textOffsetX;
}
void DrawString(Font font, String16 text, Vector2 position, float fontSize, float spacing, Color tint) {
if (font.texture.id == 0) font = GetFontDefault(); // Security check in case of not valid font
float textOffsetX = 0.0f; // Offset X to next character to draw
for (Int i = 0; i < text.len; i += 1) {
// Get next codepoint from byte string and glyph index in font
int codepoint = text[i];
int index = GetGlyphIndex(font, codepoint);
if (codepoint == '\n') {
// DrawCircle((int)position.x + (int)textOffsetX, (int)position.y, fontSize / 10, tint);
} else if ((codepoint != ' ') && (codepoint != '\t')) {
DrawTextCodepoint(font, codepoint, {position.x + textOffsetX, position.y}, fontSize, tint);
}
if (font.glyphs[index].advanceX == 0) textOffsetX += ((float)font.recs[index].width + spacing);
else textOffsetX += ((float)font.glyphs[index].advanceX + spacing);
}
}

View File

@@ -1,10 +1,26 @@
- delete raylib utils, delete WaitForExit?
- remove pointers from ids since they will quickly get invalidated, move fully to array stuff
- try waiting for events despite of running processes, I remember there was a problem with this in 4Coder, your PC would just start going ham
- Attach BufferID to process, append to that buffer
- kill all processes on exit https://devblogs.microsoft.com/oldnewthing/20131209-00/?p=2433
- AppendToConsole should scroll only if caret is at end and one caret otherwise the carets should not change
- if exec is prepended with '!' symbol then run a shell command
- Open git commit as part of "Open" in new buffer using git --no-pager show <hash>
- try using git grep for search for now, combine with fuzzy search buffer
- Test stdin writing code
- Implement shell interaction (last line should have a '$'' symbols, if you press enter it should send that line to stdin of a running shell)
- open file from cmd
- detach from console when executing the program from the console to make sure that the user won't have to keep the cmd alive
- win32 open file with text editor from desktop
- drag and drop file into the window
- exe icon
combine glyph and selection rendering
debugging: resize dynamic array on every item add
- search as a command to execute which is going to be in the title bar
- search backwards
- change size of command window because it's wacky
- Implement opening and polling processes, sending info back and forth
- Open git commit using git --no-pager show <hash>
- Implement shell interaction (here we also could use the coroutine library)
- word complete
- Search all buffers in 10X style, incrementally searched results popping up on every key press (maybe we need coroutine library in C so this is easier?)
@@ -12,13 +28,12 @@
- load in a next window
- load in new window
- win32 open file with text editor from desktop
- open file/cmd from cmd
- detach from console when executing the program from the console to make sure that the user won't have to keep the cmd alive
- drag and drop file into the window
- exe icon
- kill view - killing all views for buffer ejects buffer (maybe also introduce kill buffer)
- ask if you want to close without saving on exit
- how to be better at marking buffers as modified?
- ask if you want to create new file?
- how do we regen directory buffers?
- when do we regen directory buffers?
- load project command which loads files and config
- load all files in a directory
- global config and local config
@@ -26,23 +41,24 @@
- draw indentation levels like in sublime (those lines) - we render chars one by one so seems relatively easy to figure out if whitespace belongs to beginning of line (make sure to add max value like 40 because of big files)
- code sections, visual demarkation if beginning of line has a very specific text + goto next / goto prev section hotkey!
- page up and down should also scroll and leave you in exactly same scroll
- I think the way sublime text and we display line highlights is confusing with multiple cursors (line highlight can be confused with selection)
- ctrl + delete maybe should stop on new line but it keeps on going, sublime is much more careful with deleting
BUG: there is a click hang when switching windows sometimes, you click after select and it doesn't switch active window
- change size of command window because it's wacky
- Windows
Windows
- switch to previous view (ctrl + tab)
- shift + ctrl + click should open a new window and then with alt it probably should kill it
- layout using a tree!!
- I don't think we need WindowIDs
- layouting, resize windows
- try to incorporate the acme square which allows you to put windows wherever and also scale the border
BUG: there is a click hang when switching windows sometimes, you click after select and it doesn't switch active window
backlog
- page up and down should also scroll and leave you in exactly same scroll
- I think the way sublime text and we display line highlights is confusing with multiple cursors (line highlight can be confused with selection)
- ctrl + delete maybe should stop on new line but it keeps on going, sublime is much more careful with deleting
- text_editor --record events.txt text_editor --playback events.txt
- make the editor replayable, store events and then replay, be careful about globals
- maybe open should return multiple options if there are many more? (like in sublime if many symbols you get a window and you choose and it automatically jumps you to the symbol in the background)
@@ -51,6 +67,4 @@ backlog
- font cache and on demand unicode loads
- Set scroll centered, what was the use case for this?
- color parens, braces
- auto register commands, but we need to figure out how to properly structure lua stuff
- double click - start enclosing word, triple click - start enclosing lines, merge 2 cursor selection - start treating it as anchor
- Colored strings
- auto register commands, but we need to figure out how to properly structure lua stuff