Commit Graph

1073 Commits

Author SHA1 Message Date
Kovid Goyal
079054f798 Fix tab bar rendering 2017-09-15 10:45:12 +05:30
Kovid Goyal
914f7ddbd5 Fix zero division 2017-09-15 10:45:12 +05:30
Kovid Goyal
5357876128 Ensure screen objects are de-allocated immediately on close instead of waiting for garbage collection 2017-09-15 10:45:12 +05:30
Kovid Goyal
b20367b888 Avoid dict lookups when calling python callbacks 2017-09-15 10:45:12 +05:30
Kovid Goyal
6698712b44 Respect repaint_delay when calling render() as well 2017-09-15 10:45:12 +05:30
Kovid Goyal
21b799905d Move the main loop into the C module 2017-09-15 10:45:12 +05:30
Kovid Goyal
02870d7221 Move the signal received handler into the C module 2017-09-15 10:45:12 +05:30
Kovid Goyal
d4991424f9 Set the python thread switch interval to forever 2017-09-15 10:45:11 +05:30
Kovid Goyal
1684bda1e9 Better thread name 2017-09-15 10:45:11 +05:30
Kovid Goyal
e8b5a72c96 Remove GIL management code since it is no longer needed 2017-09-15 10:45:11 +05:30
Kovid Goyal
7f180ad3d9 Do not use the python threading module
Threading in python imposes significant overhead.
Instead create the thread using pthreads directly
2017-09-15 10:45:11 +05:30
Kovid Goyal
94c4c00859 Move signal handling code into the C module 2017-09-15 10:45:11 +05:30
Kovid Goyal
1308bbac2d Move creation of wakeup fds to c module 2017-09-15 10:45:11 +05:30
Kovid Goyal
76890a2b71 Do not perform any python API calls in the I/O thread 2017-09-15 10:45:11 +05:30
Kovid Goyal
2c8f3b6d98 Remove unnecessary extra lock/unlock of children_mutex 2017-09-15 10:45:11 +05:30
Kovid Goyal
0e46994d0a Restore repaint_delay 2017-09-15 10:45:11 +05:30
Kovid Goyal
44650c5723 Make reading into the screen read buffer more efficient 2017-09-15 10:45:11 +05:30
Kovid Goyal
234bb07b67 Initial attempt at moving all threading code into a single file 2017-09-15 10:45:10 +05:30
Kovid Goyal
fea79878fa Make the monotonic() function available everywhere 2017-09-15 10:45:10 +05:30
Kovid Goyal
0365828a5b Remove all python threading related code 2017-09-15 10:45:10 +05:30
Kovid Goyal
fa30a95b46 ... 2017-09-15 10:45:10 +05:30
Kovid Goyal
f44d56b116 Ensure GIL is not released when rendering sprites 2017-09-15 10:45:10 +05:30
Kovid Goyal
6127d2d122 Make the sprite map globally accessible from C code as well as python code
The lock was removed as the Python GIL is sufficient to serialize access
to the SpriteMap structure.
2017-09-15 10:45:10 +05:30
Kovid Goyal
4feff2e2da Fix rendering of strikethrough not working 2017-09-15 10:45:10 +05:30
Kovid Goyal
8624dbac2c Sigh, stupid OpenGL
Apparently glGetUniformIndices has different declarations on different
systems.
2017-09-15 10:45:10 +05:30
Kovid Goyal
4c0cf93562 Fix tab bar not rendering because of selection handling changes 2017-09-15 10:45:10 +05:30
Kovid Goyal
d12573a67d Dont send the color table to the GPU on every frame 2017-09-15 10:45:09 +05:30
Kovid Goyal
d7b433f6b7 API for Uniform Block Objects 2017-09-15 10:45:09 +05:30
Kovid Goyal
b1168f6c6c Handle zero timeout correctly 2017-09-15 10:45:09 +05:30
Kovid Goyal
91e263cabb Fix sub-millisecond and no event waits not working 2017-09-15 10:45:09 +05:30
Kovid Goyal
ed15f2f97e Get the layout of the Cell structure 2017-09-15 10:45:09 +05:30
Kovid Goyal
6689595277 Dont use Py_UCS4 for char_type 2017-09-15 10:45:09 +05:30
Kovid Goyal
34f946fd98 Move rendering of selection to GPU 2017-09-15 10:45:09 +05:30
Kovid Goyal
a5bec84554 ... 2017-09-15 10:45:09 +05:30
Kovid Goyal
0fae3e1b10 ... 2017-09-15 10:45:09 +05:30
Kovid Goyal
a56e1296fd Refactor the tab bar into its own class
Also ensure that Screen APIs are only used in the child thread in the
tab bar
2017-09-15 10:45:09 +05:30
Kovid Goyal
acdeaaeda5 Move the border shaders into their own files 2017-09-15 10:45:08 +05:30
Kovid Goyal
a44e3a3a50 Ensure line numbers reported by the GLSL compiler are correct 2017-09-15 10:45:08 +05:30
Kovid Goyal
db40445572 Do color mapping on the GPU 2017-09-15 10:45:08 +05:30
Kovid Goyal
1d888c9194 Centralise color management into ColorProfile 2017-09-15 10:45:08 +05:30
Kovid Goyal
b50eaa9cbb ColorProfile should belong to Screen 2017-09-15 10:45:08 +05:30
Kovid Goyal
fe764ab6b6 oops 2017-09-15 10:45:08 +05:30
Kovid Goyal
bab4680828 ... 2017-09-15 10:45:08 +05:30
Kovid Goyal
564010c7cd Migrate history.c 2017-09-15 10:45:08 +05:30
Kovid Goyal
052fd46ff9 Migrate sprites.c 2017-09-15 10:45:08 +05:30
Kovid Goyal
4fd8c7cfaa DRYer 2017-09-15 10:45:08 +05:30
Kovid Goyal
37f0cf86d0 Migrated line.c 2017-09-15 10:45:07 +05:30
Kovid Goyal
0cbd3a2820 Start work on using a struct for the cell
Should eventually allow the screen buf to be sent directly to the GPU
without a serialization step.

Migrates line-buf.c
2017-09-15 10:45:07 +05:30
Kovid Goyal
af3c89d79f oops 2017-09-15 10:45:07 +05:30
Kovid Goyal
a1d75eb00d Use a function pointer to avoid a branch in loop() 2017-09-15 10:45:07 +05:30