Merge pull request #79436 from Calinou/textureregion-increase-max-zoom

Extend minimum/maximum zoom level of TextureRegion editor
This commit is contained in:
Rémi Verschelde 2024-01-29 21:31:42 +01:00
commit 64ddf1ff0c
No known key found for this signature in database
GPG key ID: C3336907360768E1
3 changed files with 9 additions and 2 deletions

View file

@ -2178,7 +2178,7 @@ SpriteFramesEditor::SpriteFramesEditor() {
min_thumbnail_zoom = 0.1f * MAX(1.0f, EDSCALE);
// Default the zoom to match the editor scale, but don't dezoom on editor scales below 100% to prevent pixel art from looking bad.
sheet_zoom = MAX(1.0f, EDSCALE);
max_sheet_zoom = 16.0f * MAX(1.0f, EDSCALE);
max_sheet_zoom = 128.0f * MAX(1.0f, EDSCALE);
min_sheet_zoom = 0.01f * MAX(1.0f, EDSCALE);
_zoom_reset();

View file

@ -698,7 +698,7 @@ void TextureRegionEditor::_set_snap_sep_y(float p_val) {
}
void TextureRegionEditor::_zoom_on_position(float p_zoom, Point2 p_position) {
if (p_zoom < 0.25 || p_zoom > 8) {
if (p_zoom < min_draw_zoom || p_zoom > max_draw_zoom) {
return;
}
@ -1166,6 +1166,11 @@ TextureRegionEditor::TextureRegionEditor() {
hb_grid->hide();
// Default the zoom to match the editor scale, but don't dezoom on editor scales below 100% to prevent pixel art from looking bad.
draw_zoom = MAX(1.0f, EDSCALE);
max_draw_zoom = 128.0f * MAX(1.0f, EDSCALE);
min_draw_zoom = 0.01f * MAX(1.0f, EDSCALE);
texture_preview = memnew(PanelContainer);
vb->add_child(texture_preview);
texture_preview->set_v_size_flags(Control::SIZE_EXPAND_FILL);

View file

@ -76,6 +76,8 @@ class TextureRegionEditor : public AcceptDialog {
Vector2 draw_ofs;
float draw_zoom = 1.0;
float min_draw_zoom = 1.0;
float max_draw_zoom = 1.0;
bool updating_scroll = false;
SnapMode snap_mode = SNAP_NONE;