cwidget
0.5.17
|
A fragment represents a logical unit of text. More...
#include <fragment.h>
Public Member Functions | |
virtual fragment_contents | layout (size_t firstw, size_t w, const style &st)=0 |
Return all the lines of this fragment, given the "shape" of the fragment. More... | |
virtual size_t | max_width (size_t first_indent, size_t rest_indent) const =0 |
virtual size_t | trailing_width (size_t first_indent, size_t rest_indent) const =0 |
virtual bool | final_newline () const =0 |
virtual | ~fragment () |
Nothing to do in the base class. | |
A fragment represents a logical unit of text.
|
pure virtual |
Implemented in cwidget::fragment_cache.
Referenced by cwidget::fragment_cache::final_newline().
|
pure virtual |
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.
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. |
Implemented in cwidget::fragment_cache.
Referenced by cwidget::widgets::text_layout::height_request(), and cwidget::fragment_cache::layout().
|
pure virtual |
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. |
Implemented in cwidget::fragment_cache.
Referenced by cwidget::dropbox(), cwidget::fragment_cache::max_width(), and cwidget::widgets::text_layout::width_request().
|
pure virtual |
first_indent | the indentation of the first line. |
rest_indent | the indentation of any other lines. |
Implemented in cwidget::fragment_cache.
Referenced by cwidget::fragment_cache::trailing_width().