a highly automated and intuitive digital audio workstation
No Matches
RulerWidget Struct Reference
Collaboration diagram for RulerWidget:

Data Fields

GtkWidget parent_instance
RulerWidgetType type
double px_per_beat
double px_per_bar
double px_per_sixteenth
double px_per_tick
double px_per_min
double px_per_10sec
double px_per_sec
double px_per_100ms
double total_px
UiOverlayAction action
 Dragging playhead or creating range, etc.
double start_x
 For dragging.
double start_y
double last_offset_x
double last_offset_y
double hover_x
double hover_y
bool hovering
bool vertical_panning_started
GtkGestureDrag * drag
GtkGestureClick * click
RWTarget target
 Target acting upon.
int shift_held
 If shift was held down during the press.
bool alt_held
 Whether alt is currently held down.
bool ctrl_held
int last_playhead_px
 Px the playhead was last drawn at, so we can redraw this and the new px only when the playhead changes position.
int redraw
 Set to 1 to redraw.
int range1_first
 Whether range1 was before range2 at drag start.
int dragging
 Set to 1 between drag begin and drag end.
Position range1_start_pos
 Set on drag begin.
Position range2_start_pos
Position last_set_pos
 Last position the playhead was set to.
Position drag_start_pos
 Position at start of drag.
cairo_t * cached_cr
cairo_surface_t * cached_surface
graphene_rect_t last_rect
 Rectangle in the last call.
PangoLayout * layout_normal
PangoLayout * monospace_layout_small
PangoLayout * marker_layout
GtkPopoverMenu * popover_menu
 Popover to be reused for context menus.

Detailed Description

Definition at line 102 of file ruler.h.

Field Documentation

◆ action

UiOverlayAction RulerWidget::action

Dragging playhead or creating range, etc.

Definition at line 121 of file ruler.h.

◆ alt_held

bool RulerWidget::alt_held

Whether alt is currently held down.

Definition at line 147 of file ruler.h.

◆ cached_cr

cairo_t* RulerWidget::cached_cr

Definition at line 184 of file ruler.h.

◆ cached_surface

cairo_surface_t* RulerWidget::cached_surface

Definition at line 186 of file ruler.h.

◆ click

GtkGestureClick* RulerWidget::click

Definition at line 136 of file ruler.h.

◆ ctrl_held

bool RulerWidget::ctrl_held

Definition at line 149 of file ruler.h.

◆ drag

GtkGestureDrag* RulerWidget::drag

Definition at line 135 of file ruler.h.

◆ drag_start_pos

Position RulerWidget::drag_start_pos

Position at start of drag.

Definition at line 182 of file ruler.h.

◆ dragging

int RulerWidget::dragging

Set to 1 between drag begin and drag end.

Definition at line 163 of file ruler.h.

◆ hover_x

double RulerWidget::hover_x

Definition at line 129 of file ruler.h.

◆ hover_y

double RulerWidget::hover_y

Definition at line 130 of file ruler.h.

◆ hovering

bool RulerWidget::hovering

Definition at line 131 of file ruler.h.

◆ last_offset_x

double RulerWidget::last_offset_x

Definition at line 126 of file ruler.h.

◆ last_offset_y

double RulerWidget::last_offset_y

Definition at line 127 of file ruler.h.

◆ last_playhead_px

int RulerWidget::last_playhead_px

Px the playhead was last drawn at, so we can redraw this and the new px only when the playhead changes position.

Definition at line 154 of file ruler.h.

◆ last_rect

graphene_rect_t RulerWidget::last_rect

Rectangle in the last call.

Definition at line 189 of file ruler.h.

◆ last_set_pos

Position RulerWidget::last_set_pos

Last position the playhead was set to.

This is used for setting the cue point on drag end.

Definition at line 179 of file ruler.h.

◆ layout_normal

PangoLayout* RulerWidget::layout_normal

Definition at line 192 of file ruler.h.

◆ marker_layout

PangoLayout* RulerWidget::marker_layout

Definition at line 194 of file ruler.h.

◆ monospace_layout_small

PangoLayout* RulerWidget::monospace_layout_small

Definition at line 193 of file ruler.h.

◆ parent_instance

GtkWidget RulerWidget::parent_instance

Definition at line 104 of file ruler.h.

◆ popover_menu

GtkPopoverMenu* RulerWidget::popover_menu

Popover to be reused for context menus.

Definition at line 197 of file ruler.h.

◆ px_per_100ms

double RulerWidget::px_per_100ms

Definition at line 115 of file ruler.h.

◆ px_per_10sec

double RulerWidget::px_per_10sec

Definition at line 113 of file ruler.h.

◆ px_per_bar

double RulerWidget::px_per_bar

Definition at line 109 of file ruler.h.

◆ px_per_beat

double RulerWidget::px_per_beat

Definition at line 108 of file ruler.h.

◆ px_per_min

double RulerWidget::px_per_min

Definition at line 112 of file ruler.h.

◆ px_per_sec

double RulerWidget::px_per_sec

Definition at line 114 of file ruler.h.

◆ px_per_sixteenth

double RulerWidget::px_per_sixteenth

Definition at line 110 of file ruler.h.

◆ px_per_tick

double RulerWidget::px_per_tick

Definition at line 111 of file ruler.h.

◆ range1_first

int RulerWidget::range1_first

Whether range1 was before range2 at drag start.

Definition at line 160 of file ruler.h.

◆ range1_start_pos

Position RulerWidget::range1_start_pos

Set on drag begin.

Useful for moving range (or loop range).

Definition at line 170 of file ruler.h.

◆ range2_start_pos

Position RulerWidget::range2_start_pos

Definition at line 171 of file ruler.h.

◆ redraw

int RulerWidget::redraw

Set to 1 to redraw.

Definition at line 157 of file ruler.h.

◆ shift_held

int RulerWidget::shift_held

If shift was held down during the press.

Definition at line 144 of file ruler.h.

◆ start_x

double RulerWidget::start_x

For dragging.

Definition at line 124 of file ruler.h.

◆ start_y

double RulerWidget::start_y

Definition at line 125 of file ruler.h.

◆ target

RWTarget RulerWidget::target

Target acting upon.

Definition at line 139 of file ruler.h.

◆ total_px

double RulerWidget::total_px

Definition at line 116 of file ruler.h.

◆ type

RulerWidgetType RulerWidget::type

Definition at line 106 of file ruler.h.

◆ vertical_panning_started

bool RulerWidget::vertical_panning_started

Definition at line 133 of file ruler.h.

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