Blender V4.3
view2d_draw.cc File Reference
#include <algorithm>
#include <cfloat>
#include <climits>
#include <cmath>
#include <cstring>
#include "MEM_guardedalloc.h"
#include "DNA_scene_types.h"
#include "DNA_userdef_types.h"
#include "BLI_rect.h"
#include "BLI_string.h"
#include "BLI_timecode.h"
#include "BLI_utildefines.h"
#include "BLI_vector.hh"
#include "GPU_immediate.hh"
#include "GPU_matrix.hh"
#include "GPU_state.hh"
#include "WM_api.hh"
#include "BLF_api.hh"
#include "UI_interface.hh"
#include "UI_view2d.hh"

Go to the source code of this file.

Classes

struct  ParallelLinesSet
 

Macros

#define MIN_MAJOR_LINE_DISTANCE   (U.v2d_min_gridsize * UI_SCALE_FAC)
 

Typedefs

using PositionToString
 

Functions

static float select_major_distance (const float *possible_distances, uint amount, float pixel_width, float view_width)
 
static uint view2d_major_step_x__discrete (const View2D *v2d)
 
static float view2d_major_step_x__continuous (const View2D *v2d)
 
static float view2d_major_step_y__continuous (const View2D *v2d)
 
static float view2d_major_step_x__time (const View2D *v2d, const Scene *scene)
 
static void get_parallel_lines_draw_steps (const ParallelLinesSet *lines, float region_start, float region_end, float *r_first, uint *r_steps)
 
static void draw_parallel_lines (const ParallelLinesSet *lines, const rctf *rect, const rcti *rect_mask, const uchar color[3], char direction)
 
static void view2d_draw_lines_internal (const View2D *v2d, const ParallelLinesSet *lines, const uchar color[3], char direction)
 
static void view2d_draw_lines (const View2D *v2d, float major_distance, bool display_minor_lines, char direction)
 
static void draw_horizontal_scale_indicators (const ARegion *region, const View2D *v2d, float distance, const rcti *rect, PositionToString to_string, void *to_string_data, int colorid)
 
static void draw_vertical_scale_indicators (const ARegion *region, const View2D *v2d, float distance, float display_offset, const rcti *rect, PositionToString to_string, void *to_string_data, int colorid)
 
static void view_to_string__frame_number (void *, float v2d_pos, float, char *r_str, uint str_maxncpy)
 
static void view_to_string__time (void *user_data, float v2d_pos, float v2d_step, char *r_str, uint str_maxncpy)
 
static void view_to_string__value (void *, float v2d_pos, float v2d_step, char *r_str, uint str_maxncpy)
 
float UI_view2d_grid_resolution_x__frames_or_seconds (const View2D *v2d, const Scene *scene, bool display_seconds)
 
float UI_view2d_grid_resolution_y__values (const View2D *v2d)
 
void UI_view2d_draw_lines_x__discrete_values (const View2D *v2d, bool display_minor_lines)
 
void UI_view2d_draw_lines_x__values (const View2D *v2d)
 
void UI_view2d_draw_lines_y__values (const View2D *v2d)
 
void UI_view2d_draw_lines_x__discrete_time (const View2D *v2d, const Scene *scene, bool display_minor_lines)
 
void UI_view2d_draw_lines_x__discrete_frames_or_seconds (const View2D *v2d, const Scene *scene, bool display_seconds, bool display_minor_lines)
 
void UI_view2d_draw_lines_x__frames_or_seconds (const View2D *v2d, const Scene *scene, bool display_seconds)
 
static void UI_view2d_draw_scale_x__discrete_values (const ARegion *region, const View2D *v2d, const rcti *rect, int colorid)
 
static void UI_view2d_draw_scale_x__discrete_time (const ARegion *region, const View2D *v2d, const rcti *rect, const Scene *scene, int colorid)
 
static void UI_view2d_draw_scale_x__values (const ARegion *region, const View2D *v2d, const rcti *rect, int colorid)
 
void UI_view2d_draw_scale_y__values (const ARegion *region, const View2D *v2d, const rcti *rect, int colorid)
 
void UI_view2d_draw_scale_y__block (const ARegion *region, const View2D *v2d, const rcti *rect, int colorid)
 
void UI_view2d_draw_scale_x__discrete_frames_or_seconds (const ARegion *region, const View2D *v2d, const rcti *rect, const Scene *scene, bool display_seconds, int colorid)
 
void UI_view2d_draw_scale_x__frames_or_seconds (const ARegion *region, const View2D *v2d, const rcti *rect, const Scene *scene, bool display_seconds, int colorid)
 

Variables

static const float discrete_value_scales []
 
static const float continuous_value_scales []
 

Macro Definition Documentation

◆ MIN_MAJOR_LINE_DISTANCE

#define MIN_MAJOR_LINE_DISTANCE   (U.v2d_min_gridsize * UI_SCALE_FAC)

Definition at line 40 of file view2d_draw.cc.

Referenced by select_major_distance().

Typedef Documentation

◆ PositionToString

Initial value:
void (*)(void *user_data, float v2d_pos, float v2d_step, char *r_str, uint str_maxncpy)
unsigned int uint

Definition at line 265 of file view2d_draw.cc.

Function Documentation

◆ draw_horizontal_scale_indicators()

◆ draw_parallel_lines()

◆ draw_vertical_scale_indicators()

◆ get_parallel_lines_draw_steps()

static void get_parallel_lines_draw_steps ( const ParallelLinesSet * lines,
float region_start,
float region_end,
float * r_first,
uint * r_steps )
static

