Неочевидный функционал:
- открытие через аргумент командной строки.
- скролл колесиком, стрелками, PgUp, PgDown, скроллбар.
- горизонтальный скролл пока что только стрелками и shift+колесико.
В общем, потестируйте, и дайте обратную связь
![Smile :)](./images/smilies/icon_smile.gif)
Code: Select all
void render_DrawLen(pen_t *pen, char *buf, char *text, int len) {
int mask = pen->bold | (pen->italic << 1) | (pen->underline << 2) | (pen->strike << 3);
drawText(buf, pen->pos.x, pen->pos.y, text, len, pen->color + (0xFF << 24), ((mask * 0x100 + 0x03) * 0x100 + (int)(pen->font_size.x * pen->mul)) * 0x100 + (int)(pen->font_size.y * pen->mul));
pen->pos.x += (int)(pen->font_size.x * pen->mul) * len;
}
У меня есть один буфер, я сразу все на него рисую, а потом вывожу подпрямоугольники в окно. Вы, как я понял, предлагаете каждый раз заново отрисовывать в буфер, но только то, что необходимо в окне прямо сейчас? Мне кажется что так не очень эффективно - в моем способе просто вывести буфер, а здесь его надо каждый раз создавать. Хотя в любом случае вы лучше знаете про этоВот только буфер должен соответствовать размеру окна (рисовать только тот текст, который попадает в окно), а для этого нужна какая-нибудь связная структура документа (типа DOM или хотя бы список строк).
Графический буфер, при обновлении изображения, не создается заново, а стирается (заполняется цветом фона). Новый буфер создается только при изменении размера окна. В вашем случае, большой документ может не поместиться в буфере, или буфер не поместится в оперативной памяти.qullarwee wrote: ↑Sun Apr 16, 2023 7:30 pm У меня есть один буфер, я сразу все на него рисую, а потом вывожу подпрямоугольники в окно. Вы, как я понял, предлагаете каждый раз заново отрисовывать в буфер, но только то, что необходимо в окне прямо сейчас? Мне кажется что так не очень эффективно - в моем способе просто вывести буфер, а здесь его надо каждый раз создавать.
Значит используется кодировка utf-8. Длину символа можно определить по значению первого байта:
Users browsing this forum: No registered users and 7 guests