ScummVM API documentation
ZVision::FocusList< T > Class Template Reference

#include <focus_list.h>

Inheritance diagram for ZVision::FocusList< T >:
Common::Array< T >

Public Member Functions

void set (const T currentFocus)
 
void remove (const T value)
 
- Public Member Functions inherited from Common::Array< T >
 Array (size_type count)
 
 Array (size_type count, const T &value)
 
 Array (const Array< T > &array)
 
 Array (Array< T > &&old)
 
 Array (std::initializer_list< T > list)
 
template<class T2 >
 Array (const T2 *array, size_type n)
 
template<class... TArgs>
void emplace (const_iterator pos, TArgs &&... args)
 
template<class... TArgs>
void emplace_back (TArgs &&...args)
 
void push_back (const T &element)
 
void push_back (T &&element)
 
void push_back (const Array< T > &array)
 
void pop_back ()
 
const T * data () const
 
T * data ()
 
T & front ()
 
const T & front () const
 
T & back ()
 
const T & back () const
 
void insert_at (size_type idx, const T &element)
 
void insert_at (size_type idx, const Array< T > &array)
 
void insert (iterator pos, const T &element)
 
remove_at (size_type idx)
 
T & operator[] (size_type idx)
 
const T & operator[] (size_type idx) const
 
Array< T > & operator= (const Array< T > &array)
 
Arrayoperator= (Array< T > &&old)
 
size_type size () const
 
void clear ()
 
iterator erase (iterator pos)
 
iterator erase (iterator first, iterator last)
 
bool empty () const
 
bool operator== (const Array< T > &other) const
 
bool operator!= (const Array< T > &other) const
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
void reserve (size_type newCapacity)
 
void resize (size_type newSize)
 
void resize (size_type newSize, const T value)
 
void assign (const_iterator first, const_iterator last)
 
void swap (Array &arr)
 

Additional Inherited Members

- Public Types inherited from Common::Array< T >
typedef T * iterator
 
typedef const T * const_iterator
 
typedef T value_type
 
typedef value_typereference
 
typedef const value_typeconst_reference
 
typedef uint size_type
 
- Protected Member Functions inherited from Common::Array< T >
void allocCapacity (size_type capacity)
 
void freeStorage (T *storage, const size_type elements)
 
iterator insert_aux (iterator pos, const_iterator first, const_iterator last)
 
- Static Protected Member Functions inherited from Common::Array< T >
static size_type roundUpCapacity (size_type capacity)
 
- Protected Attributes inherited from Common::Array< T >
size_type _capacity
 
size_type _size
 
T * _storage
 

Detailed Description

template<class T>
class ZVision::FocusList< T >

FILO array of unique members

Tracks redraw order of layered graphical elements. When an element has current focus, it is reshuffled to the top of the pile. When redrawing, start with last (bottom) element of list and finish with first (top) Used to:

  • ensure scrolling menus are drawn in the order in which they last had mouse focus.
    • ensure most recently updated subtitle is drawn atop all others.

Member Function Documentation

◆ set()

template<class T>
void ZVision::FocusList< T >::set ( const T  currentFocus)
inline

Move unique entry to front of list; add to list if not already present. Sequence of all remaining members remains unchanged.

◆ remove()

template<class T>
void ZVision::FocusList< T >::remove ( const T  value)
inline

Remove unique entry, if present. Sequence of all remaining members remains unchanged.


The documentation for this class was generated from the following file: