Blender
V3.3
|
#include <cfloat>
#include <climits>
#include <cmath>
#include <cstring>
#include "MEM_guardedalloc.h"
#include "DNA_scene_types.h"
#include "DNA_userdef_types.h"
#include "BLI_math.h"
#include "BLI_rect.h"
#include "BLI_string.h"
#include "BLI_timecode.h"
#include "BLI_utildefines.h"
#include "BLI_vector.hh"
#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 | |
using | PositionToString = void(*)(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 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, 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 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 41 of file view2d_draw.cc.
using PositionToString = void (*)(void *user_data, float v2d_pos, float v2d_step, uint max_len, char *r_str) |
Definition at line 267 of file view2d_draw.cc.
|
static |
Definition at line 270 of file view2d_draw.cc.
References blender::math::abs(), BLF_batch_draw_begin(), BLF_batch_draw_end(), BLF_default(), BLF_draw_default(), BLF_width(), BLI_rcti_size_x(), ceil(), blender::math::distance(), ParallelLinesSet::distance, get_parallel_lines_draw_steps(), GPU_matrix_pop_projection(), GPU_matrix_push_projection(), View2D::mask, max_ff(), ParallelLinesSet::offset, steps, 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 162 of file view2d_draw.cc.
References BLI_assert, BLI_rcti_size_x(), BLI_rcti_size_y(), color, 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 343 of file view2d_draw.cc.
References BLF_batch_draw_begin(), BLF_batch_draw_end(), BLF_default(), BLF_disable(), BLF_draw_default(), BLF_enable(), BLF_height(), BLF_shadow(), BLF_SHADOW, BLF_shadow_offset(), BLI_rcti_size_y(), blender::math::distance(), ParallelLinesSet::distance, get_parallel_lines_draw_steps(), GPU_matrix_pop_projection(), GPU_matrix_push_projection(), View2D::mask, ParallelLinesSet::offset, steps, 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::xmin, rcti::ymax, and rcti::ymin.
Referenced by UI_view2d_draw_scale_y__block(), and UI_view2d_draw_scale_y__values().
|
static |
Definition at line 133 of file view2d_draw.cc.
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 43 of file view2d_draw.cc.
References BLI_assert, blender::math::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, | ||
bool | display_minor_lines | ||
) |
Definition at line 496 of file view2d_draw.cc.
References scene, UI_view2d_draw_lines_x__discrete_time(), and UI_view2d_draw_lines_x__discrete_values().
void UI_view2d_draw_lines_x__discrete_time | ( | const View2D * | v2d, |
const Scene * | scene, | ||
bool | display_minor_lines | ||
) |
Definition at line 487 of file view2d_draw.cc.
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().
Definition at line 468 of file view2d_draw.cc.
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 509 of file view2d_draw.cc.
References scene, UI_view2d_draw_lines_x__discrete_time(), and UI_view2d_draw_lines_x__values().
Definition at line 475 of file view2d_draw.cc.
References view2d_draw_lines(), and view2d_major_step_x__continuous().
Referenced by UI_view2d_draw_lines_x__frames_or_seconds().
Definition at line 481 of file view2d_draw.cc.
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 571 of file view2d_draw.cc.
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 534 of file view2d_draw.cc.
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 524 of file view2d_draw.cc.
References draw_horizontal_scale_indicators(), 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 586 of file view2d_draw.cc.
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 542 of file view2d_draw.cc.
References draw_horizontal_scale_indicators(), 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 562 of file view2d_draw.cc.
References draw_vertical_scale_indicators(), 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 552 of file view2d_draw.cc.
References draw_vertical_scale_indicators(), 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 450 of file view2d_draw.cc.
References scene, view2d_major_step_x__continuous(), and view2d_major_step_x__time().
Referenced by snap_increment_apply().
Definition at line 460 of file view2d_draw.cc.
References view2d_major_step_y__continuous().
Referenced by snap_increment_apply().
|
static |
Definition at line 240 of file view2d_draw.cc.
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 229 of file view2d_draw.cc.
References color, 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 80 of file view2d_draw.cc.
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 72 of file view2d_draw.cc.
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 96 of file view2d_draw.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), BLI_rctf_size_x(), BLI_rcti_size_x(), View2D::cur, blender::Vector< T, InlineBufferCapacity, Allocator >::data(), blender::math::distance(), FPS, View2D::mask, select_major_distance(), and blender::Vector< T, InlineBufferCapacity, Allocator >::size().
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 88 of file view2d_draw.cc.
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 410 of file view2d_draw.cc.
References BLI_snprintf().
Referenced by UI_view2d_draw_scale_x__discrete_values().
|
static |
Definition at line 416 of file view2d_draw.cc.
References BLI_timecode_string_from_time(), FPS, scene, user_data, and USER_TIMECODE_MINIMAL.
Referenced by UI_view2d_draw_scale_x__discrete_time().
|
static |
Definition at line 430 of file view2d_draw.cc.
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 68 of file view2d_draw.cc.
Referenced by view2d_major_step_x__continuous(), and view2d_major_step_y__continuous().
|
static |
Definition at line 65 of file view2d_draw.cc.
Referenced by view2d_major_step_x__discrete().