diff options
author | Jaakko Keränen <jaakko.keranen@iki.fi> | 2021-04-14 16:19:42 +0300 |
---|---|---|
committer | Jaakko Keränen <jaakko.keranen@iki.fi> | 2021-04-15 10:23:06 +0300 |
commit | fefbd1c259c912fe126a5f34245a8b4c494cb753 (patch) | |
tree | 4f1add012361fc9c8430ee43987562252d123bb9 /src/periodic.h | |
parent | d3b4292242dd938503a31ba68066d53b29f364a4 (diff) |
Progressive document rendering
VisBuf now guarantees that all the buffers are sequentially ordered. This ensure complete utilization of all the buffers. Previously some buffers were not used at all, or allocated to the same origin as another one (!).
DocumentWidget is able to progressively fill up a buffer while scrolling. After any change to the visible region has been detected (and there are no ongoing changes), prerender the remaining runs one at a time. This solves the issue where one text run would be always unnecessarily rendered while scrolling, even if the scroll distance was just one pixel.
Diffstat (limited to 'src/periodic.h')
-rw-r--r-- | src/periodic.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/periodic.h b/src/periodic.h index db90b848..8886617b 100644 --- a/src/periodic.h +++ b/src/periodic.h | |||
@@ -40,7 +40,7 @@ iLocalDef iBool isEmpty_Periodic(const iPeriodic *d) { | |||
40 | return isEmpty_SortedArray(&d->commands); | 40 | return isEmpty_SortedArray(&d->commands); |
41 | } | 41 | } |
42 | 42 | ||
43 | void add_Periodic (iPeriodic *, iAny *context, const char *command); | 43 | void add_Periodic (iPeriodic *, iAnyObject *context, const char *command); |
44 | void remove_Periodic (iPeriodic *, iAny *context); | 44 | void remove_Periodic (iPeriodic *, iAnyObject *context); |
45 | 45 | ||
46 | iBool postCommands_Periodic (iPeriodic *); | 46 | iBool dispatchCommands_Periodic( iPeriodic *); |