Flutter Linux Embedder
fl_renderer_gdk.h File Reference

Go to the source code of this file.

Functions

G_BEGIN_DECLS G_DECLARE_FINAL_TYPE (FlRendererGdk, fl_renderer_gdk, FL, RENDERER_GDK, FlRenderer) FlRendererGdk *fl_renderer_gdk_new()
 
void fl_renderer_gdk_set_window (FlRendererGdk *renderer, GdkWindow *window)
 
gboolean fl_renderer_gdk_create_contexts (FlRendererGdk *renderer, GError **error)
 
GdkGLContext * fl_renderer_gdk_get_context (FlRendererGdk *renderer)
 

Function Documentation

◆ fl_renderer_gdk_create_contexts()

gboolean fl_renderer_gdk_create_contexts ( FlRendererGdk *  renderer,
GError **  error 
)

fl_renderer_gdk_create_contexts: @renderer: an #FlRendererGdk. @error: (allow-none): #GError location to store the error occurring, or NULL to ignore.

Create rendering contexts.

Returns: TRUE if contexts were created, FALSE if there was an error.

Definition at line 76 of file fl_renderer_gdk.cc.

76  {
77  g_return_val_if_fail(FL_IS_RENDERER_GDK(self), FALSE);
78 
79  self->gdk_context = gdk_window_create_gl_context(self->window, error);
80  if (self->gdk_context == nullptr) {
81  return FALSE;
82  }
83  if (!gdk_gl_context_realize(self->gdk_context, error)) {
84  return FALSE;
85  }
86 
87  self->main_context = gdk_window_create_gl_context(self->window, error);
88  if (self->main_context == nullptr) {
89  return FALSE;
90  }
91  if (!gdk_gl_context_realize(self->main_context, error)) {
92  return FALSE;
93  }
94 
95  self->resource_context = gdk_window_create_gl_context(self->window, error);
96  if (self->resource_context == nullptr) {
97  return FALSE;
98  }
99  if (!gdk_gl_context_realize(self->resource_context, error)) {
100  return FALSE;
101  }
102 
103  return TRUE;
104 }

References error, and TRUE.

Referenced by create_context_cb().

◆ fl_renderer_gdk_get_context()

GdkGLContext* fl_renderer_gdk_get_context ( FlRendererGdk *  renderer)

fl_renderer_gdk_get_context: @renderer: an #FlRendererGdk.

Returns: the main context used for rendering.

Definition at line 106 of file fl_renderer_gdk.cc.

106  {
107  g_return_val_if_fail(FL_IS_RENDERER_GDK(self), nullptr);
108  return self->gdk_context;
109 }

Referenced by create_context_cb().

◆ fl_renderer_gdk_set_window()

void fl_renderer_gdk_set_window ( FlRendererGdk *  renderer,
GdkWindow *  window 
)

fl_renderer_gdk_set_window: @renderer: an #FlRendererGdk. @window: the window that is being rendered on.

Set the window that is being rendered on. This is only called once when the window is available.

Definition at line 69 of file fl_renderer_gdk.cc.

69  {
70  g_return_if_fail(FL_IS_RENDERER_GDK(self));
71 
72  g_assert(self->window == nullptr);
73  self->window = window;
74 }

Referenced by create_context_cb().

◆ G_DECLARE_FINAL_TYPE()

G_BEGIN_DECLS G_DECLARE_FINAL_TYPE ( FlRendererGdk  ,
fl_renderer_gdk  ,
FL  ,
RENDERER_GDK  ,
FlRenderer   
)

FlRendererGdk:

#FlRendererGdk is an implementation of #FlRenderer that renders by OpenGL ES. fl_renderer_gdk_new:

Creates an object that allows Flutter to render by OpenGL ES.

Returns: a new #FlRendererGdk.

TRUE
return TRUE
Definition: fl_pixel_buffer_texture_test.cc:53
error
const uint8_t uint32_t uint32_t GError ** error
Definition: fl_pixel_buffer_texture_test.cc:40