Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::view::WaveformViewport Struct Reference

Immutable-for-paint viewport state and sample/pixel conversion rules. More...

#include <waveform_editor_primitives.hpp>

Public Member Functions

void set_total_samples (int64_t samples)
void set_bounds (Rect rect)
void set_visible_range (int64_t start, int64_t length)
void zoom_in (double factor=2.0)
void zoom_out (double factor=2.0)
void zoom_to_fit ()
void scroll (int64_t delta_samples)
bool empty () const
int64_t visible_end () const
bool sample_visible (int64_t sample) const
bool sample_point_visible (int64_t sample) const
int64_t clamp_sample (int64_t sample) const
double samples_per_pixel () const
double pixels_per_sample () const
float sample_to_x (int64_t sample) const
int64_t x_to_sample (float x) const

Public Attributes

int64_t total_samples = 0
int64_t visible_start = 0
int64_t visible_length = 0
int64_t min_visible_length = 16
Rect bounds {}

Detailed Description

Immutable-for-paint viewport state and sample/pixel conversion rules.

Member Function Documentation

◆ clamp_sample()

int64_t pulp::view::WaveformViewport::clamp_sample ( int64_t sample) const
nodiscard

◆ empty()

bool pulp::view::WaveformViewport::empty ( ) const
inlinenodiscard

◆ pixels_per_sample()

double pulp::view::WaveformViewport::pixels_per_sample ( ) const
nodiscard

◆ sample_point_visible()

bool pulp::view::WaveformViewport::sample_point_visible ( int64_t sample) const
nodiscard

◆ sample_to_x()

float pulp::view::WaveformViewport::sample_to_x ( int64_t sample) const
nodiscard

◆ sample_visible()

bool pulp::view::WaveformViewport::sample_visible ( int64_t sample) const
nodiscard

◆ samples_per_pixel()

double pulp::view::WaveformViewport::samples_per_pixel ( ) const
nodiscard

◆ scroll()

void pulp::view::WaveformViewport::scroll ( int64_t delta_samples)

◆ set_bounds()

void pulp::view::WaveformViewport::set_bounds ( Rect rect)

◆ set_total_samples()

void pulp::view::WaveformViewport::set_total_samples ( int64_t samples)

◆ set_visible_range()

void pulp::view::WaveformViewport::set_visible_range ( int64_t start,
int64_t length )

◆ visible_end()

int64_t pulp::view::WaveformViewport::visible_end ( ) const
nodiscard

◆ x_to_sample()

int64_t pulp::view::WaveformViewport::x_to_sample ( float x) const
nodiscard

◆ zoom_in()

void pulp::view::WaveformViewport::zoom_in ( double factor = 2.0)

◆ zoom_out()

void pulp::view::WaveformViewport::zoom_out ( double factor = 2.0)

◆ zoom_to_fit()

void pulp::view::WaveformViewport::zoom_to_fit ( )

Member Data Documentation

◆ bounds

Rect pulp::view::WaveformViewport::bounds {}

◆ min_visible_length

int64_t pulp::view::WaveformViewport::min_visible_length = 16

◆ total_samples

int64_t pulp::view::WaveformViewport::total_samples = 0

◆ visible_length

int64_t pulp::view::WaveformViewport::visible_length = 0

◆ visible_start

int64_t pulp::view::WaveformViewport::visible_start = 0

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