Files
kitty-mirror/kitty/resize.h
Kovid Goyal 561686c9d4 Refactor rewrap code, again
Now we do the rewrap of history and line buffers together. This is
faster and deals with multiline chars split between the two buffers
correctly. Also, considerably simpler code.
2025-02-03 10:56:49 +05:30

26 lines
613 B
C

/*
* resize.h
* Copyright (C) 2024 Kovid Goyal <kovid at kovidgoyal.net>
*
* Distributed under terms of the GPL3 license.
*/
#pragma once
#include "line-buf.h"
#include "history.h"
typedef struct TrackCursor {
index_type x, y;
index_type dest_x, dest_y;
bool is_sentinel;
} TrackCursor;
typedef struct ResizeResult {
LineBuf *lb; HistoryBuf *hb;
bool ok;
index_type num_content_lines_before, num_content_lines_after;
} ResizeResult;
ResizeResult
resize_screen_buffers(LineBuf *lb, HistoryBuf *hb, index_type lines, index_type columns, ANSIBuf *as_ansi_buf, TrackCursor *cursors);