Lines Matching refs:TT
63 tty_jump(0, TT.height);
73 yy = (TT.base+yy)*16;
74 if (yy+xx>=TT.len) xx = TT.len-yy;
76 if (yy<TT.len) {
77 printf("\r%0*llX ", TT.numlen, yy);
78 for (x=0; x<xx; x++) printf(" %02X", TT.data[yy+x]);
80 for (x=0; x<xx; x++) draw_char(stdout, TT.data[yy+x]);
91 for (y = 0; y<TT.height; y++) {
101 char cc = TT.data[16*(TT.base+yy)+xx];
105 tty_jump(2+TT.numlen+3*xx, yy);
114 tty_jump(TT.numlen+17*3+xx, yy);
128 TT.height = 25;
129 terminal_size(0, &TT.height);
130 if (TT.height) TT.height--;
137 if ((TT.len = fdlength(fd))<1) error_exit("bad length");
138 if (sizeof(long)==32 && TT.len>SIZE_MAX) TT.len = SIZE_MAX;
140 for (pos = TT.len, TT.numlen = 0; pos; pos >>= 4, TT.numlen++);
141 TT.numlen += (4-TT.numlen)&3;
143 TT.data = xmmap(0, TT.len, PROT_READ|(PROT_WRITE*!ro), MAP_SHARED, fd, 0);
149 if (pos>=TT.len) pos = TT.len-1;
154 while (y<TT.base) {
155 if (TT.base-y>(TT.height/2)) {
156 TT.base = y;
159 TT.base--;
166 while (y>=TT.base+TT.height) {
167 if (y-(TT.base+TT.height)>(TT.height/2)) {
168 TT.base = y-TT.height-1;
171 TT.base++;
175 tty_jump(0, TT.height-1);
176 draw_line(TT.height-1);
180 y -= TT.base;
198 ll[TT.undo] = pos;
199 toybuf[(sizeof(long long)*UNDO_LEN)+TT.undo++] = TT.data[pos];
200 if (TT.undolen < UNDO_LEN) TT.undolen++;
201 TT.undo %= UNDO_LEN;
206 TT.data[pos] &= 15<<(4*side);
207 TT.data[pos] |= i<<(4*!side);
216 if (TT.undolen) {
219 TT.undolen--;
220 if (!TT.undo) TT.undo = UNDO_LEN;
221 pos = ll[--TT.undo];
222 TT.data[pos] = toybuf[sizeof(long long)*UNDO_LEN+TT.undo];
234 } else if (key==KEY_PGUP) pos -= 16*TT.height;
235 else if (key==KEY_PGDN) pos += 16*TT.height;
237 else if (key==KEY_END) pos = TT.len-1;
240 munmap(TT.data, TT.len);