116 Commits

Author SHA1 Message Date
1232539495 Move buffer-related keypress handling from Window to BufferPane 2016-12-11 20:29:15 -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
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
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
261cc9abf8 adjust cursor movement to optionally allow moving to EOL 2016-10-15 18:07:58 -04:00
4d5e3dc0ea continued insertion testing, not sure i like this method 2016-10-08 16:59:11 -04:00
99bbe81f6b add PieceTable::begin_insert() 2016-10-05 22:47:08 -04:00
fe9747390a Add PieceTable::apply_change() and an initial undo 2016-09-26 22:54:19 -04:00
0a1bb6eb92 remove unused Window::m_start_piece 2016-09-26 20:24:16 -04:00
c2c0d6f042 add a piece table insertion test 2016-09-25 23:01:59 -04:00
7e518cd27a rename draw_text() to draw_buffer() 2016-09-13 22:55:48 -04:00
b9d7e1f93e Show cursor position in status bar 2016-09-13 22:51:51 -04:00
f9fd1dc754 Add a status bar (empty for now) 2016-09-13 22:26:56 -04:00
2289fe123e only set the clear color once 2016-09-13 22:21:30 -04:00
c852e9991b add a rectangle shader 2016-09-13 22:19:47 -04:00
6d8c8e76a9 add colrow_to_xy() and refactor to use it 2016-09-13 21:46:31 -04:00
980ec3a295 draw cursor crosshairs 2016-09-13 21:25:10 -04:00
cde71ac70a keep a target cursor column to move to when moving cursor up or down 2016-09-12 21:38:13 -04:00
7d3b66fe84 do not attempt to draw tab characters 2016-09-11 20:48:21 -04:00
f876b68bd0 Add cursor movements to move to SOL and EOL. 2016-09-07 22:31:24 -04:00
c2166b4bd1 warp cursor within scroll range on window resize 2016-09-07 22:06:53 -04:00
7df23e971e Unlock cursor from first screen row 2016-09-06 22:58:33 -04:00
7784024af1 remove Window::scroll_{up,down}() 2016-09-06 21:42:38 -04:00
a68ccb52e4 Do not redraw screen on cursor move if the cursor didn't actually move 2016-09-06 21:18:14 -04:00
86246385d4 Draw text based on new cursor movement system
The cursor row still locked to the first row for now
2016-09-06 21:05:24 -04:00
01bf455e68 Use an OpenGL array object to draw the cursor 2016-08-27 21:38:48 -04:00
11cac3c8b5 add a PieceTable::Cursor to Window 2016-08-01 22:02:42 -04:00
b0553fdbd2 adjust font vertical position by baseline offset 2016-07-31 23:11:26 -04:00
5a942a61a9 add FlatShader; draw a cursor 2016-07-31 23:08:26 -04:00
7064afc1f1 rename PieceDescriptor to just Piece 2016-07-30 09:52:46 -04:00