let cursor_pos = ui
.ctx().input(|i| i.pointer.hover_pos().unwrap_or(egui::Pos2::ZERO));
同时,这个connection只有在我们开始拖拽,以及拖拽过程中才会有:
if port_resp.drag_started(){self.in_drag_port =true;}elseif port_resp.drag_released(){self.in_drag_port =false;}ifself.in_drag_port {draw_connection(ui.painter(), cursor_pos,port_rect.center(),egui::Color32::BROWN);}
最终的结果如下
建立连接
如果有多个方块,那我们就可以将方块连接起来,这里为了简化,我们将另一个方块只保留连接点:
let fix_port_rect =egui::Rect::from_center_size(egui::pos2(500.0,500.0),egui::vec2(10.0,10.0));
ui.painter().circle(
fix_port_rect.center(),5.0,egui::Color32::GRAY,egui::Stroke::NONE,);
🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…
Google Cloud 的物理网络是如何连接的? Google Cloud 分为 regions,regions 又分为 zones。
region 是一个地理区域,其中一个 VM 到另一个 VM 的往返时间 (RTT) 通常小于 1毫秒;zone 是 region 中的部署区…