Blender V4.3
button2d_gizmo.cc File Reference
#include "MEM_guardedalloc.h"
#include "BLI_math_color.h"
#include "BLI_math_matrix.h"
#include "BLI_math_vector_types.hh"
#include "BKE_context.hh"
#include "GPU_batch.hh"
#include "GPU_batch_utils.hh"
#include "GPU_immediate.hh"
#include "GPU_immediate_util.hh"
#include "GPU_matrix.hh"
#include "GPU_select.hh"
#include "GPU_state.hh"
#include "RNA_access.hh"
#include "RNA_define.hh"
#include "RNA_enum_types.hh"
#include "WM_api.hh"
#include "WM_types.hh"
#include "ED_gizmo_library.hh"
#include "ED_view3d.hh"
#include "UI_interface_icons.hh"
#include "../gizmo_library_intern.hh"

Go to the source code of this file.

Classes

struct  ButtonGizmo2D
 

Functions

Button Gizmo API
static void GIZMO_GT_button_2d (wmGizmoType *gzt)
 
void ED_gizmotypes_button_2d ()
 

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)
 

Macro Definition Documentation

◆ CIRCLE_RESOLUTION_3D

#define CIRCLE_RESOLUTION_3D   32

Definition at line 327 of file button2d_gizmo.cc.

Referenced by gizmo_button2d_bounds().

Function Documentation

◆ button2d_draw_intern()

static void button2d_draw_intern ( const bContext * C,
wmGizmo * gz,
const bool select,
const bool highlight )
static

Definition at line 122 of file button2d_gizmo.cc.

References ARRAY_SIZE, BLI_assert, button2d_geom_draw_backdrop(), 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_3D_POLYLINE_UNIFORM_COLOR, GPU_SHADER_3D_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(), 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_icon_draw_alpha(), UI_SCALE_FAC, 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().

◆ button2d_geom_draw_backdrop()

◆ ED_gizmotypes_button_2d()

void ED_gizmotypes_button_2d ( )

Definition at line 431 of file button2d_gizmo.cc.

References GIZMO_GT_button_2d(), and WM_gizmotype_append().

Referenced by ED_spacetypes_init().

◆ gizmo_button2d_bounds()

◆ gizmo_button2d_cursor_get()

static int gizmo_button2d_cursor_get ( wmGizmo * gz)
static

◆ gizmo_button2d_draw()

static void gizmo_button2d_draw ( const bContext * C,
wmGizmo * gz )
static

◆ gizmo_button2d_draw_select()

static void gizmo_button2d_draw_select ( const bContext * C,
wmGizmo * gz,
int select_id )
static

Definition at line 279 of file button2d_gizmo.cc.

References button2d_draw_intern(), and GPU_select_load_id().

Referenced by GIZMO_GT_button_2d().

◆ gizmo_button2d_free()

static void gizmo_button2d_free ( wmGizmo * gz)
static

Definition at line 370 of file button2d_gizmo.cc.

References ARRAY_SIZE, and GPU_BATCH_DISCARD_SAFE.

Referenced by GIZMO_GT_button_2d().

◆ gizmo_button2d_test_select()

static int gizmo_button2d_test_select ( bContext * C,
wmGizmo * gz,
const int mval[2] )
static

◆ GIZMO_GT_button_2d()