ardour
Classes | Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
Panner2d Class Reference

#include <panner2d.h>

Inheritance diagram for Panner2d:

Classes

class  Target
 

Public Member Functions

 Panner2d (boost::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)
 
boost::shared_ptr
< ARDOUR::PannerShell
get_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

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)
 

Private Attributes

boost::shared_ptr
< ARDOUR::PannerShell
panner_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
 

Detailed Description

Definition at line 54 of file panner2d.h.

Member Typedef Documentation

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

Definition at line 106 of file panner2d.h.

Constructor & Destructor Documentation

Panner2d::Panner2d ( boost::shared_ptr< ARDOUR::PannerShell p,
int32_t  height 
)

Definition at line 75 of file panner2d.cc.

Panner2d::~Panner2d ( )

Definition at line 95 of file panner2d.cc.

Member Function Documentation

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

Definition at line 186 of file panner2d.cc.

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

Definition at line 196 of file panner2d.cc.

void Panner2d::allow_target_motion ( bool  )
void Panner2d::cart_to_gtk ( PBD::CartesianVector c) const

Definition at line 794 of file panner2d.cc.

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

Definition at line 838 of file panner2d.cc.

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

Definition at line 295 of file panner2d.cc.

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

Definition at line 68 of file panner2d.h.

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

Definition at line 815 of file panner2d.cc.

gint Panner2d::handle_motion ( gint  evx,
gint  evy,
GdkModifierType  state 
)
private

Definition at line 717 of file panner2d.cc.

void Panner2d::handle_position_change ( )
private

Definition at line 255 of file panner2d.cc.

void Panner2d::handle_state_change ( )
private

Definition at line 207 of file panner2d.cc.

void Panner2d::label_signals ( )
private

Definition at line 227 of file panner2d.cc.

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

Definition at line 284 of file panner2d.cc.

bool Panner2d::on_button_press_event ( GdkEventButton *  ev)
protected

Definition at line 638 of file panner2d.cc.

bool Panner2d::on_button_release_event ( GdkEventButton *  ev)
protected

Definition at line 678 of file panner2d.cc.

bool Panner2d::on_expose_event ( GdkEventExpose *  event)
protected

Definition at line 417 of file panner2d.cc.

bool Panner2d::on_motion_notify_event ( GdkEventMotion *  ev)
protected

Definition at line 396 of file panner2d.cc.

bool Panner2d::on_scroll_event ( GdkEventScroll *  ev)
protected

Definition at line 777 of file panner2d.cc.

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

Definition at line 160 of file panner2d.cc.

void Panner2d::reset ( uint32_t  n_inputs)

Definition at line 103 of file panner2d.cc.

void Panner2d::set_send_drawing_mode ( bool  onoff)

Definition at line 387 of file panner2d.cc.

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

Definition at line 823 of file panner2d.cc.

void Panner2d::toggle_bypass ( )
private

Definition at line 848 of file panner2d.cc.

Member Data Documentation

bool Panner2d::_send_mode
private

Definition at line 121 of file panner2d.h.

double Panner2d::border
private

Definition at line 115 of file panner2d.h.

bool Panner2d::did_move
private

Definition at line 119 of file panner2d.h.

Target* Panner2d::drag_target
private

Definition at line 111 of file panner2d.h.

bool Panner2d::have_elevation
private

Definition at line 120 of file panner2d.h.

int Panner2d::height
private

Definition at line 113 of file panner2d.h.

double Panner2d::hoffset
private

Definition at line 116 of file panner2d.h.

double Panner2d::last_width
private

Definition at line 118 of file panner2d.h.

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

Definition at line 104 of file panner2d.h.

PBD::ScopedConnectionList Panner2d::panner_connections
private

Definition at line 133 of file panner2d.h.

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

Definition at line 103 of file panner2d.h.

PBD::ScopedConnectionList Panner2d::panshell_connections
private

Definition at line 132 of file panner2d.h.

Target Panner2d::position
private

Definition at line 109 of file panner2d.h.

double Panner2d::radius
private

Definition at line 114 of file panner2d.h.

Targets Panner2d::signals
private

Definition at line 108 of file panner2d.h.

Targets Panner2d::speakers
private

Definition at line 107 of file panner2d.h.

double Panner2d::voffset
private

Definition at line 117 of file panner2d.h.

int Panner2d::width
private

Definition at line 112 of file panner2d.h.


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