MCPcopy Create free account
hub / github.com/Redot-Engine/redot-engine / gui_input

Method gui_input

scene/gui/code_edit.cpp:298–671  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

296}
297
298void CodeEdit::gui_input(const Ref<InputEvent> &p_gui_input) {
299 Ref<InputEventPanGesture> pan_gesture = p_gui_input;
300 if (pan_gesture.is_valid() && code_completion_active && code_completion_rect.has_point(pan_gesture->get_position())) {
301 const real_t delta = pan_gesture->get_delta().y;
302 code_completion_pan_offset += delta;
303 if (code_completion_pan_offset <= -1.0) {
304 if (code_completion_current_selected > 0) {
305 code_completion_current_selected--;
306 code_completion_force_item_center = -1;
307 queue_redraw();
308 }
309 code_completion_pan_offset = 0;
310 } else if (code_completion_pan_offset >= +1.0) {
311 if (code_completion_current_selected < code_completion_options.size() - 1) {
312 code_completion_current_selected++;
313 code_completion_force_item_center = -1;
314 queue_redraw();
315 }
316 code_completion_pan_offset = 0;
317 }
318 accept_event();
319 return;
320 }
321
322 Ref<InputEventMouseButton> mb = p_gui_input;
323 if (mb.is_valid()) {
324 // Ignore mouse clicks in IME input mode, let TextEdit handle it.
325 if (has_ime_text()) {
326 TextEdit::gui_input(p_gui_input);
327 return;
328 }
329
330 if (is_code_completion_scroll_pressed && mb->get_button_index() == MouseButton::LEFT) {
331 is_code_completion_scroll_pressed = false;
332 accept_event();
333 queue_redraw();
334 return;
335 }
336
337 if (is_code_completion_drag_started && !mb->is_pressed()) {
338 is_code_completion_drag_started = false;
339 accept_event();
340 queue_redraw();
341 return;
342 }
343
344 if (code_completion_active && code_completion_rect.has_point(mb->get_position())) {
345 if (!mb->is_pressed()) {
346 accept_event();
347 return;
348 }
349 is_code_completion_drag_started = true;
350
351 switch (mb->get_button_index()) {
352 case MouseButton::WHEEL_UP: {
353 if (code_completion_current_selected > 0) {
354 code_completion_current_selected--;
355 code_completion_force_item_center = -1;

Callers

nothing calls this directly

Calls 15

CLAMPFunction · 0.85
get_sizeFunction · 0.85
MAXFunction · 0.85
MINFunction · 0.85
get_deltaMethod · 0.80
get_button_indexMethod · 0.80
is_double_clickMethod · 0.80
is_alt_pressedMethod · 0.80
is_meta_pressedMethod · 0.80
is_actionMethod · 0.80
get_unicodeMethod · 0.80

Tested by

no test coverage detected