Flutter Engine
The Flutter Engine
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
 
FlTextureGLPrivatepriv
 

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}
FlTextureGLPrivate * priv
FlTexture * texture

◆ 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.

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}
const uint8_t uint32_t uint32_t GError ** error
uint32_t * target
return FALSE
DEF_SWITCHES_START aot vmservice shared library name
Definition: switches.h:32
int32_t height
int32_t width
uint32_t name
The name of the texture.
Definition: embedder.h:371
VoidCallback destruction_callback
Definition: embedder.h:378
void * user_data
User data to be returned on the invocation of the destruction callback.
Definition: embedder.h:375
size_t height
Height of the texture.
Definition: embedder.h:386
uint32_t format
The texture format (example GL_RGBA8).
Definition: embedder.h:373

◆ 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}
static int64_t fl_texture_gl_get_id(FlTexture *texture)

◆ 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

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

Definition at line 28 of file fl_texture_gl.cc.