In file include/csengine/cbuffer.h:

## class csCBufferLine

> A line in the CBuffer

### Private Fields

  csCBufferSpan* | first_span List of all empty spans on this line.
  csCBufferSpan* | last_span Pointer to last span in the list of empty spans.
  csCBuffer* | parent Parent C-buffer.

### Private Methods

  | csCBufferLine () Initialize a c-buffer line.
  void | Dump () Dump information about this scanline.
  void | Initialize (int startx, int endx) Initialize this line to the given empty span
  bool | InsertSpan (int startx, int endx) Take a full span and insert it into the c-buffer line
  bool | IsFull () Return true if this line if full (i.e. no empty spans left).
  void | MakeFull () Make this line full.
  void | SetParent (csCBuffer* par) Set parent.
  bool | TestSingle (int x) Test if a given one-element-scan is full or empty (i
  bool | TestSpan (int startx, int endx) Take a full span and test if it would have changed this c-buffer line on insertion
  | ~csCBufferLine () Destruct a c-buffer line and free all used spans

## Documentation

> A line in the CBuffer. Spans are allocated on an as-needed base. But they are not freed. Instead, unused spans are put in the first_unused list (in csCBuffer). The size of this list will always be equal to the maximum number of spans once used on screen.

`csCBufferSpan* first_span`
  List of all empty spans on this line.

`csCBufferSpan* last_span`
  Pointer to last span in the list of empty spans.

`csCBuffer* parent`
  Parent C-buffer.

`csCBufferLine()`
  Initialize a c-buffer line.

`~csCBufferLine()`
  Destruct a c-buffer line and free all used spans. Note: the spans are really freed and not put in the unused list.

`void SetParent(csCBuffer* par)`
  Set parent.

`void Initialize(int startx, int endx)`
  Initialize this line to the given empty span

`bool IsFull()`
  Return true if this line if full (i.e. no empty spans left).

`void MakeFull()`
  Make this line full.

`bool TestSpan(int startx, int endx)`
  Take a full span and test if it would have changed this c-buffer line on insertion. This means that the span is visible.

`bool InsertSpan(int startx, int endx)`
  Take a full span and insert it into the c-buffer line. Return true if the span line was modified (i.e. the span is visible).

`bool TestSingle(int x)`
  Test if a given one-element-scan is full or empty (i.e. return true if visible).

`void Dump()`
  Dump information about this scanline.

This class has no child classes.

alphabetic index hierarchy of classes

this page has been generated automatically by doc++

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de