Zrythm v2.0.0-DEV
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, 2024 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
9
10#ifndef __GUI_WIDGETS_AUTOMATION_POINT_H__
11#define __GUI_WIDGETS_AUTOMATION_POINT_H__
12
13#include "common/dsp/automation_point.h"
14#include "gui/backend/gtk_widgets/gtk_wrapper.h"
15
21
22constexpr int AP_WIDGET_POINT_SIZE = 6;
23
35bool
36automation_point_is_point_hit (const AutomationPoint &self, double x, double y);
37
51bool
53 const AutomationPoint &self,
54 double x,
55 double y,
56 double delta_from_curve);
57
62bool
64 const AutomationPoint * self,
65 const GdkRectangle * draw_rect,
66 bool timeline);
67
75void
77 AutomationPoint * ap,
78 GtkSnapshot * snapshot,
79 GdkRectangle * rect,
80 PangoLayout * layout);
81
85
86#endif
bool automation_point_is_curve_hit(const 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(const 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.