| Flutter Linux Embedder |

fl_opengl_manager.h
Go to the documentation of this file.
1 // Copyright 2013 The Flutter Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef FLUTTER_SHELL_PLATFORM_LINUX_FL_OPENGL_MANAGER_H_
6 #define FLUTTER_SHELL_PLATFORM_LINUX_FL_OPENGL_MANAGER_H_
7
8 #include <gtk/gtk.h>
9
10 G_BEGIN_DECLS
11
12 G_DECLARE_FINAL_TYPE(FlOpenGLManager,
13 fl_opengl_manager,
14 FL,
15 OPENGL_MANAGER,
16 GObject)
17
18 /**
19 * fl_opengl_manager_new:
20 *
21 * Creates an object that allows Flutter to render by OpenGL ES.
22 *
23 * Returns: a new #FlOpenGLManager.
24 */
25 FlOpenGLManager* fl_opengl_manager_new();
26
27 /**
28 * fl_opengl_manager_create_contexts:
29 * @manager: an #FlOpenGLManager.
30 * @window: the window that is being rendered on.
31 * @error: (allow-none): #GError location to store the error occurring, or
32 * %NULL to ignore.
33 *
34 * Create rendering contexts.
35 *
36 * Returns: %TRUE if contexts were created, %FALSE if there was an error.
37 */
38 gboolean fl_opengl_manager_create_contexts(FlOpenGLManager* manager,
39 GdkWindow* window,
40 GError** error);
41
42 /**
43 * fl_opengl_manager_get_context:
44 * @manager: an #FlOpenGLManager.
45 *
46 * Returns: the main context used for rendering.
47 */
48 GdkGLContext* fl_opengl_manager_get_context(FlOpenGLManager* manager);
49
50 /**
51 * fl_opengl_manager_make_current:
52 * @manager: an #FlOpenGLManager.
53 *
54 * Makes the rendering context current.
55 */
56 void fl_opengl_manager_make_current(FlOpenGLManager* manager);
57
58 /**
59 * fl_opengl_manager_make_resource_current:
60 * @manager: an #FlOpenGLManager.
61 *
62 * Makes the resource rendering context current.
63 */
64 void fl_opengl_manager_make_resource_current(FlOpenGLManager* manager);
65
66 /**
67 * fl_opengl_manager_clear_current:
68 * @manager: an #FlOpenGLManager.
69 *
70 * Clears the current rendering context.
71 */
72 void fl_opengl_manager_clear_current(FlOpenGLManager* manager);
73
74 G_END_DECLS
75
76 #endif // FLUTTER_SHELL_PLATFORM_LINUX_FL_OPENGL_MANAGER_H_
window
return window
Definition: fl_application.cc:41
FL
FL
Definition: fl_binary_messenger.cc:27
fl_opengl_manager_new
FlOpenGLManager * fl_opengl_manager_new()
Definition: fl_opengl_manager.cc:39
fl_opengl_manager_get_context
GdkGLContext * fl_opengl_manager_get_context(FlOpenGLManager *manager)
Definition: fl_opengl_manager.cc:77
fl_opengl_manager_make_current
void fl_opengl_manager_make_current(FlOpenGLManager *manager)
Definition: fl_opengl_manager.cc:82
fl_opengl_manager_clear_current
void fl_opengl_manager_clear_current(FlOpenGLManager *manager)
Definition: fl_opengl_manager.cc:90
G_DECLARE_FINAL_TYPE
G_BEGIN_DECLS G_DECLARE_FINAL_TYPE(FlOpenGLManager, fl_opengl_manager, FL, OPENGL_MANAGER, GObject) FlOpenGLManager *fl_opengl_manager_new()
fl_opengl_manager_make_resource_current
void fl_opengl_manager_make_resource_current(FlOpenGLManager *manager)
Definition: fl_opengl_manager.cc:86
fl_opengl_manager_create_contexts
gboolean fl_opengl_manager_create_contexts(FlOpenGLManager *manager, GdkWindow *window, GError **error)
Definition: fl_opengl_manager.cc:45
error
const uint8_t uint32_t uint32_t GError ** error
Definition: fl_pixel_buffer_texture_test.cc:40