| 3829 | } |
| 3830 | |
| 3831 | ImPlotRect GetPlotSelection(ImAxis x_idx, ImAxis y_idx) { |
| 3832 | ImPlotContext& gp = *GImPlot; |
| 3833 | IM_ASSERT_USER_ERROR(gp.CurrentPlot != nullptr, "GetPlotSelection() needs to be called between BeginPlot() and EndPlot()!"); |
| 3834 | SetupLock(); |
| 3835 | ImPlotPlot& plot = *gp.CurrentPlot; |
| 3836 | if (!plot.Selected) |
| 3837 | return ImPlotRect(0,0,0,0); |
| 3838 | ImPlotPoint p1 = PixelsToPlot(plot.SelectRect.Min + plot.PlotRect.Min, x_idx, y_idx); |
| 3839 | ImPlotPoint p2 = PixelsToPlot(plot.SelectRect.Max + plot.PlotRect.Min, x_idx, y_idx); |
| 3840 | ImPlotRect result; |
| 3841 | result.X.Min = ImMin(p1.x, p2.x); |
| 3842 | result.X.Max = ImMax(p1.x, p2.x); |
| 3843 | result.Y.Min = ImMin(p1.y, p2.y); |
| 3844 | result.Y.Max = ImMax(p1.y, p2.y); |
| 3845 | return result; |
| 3846 | } |
| 3847 | |
| 3848 | void CancelPlotSelection() { |
| 3849 | ImPlotContext& gp = *GImPlot; |
no test coverage detected