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

#include <image_space_node.hh>

Inherits blender::image_engine::AbstractSpaceAccessor.

Public Member Functions

 SpaceNodeAccessor (SpaceNode *snode)
::Imageget_image (Main *bmain) override
ImageUserget_image_user () override
ImBufacquire_image_buffer (::Image *image, void **lock) override
void release_buffer (::Image *image, ImBuf *ibuf, void *lock) override
void get_shader_parameters (ShaderParameters &r_shader_parameters, ImBuf *ibuf) 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
Public Member Functions inherited from blender::image_engine::AbstractSpaceAccessor
virtual ~AbstractSpaceAccessor ()=default

Detailed Description

Definition at line 18 of file image_space_node.hh.

Constructor & Destructor Documentation

◆ SpaceNodeAccessor()

blender::image_engine::SpaceNodeAccessor::SpaceNodeAccessor ( SpaceNode * snode)
inline

Definition at line 22 of file image_space_node.hh.

Member Function Documentation

◆ acquire_image_buffer()

ImBuf * blender::image_engine::SpaceNodeAccessor::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 34 of file image_space_node.hh.

References BKE_image_acquire_ibuf(), and lock.

◆ get_image()

::Image * blender::image_engine::SpaceNodeAccessor::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 24 of file image_space_node.hh.

References BKE_image_ensure_viewer(), and IMA_TYPE_COMPOSITE.

◆ get_image_user()

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

Return the ImageUser of the space.

The return value is optional.

Implements blender::image_engine::AbstractSpaceAccessor.

Definition at line 29 of file image_space_node.hh.

◆ get_shader_parameters()

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

Update the r_shader_parameters with space specific settings.

Only update the #ShaderParameters.flags and #ShaderParameters.shuffle. Other parameters are updated inside the image engine.

Implements blender::image_engine::AbstractSpaceAccessor.

Definition at line 44 of file image_space_node.hh.

References blender::image_engine::APPLY_ALPHA, blender::image_engine::ShaderParameters::flags, IMB_alpha_affects_rgb(), blender::image_engine::SHOW_ALPHA, blender::image_engine::ShaderParameters::shuffle, blender::image_engine::SHUFFLING, SNODE_SHOW_ALPHA, SNODE_SHOW_B, SNODE_SHOW_G, SNODE_SHOW_R, and SNODE_USE_ALPHA.

◆ init_ss_to_texture_matrix()

void blender::image_engine::SpaceNodeAccessor::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

The backdrop of the node editor isn't drawn in screen space UV space. But is locked with the screen.

Implements blender::image_engine::AbstractSpaceAccessor.

Definition at line 91 of file image_space_node.hh.

References mul_v2_v2fl(), unit_m4(), ARegion::winx, and ARegion::winy.

◆ release_buffer()

void blender::image_engine::SpaceNodeAccessor::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 39 of file image_space_node.hh.

References BKE_image_release_ibuf(), and lock.

◆ use_tile_drawing()

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

Is (wrap) repeat option enabled in the space.

Implements blender::image_engine::AbstractSpaceAccessor.

Definition at line 82 of file image_space_node.hh.


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