Ardour  9.0-pre0-822-g12e3bc5c20
Panner2d Class Reference

#include <panner2d.h>

Inheritance diagram for Panner2d:
[legend]

Classes

struct  ColorScheme
 
class  Target
 

Public Member Functions

 Panner2d (std::shared_ptr< ARDOUR::PannerShell >, int32_t height)
 
 ~Panner2d ()
 
void allow_target_motion (bool)
 
int add_speaker (const PBD::AngularVector &)
 
int add_signal (const char *text, const PBD::AngularVector &)
 
void move_signal (int which, const PBD::AngularVector &)
 
void reset (uint32_t n_inputs)
 
void set_send_drawing_mode (bool)
 
std::shared_ptr< ARDOUR::PannerShellget_panner_shell () const
 
void cart_to_gtk (PBD::CartesianVector &) const
 
void gtk_to_cart (PBD::CartesianVector &) const
 

Protected Member Functions

bool on_expose_event (GdkEventExpose *)
 
bool on_button_press_event (GdkEventButton *)
 
bool on_button_release_event (GdkEventButton *)
 
bool on_motion_notify_event (GdkEventMotion *)
 
bool on_scroll_event (GdkEventScroll *)
 
void on_size_allocate (Gtk::Allocation &alloc)
 

Private Types

typedef std::vector< Target * > Targets
 

Private Member Functions

void color_handler ()
 
Targetfind_closest_object (gdouble x, gdouble y, bool &is_signal)
 
gint handle_motion (gint, gint, GdkModifierType)
 
void toggle_bypass ()
 
void handle_state_change ()
 
void handle_position_change ()
 
void label_signals ()
 
void clamp_to_circle (double &x, double &y)
 
void sphere_project (double &x, double &y, double &z)
 

Static Private Member Functions

static void set_colors ()
 

Private Attributes

std::shared_ptr< ARDOUR::PannerShellpanner_shell
 
Glib::RefPtr< Pango::Layout > layout
 
Targets speakers
 
Targets signals
 
Target position
 
Targetdrag_target
 
int width
 
int height
 
double radius
 
double border
 
double hoffset
 
double voffset
 
double last_width
 
bool did_move
 
bool have_elevation
 
bool _send_mode
 
PBD::ScopedConnectionList panshell_connections
 
PBD::ScopedConnectionList panner_connections
 

Static Private Attributes

static ColorScheme colors
 
static bool have_colors
 

Detailed Description

Definition at line 53 of file panner2d.h.

Member Typedef Documentation

◆ Targets

typedef std::vector<Target*> Panner2d::Targets
private

Definition at line 127 of file panner2d.h.

Constructor & Destructor Documentation

◆ Panner2d()

Panner2d::Panner2d ( std::shared_ptr< ARDOUR::PannerShell ,
int32_t  height 
)

◆ ~Panner2d()

Panner2d::~Panner2d ( )

Member Function Documentation

◆ add_signal()

int Panner2d::add_signal ( const char *  text,
const PBD::AngularVector  
)

◆ add_speaker()

int Panner2d::add_speaker ( const PBD::AngularVector )

◆ allow_target_motion()

void Panner2d::allow_target_motion ( bool  )

◆ cart_to_gtk()

void Panner2d::cart_to_gtk ( PBD::CartesianVector ) const

◆ clamp_to_circle()

void Panner2d::clamp_to_circle ( double &  x,
double &  y 
)
private

◆ color_handler()

void Panner2d::color_handler ( )
private

◆ find_closest_object()

Target* Panner2d::find_closest_object ( gdouble  x,
gdouble  y,
bool &  is_signal 
)
private

◆ get_panner_shell()

std::shared_ptr<ARDOUR::PannerShell> Panner2d::get_panner_shell ( ) const
inline

Definition at line 67 of file panner2d.h.

◆ gtk_to_cart()

void Panner2d::gtk_to_cart ( PBD::CartesianVector ) const

◆ handle_motion()

gint Panner2d::handle_motion ( gint  ,
gint  ,
GdkModifierType   
)
private

◆ handle_position_change()

void Panner2d::handle_position_change ( )
private

◆ handle_state_change()

void Panner2d::handle_state_change ( )
private

◆ label_signals()

void Panner2d::label_signals ( )
private

◆ move_signal()

void Panner2d::move_signal ( int  which,
const PBD::AngularVector  
)

◆ on_button_press_event()

bool Panner2d::on_button_press_event ( GdkEventButton *  )
protected

◆ on_button_release_event()

bool Panner2d::on_button_release_event ( GdkEventButton *  )
protected

◆ on_expose_event()

bool Panner2d::on_expose_event ( GdkEventExpose *  )
protected

◆ on_motion_notify_event()

bool Panner2d::on_motion_notify_event ( GdkEventMotion *  )
protected

◆ on_scroll_event()

bool Panner2d::on_scroll_event ( GdkEventScroll *  )
protected

◆ on_size_allocate()

void Panner2d::on_size_allocate ( Gtk::Allocation &  alloc)
protected

◆ reset()

void Panner2d::reset ( uint32_t  n_inputs)

◆ set_colors()

static void Panner2d::set_colors ( )
staticprivate

◆ set_send_drawing_mode()

void Panner2d::set_send_drawing_mode ( bool  )

◆ sphere_project()

void Panner2d::sphere_project ( double &  x,
double &  y,
double &  z 
)
private

◆ toggle_bypass()

void Panner2d::toggle_bypass ( )
private

Member Data Documentation

◆ _send_mode

bool Panner2d::_send_mode
private

Definition at line 142 of file panner2d.h.

◆ border

double Panner2d::border
private

Definition at line 136 of file panner2d.h.

◆ colors

ColorScheme Panner2d::colors
staticprivate

Definition at line 119 of file panner2d.h.

◆ did_move

bool Panner2d::did_move
private

Definition at line 140 of file panner2d.h.

◆ drag_target

Target* Panner2d::drag_target
private

Definition at line 132 of file panner2d.h.

◆ have_colors

bool Panner2d::have_colors
staticprivate

Definition at line 121 of file panner2d.h.

◆ have_elevation

bool Panner2d::have_elevation
private

Definition at line 141 of file panner2d.h.

◆ height

int Panner2d::height
private

Definition at line 134 of file panner2d.h.

◆ hoffset

double Panner2d::hoffset
private

Definition at line 137 of file panner2d.h.

◆ last_width

double Panner2d::last_width
private

Definition at line 139 of file panner2d.h.

◆ layout

Glib::RefPtr<Pango::Layout> Panner2d::layout
private

Definition at line 125 of file panner2d.h.

◆ panner_connections

PBD::ScopedConnectionList Panner2d::panner_connections
private

Definition at line 154 of file panner2d.h.

◆ panner_shell

std::shared_ptr<ARDOUR::PannerShell> Panner2d::panner_shell
private

Definition at line 124 of file panner2d.h.

◆ panshell_connections

PBD::ScopedConnectionList Panner2d::panshell_connections
private

Definition at line 153 of file panner2d.h.

◆ position

Target Panner2d::position
private

Definition at line 130 of file panner2d.h.

◆ radius

double Panner2d::radius
private

Definition at line 135 of file panner2d.h.

◆ signals

Targets Panner2d::signals
private

Definition at line 129 of file panner2d.h.

◆ speakers

Targets Panner2d::speakers
private

Definition at line 128 of file panner2d.h.

◆ voffset

double Panner2d::voffset
private

Definition at line 138 of file panner2d.h.

◆ width

int Panner2d::width
private

Definition at line 133 of file panner2d.h.


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