Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
color_area.h
Go to the documentation of this file.
1// clang-format off
2// SPDX-FileCopyrightText: © 2018-2022, 2024 Alexandros Theodotou <alex@zrythm.org>
3// SPDX-License-Identifier: LicenseRef-ZrythmLicense
4// clang-format on
5
6#ifndef __GUI_WIDGETS_COLOR_AREA_H__
7#define __GUI_WIDGETS_COLOR_AREA_H__
8
15#include <gtk/gtk.h>
16
17#define COLOR_AREA_WIDGET_TYPE (color_area_widget_get_type ())
20 color_area_widget,
21 Z,
22 COLOR_AREA_WIDGET,
23 GtkWidget)
24
25
27typedef enum ColorAreaType
28{
30 COLOR_AREA_TYPE_GENERIC,
31
38 COLOR_AREA_TYPE_TRACK,
39} ColorAreaType;
40
41typedef struct Track Track;
42
43typedef struct _ColorAreaWidget
44{
45 GtkWidget parent_instance;
46
48 GdkRGBA color;
49
51 ColorAreaType type;
52
55
56 bool hovered;
57
59 GPtrArray * parents;
60
61 GdkTexture * track_icon;
62 char * last_track_icon_name;
64
71void
73
77void
79
86void
87color_area_widget_set_color (ColorAreaWidget * widget, GdkRGBA * color);
88
89#endif
void color_area_widget_setup_track(ColorAreaWidget *self, Track *track)
Creates a ColorAreaWidget for use inside TrackWidget implementations.
void color_area_widget_set_color(ColorAreaWidget *widget, GdkRGBA *color)
Changes the color.
G_DECLARE_FINAL_TYPE(ColorAreaWidget, color_area_widget, Z, COLOR_AREA_WIDGET, GtkWidget) typedef enum ColorAreaType
Type of ColorAreaWidget this is.
Definition color_area.h:18
void color_area_widget_setup_generic(ColorAreaWidget *self, GdkRGBA *color)
Creates a generic color widget using the given color pointer.
Track * track
Track, if track.
Definition color_area.h:54
GdkRGBA color
Color pointer to set/read value.
Definition color_area.h:48
ColorAreaType type
The type.
Definition color_area.h:51
GPtrArray * parents
Used during drawing.
Definition color_area.h:59
Track to be inserted into the Project's Tracklist.
Definition track.h:186