diff --git a/src/text_editor/lua_api.cpp b/src/text_editor/lua_api.cpp index afb30fe..1cf4fba 100644 --- a/src/text_editor/lua_api.cpp +++ b/src/text_editor/lua_api.cpp @@ -85,6 +85,21 @@ int LuaListWindows(lua_State *L) { return 1; } +int LuaOpenBigBuffer(lua_State *L) { + Window *window = GetWindow(GetLastActiveWindow()); + + // @todo: ViewOpenBuffer - new or old view for specified buffer + Buffer *buffer = CreateBuffer(GetSystemAllocator(), "big", 2500000 * 4); + LoadBigTextAndBigLine(buffer); + View *view = CreateView(buffer->id); + + AddView(window, view->id); + window->active_view = view->id; + + SetActiveWindow(window->id); + return 0; +} + void InitLua() { LuaState = luaL_newstate(); luaL_openlibs(LuaState); @@ -100,6 +115,9 @@ void InitLua() { lua_pushcfunction(LuaState, LuaListWindows); lua_setglobal(LuaState, "list_windows"); + + lua_pushcfunction(LuaState, LuaOpenBigBuffer); + lua_setglobal(LuaState, "open_big_buffer"); } String16 EvalString(Allocator allocator, String16 string16) { diff --git a/src/text_editor/text_editor.cpp b/src/text_editor/text_editor.cpp index 62bc864..2d11391 100644 --- a/src/text_editor/text_editor.cpp +++ b/src/text_editor/text_editor.cpp @@ -152,7 +152,7 @@ int main(void) { Rect2I screen_rect = GetScreenRect(); Rect2I infobar_rect = CutBottom(&screen_rect, (Int)FontLineSpacing); - float line_numbers_size = MeasureTextEx(MainFont, "12345", (float)FontSize, (float)FontSpacing).x; + float line_numbers_size = MeasureTextEx(MainFont, "1234567891", (float)FontSize, (float)FontSpacing).x; { int i = 5; if (Windows[i].visible) { diff --git a/src/text_editor/window_draw.cpp b/src/text_editor/window_draw.cpp index b7162a9..869648f 100644 --- a/src/text_editor/window_draw.cpp +++ b/src/text_editor/window_draw.cpp @@ -216,7 +216,7 @@ void DrawWindow(Window &window) { Vec2 p = ToVec2(pos); float rectx = (float)GetSize(r).x; p.x += (rectx - x) / 2.f; - if (x > rectx) p.x = 0; + if (x > rectx) p.x = (float)r.min.x; DrawString(MainFont, string, p, (float)FontSize, (float)FontSpacing, ColorTextLineNumbers); }