| Flutter Linux Embedder |

Functions
fl_opengl_manager.h File Reference
`#include <gtk/gtk.h>`

Go to the source code of this file.

## Functions
G_BEGIN_DECLS | G_DECLARE_FINAL_TYPE (FlOpenGLManager, fl_opengl_manager, FL, OPENGL_MANAGER, GObject) FlOpenGLManager *fl_opengl_manager_new()
gboolean | fl_opengl_manager_create_contexts (FlOpenGLManager *manager, GdkWindow *window, GError **error)
GdkGLContext * | fl_opengl_manager_get_context (FlOpenGLManager *manager)
void | fl_opengl_manager_make_current (FlOpenGLManager *manager)
void | fl_opengl_manager_make_resource_current (FlOpenGLManager *manager)
void | fl_opengl_manager_clear_current (FlOpenGLManager *manager)

## Function Documentation

## ◆ fl_opengl_manager_clear_current()

void fl_opengl_manager_clear_current | ( | FlOpenGLManager * | manager | ) |

fl_opengl_manager_clear_current: @manager: an #FlOpenGLManager.

Clears the current rendering context.

Definition at line 90 of file fl_opengl_manager.cc.

90 {
91 gdk_gl_context_clear_current();
92 }

Referenced by fl_compositor_opengl_present_layers(), fl_engine_gl_clear_current(), present_layers_task_cb(), and realize_cb().

## ◆ fl_opengl_manager_create_contexts()

gboolean fl_opengl_manager_create_contexts | ( | FlOpenGLManager * | manager,
|  | GdkWindow * | window,
|  | GError ** | error
| ) |  |

fl_opengl_manager_create_contexts: @manager: an #FlOpenGLManager. @window: the window that is being rendered on. @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 45 of file fl_opengl_manager.cc.

47 {
48 g_return_val_if_fail(FL_IS_OPENGL_MANAGER(self), FALSE);
49
50 self->gdk_context = gdk_window_create_gl_context(window, error);
51 if (self->gdk_context == nullptr) {
52 return FALSE;
53 }
54 if (!gdk_gl_context_realize(self->gdk_context, error)) {
55 return FALSE;
56 }
57
58 self->main_context = gdk_window_create_gl_context(window, error);
59 if (self->main_context == nullptr) {
60 return FALSE;
61 }
62 if (!gdk_gl_context_realize(self->main_context, error)) {
63 return FALSE;
64 }
65
66 self->resource_context = gdk_window_create_gl_context(window, error);
67 if (self->resource_context == nullptr) {
68 return FALSE;
69 }
70 if (!gdk_gl_context_realize(self->resource_context, error)) {
71 return FALSE;
72 }
73
74 return TRUE;
75 }
window
return window
Definition: fl_application.cc:41
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

References error, TRUE, and window.

Referenced by create_context_cb().

## ◆ fl_opengl_manager_get_context()

GdkGLContext* fl_opengl_manager_get_context | ( | FlOpenGLManager * | manager | ) |

fl_opengl_manager_get_context: @manager: an #FlOpenGLManager.

Returns: the main context used for rendering.

Definition at line 77 of file fl_opengl_manager.cc.

77 {
78 g_return_val_if_fail(FL_IS_OPENGL_MANAGER(self), nullptr);
79 return self->gdk_context;
80 }

Referenced by create_context_cb().

## ◆ fl_opengl_manager_make_current()

void fl_opengl_manager_make_current | ( | FlOpenGLManager * | manager | ) |

fl_opengl_manager_make_current: @manager: an #FlOpenGLManager.

Makes the rendering context current.

Definition at line 82 of file fl_opengl_manager.cc.

82 {
83 gdk_gl_context_make_current(self->main_context);
84 }

Referenced by fl_compositor_opengl_collect_backing_store(), fl_compositor_opengl_create_backing_store(), fl_compositor_opengl_present_layers(), fl_engine_gl_make_current(), present_layers_task_cb(), realize_cb(), and unrealize_cb().

## ◆ fl_opengl_manager_make_resource_current()

void fl_opengl_manager_make_resource_current | ( | FlOpenGLManager * | manager | ) |

fl_opengl_manager_make_resource_current: @manager: an #FlOpenGLManager.

Makes the resource rendering context current.

Definition at line 86 of file fl_opengl_manager.cc.

86 {
87 gdk_gl_context_make_current(self->resource_context);
88 }

Referenced by fl_engine_gl_make_resource_current().

## ◆ G_DECLARE_FINAL_TYPE()

G_BEGIN_DECLS G_DECLARE_FINAL_TYPE | ( | FlOpenGLManager | ,
|  | fl_opengl_manager | ,
|  | FL | ,
|  | OPENGL_MANAGER | ,
|  | GObject |
| ) |  |

fl_opengl_manager_new:

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

Returns: a new #FlOpenGLManager.