| Flutter Impeller |

Public Member Functions | Static Public Member Functions | List of all members
IMPELLER_HPP_NAMESPACE::Texture Class Reference

`#include <impeller.hpp>`

Inheritance diagram for IMPELLER_HPP_NAMESPACE::Texture:

## Public Member Functions
| Texture (ImpellerTexture texture, AdoptTag adopt)
uint64_t | GetOpenGLHandle () const
Public Member Functions inherited from IMPELLER_HPP_NAMESPACE::Object< ImpellerTexture, ImpellerTextureTraits >
| Object ()=default
| Object (ImpellerTexture object)
| Object (ImpellerTexture object, AdoptTag)
| Object (Object &&other)
| Object (const Object &other)
| ~Object ()
Object & | operator= (Object &&other)
Object & | operator= (const Object &other)
ImpellerTexture | Get () const
| operator bool () const

## Static Public Member Functions
static Texture | WithContents (const Context &context, const ImpellerTextureDescriptor &descriptor, std::unique_ptr< Mapping > mapping=nullptr)
static Texture | WithOpenGLTexture (const Context &context, const ImpellerTextureDescriptor &descriptor, uint64_t handle)

## Detailed Description

See also
  ImpellerTexture

Definition at line 404 of file impeller.hpp.

## Constructor & Destructor Documentation

## ◆ Texture()

IMPELLER_HPP_NAMESPACE::Texture::Texture | ( | ImpellerTexture | texture,
|  | AdoptTag | adopt
| ) |  |
| inline

Definition at line 406 of file impeller.hpp.

406 : Object(texture, adopt) {}
IMPELLER_HPP_NAMESPACE::Object< ImpellerTexture, ImpellerTextureTraits >::Object
Object()=default

Referenced by WithContents(), and WithOpenGLTexture().

## Member Function Documentation

## ◆ GetOpenGLHandle()

uint64_t IMPELLER_HPP_NAMESPACE::Texture::GetOpenGLHandle | ( |  | ) | const
| inline

Definition at line 447 of file impeller.hpp.

447 {
448 return gGlobalProcTable.ImpellerTextureGetOpenGLHandle(Get());
449 }
IMPELLER_HPP_NAMESPACE::Object< ImpellerTexture, ImpellerTextureTraits >::Get
ImpellerTexture Get() const
Definition: impeller.hpp:278
IMPELLER_HPP_NAMESPACE::gGlobalProcTable
ProcTable gGlobalProcTable
Definition: playground_test.cc:25

References IMPELLER_HPP_NAMESPACE::Object< ImpellerTexture, ImpellerTextureTraits >::Get(), and IMPELLER_HPP_NAMESPACE::gGlobalProcTable.

## ◆ WithContents()

static Texture IMPELLER_HPP_NAMESPACE::Texture::WithContents | ( | const Context & | context,
|  | const ImpellerTextureDescriptor & | descriptor,
|  | std::unique_ptr< Mapping > | mapping = `nullptr`
| ) |  |
| inlinestatic

See also
  ImpellerTextureCreateWithContentsNew

Definition at line 411 of file impeller.hpp.

413 {
414 if (mapping == nullptr) {
415 mapping = std::make_unique<Mapping>(nullptr, 0u, nullptr);
416 }
417 ImpellerMapping c_mapping = {};
418 c_mapping.data = mapping->GetMapping();
419 c_mapping.length = mapping->GetSize();
420 c_mapping.on_release = [](void* user_data) -> void {
421 delete reinterpret_cast<Mapping*>(user_data);
422 };
423 return Texture(gGlobalProcTable.ImpellerTextureCreateWithContentsNew(
424 context.Get(), //
425 &descriptor, //
426 &c_mapping, //
427 mapping.release() //
428 ),
429 AdoptTag::kAdopt);
430 }
IMPELLER_HPP_NAMESPACE::Texture::Texture
Texture(ImpellerTexture texture, AdoptTag adopt)
Definition: impeller.hpp:406
IMPELLER_HPP_NAMESPACE::AdoptTag::kAdopt
@ kAdopt
ImpellerMapping
Definition: impeller.h:626
ImpellerMapping::on_release
ImpellerCallback IMPELLER_NULLABLE on_release
Definition: impeller.h:629
ImpellerMapping::length
uint64_t length
Definition: impeller.h:628
ImpellerMapping::data
const uint8_t *IMPELLER_NONNULL data
Definition: impeller.h:627

References ImpellerMapping::data, IMPELLER_HPP_NAMESPACE::Object< T, Traits >::Get(), IMPELLER_HPP_NAMESPACE::gGlobalProcTable, IMPELLER_HPP_NAMESPACE::kAdopt, ImpellerMapping::length, ImpellerMapping::on_release, and Texture().

## ◆ WithOpenGLTexture()

static Texture IMPELLER_HPP_NAMESPACE::Texture::WithOpenGLTexture | ( | const Context & | context,
|  | const ImpellerTextureDescriptor & | descriptor,
|  | uint64_t | handle
| ) |  |
| inlinestatic

See also
  ImpellerTextureCreateWithOpenGLTextureHandleNew

Definition at line 435 of file impeller.hpp.

437 {
438 return Texture(
439 gGlobalProcTable.ImpellerTextureCreateWithOpenGLTextureHandleNew(
440 context.Get(), //
441 &descriptor, //
442 handle //
443 ),
444 AdoptTag::kAdopt);
445 }

References IMPELLER_HPP_NAMESPACE::Object< T, Traits >::Get(), IMPELLER_HPP_NAMESPACE::gGlobalProcTable, IMPELLER_HPP_NAMESPACE::kAdopt, and Texture().

The documentation for this class was generated from the following file:

- impeller/toolkit/interop/impeller.hpp