Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
Aleph::CA::X11_Frame_Sink< Mapper > Class Template Reference

Live X11 frame sink. More...

#include <ca-x11-viewer.H>

Collaboration diagram for Aleph::CA::X11_Frame_Sink< Mapper >:
[legend]

Public Member Functions

 X11_Frame_Sink (Mapper mapper, X11_Viewer_Options opts={})
 Build an X11 viewer sink.
 
 X11_Frame_Sink (const X11_Frame_Sink &)=delete
 
X11_Frame_Sink & operator= (const X11_Frame_Sink &)=delete
 
 X11_Frame_Sink (X11_Frame_Sink &&other) noexcept
 Move-construct a viewer, transferring the window handle.
 
 ~X11_Frame_Sink ()
 Close the X11 window best-effort.
 
bool active () const noexcept
 Return whether the viewer is actively drawing.
 
template<typename Lattice >
void accept (const std::size_t step, const Lattice &frame)
 Draw one frame, or no-op when disabled/headless.
 
void flush ()
 Flush pending X11 requests.
 

Private Member Functions

void ensure_window (ca_size_t, ca_size_t)
 

Private Attributes

Mapper mapper_
 
X11_Viewer_Options opts_ {}
 
bool disabled_ = false
 

Detailed Description

template<typename Mapper>
class Aleph::CA::X11_Frame_Sink< Mapper >

Live X11 frame sink.

Template Parameters
Mapperinvocable state_type -> RGB8.

Definition at line 91 of file ca-x11-viewer.H.

Constructor & Destructor Documentation

◆ X11_Frame_Sink() [1/3]

template<typename Mapper >
Aleph::CA::X11_Frame_Sink< Mapper >::X11_Frame_Sink ( Mapper  mapper,
X11_Viewer_Options  opts = {} 
)
inlineexplicit

Build an X11 viewer sink.

Parameters
[in]mapperstate-to-RGB mapper.
[in]optsviewer options.

Definition at line 185 of file ca-x11-viewer.H.

◆ X11_Frame_Sink() [2/3]

template<typename Mapper >
Aleph::CA::X11_Frame_Sink< Mapper >::X11_Frame_Sink ( const X11_Frame_Sink< Mapper > &  )
delete

◆ X11_Frame_Sink() [3/3]

template<typename Mapper >
Aleph::CA::X11_Frame_Sink< Mapper >::X11_Frame_Sink ( X11_Frame_Sink< Mapper > &&  other)
inlinenoexcept

Move-construct a viewer, transferring the window handle.

Parameters
[in,out]othersink to move from.

Definition at line 195 of file ca-x11-viewer.H.

References Aleph::blossom_maximum_cardinality_matching().

◆ ~X11_Frame_Sink()

Close the X11 window best-effort.

Definition at line 216 of file ca-x11-viewer.H.

References Aleph::blossom_maximum_cardinality_matching().

Member Function Documentation

◆ accept()

template<typename Mapper >
template<typename Lattice >
void Aleph::CA::X11_Frame_Sink< Mapper >::accept ( const std::size_t  step,
const Lattice &  frame 
)
inline

◆ active()

template<typename Mapper >
bool Aleph::CA::X11_Frame_Sink< Mapper >::active ( ) const
inlinenoexcept

Return whether the viewer is actively drawing.

Returns
true when a display window exists.

Definition at line 226 of file ca-x11-viewer.H.

References Aleph::blossom_maximum_cardinality_matching().

◆ ensure_window()

◆ flush()

template<typename Mapper >
void Aleph::CA::X11_Frame_Sink< Mapper >::flush ( )
inline

Flush pending X11 requests.

Definition at line 278 of file ca-x11-viewer.H.

References Aleph::blossom_maximum_cardinality_matching().

◆ operator=()

Member Data Documentation

◆ disabled_

template<typename Mapper >
bool Aleph::CA::X11_Frame_Sink< Mapper >::disabled_ = false
private

Definition at line 95 of file ca-x11-viewer.H.

Referenced by Aleph::CA::X11_Frame_Sink< Mapper >::ensure_window().

◆ mapper_

template<typename Mapper >
Mapper Aleph::CA::X11_Frame_Sink< Mapper >::mapper_
private

Definition at line 93 of file ca-x11-viewer.H.

Referenced by Aleph::CA::X11_Frame_Sink< Mapper >::accept().

◆ opts_


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