Zrythm
a highly automated and intuitive digital audio workstation
|
Ruler parent class. More...
Go to the source code of this file.
Data Structures | |
struct | RulerWidget |
Macros | |
#define | RW_RULER_MARKER_SIZE 8 |
#define | RW_CUE_MARKER_HEIGHT 12 |
#define | RW_CUE_MARKER_WIDTH 7 |
#define | RW_PLAYHEAD_TRIANGLE_WIDTH 12 |
#define | RW_PLAYHEAD_TRIANGLE_HEIGHT 8 |
#define | RW_RANGE_HEIGHT_DIVISOR 4 |
#define | RW_HEIGHT 42 |
#define | RW_SCROLL_SPEED 48 |
Mouse wheel scroll speed (number of pixels). | |
#define | RW_PX_TO_HIDE_BEATS 40.0 |
Minimum number of pixels between beat lines. | |
#define | RULER_WIDGET_TYPE (ruler_widget_get_type ()) |
#define | DEFAULT_PX_PER_TICK 0.03 |
Pixels to draw between each beat, before being adjusted for zoom. | |
#define | SPACE_BEFORE_START 10 |
Pixels to put before 1st bar. | |
#define | SPACE_BEFORE_START_F 10.f |
#define | SPACE_BEFORE_START_D 10.0 |
#define | RULER_ZOOM_LEVEL_MULTIPLIER 1.28 |
Multiplier when zooming in/out. | |
#define | MIN_ZOOM_LEVEL 0.04 |
#define | MAX_ZOOM_LEVEL 1800. |
Enumerations | |
enum class | RWTarget { RW_TARGET_PLAYHEAD , RW_TARGET_LOOP_START , RW_TARGET_LOOP_END , RW_TARGET_PUNCH_IN , RW_TARGET_PUNCH_OUT , RW_TARGET_CLIP_START , RWTarget::RW_TARGET_RANGE , RWTarget::RW_TARGET_LOOP_RANGE } |
The ruler widget target acting upon. More... | |
enum class | RulerWidgetType { RULER_WIDGET_TYPE_TIMELINE , RULER_WIDGET_TYPE_EDITOR } |
enum class | RulerWidgetRangeType { RulerWidgetRangeType::RW_RANGE_START , RulerWidgetRangeType::RW_RANGE_FULL , RulerWidgetRangeType::RW_RANGE_END } |
Range type. More... | |
Functions | |
bool | ruler_widget_set_zoom_level (RulerWidget *self, double zoom_level) |
Sets zoom level and disables/enables buttons accordingly. | |
double | ruler_widget_get_zoom_level (RulerWidget *self) |
Gets the zoom level associated with this RulerWidget from the backend. | |
void | ruler_widget_handle_horizontal_zoom (RulerWidget *self, double *x_pos, double dy) |
Handle horizontal zoom. | |
int | ruler_widget_get_beat_interval (RulerWidget *self) |
Returns the beat interval for drawing vertical lines. | |
int | ruler_widget_get_sixteenth_interval (RulerWidget *self) |
Returns the sixteenth interval for drawing vertical lines. | |
int | ruler_widget_get_10sec_interval (RulerWidget *self) |
Returns the 10 sec interval. | |
int | ruler_widget_get_sec_interval (RulerWidget *self) |
Returns the sec interval. | |
bool | ruler_widget_is_range_hit (RulerWidget *self, RulerWidgetRangeType type, double x, double y) |
bool | ruler_widget_is_loop_range_hit (RulerWidget *self, RulerWidgetRangeType type, double x, double y) |
Whether the loop range is hit. | |
void | ruler_widget_px_to_pos (RulerWidget *self, double px, Position *pos, bool has_padding) |
int | ruler_widget_pos_to_px (RulerWidget *self, Position *pos, int use_padding) |
EditorSettings * | ruler_widget_get_editor_settings (RulerWidget *self) |
Gets the pointer to the EditorSettings associated with the arranger this ruler is for. | |
void | ruler_widget_get_visible_rect (RulerWidget *self, GdkRectangle *rect) |
Fills in the visible rectangle. | |
int | ruler_widget_get_playhead_px (RulerWidget *self, bool after_loops) |
Returns the playhead's x coordinate in absolute coordinates. | |
void | ruler_widget_refresh (RulerWidget *self) |
Ruler parent class.
Definition in file ruler.h.
#define RW_PX_TO_HIDE_BEATS 40.0 |