201 Commits

Author SHA1 Message Date
4d737d09d4 draw partial rows at bottom of screen but do not allow cursor to go there 2016-12-24 14:49:08 -05:00
3c73b9ae97 cursor positioning fix 2016-12-24 14:25:25 -05:00
dce5e68941 fix dropping lines above cursor line 2016-12-24 14:07:13 -05:00
b40a5e243b fix row count for empty rows 2016-12-24 13:57:58 -05:00
8c834c9d7c start to do some cursor movement again 2016-12-21 21:11:29 -05:00
08dab099a7 add BufferPane::walk_line() to commonize logic for laying out a line to the screen 2016-12-21 19:43:54 -05:00
24fced221f start re-implementing BufferPane::draw_buffer_line() 2016-12-21 19:23:39 -05:00
83d4a86e4b fix BufferPane::rows_in_line_with_iterator_offset() comparing to reference iterator 2016-12-21 19:07:28 -05:00
9733d577a7 take into account tab characters when counting line row heights 2016-12-21 18:36:47 -05:00
f7d0c8189a fix BufferPane::screen_rows_below_line() while loop 2016-12-21 18:18:19 -05:00
1486cdf7f4 update BufferPane::update_cursor_row() in preparation for drawing again 2016-12-20 23:24:06 -05:00
975b7763a8 add two more BufferPane utility functions to calculate available screen rows before and after the cursor line 2016-12-20 23:07:00 -05:00
cf4723854e add some utility functions in preparation for drawing screen with multi-column characters 2016-12-20 23:01:30 -05:00
bc3309a328 Prepare for screen drawing again after Cursor removal.
Add BufferPane::character_width() to handle multi-column characters.
2016-12-20 20:22:19 -05:00
968db413e6 Remove Cursor and move line-tracking into Iterator 2016-12-18 14:51:52 -05:00
ee37616f82 Give BufferPane a reference to a Window 2016-12-13 21:48:04 -05:00
659a64b367 add Window::request_redraw() 2016-12-11 20:39:02 -05:00
1232539495 Move buffer-related keypress handling from Window to BufferPane 2016-12-11 20:29:15 -05:00
bd1d5adfab add enum type 2016-12-11 20:18:10 -05:00
3422df51d6 BufferPane: replace colrow_to_xy() with col_x() and row_y() 2016-12-11 19:58:16 -05:00
129716e28f Draw cursor again 2016-12-11 15:58:31 -05:00
9b6b21a1d0 Move Iterator and Cursor classes into Buffer class. 2016-12-11 15:17:15 -05:00
b880397b7e Split up Cursor module into BufferIterator / BufferCursor 2016-12-11 14:00:15 -05:00
41c65f2dd9 Begin more refactoring to shrink GapBuffer class 2016-12-07 22:47:33 -05:00
f14db217d2 add Buffer::Cursor type alias for GapBuffer::Cursor 2016-11-30 21:06:59 -05:00
8631a94a2b Add BufferStatusPane
move status bar drawing logic from Window to BufferStatusPane
2016-11-27 13:56:58 -05:00
8bffc05f09 add a BufferPane class to hold logic for rendering a buffer 2016-11-27 13:17:20 -05:00
fa8872bcda move gl3w-related sources to src/gui/gl3w 2016-11-26 15:30:25 -05:00
ddbd78b5be draw last character of line 2016-11-26 15:28:58 -05:00
21e65d95f9 variable rename 2016-11-25 10:56:46 -05:00
289af1b8c7 draw status bar again 2016-11-25 09:53:54 -05:00
3f573cac40 move GL logic to new GL module 2016-11-25 09:53:54 -05:00
59ce578415 rename src/gui/Shaders -> src/gui/gl 2016-11-25 09:09:28 -05:00
1e40243664 add temporary buffer drawing with gap buffer before GUI code refactoring 2016-11-25 08:57:46 -05:00
1e2aae4136 start on gap buffer drawing 2016-11-09 23:08:33 -05:00
b4ae0d5377 rows and columns must be >= 1 2016-11-09 22:51:10 -05:00
afd584566c avoid empty screen rows if there is buffer content to fill them 2016-11-09 22:43:04 -05:00
74b9421f30 Window: add a cursor 2016-11-09 21:40:11 -05:00
fbca1f995a remove PieceTable 2016-11-01 21:44:01 -04:00
1f3ecf950f draw cursor at end of line when in insert mode 2016-10-29 15:33:59 -04:00
65dea7f84f draw cursor skinner in insert mode 2016-10-29 15:11:42 -04:00
16029506c7 redraw screen when entering insert mode 2016-10-29 15:06:21 -04:00
239da4962e change to CTRL+q to quit for now 2016-10-29 11:02:28 -04:00
752d5b2071 insert key values as code points in insert mode 2016-10-29 09:12:50 -04:00
827f4efdd9 handle keys based on code point with modifier flags 2016-10-29 01:51:16 -04:00
fa752fefde begin reworking keyboard handling 2016-10-29 01:40:27 -04:00
7ba7abc029 keep track of current keymod 2016-10-29 00:43:25 -04:00
523eba81f5 update Window initial size to 800x800 for now 2016-10-25 21:31:12 -04:00
66105dc88f Separate PieceTable::Cursor::go_*() into go_*() and check_go_*() 2016-10-25 21:13:47 -04:00
7557fc4c1e do not draw \n characters 2016-10-15 18:38:59 -04:00