Fix #108911: Fcurve Proportional editing circle draws wrong #108979
|
@ -32,6 +32,7 @@
|
|||
#include "BLT_translation.h"
|
||||
|
||||
#include "UI_resources.h"
|
||||
#include "UI_view2d.h"
|
||||
|
||||
#include "transform.h"
|
||||
#include "transform_gizmo.h"
|
||||
|
@ -896,13 +897,12 @@ void drawPropCircle(const struct bContext *C, TransInfo *t)
|
|||
}
|
||||
else if (ELEM(t->spacetype, SPACE_GRAPH, SPACE_ACTION)) {
|
||||
/* only scale y */
|
||||
rcti *mask = &t->region->v2d.mask;
|
||||
rctf *datamask = &t->region->v2d.cur;
|
||||
float xsize = BLI_rctf_size_x(datamask);
|
||||
float ysize = BLI_rctf_size_y(datamask);
|
||||
float xmask = BLI_rcti_size_x(mask);
|
||||
float ymask = BLI_rcti_size_y(mask);
|
||||
GPU_matrix_scale_2f(1.0f, (ysize / xsize) * (xmask / ymask));
|
||||
float xscale, yscale;
|
||||
UI_view2d_scale_get(&t->region->v2d, &xscale, &yscale);
|
||||
|
||||
const float fac_scale = xscale / yscale;
|
||||
GPU_matrix_scale_2f(1.0f, fac_scale);
|
||||
GPU_matrix_translate_2f(0.0f, (t->center_global[1] / fac_scale) - t->center_global[1]);
|
||||
}
|
||||
|
||||
eGPUDepthTest depth_test_enabled = GPU_depth_test_get();
|
||||
|
|
Loading…
Reference in New Issue