Blender V5.0
blender::image_engine::SpaceImageAccessor Class Reference

#include <image_space_image.hh>

Inherits blender::image_engine::AbstractSpaceAccessor.

Public Member Functions

 SpaceImageAccessor (SpaceImage *sima)
::Imageget_image (Main *) override
ImageUserget_image_user () override
ImBufacquire_image_buffer (::Image *, void **lock) override
void release_buffer (::Image *, ImBuf *image_buffer, void *lock) override
void get_shader_parameters (ShaderParameters &r_shader_parameters, ImBuf *image_buffer) override
bool use_tile_drawing () const override
 Is (wrap) repeat option enabled in the space.
void init_ss_to_texture_matrix (const ARegion *region, const float image_offset[2], const float image_resolution[2], float r_uv_to_texture[4][4]) const override
 Initialize r_uv_to_texture matrix to transform from normalized screen space coordinates (0..1) to texture space UV coordinates.
Public Member Functions inherited from blender::image_engine::AbstractSpaceAccessor
virtual ~AbstractSpaceAccessor ()=default

Detailed Description

Definition at line 19 of file image_space_image.hh.

Constructor & Destructor Documentation

◆ SpaceImageAccessor()

blender::image_engine::SpaceImageAccessor::SpaceImageAccessor ( SpaceImage * sima)
inline

Definition at line 23 of file image_space_image.hh.

Member Function Documentation

◆ acquire_image_buffer()

ImBuf * blender::image_engine::SpaceImageAccessor::acquire_image_buffer ( ::Image * image,
void ** lock )
inlineoverridevirtual

Acquire the image buffer of the image.

Parameters
imageImage to get the buffer from. Image is the same as returned from the get_image member.
lockpointer to a lock object.
Returns
Image buffer of the given image.

Implements blender::image_engine::AbstractSpaceAccessor.

Definition at line 35 of file image_space_image.hh.

References ED_space_image_acquire_buffer(), and lock.

◆ get_image()

::Image * blender::image_engine::SpaceImageAccessor::get_image ( Main * bmain)
inlineoverridevirtual

Return the active image of the space.

The returned image will be drawn in the space.

The return value is optional.

Implements blender::image_engine::AbstractSpaceAccessor.

Definition at line 25 of file image_space_image.hh.

References ED_space_image().

◆ get_image_user()

ImageUser * blender::image_engine::SpaceImageAccessor::get_image_user ( )
inlineoverridevirtual

Return the ImageUser of the space.

The return value is optional.

Implements blender::image_engine::AbstractSpaceAccessor.

Definition at line 30 of file image_space_image.hh.

◆ get_shader_parameters()

void blender::image_engine::SpaceImageAccessor::get_shader_parameters ( ShaderParameters & r_shader_parameters,
ImBuf * image_buffer )
inlineoverridevirtual

◆ init_ss_to_texture_matrix()

void blender::image_engine::SpaceImageAccessor::init_ss_to_texture_matrix ( const ARegion * region,
const float image_offset[2],
const float image_resolution[2],
float r_uv_to_texture[4][4] ) const
inlineoverridevirtual

Initialize r_uv_to_texture matrix to transform from normalized screen space coordinates (0..1) to texture space UV coordinates.

Implements blender::image_engine::AbstractSpaceAccessor.

Definition at line 93 of file image_space_image.hh.

References BLI_rctf_size_x(), BLI_rctf_size_y(), View2D::cur, unit_m4(), ARegion::v2d, rctf::xmin, and rctf::ymin.

◆ release_buffer()

void blender::image_engine::SpaceImageAccessor::release_buffer ( ::Image * image,
ImBuf * image_buffer,
void * lock )
inlineoverridevirtual

Release a previous locked image from acquire_image_buffer.

Implements blender::image_engine::AbstractSpaceAccessor.

Definition at line 40 of file image_space_image.hh.

References ED_space_image_release_buffer(), and lock.

◆ use_tile_drawing()

bool blender::image_engine::SpaceImageAccessor::use_tile_drawing ( ) const
inlineoverridevirtual

Is (wrap) repeat option enabled in the space.

Implements blender::image_engine::AbstractSpaceAccessor.

Definition at line 88 of file image_space_image.hh.

References SI_DRAW_TILE.


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