Blender  V3.3
Classes | Typedefs | Functions
sequencer_thumbnails.c File Reference
#include "BLI_blenlib.h"
#include "BLI_ghash.h"
#include "BLI_math.h"
#include "BKE_context.h"
#include "BKE_global.h"
#include "BKE_scene.h"
#include "IMB_imbuf.h"
#include "IMB_imbuf_types.h"
#include "ED_screen.h"
#include "BIF_glutil.h"
#include "SEQ_relations.h"
#include "SEQ_render.h"
#include "SEQ_sequencer.h"
#include "SEQ_time.h"
#include "WM_api.h"
#include "WM_types.h"
#include "MEM_guardedalloc.h"
#include "sequencer_intern.h"

Go to the source code of this file.

Classes

struct  ThumbnailDrawJob
 
struct  ThumbDataItem
 

Typedefs

typedef struct ThumbnailDrawJob ThumbnailDrawJob
 
typedef struct ThumbDataItem ThumbDataItem
 

Functions

static void thumbnail_hash_data_free (void *val)
 
static void thumbnail_freejob (void *data)
 
static void thumbnail_endjob (void *data)
 
static bool check_seq_need_thumbnails (const Scene *scene, Sequence *seq, rctf *view_area)
 
static void seq_get_thumb_image_dimensions (Sequence *seq, float pixelx, float pixely, float *r_thumb_width, float thumb_height, float *r_image_width, float *r_image_height)
 
static void thumbnail_start_job (void *data, short *stop, short *UNUSED(do_update), float *UNUSED(progress))
 
static SeqRenderData sequencer_thumbnail_context_init (const bContext *C)
 
static GHashsequencer_thumbnail_ghash_init (const bContext *C, View2D *v2d, Editing *ed)
 
static void sequencer_thumbnail_init_job (const bContext *C, View2D *v2d, Editing *ed, float thumb_height)
 
static bool sequencer_thumbnail_v2d_is_navigating (const bContext *C)
 
static void sequencer_thumbnail_start_job_if_necessary (const bContext *C, Editing *ed, View2D *v2d, bool thumbnail_is_missing, float thumb_height)
 
void last_displayed_thumbnails_list_free (void *val)
 
static GSetlast_displayed_thumbnails_list_ensure (const bContext *C, Sequence *seq)
 
static void last_displayed_thumbnails_list_cleanup (GSet *previously_displayed, float range_start, float range_end)
 
static int sequencer_thumbnail_closest_previous_frame_get (int timeline_frame, GSet *previously_displayed)
 
static int sequencer_thumbnail_closest_guaranteed_frame_get (struct Scene *scene, Sequence *seq, int timeline_frame)
 
static ImBufsequencer_thumbnail_closest_from_memory (const SeqRenderData *context, Sequence *seq, int timeline_frame, GSet *previously_displayed, rcti *crop, bool clipped)
 
void draw_seq_strip_thumbnail (View2D *v2d, const bContext *C, Scene *scene, Sequence *seq, float y1, float y2, float pixelx, float pixely)
 

Typedef Documentation

◆ ThumbDataItem

typedef struct ThumbDataItem ThumbDataItem

◆ ThumbnailDrawJob

Function Documentation

◆ check_seq_need_thumbnails()

static bool check_seq_need_thumbnails ( const Scene scene,
Sequence seq,
rctf view_area 
)
static

◆ draw_seq_strip_thumbnail()

void draw_seq_strip_thumbnail ( View2D v2d,
const bContext C,
Scene scene,
Sequence seq,
float  y1,
float  y2,
float  pixelx,
float  pixely 
)

◆ last_displayed_thumbnails_list_cleanup()

static void last_displayed_thumbnails_list_cleanup ( GSet previously_displayed,
float  range_start,
float  range_end 
)
static

◆ last_displayed_thumbnails_list_ensure()

static GSet* last_displayed_thumbnails_list_ensure ( const bContext C,
Sequence seq 
)
static

◆ last_displayed_thumbnails_list_free()

void last_displayed_thumbnails_list_free ( void val)

Definition at line 308 of file sequencer_thumbnails.c.

References BLI_gset_free(), and NULL.

Referenced by sequencer_free().

◆ seq_get_thumb_image_dimensions()

static void seq_get_thumb_image_dimensions ( Sequence seq,
float  pixelx,
float  pixely,
float r_thumb_width,
float  thumb_height,
float r_image_width,
float r_image_height 
)
static

◆ sequencer_thumbnail_closest_from_memory()

static ImBuf* sequencer_thumbnail_closest_from_memory ( const SeqRenderData context,
Sequence seq,
int  timeline_frame,
GSet previously_displayed,
rcti crop,
bool  clipped 
)
static

◆ sequencer_thumbnail_closest_guaranteed_frame_get()

static int sequencer_thumbnail_closest_guaranteed_frame_get ( struct Scene scene,
Sequence seq,
int  timeline_frame 
)
static

◆ sequencer_thumbnail_closest_previous_frame_get()

static int sequencer_thumbnail_closest_previous_frame_get ( int  timeline_frame,
GSet previously_displayed 
)
static

◆ sequencer_thumbnail_context_init()

static SeqRenderData sequencer_thumbnail_context_init ( const bContext C)
static

◆ sequencer_thumbnail_ghash_init()

static GHash* sequencer_thumbnail_ghash_init ( const bContext C,
View2D v2d,
Editing ed 
)
static

◆ sequencer_thumbnail_init_job()

static void sequencer_thumbnail_init_job ( const bContext C,
View2D v2d,
Editing ed,
float  thumb_height 
)
static

◆ sequencer_thumbnail_start_job_if_necessary()

static void sequencer_thumbnail_start_job_if_necessary ( const bContext C,
Editing ed,
View2D v2d,
bool  thumbnail_is_missing,
float  thumb_height 
)
static

◆ sequencer_thumbnail_v2d_is_navigating()

static bool sequencer_thumbnail_v2d_is_navigating ( const bContext C)
static

◆ thumbnail_endjob()

static void thumbnail_endjob ( void data)
static

◆ thumbnail_freejob()

static void thumbnail_freejob ( void data)
static

◆ thumbnail_hash_data_free()

static void thumbnail_hash_data_free ( void val)
static

◆ thumbnail_start_job()

static void thumbnail_start_job ( void data,
short *  stop,
short *  UNUSEDdo_update,
float UNUSEDprogress 
)
static