|
Blender V5.0
|
#include "DNA_screen_types.h"#include "DNA_userdef_types.h"#include "DNA_vec_types.h"#include "DNA_windowmanager_types.h"#include "MEM_guardedalloc.h"#include "BLI_bitmap_draw_2d.h"#include "BLI_lasso_2d.hh"#include "BLI_listbase.h"#include "BLI_math_vector.h"#include "BLI_rect.h"#include "BLI_utildefines.h"#include "WM_api.hh"#include "WM_types.hh"#include "wm.hh"#include "GPU_immediate.hh"#include "GPU_immediate_util.hh"#include "GPU_state.hh"#include "BIF_glutil.hh"Go to the source code of this file.
Classes | |
| struct | LassoFillData |
Typedefs | |
| using | int2 |
Gestures (cursor motions) creating, evaluating and drawing, shared between operators.
Definition in file wm_gesture.cc.
| using blender::int2 |
Definition at line 601 of file BLI_math_vector_types.hh.
|
static |
Definition at line 304 of file wm_gesture.cc.
References BLI_bitmap_draw_2d_poly_v2i_n(), BLI_lasso_boundbox(), BLI_rcti_is_empty(), BLI_rcti_isect(), BLI_rcti_size_x(), BLI_rcti_size_y(), BLI_rcti_translate(), wmGesture::customdata, draw_filled_lasso_px_cb(), GPU_blend(), GPU_BLEND_ADDITIVE_PREMULT, GPU_BLEND_NONE, GPU_SHADER_2D_IMAGE_SHUFFLE_COLOR, GPU_shader_bind(), GPU_shader_get_uniform(), GPU_shader_unbind(), GPU_shader_uniform_float_ex(), i, immDrawPixelsTexSetup(), immDrawPixelsTexTiled(), MEM_calloc_arrayN(), MEM_freeN(), wmGesture::points, state, wmGesture::type, w(), wmGesture::winrct, WM_GESTURE_POLYLINE, rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.
Referenced by wm_gesture_draw_lasso(), and wm_gesture_draw_polyline().
|
static |
Definition at line 297 of file wm_gesture.cc.
References col, data, x, and y.
Referenced by draw_filled_lasso().
Definition at line 382 of file wm_gesture.cc.
References wmGesture::customdata, float, GPU_blend(), GPU_BLEND_ALPHA, GPU_BLEND_NONE, GPU_line_smooth(), GPU_line_width(), GPU_PRIM_LINES, GPU_SHADER_3D_UNIFORM_COLOR, imm_draw_circle_wire_2d(), immBegin(), immBindBuiltinProgram(), immEnd(), immUnbindProgram(), immUniformColor4f(), immVertex2f(), mul_v3_v3fl(), wmGesture::mval, and wmGesture::points.
Referenced by wm_gesture_draw_lasso().
Definition at line 464 of file wm_gesture.cc.
References wmGesture::customdata, float, GPU_SHADER_3D_UNIFORM_COLOR, imm_draw_circle_wire_2d(), immBindBuiltinProgram(), immUnbindProgram(), immUniformColor4f(), interpf(), len_v2v2(), wmGesture::mval, wmGesture::points, blender::wm::gesture::POLYLINE_CLICK_RADIUS, pow2f(), smoothstep(), and UI_SCALE_FAC.
Referenced by wm_gesture_draw_polyline().
| void wm_gesture_draw | ( | wmWindow * | win | ) |
Definition at line 580 of file wm_gesture.cc.
References ListBase::first, wmWindow::gesture, GPU_line_width(), wmGesture::is_active, wmGesture::next, wmGesture::type, wmGesture::winrct, WM_GESTURE_CIRCLE, WM_GESTURE_CROSS_RECT, wm_gesture_draw_circle(), wm_gesture_draw_cross(), wm_gesture_draw_lasso(), wm_gesture_draw_line(), wm_gesture_draw_polyline(), wm_gesture_draw_rect(), WM_GESTURE_LASSO, WM_GESTURE_LINES, WM_GESTURE_POLYLINE, WM_GESTURE_RECT, WM_GESTURE_STRAIGHTLINE, and wmViewport().
Referenced by wm_draw_window_onscreen().
|
static |
Definition at line 257 of file wm_gesture.cc.
References wmGesture::customdata, GPU_blend(), GPU_BLEND_ALPHA, GPU_BLEND_NONE, GPU_SHADER_3D_LINE_DASHED_UNIFORM_COLOR, GPU_SHADER_3D_UNIFORM_COLOR, GPU_vertformat_attr_add(), GPU_viewport_size_get_f(), imm_draw_circle_fill_2d(), imm_draw_circle_wire_2d(), immBindBuiltinProgram(), immUnbindProgram(), immUniform1f(), immUniform1i(), immUniform2f(), immUniform4f(), immUniformColor4f(), immVertexFormat(), rcti::xmax, rcti::xmin, and rcti::ymin.
Referenced by wm_gesture_draw().
Definition at line 535 of file wm_gesture.cc.
References wmGesture::customdata, float, GPU_PRIM_LINES, GPU_SHADER_3D_LINE_DASHED_UNIFORM_COLOR, GPU_vertformat_attr_add(), GPU_viewport_size_get_f(), immBegin(), immBindBuiltinProgram(), immEnd(), immUnbindProgram(), immUniform1f(), immUniform1i(), immUniform2f(), immUniform4f(), immVertex2f(), immVertexFormat(), WM_window_native_pixel_size(), rcti::xmin, and rcti::ymin.
Referenced by wm_gesture_draw().
|
static |
Definition at line 419 of file wm_gesture.cc.
References wmGesture::customdata, draw_filled_lasso(), draw_lasso_smooth_stroke_indicator(), GPU_PRIM_LINE_LOOP, GPU_PRIM_LINE_STRIP, GPU_SHADER_3D_LINE_DASHED_UNIFORM_COLOR, GPU_vertformat_attr_add(), GPU_viewport_size_get_f(), i, immBegin(), immBindBuiltinProgram(), immEnd(), immUnbindProgram(), immUniform1f(), immUniform1i(), immUniform2f(), immUniform4f(), immVertex2f(), immVertexFormat(), wmGesture::points, wmGesture::type, wmGesture::use_smooth, and WM_GESTURE_LASSO.
Referenced by wm_gesture_draw().
|
static |
Definition at line 181 of file wm_gesture.cc.
References wmGesture::customdata, wmGesture::draw_active_side, float, GPU_PRIM_LINES, GPU_SHADER_3D_LINE_DASHED_UNIFORM_COLOR, GPU_vertformat_attr_add(), GPU_viewport_size_get_f(), immBegin(), immBindBuiltinProgram(), immEnd(), immUnbindProgram(), immUniform1f(), immUniform1i(), immUniform2f(), immUniform4f(), immVertex2f(), immVertexFormat(), wmGesture::use_flip, wm_gesture_draw_line_active_side(), rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.
Referenced by wm_gesture_draw().
|
static |
Definition at line 131 of file wm_gesture.cc.
References add_v2_v2v2(), float, GPU_blend(), GPU_BLEND_ALPHA, GPU_BLEND_NONE, GPU_PRIM_TRIS, GPU_SHADER_3D_SMOOTH_COLOR, GPU_vertformat_attr_add(), immAttr4f(), immBegin(), immBindBuiltinProgram(), immEnd(), immUnbindProgram(), immVertex2f(), immVertexFormat(), mul_v2_fl(), normalize_v2(), ortho_v2_v2(), sub_v2_v2v2(), UI_SCALE_FAC, UNPACK4, rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.
Referenced by wm_gesture_draw_line().
|
static |
Definition at line 496 of file wm_gesture.cc.
References wmGesture::customdata, draw_filled_lasso(), draw_start_vertex_circle(), GPU_PRIM_LINE_LOOP, GPU_SHADER_3D_LINE_DASHED_UNIFORM_COLOR, GPU_vertformat_attr_add(), GPU_viewport_size_get_f(), i, immBegin(), immBindBuiltinProgram(), immEnd(), immUnbindProgram(), immUniform1f(), immUniform1i(), immUniform2f(), immUniform4f(), immVertex2f(), immVertexFormat(), wmGesture::mval, and wmGesture::points.
Referenced by wm_gesture_draw().
|
static |
Definition at line 215 of file wm_gesture.cc.
References wmGesture::customdata, GPU_blend(), GPU_BLEND_ALPHA, GPU_BLEND_NONE, GPU_SHADER_3D_LINE_DASHED_UNIFORM_COLOR, GPU_SHADER_3D_UNIFORM_COLOR, GPU_vertformat_attr_add(), GPU_viewport_size_get_f(), imm_draw_box_wire_2d(), immBindBuiltinProgram(), immRectf(), immUnbindProgram(), immUniform1f(), immUniform1i(), immUniform2f(), immUniform4f(), immUniformColor4f(), immVertexFormat(), rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.
Referenced by wm_gesture_draw().
Definition at line 99 of file wm_gesture.cc.
References BLI_remlink(), wmGesture::customdata, wmWindow::gesture, MEM_freeN(), wmGesture::user_data, and WM_generic_user_data_free().
Referenced by gesture_modal_end(), WM_gestures_free_all(), and WM_gestures_remove().
| bool WM_gesture_is_modal_first | ( | const wmGesture * | gesture | ) |
Definition at line 121 of file wm_gesture.cc.
References wmGesture::is_active_prev.
Referenced by action_circle_select_exec(), circle_select_exec(), circle_select_exec(), graph_circle_select_exec(), blender::ed::space_node::node_circleselect_exec(), uv_circle_select_exec(), view3d_circle_select_exec(), and blender::ed::vse::vse_circle_select_exec().
| wmGesture * WM_gesture_new | ( | wmWindow * | window, |
| const ARegion * | region, | ||
| const wmEvent * | event, | ||
| int | type ) |
Context checked on having screen, window and area.
Definition at line 39 of file wm_gesture.cc.
References BLI_addtail(), wmGesture::customdata, ELEM, wmGesture::event_keymodifier, wmGesture::event_modifier, wmGesture::event_type, wmWindow::gesture, GESTURE_MODAL_NOP, MEM_callocN(), MEM_malloc_arrayN(), wmGesture::modal_state, wmGesture::move, wmGesture::mval, wmGesture::points, wmGesture::points_alloc, wmGesture::type, wmGenericUserData::use_free, wmGesture::user_data, ARegion::winrct, wmGesture::winrct, WM_event_drag_start_xy(), WM_GESTURE_CIRCLE, WM_GESTURE_CROSS_RECT, WM_GESTURE_LASSO, WM_GESTURE_LINES, WM_GESTURE_POLYLINE, WM_GESTURE_RECT, WM_GESTURE_STRAIGHTLINE, rcti::xmax, rcti::xmin, xy, rcti::ymax, and rcti::ymin.
Referenced by WM_gesture_box_invoke(), WM_gesture_circle_invoke(), WM_gesture_lasso_invoke(), WM_gesture_lines_invoke(), WM_gesture_polyline_invoke(), and WM_gesture_straightline_invoke().
| void wm_gesture_tag_redraw | ( | wmWindow * | win | ) |
Use for line gesture.
Definition at line 618 of file wm_gesture.cc.
References bScreen::do_draw_gesture, and WM_window_get_active_screen().
Referenced by WM_gesture_box_invoke(), WM_gesture_box_modal(), WM_gesture_circle_invoke(), WM_gesture_circle_modal(), WM_gesture_lasso_invoke(), WM_gesture_lasso_modal(), WM_gesture_lines_invoke(), WM_gesture_polyline_invoke(), WM_gesture_polyline_modal(), WM_gesture_straightline_invoke(), WM_gesture_straightline_modal(), and WM_gesture_straightline_oneshot_modal().
| void WM_gestures_free_all | ( | wmWindow * | win | ) |
Definition at line 107 of file wm_gesture.cc.
References ListBase::first, wmWindow::gesture, and WM_gesture_end().
Referenced by wm_window_free().
| void WM_gestures_remove | ( | wmWindow * | win | ) |
Definition at line 114 of file wm_gesture.cc.
References ListBase::first, wmWindow::gesture, and WM_gesture_end().
Referenced by ui_but_drag_init().