◆ select_major_distance()

static float select_major_distance ( const float * possible_distances,
uint amount,
float pixel_width,
float view_width )
static

◆ UI_view2d_draw_lines_x__discrete_frames_or_seconds()

void UI_view2d_draw_lines_x__discrete_frames_or_seconds ( const View2D * v2d,
const Scene * scene,
bool display_seconds,
bool display_minor_lines )

◆ UI_view2d_draw_lines_x__discrete_time()

void UI_view2d_draw_lines_x__discrete_time ( const View2D * v2d,
const Scene * scene,
bool display_minor_lines )

◆ UI_view2d_draw_lines_x__discrete_values()

void UI_view2d_draw_lines_x__discrete_values ( const View2D * v2d,
bool display_minor_lines )

◆ UI_view2d_draw_lines_x__frames_or_seconds()

void UI_view2d_draw_lines_x__frames_or_seconds ( const View2D * v2d,
const Scene * scene,
bool display_seconds )

◆ UI_view2d_draw_lines_x__values()

void UI_view2d_draw_lines_x__values ( const View2D * v2d)

◆ UI_view2d_draw_lines_y__values()

void UI_view2d_draw_lines_y__values ( const View2D * v2d)

◆ UI_view2d_draw_scale_x__discrete_frames_or_seconds()

void UI_view2d_draw_scale_x__discrete_frames_or_seconds ( const ARegion * region,
const View2D * v2d,
const rcti * rect,
const Scene * scene,
bool display_seconds,
int colorid )

◆ UI_view2d_draw_scale_x__discrete_time()

static void UI_view2d_draw_scale_x__discrete_time ( const ARegion * region,
const View2D * v2d,
const rcti * rect,
const Scene * scene,
int colorid )
static

◆ UI_view2d_draw_scale_x__discrete_values()

static void UI_view2d_draw_scale_x__discrete_values ( const ARegion * region,
const View2D * v2d,
const rcti * rect,
int colorid )
static

◆ UI_view2d_draw_scale_x__frames_or_seconds()

void UI_view2d_draw_scale_x__frames_or_seconds ( const ARegion * region,
const View2D * v2d,
const rcti * rect,
const Scene * scene,
bool display_seconds,
int colorid )

◆ UI_view2d_draw_scale_x__values()

static void UI_view2d_draw_scale_x__values ( const ARegion * region,
const View2D * v2d,
const rcti * rect,
int colorid )
static

◆ UI_view2d_draw_scale_y__block()

void UI_view2d_draw_scale_y__block ( const ARegion * region,
const View2D * v2d,
const rcti * rect,
int colorid )

Definition at line 561 of file view2d_draw.cc.

References draw_vertical_scale_indicators(), and view_to_string__value().

◆ UI_view2d_draw_scale_y__values()

void UI_view2d_draw_scale_y__values ( const ARegion * region,
const View2D * v2d,
const rcti * rect,
int colorid )

Scale indicator text drawing.

Definition at line 551 of file view2d_draw.cc.

References draw_vertical_scale_indicators(), view2d_major_step_y__continuous(), and view_to_string__value().

Referenced by graph_main_region_draw_overlay(), and graph_region_draw().

◆ UI_view2d_grid_resolution_x__frames_or_seconds()

float UI_view2d_grid_resolution_x__frames_or_seconds ( const View2D * v2d,
const Scene * scene,
bool display_seconds )

Definition at line 449 of file view2d_draw.cc.

References view2d_major_step_x__continuous(), and view2d_major_step_x__time().

Referenced by snap_increment_apply().

◆ UI_view2d_grid_resolution_y__values()

float UI_view2d_grid_resolution_y__values ( const View2D * v2d)

Definition at line 459 of file view2d_draw.cc.

References view2d_major_step_y__continuous().

Referenced by snap_increment_apply().

◆ view2d_draw_lines()

◆ view2d_draw_lines_internal()

static void view2d_draw_lines_internal ( const View2D * v2d,
const ParallelLinesSet * lines,
const uchar color[3],
char direction )
static

◆ view2d_major_step_x__continuous()

◆ view2d_major_step_x__discrete()

◆ view2d_major_step_x__time()

◆ view2d_major_step_y__continuous()

◆ view_to_string__frame_number()

static void view_to_string__frame_number ( void * ,
float v2d_pos,
float ,
char * r_str,
uint str_maxncpy )
static

Definition at line 409 of file view2d_draw.cc.

References BLI_snprintf().

Referenced by UI_view2d_draw_scale_x__discrete_values().

◆ view_to_string__time()

static void view_to_string__time ( void * user_data,
float v2d_pos,
float v2d_step,
char * r_str,
uint str_maxncpy )
static

◆ view_to_string__value()

static void view_to_string__value ( void * ,
float v2d_pos,
float v2d_step,
char * r_str,
uint str_maxncpy )
static

Variable Documentation

◆ continuous_value_scales

const float continuous_value_scales[]
static
Initial value:
= {0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2,
5, 10, 20, 50, 100, 200, 500, 1000,
2000, 5000, 10000, 20000, 50000, 100000}

Definition at line 67 of file view2d_draw.cc.

Referenced by view2d_major_step_x__continuous(), and view2d_major_step_y__continuous().

◆ discrete_value_scales

const float discrete_value_scales[]
static
Initial value:
= {
1, 2, 5, 10, 20, 50, 100, 200, 500, 1000, 2000, 5000, 10000, 20000, 50000, 100000}

Definition at line 64 of file view2d_draw.cc.

Referenced by view2d_major_step_x__discrete().