|
@@ -833,7 +833,7 @@ void ColorPicker::_uv_input(const Ref<InputEvent> &p_event, Control *c) {
|
|
real_t dist = center.distance_to(bev->get_position());
|
|
real_t dist = center.distance_to(bev->get_position());
|
|
|
|
|
|
if (dist <= center.x) {
|
|
if (dist <= center.x) {
|
|
- real_t rad = bev->get_position().angle_to_point(center);
|
|
|
|
|
|
+ real_t rad = center.angle_to_point(bev->get_position());
|
|
h = ((rad >= 0) ? rad : (Math_TAU + rad)) / Math_TAU;
|
|
h = ((rad >= 0) ? rad : (Math_TAU + rad)) / Math_TAU;
|
|
s = CLAMP(dist / center.x, 0, 1);
|
|
s = CLAMP(dist / center.x, 0, 1);
|
|
} else {
|
|
} else {
|
|
@@ -850,7 +850,7 @@ void ColorPicker::_uv_input(const Ref<InputEvent> &p_event, Control *c) {
|
|
real_t dist = center.distance_to(bev->get_position());
|
|
real_t dist = center.distance_to(bev->get_position());
|
|
|
|
|
|
if (dist >= center.x * 0.84 && dist <= center.x) {
|
|
if (dist >= center.x * 0.84 && dist <= center.x) {
|
|
- real_t rad = bev->get_position().angle_to_point(center);
|
|
|
|
|
|
+ real_t rad = center.angle_to_point(bev->get_position());
|
|
h = ((rad >= 0) ? rad : (Math_TAU + rad)) / Math_TAU;
|
|
h = ((rad >= 0) ? rad : (Math_TAU + rad)) / Math_TAU;
|
|
spinning = true;
|
|
spinning = true;
|
|
} else {
|
|
} else {
|
|
@@ -895,12 +895,12 @@ void ColorPicker::_uv_input(const Ref<InputEvent> &p_event, Control *c) {
|
|
Vector2 center = c->get_size() / 2.0;
|
|
Vector2 center = c->get_size() / 2.0;
|
|
if (picker_type == SHAPE_VHS_CIRCLE) {
|
|
if (picker_type == SHAPE_VHS_CIRCLE) {
|
|
real_t dist = center.distance_to(mev->get_position());
|
|
real_t dist = center.distance_to(mev->get_position());
|
|
- real_t rad = mev->get_position().angle_to_point(center);
|
|
|
|
|
|
+ real_t rad = center.angle_to_point(mev->get_position());
|
|
h = ((rad >= 0) ? rad : (Math_TAU + rad)) / Math_TAU;
|
|
h = ((rad >= 0) ? rad : (Math_TAU + rad)) / Math_TAU;
|
|
s = CLAMP(dist / center.x, 0, 1);
|
|
s = CLAMP(dist / center.x, 0, 1);
|
|
} else {
|
|
} else {
|
|
if (spinning) {
|
|
if (spinning) {
|
|
- real_t rad = mev->get_position().angle_to_point(center);
|
|
|
|
|
|
+ real_t rad = center.angle_to_point(mev->get_position());
|
|
h = ((rad >= 0) ? rad : (Math_TAU + rad)) / Math_TAU;
|
|
h = ((rad >= 0) ? rad : (Math_TAU + rad)) / Math_TAU;
|
|
} else {
|
|
} else {
|
|
real_t corner_x = (c == wheel_uv) ? center.x - Math_SQRT12 * c->get_size().width * 0.42 : 0;
|
|
real_t corner_x = (c == wheel_uv) ? center.x - Math_SQRT12 * c->get_size().width * 0.42 : 0;
|