A fragment that caches its contents; a cached result is used if the same width is passed to the layout routine twice in a row.
More...
#include <fragment_cache.h>
A fragment that caches its contents; a cached result is used if the same width is passed to the layout routine twice in a row.
Obviously this should only be done if you know that the contents are static.
◆ final_newline()
bool cwidget::fragment_cache::final_newline |
( |
| ) |
const |
|
virtual |
◆ layout()
Return all the lines of this fragment, given the "shape" of the fragment.
Note that some fragments ignore the given widths, so the caller is expected to either put everything in a formatting box (one that forces its contents to stay "in bounds") or manually clip the return value.
- Parameters
-
firstw | the width to which the first line of the fragment should be formatted. |
w | the width to which subsequent lines of the fragment should be formatted. |
s | the enclosing style of this fragment. The fragment's size is guaranteed to be independent of s. |
- Returns
- the lines of this fragment; the caller is responsible for deleting it.
Implements cwidget::fragment.
◆ max_width()
size_t cwidget::fragment_cache::max_width |
( |
size_t |
first_indent, |
|
|
size_t |
rest_indent |
|
) |
| const |
|
virtual |
- Parameters
-
first_indent | the indentation of the first line, relative to a baseline (which may be outside this fragment). |
rest_indent | the indentation of any other lines. |
- Returns
- the maximum length of any line in this fragment. Any call to layout() with a width greater than this maximum length will produce the same result.
Implements cwidget::fragment.
◆ trailing_width()
size_t cwidget::fragment_cache::trailing_width |
( |
size_t |
first_indent, |
|
|
size_t |
rest_indent |
|
) |
| const |
|
virtual |
- Parameters
-
first_indent | the indentation of the first line. |
rest_indent | the indentation of any other lines. |
- Returns
- the length of any "trailing" line in the fragment, including indentation.
Implements cwidget::fragment.
The documentation for this class was generated from the following files: