37 for (
int i = 0; i < 2; i++) {
92 float final_mat[4][4], box[4][2];
111 if (sb->
rot == 0.0f) {
126 mul_m4_m4m4(final_mat, ob->object_to_world().ptr(), final_mat);
141 mul_m4_m4m4(mat, ob->object_to_world().ptr(), mat);
152 for (
int i = 0; i < cu->
totbox; i++) {
154 const bool is_active = (i == (cu->
actbox - 1));
157 if ((tb->
w != 0.0f) || (tb->
h != 0.0f)) {
159 vecs[0][0] = vecs[1][0] = vecs[2][0] = vecs[3][0] = cu->
xof + tb->
x;
160 vecs[0][1] = vecs[1][1] = vecs[2][1] = vecs[3][1] = cu->
yof + tb->
y + cu->
fsize_realtime;
161 vecs[0][2] = vecs[1][2] = vecs[2][2] = vecs[3][2] = 0.001;
168 for (
int j = 0; j < 4; j++) {
169 mul_v3_m4v3(vecs[j], ob->object_to_world().ptr(), vecs[j]);
171 for (
int j = 0; j < 4; j++) {
181 blender::gpu::Batch *geom;
MINLINE void srgb_to_linearrgb_v4(float linear[4], const float srgb[4])
void mul_m4_m4m4(float R[4][4], const float A[4][4], const float B[4][4])
void unit_m4(float m[4][4])
void mul_v3_m4v3(float r[3], const float mat[4][4], const float vec[3])
void angle_to_mat2(float R[2][2], float angle)
MINLINE void copy_v2_fl2(float v[2], float x, float y)
MINLINE void mul_v2_fl(float r[2], float f)
MINLINE void copy_v2_v2(float r[2], const float a[2])
MINLINE void add_v2_v2(float r[2], const float a[2])
MINLINE void sub_v2_v2v2(float r[2], const float a[2], const float b[2])
MINLINE void mul_v2_v2fl(float r[2], const float a[2], float f)
#define DRW_PASS_INSTANCE_CREATE(pass, original, state)
#define DRW_PASS_CREATE(pass, state)
#define DRW_shgroup_call_obmat(shgroup, geom, obmat)
#define DRW_shgroup_call(shgroup, geom, ob)
void GPU_framebuffer_bind(GPUFrameBuffer *framebuffer)
@ TH_WIDGET_TEXT_HIGHLIGHT
@ TH_WIDGET_TEXT_SELECTION
void UI_GetThemeColor4fv(int colorid, float col[4])
struct GPUShader GPUShader
blender::gpu::Batch * DRW_cache_text_edge_wire_get(Object *ob)
blender::gpu::Batch * DRW_cache_quad_get()
DRWView * DRW_view_create_with_zoffset(const DRWView *parent_view, const RegionView3D *rv3d, float offset)
const DRWContextState * DRW_context_state_get()
const DRWView * DRW_view_default_get()
DRWShadingGroup * DRW_shgroup_create(GPUShader *shader, DRWPass *pass)
void DRW_shgroup_uniform_vec4(DRWShadingGroup *shgroup, const char *name, const float *value, int arraysize)
void DRW_shgroup_uniform_vec4_copy(DRWShadingGroup *shgroup, const char *name, const float *value)
void DRW_draw_pass(DRWPass *pass)
void DRW_view_set_active(const DRWView *view)
@ DRW_STATE_DEPTH_GREATER_EQUAL
@ DRW_STATE_DEPTH_LESS_EQUAL
draw_view in_light_buf[] float
static void edit_text_cache_populate_boxes(OVERLAY_Data *vedata, Object *ob)
static void edit_text_cache_populate_select(OVERLAY_Data *vedata, Object *ob)
static void edit_text_cache_populate_cursor(OVERLAY_Data *vedata, Object *ob)
void OVERLAY_edit_text_cache_init(OVERLAY_Data *vedata)
void OVERLAY_edit_text_cache_populate(OVERLAY_Data *vedata, Object *ob)
static void v2_quad_corners_to_mat4(const float corners[4][2], float r_mat[4][4])
void OVERLAY_edit_text_draw(OVERLAY_Data *vedata)
GPUShader * OVERLAY_shader_uniform_color()
struct EditFont * editfont
EditFontSelBox * selboxes
OVERLAY_StorageList * stl
OVERLAY_FramebufferList * fbl
GPUFrameBuffer * overlay_default_fb
DRWPass * edit_text_highlight_ps
DRWPass * edit_text_selection_ps
DRWPass * edit_text_cursor_ps
DRWPass * edit_text_wire_ps[2]
OVERLAY_ShadingData shdata
struct OVERLAY_PrivateData::@228 edit_curve
DRWShadingGroup * edit_text_cursor_grp
struct OVERLAY_PrivateData::@229 edit_text
DRWShadingGroup * edit_text_wire_grp[2]
DRWShadingGroup * edit_text_selection_grp
float edit_curve_normal_length