| Flutter Linux Embedder |

Classes | Functions | Variables
fl_texture_gl.cc File Reference
`#include "flutter/shell/platform/linux/public/flutter_linux/fl_texture_gl.h"`
`#include "flutter/shell/platform/linux/fl_texture_gl_private.h"`
`#include <epoxy/gl.h>`
`#include <gmodule.h>`
`#include <cstdio>`

Go to the source code of this file.

## Classes
struct | FlTextureGLPrivate

## Functions
static void | fl_texture_gl_texture_iface_init (FlTextureInterface *iface)
| G_DEFINE_TYPE_WITH_CODE (FlTextureGL, fl_texture_gl, G_TYPE_OBJECT, G_IMPLEMENT_INTERFACE(fl_texture_get_type(), fl_texture_gl_texture_iface_init);G_ADD_PRIVATE(FlTextureGL)) static void fl_texture_gl_set_id(FlTexture *texture
static int64_t | fl_texture_gl_get_id (FlTexture *texture)
static void | fl_texture_gl_class_init (FlTextureGLClass *klass)
static void | fl_texture_gl_init (FlTextureGL *self)
gboolean | fl_texture_gl_populate (FlTextureGL *self, uint32_t width, uint32_t height, FlutterOpenGLTexture *opengl_texture, GError **error)

## Variables
int64_t | id
FlTextureGLPrivate * | priv

## Function Documentation

## ◆ fl_texture_gl_class_init()

static void fl_texture_gl_class_init | ( | FlTextureGLClass * | klass | ) |
| static

Definition at line 46 of file fl_texture_gl.cc.

46 {}

## ◆ fl_texture_gl_get_id()

static int64_t fl_texture_gl_get_id | ( | FlTexture * | texture | ) |
| static

Definition at line 34 of file fl_texture_gl.cc.

34 {
35 FlTextureGL* self = FL_TEXTURE_GL(texture);
36 FlTextureGLPrivate* priv = reinterpret_cast<FlTextureGLPrivate*>(
37 fl_texture_gl_get_instance_private(self));
38 return priv->id;
39 }
priv
FlTextureGLPrivate * priv
Definition: fl_texture_gl.cc:28
FlTextureGLPrivate
Definition: fl_texture_gl.cc:12
FlTextureGLPrivate::id
int64_t id
Definition: fl_texture_gl.cc:13

References FlTextureGLPrivate::id, and priv.

Referenced by fl_texture_gl_texture_iface_init().

## ◆ fl_texture_gl_init()

static void fl_texture_gl_init | ( | FlTextureGL * | self | ) |
| static

Definition at line 48 of file fl_texture_gl.cc.

48 {}

## ◆ fl_texture_gl_populate()

gboolean fl_texture_gl_populate | ( | FlTextureGL * | texture,
|  | uint32_t | width,
|  | uint32_t | height,
|  | FlutterOpenGLTexture * | opengl_texture,
|  | GError ** | error
| ) |  |

fl_texture_gl_populate: @texture: an #FlTextureGL. @width: width of the texture. @height: height of the texture. @opengl_texture: (out): return an #FlutterOpenGLTexture. @error: (allow-none): #GError location to store the error occurring, or NULL to ignore. If `error` is not NULL, `*error` must be initialized (typically NULL, but an error from a previous call using GLib error handling is explicitly valid).

Attempts to populate the specified @opengl_texture with texture details such as the name, width, height and the pixel format.

Returns: TRUE on success.

Definition at line 50 of file fl_texture_gl.cc.

54 {
55 uint32_t target = 0, name = 0;
56 if (!FL_TEXTURE_GL_GET_CLASS(self)->populate(self, &target, &name, &width,
57 &height, error)) {
58 return FALSE;
59 }
60
61 opengl_texture->target = target;
62 opengl_texture->name = name;
63 opengl_texture->format = GL_RGBA8;
64 opengl_texture->destruction_callback = nullptr;
65 opengl_texture->user_data = nullptr;
66 opengl_texture->width = width;
67 opengl_texture->height = height;
68
69 return TRUE;
70 }
height
self height
Definition: fl_compositor_software.cc:43
width
self width
Definition: fl_compositor_software.cc:42
TRUE
return TRUE
Definition: fl_compositor_software.cc:68
error
const uint8_t uint32_t uint32_t GError ** error
Definition: fl_pixel_buffer_texture_test.cc:40
target
uint32_t * target
Definition: fl_texture_registrar_test.cc:41

References error, height, target, TRUE, and width.

Referenced by fl_engine_gl_external_texture_frame_callback(), and TEST().

## ◆ fl_texture_gl_texture_iface_init()

static void fl_texture_gl_texture_iface_init | ( | FlTextureInterface * | iface | ) |
| static

Definition at line 41 of file fl_texture_gl.cc.

41 {
42 iface->set_id = fl_texture_gl_set_id;
43 iface->get_id = fl_texture_gl_get_id;
44 }
fl_texture_gl_get_id
static int64_t fl_texture_gl_get_id(FlTexture *texture)
Definition: fl_texture_gl.cc:34

References fl_texture_gl_get_id().

## ◆ G_DEFINE_TYPE_WITH_CODE()

G_DEFINE_TYPE_WITH_CODE | ( | FlTextureGL | ,
|  | fl_texture_gl | ,
|  | G_TYPE_OBJECT | ,
|  | G_IMPLEMENT_INTERFACE(fl_texture_get_type(), fl_texture_gl_texture_iface_init);G_ADD_PRIVATE(FlTextureGL) |
| ) |  |

## Variable Documentation

## ◆ id

priv id

Initial value:
{
FlTextureGL* self = FL_TEXTURE_GL(texture)

Definition at line 26 of file fl_texture_gl.cc.

## ◆ priv

FlTextureGLPrivate* priv

Initial value:
= reinterpret_cast<FlTextureGLPrivate*>(
fl_texture_gl_get_instance_private(self))

Definition at line 28 of file fl_texture_gl.cc.

Referenced by fl_texture_gl_get_id().