21 GTK_TYPE_DRAWING_AREA)
25static void fl_view_renderer_present_layers_default(FlViewRenderer*
self,
28 g_assert_not_reached();
33 fl_view_renderer_get_instance_private(FL_VIEW_RENDERER(
object)));
35 g_clear_pointer(&
priv->background_color, gdk_rgba_free);
37 G_OBJECT_CLASS(fl_view_renderer_parent_class)->dispose(
object);
43 klass->present_layers = fl_view_renderer_present_layers_default;
46 g_signal_new(
"first-frame", fl_view_renderer_get_type(),
47 G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL, G_TYPE_NONE, 0);
52 fl_view_renderer_get_instance_private(
self));
54 GdkRGBA default_background = {
55 .red = 0.0, .green = 0.0, .blue = 0.0, .alpha = 1.0};
56 priv->background_color = gdk_rgba_copy(&default_background);
60 const GdkRGBA* color) {
61 g_return_if_fail(FL_IS_VIEW_RENDERER(
self));
64 fl_view_renderer_get_instance_private(
self));
66 gdk_rgba_free(
priv->background_color);
67 priv->background_color = gdk_rgba_copy(color);
74 g_return_if_fail(FL_IS_VIEW_RENDERER(
self));
77 fl_view_renderer_get_instance_private(
self));
81 if (
priv->background_color->red == 0 &&
priv->background_color->green == 0 &&
82 priv->background_color->blue == 0 &&
priv->background_color->alpha == 0) {
93 g_return_if_fail(FL_IS_VIEW_RENDERER(
self));
95 FlViewRendererClass* klass = FL_VIEW_RENDERER_GET_CLASS(
self);
100 g_return_if_fail(FL_IS_VIEW_RENDERER(
self));
103 fl_view_renderer_get_instance_private(
self));
105 if (!
priv->have_first_frame) {
FlAccessibilityHandlerPrivate * priv
const FlutterLayer size_t layers_count
const FlutterLayer ** layers
static void fl_view_renderer_dispose(GObject *object)
void fl_view_renderer_set_background_color(FlViewRenderer *self, const GdkRGBA *color)
G_DEFINE_TYPE_WITH_PRIVATE(FlViewRenderer, fl_view_renderer, GTK_TYPE_DRAWING_AREA) static void fl_view_renderer_present_layers_default(FlViewRenderer *self
static void fl_view_renderer_init(FlViewRenderer *self)
void fl_view_renderer_notify_frame(FlViewRenderer *self)
static void fl_view_renderer_class_init(FlViewRendererClass *klass)
void fl_view_renderer_paint_background(FlViewRenderer *self, cairo_t *cr)
void fl_view_renderer_present_layers(FlViewRenderer *self, const FlutterLayer **layers, size_t layers_count)
static guint fl_view_renderer_signals[LAST_SIGNAL]
void gtk_widget_queue_draw(GtkWidget *widget)
void gdk_cairo_set_source_rgba(cairo_t *cr, const GdkRGBA *rgba)
gboolean have_first_frame
GdkRGBA * background_color