Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
automation_point.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: © 2018-2021 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
10#ifndef __GUI_WIDGETS_AUTOMATION_POINT_H__
11#define __GUI_WIDGETS_AUTOMATION_POINT_H__
12
14#include "utils/ui.h"
15
16#include <gtk/gtk.h>
17
24#define AP_WIDGET_POINT_SIZE 6
25
37bool
39
53bool
55 AutomationPoint * self,
56 double x,
57 double y,
58 double delta_from_curve);
59
64bool
66 const AutomationPoint * self,
67 const GdkRectangle * draw_rect,
68 bool timeline);
69
77void
79 AutomationPoint * ap,
80 GtkSnapshot * snapshot,
81 GdkRectangle * rect,
82 PangoLayout * layout);
83
88#endif
Automation point API.
bool automation_point_is_curve_hit(AutomationPoint *self, double x, double y, double delta_from_curve)
Returns if the automation curve is hit.
bool automation_point_settings_changed(const AutomationPoint *self, const GdkRectangle *draw_rect, bool timeline)
Returns whether the cached render node for self needs to be invalidated.
bool automation_point_is_point_hit(AutomationPoint *self, double x, double y)
Returns if the automation point (circle) is hit.
void automation_point_draw(AutomationPoint *ap, GtkSnapshot *snapshot, GdkRectangle *rect, PangoLayout *layout)
Draws the AutomationPoint in the given cairo context in absolute coordinates.
An automation point inside an AutomationTrack.
User Interface utils.