Fix #108911: Fcurve Proportional editing circle draws wrong #108979

Merged
Philipp Oeser merged 2 commits from lichtwerk/blender:108911 into blender-v3.6-release 2023-06-15 09:45:28 +02:00
1 changed files with 7 additions and 7 deletions

View File

@ -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();