|
Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
|
Ruler parent class. More...
#include "common/dsp/position.h"#include "common/utils/ui.h"#include "gui/backend/gtk_widgets/gtk_wrapper.h"

Go to the source code of this file.
Macros | |
| #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. |
Typedefs | |
| using | RulerWidget |
Enumerations | |
| enum class | RWTarget { Playhead , LoopStart , LoopEnd , PunchIn , PunchOut , ClipStart , RWTarget::Range , RWTarget::LoopRange } |
| The ruler widget target acting upon. More... | |
| enum class | RulerWidgetType { Timeline , Editor } |
| enum class | RulerWidgetRangeType { RulerWidgetRangeType::Start , RulerWidgetRangeType::Full , RulerWidgetRangeType::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) |
Variables | |
| constexpr int | RW_RULER_MARKER_SIZE = 8 |
| constexpr int | RW_CUE_MARKER_HEIGHT = 12 |
| constexpr int | RW_CUE_MARKER_WIDTH = 7 |
| constexpr int | RW_PLAYHEAD_TRIANGLE_WIDTH = 12 |
| constexpr int | RW_PLAYHEAD_TRIANGLE_HEIGHT = 8 |
| constexpr int | RW_RANGE_HEIGHT_DIVISOR = 4 |
| constexpr int | RW_HEIGHT = 42 |
| constexpr int | RW_SCROLL_SPEED = 48 |
| Mouse wheel scroll speed (number of pixels). | |
| constexpr double | RW_PX_TO_HIDE_BEATS = 40.0 |
| Minimum number of pixels between beat lines. | |
Ruler parent class.
Definition in file ruler.h.
|
constexpr |