1 #ifdef __cplusplus 2 extern "C" { 3 #endif 4 5 #ifndef __TICKIT_MOCKTERM_H__ 6 #define __TICKIT_MOCKTERM_H__ 7 8 /* 9 * The contents of this file should be considered entirely experimental, and 10 * subject to any change at any time. We make no API or ABI stability 11 * guarantees at this time. 12 */ 13 14 #include "tickit.h" 15 16 typedef struct 17 { 18 enum { 19 LOG_GOTO = 1, 20 LOG_PRINT, 21 LOG_ERASECH, 22 LOG_CLEAR, 23 LOG_SCROLLRECT, 24 LOG_SETPEN, 25 } type; 26 int val1, val2; // GOTO(line, col); ERASECH(count, moveend); SCROLLRECT(downward,rightward) 27 const char *str; // PRINT 28 TickitRect rect; // SCROLLRECT 29 TickitPen *pen; // SETPEN 30 } TickitMockTermLogEntry; 31 32 /* A TickitMockTerm really is a TickitTerm */ 33 typedef TickitTerm TickitMockTerm; 34 35 TickitMockTerm *tickit_mockterm_new(int lines, int cols); 36 void tickit_mockterm_destroy(TickitMockTerm *mt); 37 38 void tickit_mockterm_resize(TickitMockTerm *mt, int newlines, int newcols); 39 40 size_t tickit_mockterm_get_display_text(TickitMockTerm *mt, char *buffer, size_t len, int line, int col, int width); 41 TickitPen *tickit_mockterm_get_display_pen(TickitMockTerm *mt, int line, int col); 42 43 int tickit_mockterm_loglen(TickitMockTerm *mt); 44 TickitMockTermLogEntry *tickit_mockterm_peeklog(TickitMockTerm *mt, int i); 45 void tickit_mockterm_clearlog(TickitMockTerm *mt); 46 47 void tickit_mockterm_get_position(TickitMockTerm *mt, int *line, int *col); 48 49 #endif 50 51 #ifdef __cplusplus 52 } 53 #endif 54