1 static void k8t_tmWantRedraw (K8Term
*term
, int forceFast
);
2 static void k8t_tmDirtyMark (K8Term
*term
, int lineno
, int flag
);
3 static void k8t_selInit (K8Term
*term
);
4 static void k8t_selHide (K8Term
*term
);
5 static int k8t_isSelected (K8Term
*term
, int x
, int y
);
6 static void k8t_getButtonInfo (K8Term
*term
, XEvent
*e
, int *b
, int *x
, int *y
);
7 static void k8t_mouseReport (K8Term
*term
, XEvent
*e
);
8 static void k8t_selXSet (K8Term
*term
, char *str
);
9 static void k8t_selClear (K8Term
*term
);
10 static K8TLine
k8t_selGet (K8Term
*term
, int y
);
11 static void k8t_selCopy (K8Term
*term
);
12 static void k8t_tmDrawFatalBox (K8Term
*term
, const char *msg
);
13 static int k8t_ttyNew (K8Term
*term
);
14 static void k8t_dbgCSIDump (K8Term
*term
);
15 static void k8t_tmResetAttrs (K8Term
*term
);
16 static void k8t_tmSetAttr (K8Term
*term
, int *attr
, int l
);
17 static int k8t_tmDoWrap (K8Term
*term
);
18 static void k8t_tmCSIHandle (K8Term
*term
);
19 static void k8t_tmCSIReset (K8Term
*term
);
20 static void k8t_tmCSIParse (K8Term
*term
);
21 static void k8t_tmPutTab (K8Term
*term
);
22 static int k8t_tmPutCtrl (K8Term
*term
, char ascii
);
23 static void k8t_tmPutC (K8Term
*term
, const char *c
);
24 static int k8t_ttyCanRead (K8Term
*term
);
25 static int k8t_ttyCanWrite (K8Term
*term
);
26 static int k8t_ttyRead (K8Term
*term
);
27 static void k8t_ttyFlushWriteBuf (K8Term
*term
);
28 static int k8t_ttyWriteRawChar (K8Term
*term
, const char *s
, int len
, int noenc
);
29 static void k8t_ttyWriteNoEnc (K8Term
*term
, const char *s
, size_t n
);
30 static void k8t_ttyWrite (K8Term
*term
, const char *s
, size_t n
);
31 static void k8t_tmDirty (K8Term
*term
, int top
, int bot
);
32 static void k8t_tmFullDirty (K8Term
*term
);
33 static void k8t_tmMoveTo (K8Term
*term
, int x
, int y
);
34 static void k8t_tmClearRegion (K8Term
*term
, int x1
, int y1
, int x2
, int y2
);
35 static void k8t_tmCursor (K8Term
*term
, int mode
);
36 static void k8t_tmAdjMaxHistory (K8Term
*term
, int maxh
);
37 static void k8t_tmSwapScreen (K8Term
*term
);
38 static void k8t_tmScrollSelection (K8Term
*term
, int orig
, int n
, int tohistory
);
39 static void k8t_tmScrollDown (K8Term
*term
, int orig
, int n
);
40 static void k8t_tmScrollUp (K8Term
*term
, int orig
, int n
, int tohistory
);
41 static void k8t_tmCharWrap (K8Term
*term
, int y
, int wrap
);
42 static void k8t_tmNewLine (K8Term
*term
, int first_col
);
43 static void k8t_tmSetChar (K8Term
*term
, const char *c
);
44 static void k8t_tmDeleteChar (K8Term
*term
, int n
);
45 static void k8t_tmInsertBlank (K8Term
*term
, int n
);
46 static void k8t_tmInsertBlankLine (K8Term
*term
, int n
);
47 static void k8t_tmDeleteLine (K8Term
*term
, int n
);
48 static void k8t_tmSetScrollRegion (K8Term
*term
, int t
, int b
);
49 static void k8t_tmUnshowHistory (K8Term
*term
);
50 static void k8t_tmSendFocusEvent (K8Term
*term
, int focused
);
51 static void k8t_tmResetMode (K8Term
*term
);
52 static void k8t_tmReset (K8Term
*term
);
53 static int k8t_tmInitialize (K8Term
*term
, int col
, int row
);
54 static int k8t_tmResize (K8Term
*term
, int col
, int row
);
55 static void k8t_ttyResize (K8Term
*term
);
56 static int k8t_UTF8Decode (uint32_t *u
, const void *buf
);
57 static int k8t_UTF8Encode (void *buf
, uint32_t uc
);
58 static int k8t_UTF8IsFull (const void *buf
, int buflen
);
59 static int k8t_UTF8Size (const void *buf
);
60 static int k8t_UTF8strlen (const char *s
);
61 static void k8t_UTF8ChopLast (char *s
);
62 static void k8t_DrawLine (K8Term
*term
, int x1
, int x2
, int scry
, int lineno
, int dontcopy
);
63 static void k8t_DrawRegion (K8Term
*term
, int x1
, int y1
, int x2
, int y2
, int forced
);
64 static void k8t_Draw (K8Term
*term
, int forced
);
65 static void k8t_DrawCursor (K8Term
*term
);
66 static void k8t_DrawString (K8Term
*term
, const char *s
, const K8TGlyph
*base
, int x
, int y
, int charlen
, int bytelen
);
67 static void k8t_DrawClear (K8Term
*term
, int x1
, int y1
, int x2
, int y2
);
68 static void k8t_DrawCopy (K8Term
*term
, int x
, int y
, int cols
, int rows
);