Add alternative pixel rounding

This commit is contained in:
Mark DiBarry 2024-06-29 09:58:59 -04:00
parent 25de53e147
commit 6b17d51425
4 changed files with 6 additions and 6 deletions

View File

@ -267,7 +267,7 @@ void AnimatedSprite2D::_notification(int p_what) {
}
if (get_viewport() && get_viewport()->is_snap_2d_transforms_to_pixel_enabled()) {
ofs = ofs.round();
ofs = (ofs + Point2(0.5, 0.5)).floor();
}
Rect2 dst_rect(ofs, s);

View File

@ -98,7 +98,7 @@ void Sprite2D::_get_rects(Rect2 &r_src_rect, Rect2 &r_dst_rect, bool &r_filter_c
}
if (get_viewport() && get_viewport()->is_snap_2d_transforms_to_pixel_enabled()) {
dest_offset = dest_offset.round();
dest_offset = (dest_offset + Point2(0.5, 0.5)).floor();
}
r_dst_rect = Rect2(dest_offset, frame_size);
@ -400,7 +400,7 @@ Rect2 Sprite2D::get_rect() const {
}
if (get_viewport() && get_viewport()->is_snap_2d_transforms_to_pixel_enabled()) {
ofs = ofs.round();
ofs = (ofs + Point2(0.5, 0.5)).floor();
}
if (s == Size2(0, 0)) {

View File

@ -1249,7 +1249,7 @@ int RichTextLabel::_draw_line(ItemFrame *p_frame, int p_line, const Vector2 &p_o
}
if (is_inside_tree() && get_viewport()->is_snap_2d_transforms_to_pixel_enabled()) {
fx_offset = fx_offset.round();
fx_offset = (fx_offset + Point2(0.5, 0.5)).floor();
}
Vector2 char_off = char_xform.get_origin();

View File

@ -284,8 +284,8 @@ void RendererCanvasCull::_cull_canvas_item(Item *p_canvas_item, const Transform2
}
if (snapping_2d_transforms_to_pixel) {
final_xform.columns[2] = final_xform.columns[2].round();
parent_xform.columns[2] = parent_xform.columns[2].round();
final_xform.columns[2] = (final_xform.columns[2] + Point2(0.5, 0.5)).floor();
parent_xform.columns[2] = (parent_xform.columns[2] + Point2(0.5, 0.5)).floor();
}
final_xform = parent_xform * final_xform;