|
Blender
V2.93
|
#include <float.h>#include <limits.h>#include <math.h>#include <string.h>#include "MEM_guardedalloc.h"#include "DNA_scene_types.h"#include "DNA_userdef_types.h"#include "BLI_array.h"#include "BLI_math.h"#include "BLI_rect.h"#include "BLI_string.h"#include "BLI_timecode.h"#include "BLI_utildefines.h"#include "GPU_immediate.h"#include "GPU_matrix.h"#include "GPU_state.h"#include "WM_api.h"#include "BLF_api.h"#include "UI_interface.h"#include "UI_view2d.h"#include "interface_intern.h"Go to the source code of this file.
Classes | |
| struct | ParallelLinesSet |
Macros | |
| #define | MIN_MAJOR_LINE_DISTANCE (U.v2d_min_gridsize * UI_DPI_FAC) |
Typedefs | |
| typedef struct ParallelLinesSet | ParallelLinesSet |
| typedef void(* | PositionToString) (void *user_data, float v2d_pos, float v2d_step, uint max_len, char *r_str) |
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 *UNUSED(user_data), float v2d_pos, float UNUSED(v2d_step), uint max_len, char *r_str) |
| static void | view_to_string__time (void *user_data, float v2d_pos, float UNUSED(v2d_step), uint max_len, char *r_str) |
| static void | view_to_string__value (void *UNUSED(user_data), float v2d_pos, float v2d_step, uint max_len, char *r_str) |
| float | UI_view2d_grid_resolution_x__frames_or_seconds (const struct View2D *v2d, const struct Scene *scene, bool display_seconds) |
| float | UI_view2d_grid_resolution_y__values (const struct View2D *v2d) |
| void | UI_view2d_draw_lines_x__discrete_values (const View2D *v2d) |
| 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) |
| void | UI_view2d_draw_lines_x__discrete_frames_or_seconds (const View2D *v2d, const Scene *scene, bool display_seconds) |
| 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 struct ARegion *region, const struct View2D *v2d, const struct rcti *rect, const struct Scene *scene, bool display_seconds, int colorid) |
| void | UI_view2d_draw_scale_x__frames_or_seconds (const struct ARegion *region, const struct View2D *v2d, const struct rcti *rect, const struct Scene *scene, bool display_seconds, int colorid) |
Variables | |
| static const float | discrete_value_scales [] |
| static const float | continuous_value_scales [] |
| #define MIN_MAJOR_LINE_DISTANCE (U.v2d_min_gridsize * UI_DPI_FAC) |
Definition at line 57 of file view2d_draw.c.
| typedef struct ParallelLinesSet ParallelLinesSet |
| typedef void(* PositionToString) (void *user_data, float v2d_pos, float v2d_step, uint max_len, char *r_str) |
Definition at line 285 of file view2d_draw.c.
|
static |
Definition at line 288 of file view2d_draw.c.
References BLF_batch_draw_begin(), BLF_batch_draw_end(), BLF_default(), BLF_draw_default_ascii(), BLF_width(), BLI_rcti_size_x(), distance(), ParallelLinesSet::distance, get_parallel_lines_draw_steps(), GPU_matrix_pop_projection(), GPU_matrix_push_projection(), View2D::mask, ParallelLinesSet::offset, steps, std::to_string(), UI_DPI_FAC, UI_FontThemeColor(), UI_view2d_region_to_view_x(), UI_view2d_scale_get_x(), UI_view2d_view_to_region_x(), UNLIKELY, wmOrtho2_region_pixelspace(), rcti::xmax, rcti::xmin, and rcti::ymin.
Referenced by UI_view2d_draw_scale_x__discrete_time(), UI_view2d_draw_scale_x__discrete_values(), and UI_view2d_draw_scale_x__values().
|
static |
| rect_mask | Region size in pixels. |
Definition at line 180 of file view2d_draw.c.
References BLI_assert, BLI_rcti_size_x(), BLI_rcti_size_y(), ParallelLinesSet::distance, get_parallel_lines_draw_steps(), GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_PRIM_LINES, GPU_SHADER_2D_UNIFORM_COLOR, GPU_SHADER_3D_POLYLINE_UNIFORM_COLOR, GPU_vertformat_attr_add(), GPU_viewport_size_get_f(), immBegin(), immBindBuiltinProgram(), immEnd(), immUnbindProgram(), immUniform1f(), immUniform2fv(), immUniformColor3ubv(), immVertex2f(), immVertexFormat(), pos, steps, UNLIKELY, rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.
Referenced by view2d_draw_lines_internal().
|
static |
Definition at line 346 of file view2d_draw.c.
References BLF_batch_draw_begin(), BLF_batch_draw_end(), BLF_default(), BLF_disable(), BLF_draw_default_ascii(), BLF_enable(), BLF_rotation(), BLF_ROTATION, BLF_width(), BLI_rcti_size_y(), distance(), ParallelLinesSet::distance, get_parallel_lines_draw_steps(), GPU_matrix_pop_projection(), GPU_matrix_push_projection(), M_PI_2, View2D::mask, ParallelLinesSet::offset, steps, std::to_string(), UI_DPI_FAC, UI_FontThemeColor(), UI_view2d_region_to_view_y(), UI_view2d_scale_get_y(), UI_view2d_view_to_region_y(), UNLIKELY, wmOrtho2_region_pixelspace(), rcti::xmax, rcti::ymax, and rcti::ymin.
Referenced by UI_view2d_draw_scale_y__block(), and UI_view2d_draw_scale_y__values().
|
static |
Definition at line 151 of file view2d_draw.c.
References BLI_assert, ceilf, ParallelLinesSet::distance, floorf, MAX2, and ParallelLinesSet::offset.
Referenced by draw_horizontal_scale_indicators(), draw_parallel_lines(), and draw_vertical_scale_indicators().
|
static |
Definition at line 59 of file view2d_draw.c.
References BLI_assert, distance(), IS_EQF, and MIN_MAJOR_LINE_DISTANCE.
Referenced by view2d_major_step_x__continuous(), view2d_major_step_x__discrete(), view2d_major_step_x__time(), and view2d_major_step_y__continuous().
| void UI_view2d_draw_lines_x__discrete_frames_or_seconds | ( | const View2D * | v2d, |
| const Scene * | scene, | ||
| bool | display_seconds | ||
| ) |
Definition at line 487 of file view2d_draw.c.
References scene, UI_view2d_draw_lines_x__discrete_time(), and UI_view2d_draw_lines_x__discrete_values().
Definition at line 481 of file view2d_draw.c.
References scene, view2d_draw_lines(), and view2d_major_step_x__time().
Referenced by UI_view2d_draw_lines_x__discrete_frames_or_seconds(), and UI_view2d_draw_lines_x__frames_or_seconds().
| void UI_view2d_draw_lines_x__discrete_values | ( | const View2D * | v2d | ) |
Definition at line 463 of file view2d_draw.c.
References view2d_draw_lines(), and view2d_major_step_x__discrete().
Referenced by UI_view2d_draw_lines_x__discrete_frames_or_seconds().
| void UI_view2d_draw_lines_x__frames_or_seconds | ( | const View2D * | v2d, |
| const Scene * | scene, | ||
| bool | display_seconds | ||
| ) |
Definition at line 499 of file view2d_draw.c.
References scene, UI_view2d_draw_lines_x__discrete_time(), and UI_view2d_draw_lines_x__values().
| void UI_view2d_draw_lines_x__values | ( | const View2D * | v2d | ) |
Definition at line 469 of file view2d_draw.c.
References view2d_draw_lines(), and view2d_major_step_x__continuous().
Referenced by UI_view2d_draw_lines_x__frames_or_seconds().
| void UI_view2d_draw_lines_y__values | ( | const View2D * | v2d | ) |
Definition at line 475 of file view2d_draw.c.
References view2d_draw_lines(), and view2d_major_step_y__continuous().
| void UI_view2d_draw_scale_x__discrete_frames_or_seconds | ( | const struct ARegion * | region, |
| const struct View2D * | v2d, | ||
| const struct rcti * | rect, | ||
| const struct Scene * | scene, | ||
| bool | display_seconds, | ||
| int | colorid | ||
| ) |
Definition at line 560 of file view2d_draw.c.
References scene, UI_view2d_draw_scale_x__discrete_time(), and UI_view2d_draw_scale_x__discrete_values().
Referenced by ED_time_scrub_draw().
|
static |
Definition at line 524 of file view2d_draw.c.
References draw_horizontal_scale_indicators(), scene, view2d_major_step_x__time(), and view_to_string__time().
Referenced by UI_view2d_draw_scale_x__discrete_frames_or_seconds(), and UI_view2d_draw_scale_x__frames_or_seconds().
|
static |
Definition at line 514 of file view2d_draw.c.
References draw_horizontal_scale_indicators(), NULL, view2d_major_step_x__discrete(), and view_to_string__frame_number().
Referenced by UI_view2d_draw_scale_x__discrete_frames_or_seconds().
| void UI_view2d_draw_scale_x__frames_or_seconds | ( | const struct ARegion * | region, |
| const struct View2D * | v2d, | ||
| const struct rcti * | rect, | ||
| const struct Scene * | scene, | ||
| bool | display_seconds, | ||
| int | colorid | ||
| ) |
Definition at line 575 of file view2d_draw.c.
References scene, UI_view2d_draw_scale_x__discrete_time(), and UI_view2d_draw_scale_x__values().
Referenced by ED_time_scrub_draw().
|
static |
Definition at line 532 of file view2d_draw.c.
References draw_horizontal_scale_indicators(), NULL, view2d_major_step_x__continuous(), and view_to_string__value().
Referenced by UI_view2d_draw_scale_x__frames_or_seconds().
| void UI_view2d_draw_scale_y__block | ( | const ARegion * | region, |
| const View2D * | v2d, | ||
| const rcti * | rect, | ||
| int | colorid | ||
| ) |
Definition at line 551 of file view2d_draw.c.
References draw_vertical_scale_indicators(), NULL, and view_to_string__value().
| void UI_view2d_draw_scale_y__values | ( | const ARegion * | region, |
| const View2D * | v2d, | ||
| const rcti * | rect, | ||
| int | colorid | ||
| ) |
Definition at line 541 of file view2d_draw.c.
References draw_vertical_scale_indicators(), NULL, view2d_major_step_y__continuous(), and view_to_string__value().
| float UI_view2d_grid_resolution_x__frames_or_seconds | ( | const struct View2D * | v2d, |
| const struct Scene * | scene, | ||
| bool | display_seconds | ||
| ) |
Definition at line 445 of file view2d_draw.c.
References scene, view2d_major_step_x__continuous(), and view2d_major_step_x__time().
Referenced by snap_increment_apply().
Definition at line 455 of file view2d_draw.c.
References view2d_major_step_y__continuous().
Referenced by snap_increment_apply().
|
static |
Definition at line 258 of file view2d_draw.c.
References ParallelLinesSet::distance, ParallelLinesSet::offset, TH_GRID, UI_GetThemeColor3ubv(), UI_GetThemeColorShade3ubv(), and view2d_draw_lines_internal().
Referenced by UI_view2d_draw_lines_x__discrete_time(), UI_view2d_draw_lines_x__discrete_values(), UI_view2d_draw_lines_x__values(), and UI_view2d_draw_lines_y__values().
|
static |
Definition at line 247 of file view2d_draw.c.
References View2D::cur, draw_parallel_lines(), GPU_matrix_pop_projection(), GPU_matrix_push_projection(), View2D::mask, and UI_view2d_view_ortho().
Referenced by view2d_draw_lines().
Definition at line 96 of file view2d_draw.c.
References ARRAY_SIZE, BLI_rctf_size_x(), BLI_rcti_size_x(), continuous_value_scales, View2D::cur, View2D::mask, and select_major_distance().
Referenced by UI_view2d_draw_lines_x__values(), UI_view2d_draw_scale_x__values(), and UI_view2d_grid_resolution_x__frames_or_seconds().
Definition at line 88 of file view2d_draw.c.
References ARRAY_SIZE, BLI_rctf_size_x(), BLI_rcti_size_x(), View2D::cur, discrete_value_scales, View2D::mask, and select_major_distance().
Referenced by UI_view2d_draw_lines_x__discrete_values(), and UI_view2d_draw_scale_x__discrete_values().
Definition at line 112 of file view2d_draw.c.
References BLI_array_append, BLI_array_free, BLI_array_len, BLI_array_staticdeclare, BLI_rctf_size_x(), BLI_rcti_size_x(), View2D::cur, distance(), FPS, View2D::mask, NULL, and select_major_distance().
Referenced by UI_view2d_draw_lines_x__discrete_time(), UI_view2d_draw_scale_x__discrete_time(), and UI_view2d_grid_resolution_x__frames_or_seconds().
Definition at line 104 of file view2d_draw.c.
References ARRAY_SIZE, BLI_rctf_size_y(), BLI_rcti_size_y(), continuous_value_scales, View2D::cur, View2D::mask, and select_major_distance().
Referenced by UI_view2d_draw_lines_y__values(), UI_view2d_draw_scale_y__values(), and UI_view2d_grid_resolution_y__values().
|
static |
Definition at line 409 of file view2d_draw.c.
References BLI_snprintf().
Referenced by UI_view2d_draw_scale_x__discrete_values().
|
static |
Definition at line 415 of file view2d_draw.c.
References BLI_timecode_string_from_time(), FPS, scene, and user_data.
Referenced by UI_view2d_draw_scale_x__discrete_time().
|
static |
Definition at line 425 of file view2d_draw.c.
References BLI_snprintf().
Referenced by UI_view2d_draw_scale_x__values(), UI_view2d_draw_scale_y__block(), and UI_view2d_draw_scale_y__values().
|
static |
Definition at line 84 of file view2d_draw.c.
Referenced by view2d_major_step_x__continuous(), and view2d_major_step_y__continuous().
|
static |
Definition at line 81 of file view2d_draw.c.
Referenced by view2d_major_step_x__discrete().