Blender
V3.3
|
#include "MEM_guardedalloc.h"
#include "BLI_math.h"
#include "BKE_context.h"
#include "GPU_batch.h"
#include "GPU_batch_utils.h"
#include "GPU_immediate.h"
#include "GPU_immediate_util.h"
#include "GPU_matrix.h"
#include "GPU_select.h"
#include "GPU_state.h"
#include "RNA_access.h"
#include "RNA_define.h"
#include "RNA_enum_types.h"
#include "WM_api.h"
#include "WM_types.h"
#include "ED_gizmo_library.h"
#include "ED_screen.h"
#include "ED_view3d.h"
#include "UI_interface.h"
#include "UI_interface_icons.h"
#include "UI_resources.h"
#include "../gizmo_geometry.h"
#include "../gizmo_library_intern.h"
Go to the source code of this file.
Classes | |
struct | ButtonGizmo2D |
Typedefs | |
Internal Types | |
typedef struct ButtonGizmo2D | ButtonGizmo2D |
Functions | |
Button Gizmo API | |
static void | GIZMO_GT_button_2d (wmGizmoType *gzt) |
void | ED_gizmotypes_button_2d (void) |
Internal API | |
#define | CIRCLE_RESOLUTION_3D 32 |
static void | button2d_geom_draw_backdrop (const wmGizmo *gz, const float color[4], const float fill_alpha, const bool select, const float screen_scale) |
static void | button2d_draw_intern (const bContext *C, wmGizmo *gz, const bool select, const bool highlight) |
static void | gizmo_button2d_draw_select (const bContext *C, wmGizmo *gz, int select_id) |
static void | gizmo_button2d_draw (const bContext *C, wmGizmo *gz) |
static int | gizmo_button2d_test_select (bContext *C, wmGizmo *gz, const int mval[2]) |
static int | gizmo_button2d_cursor_get (wmGizmo *gz) |
static bool | gizmo_button2d_bounds (bContext *C, wmGizmo *gz, rcti *r_bounding_box) |
static void | gizmo_button2d_free (wmGizmo *gz) |
#define CIRCLE_RESOLUTION_3D 32 |
Definition at line 326 of file button2d_gizmo.c.
typedef struct ButtonGizmo2D ButtonGizmo2D |
|
static |
Definition at line 122 of file button2d_gizmo.c.
References ARRAY_SIZE, BLI_assert, button2d_geom_draw_backdrop(), C, color, copy_v3_fl(), CTX_wm_region_view3d(), ED_GIZMO_BUTTON_SHOW_BACKDROP, ED_GIZMO_BUTTON_SHOW_HELPLINE, ED_GIZMO_BUTTON_SHOW_OUTLINE, wmGizmoGroupType::flag, gizmo_color_get(), GPU_batch_draw(), GPU_batch_program_set_builtin(), GPU_batch_tris_from_poly_2d_encoded(), GPU_batch_uniform_1f, GPU_batch_uniform_2fv, GPU_batch_wire_from_poly_2d_encoded(), GPU_blend(), GPU_BLEND_ALPHA, GPU_BLEND_NONE, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_line_smooth(), GPU_matrix_mul, GPU_matrix_pop(), GPU_matrix_push(), GPU_matrix_scale_2f(), GPU_matrix_translate_2f(), GPU_polygon_smooth(), GPU_PRIM_LINE_STRIP, GPU_SHADER_2D_UNIFORM_COLOR, GPU_SHADER_3D_POLYLINE_UNIFORM_COLOR, GPU_shader_uniform_4f(), GPU_vertformat_attr_add(), GPU_viewport_size_get_f(), ButtonGizmo2D::icon, ICON_DEFAULT_HEIGHT, ICON_DEFAULT_WIDTH, immBegin(), immBindBuiltinProgram(), immEnd(), immUnbindProgram(), immUniform1f(), immUniform2fv(), immUniformColor4fv(), immVertex3fv(), immVertexFormat(), ButtonGizmo2D::is_init, wmGizmo::line_width, mat4_to_scale(), wmGizmo::matrix_basis, MEM_freeN, MEM_mallocN, mul_m4_m4m4(), normalize_m4_m4(), NULL, wmGizmo::parent_gzgroup, pos, wmGizmo::ptr, rgb_to_grayscale(), RNA_enum_get(), RNA_float_get(), RNA_property_enum_get(), RNA_property_is_set(), RNA_property_string_get(), RNA_property_string_length(), RNA_struct_find_property(), select(), ButtonGizmo2D::shape_batch, transpose_m4(), wmGizmoGroup::type, UI_DPI_FAC, UI_icon_draw_alpha(), UNPACK4, RegionView3D::viewmat, WM_gizmo_calc_matrix_final(), WM_gizmo_calc_matrix_final_no_offset(), WM_GIZMOGROUPTYPE_3D, and zero_v3().
Referenced by gizmo_button2d_draw(), and gizmo_button2d_draw_select().
|
static |
Definition at line 66 of file button2d_gizmo.c.
References acosf, ceilf, color, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_SHADER_3D_POLYLINE_UNIFORM_COLOR, GPU_SHADER_3D_UNIFORM_COLOR, GPU_vertformat_attr_add(), GPU_viewport_size_get_f(), imm_draw_circle_fill_3d(), imm_draw_circle_wire_3d(), immBindBuiltinProgram(), immUnbindProgram(), immUniform1f(), immUniform2fv(), immUniformColor4fv(), immVertexFormat(), wmGizmo::line_width, M_PI, max_ff(), min_ff(), pos, select(), UNPACK3, and UNUSED_VARS.
Referenced by button2d_draw_intern().
Definition at line 429 of file button2d_gizmo.c.
References GIZMO_GT_button_2d(), and WM_gizmotype_append().
Referenced by ED_spacetypes_init().
Definition at line 327 of file button2d_gizmo.c.
References blender::compositor::area(), C, CIRCLE_RESOLUTION_3D, CTX_wm_area(), CTX_wm_region(), ED_view3d_pixel_size_no_ui_scale(), ED_view3d_project_float_global(), wmGizmoGroupType::flag, mat4_to_scale(), NULL, wmGizmo::parent_gzgroup, ARegion::regiondata, wmGizmoGroup::type, V3D_PROJ_RET_OK, V3D_PROJ_TEST_NOP, WM_gizmo_calc_matrix_final(), WM_gizmo_calc_matrix_final_no_offset(), WM_GIZMOGROUPTYPE_3D, rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.
Referenced by GIZMO_GT_button_2d().
|
static |
Definition at line 318 of file button2d_gizmo.c.
References wmGizmo::ptr, RNA_boolean_get(), WM_CURSOR_DEFAULT, and WM_CURSOR_NSEW_SCROLL.
Referenced by GIZMO_GT_button_2d().
Definition at line 285 of file button2d_gizmo.c.
References button2d_draw_intern(), C, GPU_blend(), GPU_BLEND_ALPHA, GPU_BLEND_NONE, wmGizmo::state, and WM_GIZMO_STATE_HIGHLIGHT.
Referenced by GIZMO_GT_button_2d().
Definition at line 279 of file button2d_gizmo.c.
References button2d_draw_intern(), C, and GPU_select_load_id().
Referenced by GIZMO_GT_button_2d().
Definition at line 368 of file button2d_gizmo.c.
References ARRAY_SIZE, GPU_BATCH_DISCARD_SAFE, and ButtonGizmo2D::shape_batch.
Referenced by GIZMO_GT_button_2d().
Definition at line 294 of file button2d_gizmo.c.
References C, copy_v2_v2(), gizmo_window_project_2d(), len_squared_v2(), wmGizmo::matrix_basis, mul_v2_fl(), wmGizmo::scale_final, sub_v2_v2(), and UNPACK2.
Referenced by GIZMO_GT_button_2d().
|
static |
Definition at line 383 of file button2d_gizmo.c.
References wmGizmoType::cursor_get, wmGizmoType::draw, wmGizmoType::draw_select, ED_GIZMO_BUTTON_SHOW_BACKDROP, ED_GIZMO_BUTTON_SHOW_HELPLINE, ED_GIZMO_BUTTON_SHOW_OUTLINE, wmGizmoType::free, gizmo_button2d_bounds(), gizmo_button2d_cursor_get(), gizmo_button2d_draw(), gizmo_button2d_draw_select(), gizmo_button2d_free(), gizmo_button2d_test_select(), wmGizmoType::idname, NULL, PROP_BYTESTRING, PROP_ENUM, PROP_NONE, PROP_STRING, RNA_def_boolean(), RNA_def_enum_flag(), RNA_def_float(), RNA_def_property(), RNA_def_property_enum_items(), rna_enum_icon_items, wmGizmoType::screen_bounds_get, wmGizmoType::srna, wmGizmoType::struct_size, and wmGizmoType::test_select.
Referenced by ED_gizmotypes_button_2d().